gremlin97 commited on
Commit
67b395c
1 Parent(s): ce615bb

Upload folder using huggingface_hub

Browse files
.gitattributes CHANGED
@@ -33,3 +33,7 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ images/1641173_2291260800.jpg filter=lfs diff=lfs merge=lfs -text
37
+ images/demo/demo1.jpg filter=lfs diff=lfs merge=lfs -text
38
+ images/demo/demo2.jpg filter=lfs diff=lfs merge=lfs -text
39
+ images/demo/demo3.jpg filter=lfs diff=lfs merge=lfs -text
.github/workflows/update_space.yml ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: Run Python script
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ jobs:
9
+ build:
10
+ runs-on: ubuntu-latest
11
+
12
+ steps:
13
+ - name: Checkout
14
+ uses: actions/checkout@v2
15
+
16
+ - name: Set up Python
17
+ uses: actions/setup-python@v2
18
+ with:
19
+ python-version: '3.9'
20
+
21
+ - name: Install Gradio
22
+ run: python -m pip install gradio
23
+
24
+ - name: Log in to Hugging Face
25
+ run: python -c 'import huggingface_hub; huggingface_hub.login(token="${{ secrets.hf_token }}")'
26
+
27
+ - name: Deploy to Spaces
28
+ run: gradio deploy
README.md CHANGED
@@ -1,12 +1,6 @@
1
  ---
2
- title: Tag2Text Demo
3
- emoji: 👀
4
- colorFrom: red
5
- colorTo: green
6
- sdk: gradio
7
- sdk_version: 3.39.0
8
  app_file: app.py
9
- pinned: false
 
10
  ---
11
-
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: Tag2Text_Demo
 
 
 
 
 
3
  app_file: app.py
4
+ sdk: gradio
5
+ sdk_version: 3.35.2
6
  ---
 
 
app.py ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from IPython.display import clear_output, Image
2
+ import argparse
3
+ import numpy as np
4
+ import random
5
+ from PIL import Image
6
+ from ram.models import tag2text
7
+ from ram import inference_tag2text as inference
8
+ from ram import get_transform
9
+ import gradio as gr
10
+ import torch
11
+ import torchvision.transforms as transforms
12
+ from PIL import Image
13
+
14
+ evice = torch.device('cpu')
15
+ model = tag2text(pretrained='/content/recognize-anything/tag2text.pth', image_size=384, vit='swin_b')
16
+ model.threshold = 0.68
17
+ model.eval()
18
+
19
+ def tag_image(input_image):
20
+ transform = get_transform(image_size=384)
21
+
22
+ if isinstance(input_image, Image.Image):
23
+ img = input_image
24
+ else:
25
+ # Convert Gradio Image datatype (NumPy array) to PIL Image
26
+ img = Image.fromarray(input_image)
27
+
28
+ # Process the image
29
+ print(f"Start processing, image size {img.size}")
30
+ image = transform(img).unsqueeze(0)
31
+ # Generate Tags and Captions
32
+ res = inference(image, model)
33
+ tags = res[0].strip(' ').replace(' ', ' ')
34
+ caption = res[2]
35
+ print(tags, caption)
36
+ return tags, caption
37
+
38
+ # Interface for the demo
39
+ inputs = gr.inputs.Image()
40
+ outputs = [gr.outputs.Textbox(label='Tags'), gr.outputs.Textbox(label='Caption')]
41
+
42
+ # Launch the Gradio app
43
+ gr.Interface(
44
+ fn=tag_image,
45
+ inputs=inputs,
46
+ outputs=outputs,
47
+ title="Tags and Captioning using Tag2Text",
48
+ description="Upload an image and see the results in text boxes.",
49
+ live=True,
50
+
51
+ ).launch(share=True, enable_queue=True, debug=True)
batch_inference.py ADDED
@@ -0,0 +1,407 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from argparse import ArgumentParser
2
+ from pathlib import Path
3
+ from typing import Dict, List, Optional, TextIO, Tuple
4
+
5
+ import torch
6
+ from PIL import Image, UnidentifiedImageError
7
+ from torch import Tensor
8
+ from torch.nn import Module, Parameter
9
+ from torch.nn.functional import relu, sigmoid
10
+ from torch.utils.data import DataLoader, Dataset
11
+ from tqdm import tqdm
12
+
13
+ from ram import get_transform
14
+ from ram.models import ram, tag2text
15
+ from ram.utils import build_openset_label_embedding, get_mAP, get_PR
16
+
17
+ device = "cuda" if torch.cuda.is_available() else "cpu"
18
+
19
+
20
+ def parse_args():
21
+ parser = ArgumentParser()
22
+ # model
23
+ parser.add_argument("--model-type",
24
+ type=str,
25
+ choices=("ram", "tag2text"),
26
+ required=True)
27
+ parser.add_argument("--checkpoint",
28
+ type=str,
29
+ required=True)
30
+ parser.add_argument("--backbone",
31
+ type=str,
32
+ choices=("swin_l", "swin_b"),
33
+ default=None,
34
+ help="If `None`, will judge from `--model-type`")
35
+ parser.add_argument("--open-set",
36
+ action="store_true",
37
+ help=(
38
+ "Treat all categories in the taglist file as "
39
+ "unseen and perform open-set classification. Only "
40
+ "works with RAM."
41
+ ))
42
+ # data
43
+ parser.add_argument("--dataset",
44
+ type=str,
45
+ choices=(
46
+ "openimages_common_214",
47
+ "openimages_rare_200"
48
+ ),
49
+ required=True)
50
+ parser.add_argument("--input-size",
51
+ type=int,
52
+ default=384)
53
+ # threshold
54
+ group = parser.add_mutually_exclusive_group()
55
+ group.add_argument("--threshold",
56
+ type=float,
57
+ default=None,
58
+ help=(
59
+ "Use custom threshold for all classes. Mutually "
60
+ "exclusive with `--threshold-file`. If both "
61
+ "`--threshold` and `--threshold-file` is `None`, "
62
+ "will use a default threshold setting."
63
+ ))
64
+ group.add_argument("--threshold-file",
65
+ type=str,
66
+ default=None,
67
+ help=(
68
+ "Use custom class-wise thresholds by providing a "
69
+ "text file. Each line is a float-type threshold, "
70
+ "following the order of the tags in taglist file. "
71
+ "See `ram/data/ram_tag_list_threshold.txt` as an "
72
+ "example. Mutually exclusive with `--threshold`. "
73
+ "If both `--threshold` and `--threshold-file` is "
74
+ "`None`, will use default threshold setting."
75
+ ))
76
+ # miscellaneous
77
+ parser.add_argument("--output-dir", type=str, default="./outputs")
78
+ parser.add_argument("--batch-size", type=int, default=128)
79
+ parser.add_argument("--num-workers", type=int, default=4)
80
+
81
+ args = parser.parse_args()
82
+
83
+ # post process and validity check
84
+ args.model_type = args.model_type.lower()
85
+
86
+ assert not (args.model_type == "tag2text" and args.open_set)
87
+
88
+ if args.backbone is None:
89
+ args.backbone = "swin_l" if args.model_type == "ram" else "swin_b"
90
+
91
+ return args
92
+
93
+
94
+ def load_dataset(
95
+ dataset: str,
96
+ model_type: str,
97
+ input_size: int,
98
+ batch_size: int,
99
+ num_workers: int
100
+ ) -> Tuple[DataLoader, Dict]:
101
+ dataset_root = str(Path(__file__).resolve().parent / "datasets" / dataset)
102
+ img_root = dataset_root + "/imgs"
103
+ # Label system of tag2text contains duplicate tag texts, like
104
+ # "train" (noun) and "train" (verb). Therefore, for tag2text, we use
105
+ # `tagid` instead of `tag`.
106
+ if model_type == "ram":
107
+ tag_file = dataset_root + f"/{dataset}_ram_taglist.txt"
108
+ annot_file = dataset_root + f"/{dataset}_{model_type}_annots.txt"
109
+ else:
110
+ tag_file = dataset_root + f"/{dataset}_tag2text_tagidlist.txt"
111
+ annot_file = dataset_root + f"/{dataset}_{model_type}_idannots.txt"
112
+
113
+ with open(tag_file, "r", encoding="utf-8") as f:
114
+ taglist = [line.strip() for line in f]
115
+
116
+ with open(annot_file, "r", encoding="utf-8") as f:
117
+ imglist = [img_root + "/" + line.strip().split(",")[0] for line in f]
118
+
119
+ class _Dataset(Dataset):
120
+ def __init__(self):
121
+ self.transform = get_transform(input_size)
122
+
123
+ def __len__(self):
124
+ return len(imglist)
125
+
126
+ def __getitem__(self, index):
127
+ try:
128
+ img = Image.open(imglist[index])
129
+ except (OSError, FileNotFoundError, UnidentifiedImageError):
130
+ img = Image.new('RGB', (10, 10), 0)
131
+ print("Error loading image:", imglist[index])
132
+ return self.transform(img)
133
+
134
+ loader = DataLoader(
135
+ dataset=_Dataset(),
136
+ shuffle=False,
137
+ drop_last=False,
138
+ pin_memory=True,
139
+ batch_size=batch_size,
140
+ num_workers=num_workers
141
+ )
142
+ info = {
143
+ "taglist": taglist,
144
+ "imglist": imglist,
145
+ "annot_file": annot_file,
146
+ "img_root": img_root
147
+ }
148
+ return loader, info
149
+
150
+
151
+ def get_class_idxs(
152
+ model_type: str,
153
+ open_set: bool,
154
+ taglist: List[str]
155
+ ) -> Optional[List[int]]:
156
+ """Get indices of required categories in the label system."""
157
+ if model_type == "ram":
158
+ if not open_set:
159
+ model_taglist_file = "ram/data/ram_tag_list.txt"
160
+ with open(model_taglist_file, "r", encoding="utf-8") as f:
161
+ model_taglist = [line.strip() for line in f]
162
+ return [model_taglist.index(tag) for tag in taglist]
163
+ else:
164
+ return None
165
+ else: # for tag2text, we directly use tagid instead of text-form of tag.
166
+ # here tagid equals to tag index.
167
+ return [int(tag) for tag in taglist]
168
+
169
+
170
+ def load_thresholds(
171
+ threshold: Optional[float],
172
+ threshold_file: Optional[str],
173
+ model_type: str,
174
+ open_set: bool,
175
+ class_idxs: List[int],
176
+ num_classes: int,
177
+ ) -> List[float]:
178
+ """Decide what threshold(s) to use."""
179
+ if not threshold_file and not threshold: # use default
180
+ if model_type == "ram":
181
+ if not open_set: # use class-wise tuned thresholds
182
+ ram_threshold_file = "ram/data/ram_tag_list_threshold.txt"
183
+ with open(ram_threshold_file, "r", encoding="utf-8") as f:
184
+ idx2thre = {
185
+ idx: float(line.strip()) for idx, line in enumerate(f)
186
+ }
187
+ return [idx2thre[idx] for idx in class_idxs]
188
+ else:
189
+ return [0.5] * num_classes
190
+ else:
191
+ return [0.68] * num_classes
192
+ elif threshold_file:
193
+ with open(threshold_file, "r", encoding="utf-8") as f:
194
+ thresholds = [float(line.strip()) for line in f]
195
+ assert len(thresholds) == num_classes
196
+ return thresholds
197
+ else:
198
+ return [threshold] * num_classes
199
+
200
+
201
+ def gen_pred_file(
202
+ imglist: List[str],
203
+ tags: List[List[str]],
204
+ img_root: str,
205
+ pred_file: str
206
+ ) -> None:
207
+ """Generate text file of tag prediction results."""
208
+ with open(pred_file, "w", encoding="utf-8") as f:
209
+ for image, tag in zip(imglist, tags):
210
+ # should be relative to img_root to match the gt file.
211
+ s = str(Path(image).relative_to(img_root))
212
+ if tag:
213
+ s = s + "," + ",".join(tag)
214
+ f.write(s + "\n")
215
+
216
+
217
+ def load_ram(
218
+ backbone: str,
219
+ checkpoint: str,
220
+ input_size: int,
221
+ taglist: List[str],
222
+ open_set: bool,
223
+ class_idxs: List[int],
224
+ ) -> Module:
225
+ model = ram(pretrained=checkpoint, image_size=input_size, vit=backbone)
226
+ # trim taglist for faster inference
227
+ if open_set:
228
+ print("Building tag embeddings ...")
229
+ label_embed, _ = build_openset_label_embedding(taglist)
230
+ model.label_embed = Parameter(label_embed.float())
231
+ else:
232
+ model.label_embed = Parameter(model.label_embed[class_idxs, :])
233
+ return model.to(device).eval()
234
+
235
+
236
+ def load_tag2text(
237
+ backbone: str,
238
+ checkpoint: str,
239
+ input_size: int
240
+ ) -> Module:
241
+ model = tag2text(
242
+ pretrained=checkpoint,
243
+ image_size=input_size,
244
+ vit=backbone
245
+ )
246
+ return model.to(device).eval()
247
+
248
+
249
+ @torch.no_grad()
250
+ def forward_ram(model: Module, imgs: Tensor) -> Tensor:
251
+ image_embeds = model.image_proj(model.visual_encoder(imgs.to(device)))
252
+ image_atts = torch.ones(
253
+ image_embeds.size()[:-1], dtype=torch.long).to(device)
254
+ label_embed = relu(model.wordvec_proj(model.label_embed)).unsqueeze(0)\
255
+ .repeat(imgs.shape[0], 1, 1)
256
+ tagging_embed, _ = model.tagging_head(
257
+ encoder_embeds=label_embed,
258
+ encoder_hidden_states=image_embeds,
259
+ encoder_attention_mask=image_atts,
260
+ return_dict=False,
261
+ mode='tagging',
262
+ )
263
+ return sigmoid(model.fc(tagging_embed).squeeze(-1))
264
+
265
+
266
+ @torch.no_grad()
267
+ def forward_tag2text(
268
+ model: Module,
269
+ class_idxs: List[int],
270
+ imgs: Tensor
271
+ ) -> Tensor:
272
+ image_embeds = model.visual_encoder(imgs.to(device))
273
+ image_atts = torch.ones(
274
+ image_embeds.size()[:-1], dtype=torch.long).to(device)
275
+ label_embed = model.label_embed.weight.unsqueeze(0)\
276
+ .repeat(imgs.shape[0], 1, 1)
277
+ tagging_embed, _ = model.tagging_head(
278
+ encoder_embeds=label_embed,
279
+ encoder_hidden_states=image_embeds,
280
+ encoder_attention_mask=image_atts,
281
+ return_dict=False,
282
+ mode='tagging',
283
+ )
284
+ return sigmoid(model.fc(tagging_embed))[:, class_idxs]
285
+
286
+
287
+ def print_write(f: TextIO, s: str):
288
+ print(s)
289
+ f.write(s + "\n")
290
+
291
+
292
+ if __name__ == "__main__":
293
+ args = parse_args()
294
+
295
+ # set up output paths
296
+ output_dir = args.output_dir
297
+ Path(output_dir).mkdir(parents=True, exist_ok=True)
298
+ pred_file, pr_file, ap_file, summary_file, logit_file = [
299
+ output_dir + "/" + name for name in
300
+ ("pred.txt", "pr.txt", "ap.txt", "summary.txt", "logits.pth")
301
+ ]
302
+ with open(summary_file, "w", encoding="utf-8") as f:
303
+ print_write(f, "****************")
304
+ for key in (
305
+ "model_type", "backbone", "checkpoint", "open_set",
306
+ "dataset", "input_size",
307
+ "threshold", "threshold_file",
308
+ "output_dir", "batch_size", "num_workers"
309
+ ):
310
+ print_write(f, f"{key}: {getattr(args, key)}")
311
+ print_write(f, "****************")
312
+
313
+ # prepare data
314
+ loader, info = load_dataset(
315
+ dataset=args.dataset,
316
+ model_type=args.model_type,
317
+ input_size=args.input_size,
318
+ batch_size=args.batch_size,
319
+ num_workers=args.num_workers
320
+ )
321
+ taglist, imglist, annot_file, img_root = \
322
+ info["taglist"], info["imglist"], info["annot_file"], info["img_root"]
323
+
324
+ # get class idxs
325
+ class_idxs = get_class_idxs(
326
+ model_type=args.model_type,
327
+ open_set=args.open_set,
328
+ taglist=taglist
329
+ )
330
+
331
+ # set up threshold(s)
332
+ thresholds = load_thresholds(
333
+ threshold=args.threshold,
334
+ threshold_file=args.threshold_file,
335
+ model_type=args.model_type,
336
+ open_set=args.open_set,
337
+ class_idxs=class_idxs,
338
+ num_classes=len(taglist)
339
+ )
340
+
341
+ # inference
342
+ if Path(logit_file).is_file():
343
+
344
+ logits = torch.load(logit_file)
345
+
346
+ else:
347
+
348
+ # load model
349
+ if args.model_type == "ram":
350
+ model = load_ram(
351
+ backbone=args.backbone,
352
+ checkpoint=args.checkpoint,
353
+ input_size=args.input_size,
354
+ taglist=taglist,
355
+ open_set=args.open_set,
356
+ class_idxs=class_idxs
357
+ )
358
+ else:
359
+ model = load_tag2text(
360
+ backbone=args.backbone,
361
+ checkpoint=args.checkpoint,
362
+ input_size=args.input_size
363
+ )
364
+
365
+ # inference
366
+ logits = torch.empty(len(imglist), len(taglist))
367
+ pos = 0
368
+ for imgs in tqdm(loader, desc="inference"):
369
+ if args.model_type == "ram":
370
+ out = forward_ram(model, imgs)
371
+ else:
372
+ out = forward_tag2text(model, class_idxs, imgs)
373
+ bs = imgs.shape[0]
374
+ logits[pos:pos+bs, :] = out.cpu()
375
+ pos += bs
376
+
377
+ # save logits, making threshold-tuning super fast
378
+ torch.save(logits, logit_file)
379
+
380
+ # filter with thresholds
381
+ pred_tags = []
382
+ for scores in logits.tolist():
383
+ pred_tags.append([
384
+ taglist[i] for i, s in enumerate(scores) if s >= thresholds[i]
385
+ ])
386
+
387
+ # generate result file
388
+ gen_pred_file(imglist, pred_tags, img_root, pred_file)
389
+
390
+ # evaluate and record
391
+ mAP, APs = get_mAP(logits.numpy(), annot_file, taglist)
392
+ CP, CR, Ps, Rs = get_PR(pred_file, annot_file, taglist)
393
+
394
+ with open(ap_file, "w", encoding="utf-8") as f:
395
+ f.write("Tag,AP\n")
396
+ for tag, AP in zip(taglist, APs):
397
+ f.write(f"{tag},{AP*100.0:.2f}\n")
398
+
399
+ with open(pr_file, "w", encoding="utf-8") as f:
400
+ f.write("Tag,Precision,Recall\n")
401
+ for tag, P, R in zip(taglist, Ps, Rs):
402
+ f.write(f"{tag},{P*100.0:.2f},{R*100.0:.2f}\n")
403
+
404
+ with open(summary_file, "w", encoding="utf-8") as f:
405
+ print_write(f, f"mAP: {mAP*100.0}")
406
+ print_write(f, f"CP: {CP*100.0}")
407
+ print_write(f, f"CR: {CR*100.0}")
images/1641173_2291260800.jpg ADDED

Git LFS Details

  • SHA256: c562fea3659c4b112f71cfecb4a57143124b8b734e1ca96144bbdda734e494d4
  • Pointer size: 132 Bytes
  • Size of remote file: 1.81 MB
images/demo/demo1.jpg ADDED

Git LFS Details

  • SHA256: 1b2906f4058a69936df49cb6156ec4cd117a286b420e1eb14764033bf8f3c05f
  • Pointer size: 132 Bytes
  • Size of remote file: 5.7 MB
images/demo/demo2.jpg ADDED

Git LFS Details

  • SHA256: 5c5159bf7114d08967f95475176670043115b157bf700efa34190260cd917662
  • Pointer size: 132 Bytes
  • Size of remote file: 1.03 MB
images/demo/demo3.jpg ADDED

Git LFS Details

  • SHA256: c562fea3659c4b112f71cfecb4a57143124b8b734e1ca96144bbdda734e494d4
  • Pointer size: 132 Bytes
  • Size of remote file: 1.81 MB
images/demo/demo4.jpg ADDED
images/experiment_comparison.png ADDED
images/localization_and_recognition.jpg ADDED
images/openset_example.jpg ADDED
images/ram_grounded_sam.jpg ADDED
images/tag2text_framework.png ADDED
images/tag2text_grounded_sam.jpg ADDED
images/tagging_results.jpg ADDED
inference_tag2text.py ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ '''
2
+ * The Tag2Text Model
3
+ * Written by Xinyu Huang
4
+ '''
5
+ import argparse
6
+ import numpy as np
7
+ import random
8
+
9
+ import torch
10
+
11
+ from PIL import Image
12
+ from ram.models import tag2text
13
+ from ram import inference_tag2text as inference
14
+ from ram import get_transform
15
+
16
+
17
+ parser = argparse.ArgumentParser(
18
+ description='Tag2Text inferece for tagging and captioning')
19
+ parser.add_argument('--image',
20
+ metavar='DIR',
21
+ help='path to dataset',
22
+ default='images/1641173_2291260800.jpg')
23
+ parser.add_argument('--pretrained',
24
+ metavar='DIR',
25
+ help='path to pretrained model',
26
+ default='pretrained/tag2text_swin_14m.pth')
27
+ parser.add_argument('--image-size',
28
+ default=384,
29
+ type=int,
30
+ metavar='N',
31
+ help='input image size (default: 448)')
32
+ parser.add_argument('--thre',
33
+ default=0.68,
34
+ type=float,
35
+ metavar='N',
36
+ help='threshold value')
37
+ parser.add_argument('--specified-tags',
38
+ default='None',
39
+ help='User input specified tags')
40
+
41
+
42
+ if __name__ == "__main__":
43
+
44
+ args = parser.parse_args()
45
+
46
+ device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
47
+
48
+ transform = get_transform(image_size=args.image_size)
49
+
50
+ # delete some tags that may disturb captioning
51
+ # 127: "quarter"; 2961: "back", 3351: "two"; 3265: "three"; 3338: "four"; 3355: "five"; 3359: "one"
52
+ delete_tag_index = [127,2961, 3351, 3265, 3338, 3355, 3359]
53
+
54
+ #######load model
55
+ model = tag2text(pretrained=args.pretrained,
56
+ image_size=args.image_size,
57
+ vit='swin_b',
58
+ delete_tag_index=delete_tag_index)
59
+ model.threshold = args.thre # threshold for tagging
60
+ model.eval()
61
+
62
+ model = model.to(device)
63
+
64
+ image = transform(Image.open(args.image)).unsqueeze(0).to(device)
65
+
66
+ res = inference(image, model, args.specified_tags)
67
+ print("Model Identified Tags: ", res[0])
68
+ print("User Specified Tags: ", res[1])
69
+ print("Image Caption: ", res[2])
ram/__init__.py ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ from .inference import inference_tag2text, inference_ram, inference_ram_openset
2
+ from .transform import get_transform
ram/configs/med_config.json ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "BertModel"
4
+ ],
5
+ "attention_probs_dropout_prob": 0.1,
6
+ "hidden_act": "gelu",
7
+ "hidden_dropout_prob": 0.1,
8
+ "hidden_size": 768,
9
+ "initializer_range": 0.02,
10
+ "intermediate_size": 3072,
11
+ "layer_norm_eps": 1e-12,
12
+ "max_position_embeddings": 512,
13
+ "model_type": "bert",
14
+ "num_attention_heads": 12,
15
+ "num_hidden_layers": 12,
16
+ "pad_token_id": 0,
17
+ "type_vocab_size": 2,
18
+ "vocab_size": 30524,
19
+ "encoder_width": 768,
20
+ "add_cross_attention": true
21
+ }
ram/configs/q2l_config.json ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "BertModel"
4
+ ],
5
+ "attention_probs_dropout_prob": 0.1,
6
+ "hidden_act": "gelu",
7
+ "hidden_dropout_prob": 0.1,
8
+ "hidden_size": 768,
9
+ "initializer_range": 0.02,
10
+ "intermediate_size": 3072,
11
+ "layer_norm_eps": 1e-12,
12
+ "max_position_embeddings": 512,
13
+ "model_type": "bert",
14
+ "num_attention_heads": 4,
15
+ "num_hidden_layers": 2,
16
+ "pad_token_id": 0,
17
+ "type_vocab_size": 2,
18
+ "vocab_size": 30522,
19
+ "encoder_width": 768,
20
+ "add_cross_attention": true,
21
+ "add_tag_cross_attention": false
22
+ }
ram/configs/swin/config_swinB_384.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "ckpt": "pretrain_model/swin_base_patch4_window7_224_22k.pth",
3
+ "vision_width": 1024,
4
+ "image_res": 384,
5
+ "window_size": 12,
6
+ "embed_dim": 128,
7
+ "depths": [ 2, 2, 18, 2 ],
8
+ "num_heads": [ 4, 8, 16, 32 ]
9
+ }
ram/configs/swin/config_swinL_384.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "ckpt": "pretrain_model/swin_large_patch4_window12_384_22k.pth",
3
+ "vision_width": 1536,
4
+ "image_res": 384,
5
+ "window_size": 12,
6
+ "embed_dim": 192,
7
+ "depths": [ 2, 2, 18, 2 ],
8
+ "num_heads": [ 6, 12, 24, 48 ]
9
+ }
ram/data/ram_tag_list.txt ADDED
@@ -0,0 +1,4585 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 3D CG rendering
2
+ 3D glasses
3
+ abacus
4
+ abalone
5
+ monastery
6
+ belly
7
+ academy
8
+ accessory
9
+ accident
10
+ accordion
11
+ acorn
12
+ acrylic paint
13
+ act
14
+ action
15
+ action film
16
+ activity
17
+ actor
18
+ adaptation
19
+ add
20
+ adhesive tape
21
+ adjust
22
+ adult
23
+ adventure
24
+ advertisement
25
+ antenna
26
+ aerobics
27
+ spray can
28
+ afro
29
+ agriculture
30
+ aid
31
+ air conditioner
32
+ air conditioning
33
+ air sock
34
+ aircraft cabin
35
+ aircraft model
36
+ air field
37
+ air line
38
+ airliner
39
+ airman
40
+ plane
41
+ airplane window
42
+ airport
43
+ airport runway
44
+ airport terminal
45
+ airship
46
+ airshow
47
+ aisle
48
+ alarm
49
+ alarm clock
50
+ mollymawk
51
+ album
52
+ album cover
53
+ alcohol
54
+ alcove
55
+ algae
56
+ alley
57
+ almond
58
+ aloe vera
59
+ alp
60
+ alpaca
61
+ alphabet
62
+ german shepherd
63
+ altar
64
+ amber
65
+ ambulance
66
+ bald eagle
67
+ American shorthair
68
+ amethyst
69
+ amphitheater
70
+ amplifier
71
+ amusement park
72
+ amusement ride
73
+ anchor
74
+ ancient
75
+ anemone
76
+ angel
77
+ angle
78
+ animal
79
+ animal sculpture
80
+ animal shelter
81
+ animation
82
+ animation film
83
+ animator
84
+ anime
85
+ ankle
86
+ anklet
87
+ anniversary
88
+ trench coat
89
+ ant
90
+ antelope
91
+ antique
92
+ antler
93
+ anvil
94
+ apartment
95
+ ape
96
+ app
97
+ app icon
98
+ appear
99
+ appearance
100
+ appetizer
101
+ applause
102
+ apple
103
+ apple juice
104
+ apple pie
105
+ apple tree
106
+ applesauce
107
+ appliance
108
+ appointment
109
+ approach
110
+ apricot
111
+ apron
112
+ aqua
113
+ aquarium
114
+ aquarium fish
115
+ aqueduct
116
+ arcade
117
+ arcade machine
118
+ arch
119
+ arch bridge
120
+ archaelogical excavation
121
+ archery
122
+ archipelago
123
+ architect
124
+ architecture
125
+ archive
126
+ archway
127
+ area
128
+ arena
129
+ argument
130
+ arm
131
+ armadillo
132
+ armband
133
+ armchair
134
+ armoire
135
+ armor
136
+ army
137
+ army base
138
+ army tank
139
+ array
140
+ arrest
141
+ arrow
142
+ art
143
+ art exhibition
144
+ art gallery
145
+ art print
146
+ art school
147
+ art studio
148
+ art vector illustration
149
+ artichoke
150
+ article
151
+ artifact
152
+ artist
153
+ artists loft
154
+ ash
155
+ ashtray
156
+ asia temple
157
+ asparagus
158
+ asphalt road
159
+ assemble
160
+ assembly
161
+ assembly line
162
+ association
163
+ astronaut
164
+ astronomer
165
+ athlete
166
+ athletic
167
+ atlas
168
+ atm
169
+ atmosphere
170
+ atrium
171
+ attach
172
+ fighter jet
173
+ attend
174
+ attraction
175
+ atv
176
+ eggplant
177
+ auction
178
+ audi
179
+ audio
180
+ auditorium
181
+ aurora
182
+ author
183
+ auto factory
184
+ auto mechanic
185
+ auto part
186
+ auto show
187
+ auto showroom
188
+ car battery
189
+ automobile make
190
+ automobile model
191
+ motor vehicle
192
+ autumn
193
+ autumn forest
194
+ autumn leave
195
+ autumn park
196
+ autumn tree
197
+ avatar
198
+ avenue
199
+ aviator sunglasses
200
+ avocado
201
+ award
202
+ award ceremony
203
+ award winner
204
+ shed
205
+ ax
206
+ azalea
207
+ baboon
208
+ baby
209
+ baby bottle
210
+ baby carriage
211
+ baby clothe
212
+ baby elephant
213
+ baby food
214
+ baby seat
215
+ baby shower
216
+ back
217
+ backdrop
218
+ backlight
219
+ backpack
220
+ backyard
221
+ bacon
222
+ badge
223
+ badger
224
+ badlands
225
+ badminton
226
+ badminton racket
227
+ bag
228
+ bagel
229
+ bagpipe
230
+ baguette
231
+ bait
232
+ baked goods
233
+ baker
234
+ bakery
235
+ baking
236
+ baking sheet
237
+ balance
238
+ balance car
239
+ balcony
240
+ ball
241
+ ball pit
242
+ ballerina
243
+ ballet
244
+ ballet dancer
245
+ ballet skirt
246
+ balloon
247
+ balloon arch
248
+ baseball player
249
+ ballroom
250
+ bamboo
251
+ bamboo forest
252
+ banana
253
+ banana bread
254
+ banana leaf
255
+ banana tree
256
+ band
257
+ band aid
258
+ bandage
259
+ headscarf
260
+ bandeau
261
+ bangs
262
+ bracelet
263
+ balustrade
264
+ banjo
265
+ bank
266
+ bank card
267
+ bank vault
268
+ banknote
269
+ banner
270
+ banquet
271
+ banquet hall
272
+ banyan tree
273
+ baozi
274
+ baptism
275
+ bar
276
+ bar code
277
+ bar stool
278
+ barbecue
279
+ barbecue grill
280
+ barbell
281
+ barber
282
+ barber shop
283
+ barbie
284
+ barge
285
+ barista
286
+ bark
287
+ barley
288
+ barn
289
+ barn owl
290
+ barn door
291
+ barrel
292
+ barricade
293
+ barrier
294
+ handcart
295
+ bartender
296
+ baseball
297
+ baseball base
298
+ baseball bat
299
+ baseball hat
300
+ baseball stadium
301
+ baseball game
302
+ baseball glove
303
+ baseball pitcher
304
+ baseball team
305
+ baseball uniform
306
+ basement
307
+ basil
308
+ basin
309
+ basket
310
+ basket container
311
+ basketball
312
+ basketball backboard
313
+ basketball coach
314
+ basketball court
315
+ basketball game
316
+ basketball hoop
317
+ basketball player
318
+ basketball stadium
319
+ basketball team
320
+ bass
321
+ bass guitar
322
+ bass horn
323
+ bassist
324
+ bat
325
+ bath
326
+ bath heater
327
+ bath mat
328
+ bath towel
329
+ swimwear
330
+ bathrobe
331
+ bathroom
332
+ bathroom accessory
333
+ bathroom cabinet
334
+ bathroom door
335
+ bathroom mirror
336
+ bathroom sink
337
+ toilet paper
338
+ bathroom window
339
+ batman
340
+ wand
341
+ batter
342
+ battery
343
+ battle
344
+ battle rope
345
+ battleship
346
+ bay
347
+ bay bridge
348
+ bay window
349
+ bayberry
350
+ bazaar
351
+ beach
352
+ beach ball
353
+ beach chair
354
+ beach house
355
+ beach hut
356
+ beach towel
357
+ beach volleyball
358
+ lighthouse
359
+ bead
360
+ beagle
361
+ beak
362
+ beaker
363
+ beam
364
+ bean
365
+ bean bag chair
366
+ beanbag
367
+ bear
368
+ bear cub
369
+ beard
370
+ beast
371
+ beat
372
+ beautiful
373
+ beauty
374
+ beauty salon
375
+ beaver
376
+ bed
377
+ bedcover
378
+ bed frame
379
+ bedroom
380
+ bedding
381
+ bedpan
382
+ bedroom window
383
+ bedside lamp
384
+ bee
385
+ beech tree
386
+ beef
387
+ beekeeper
388
+ beeper
389
+ beer
390
+ beer bottle
391
+ beer can
392
+ beer garden
393
+ beer glass
394
+ beer hall
395
+ beet
396
+ beetle
397
+ beige
398
+ clock
399
+ bell pepper
400
+ bell tower
401
+ belt
402
+ belt buckle
403
+ bench
404
+ bend
405
+ bengal tiger
406
+ bento
407
+ beret
408
+ berry
409
+ berth
410
+ beverage
411
+ bib
412
+ bibimbap
413
+ bible
414
+ bichon
415
+ bicycle
416
+ bicycle helmet
417
+ bicycle wheel
418
+ biker
419
+ bidet
420
+ big ben
421
+ bike lane
422
+ bike path
423
+ bike racing
424
+ bike ride
425
+ bikini
426
+ bikini top
427
+ bill
428
+ billard
429
+ billboard
430
+ billiard table
431
+ bin
432
+ binder
433
+ binocular
434
+ biology laboratory
435
+ biplane
436
+ birch
437
+ birch tree
438
+ bird
439
+ bird bath
440
+ bird feeder
441
+ bird house
442
+ bird nest
443
+ birdbath
444
+ bird cage
445
+ birth
446
+ birthday
447
+ birthday cake
448
+ birthday candle
449
+ birthday card
450
+ birthday party
451
+ biscuit
452
+ bishop
453
+ bison
454
+ bit
455
+ bite
456
+ black
457
+ black sheep
458
+ blackberry
459
+ blackbird
460
+ blackboard
461
+ blacksmith
462
+ blade
463
+ blanket
464
+ sports coat
465
+ bleacher
466
+ blender
467
+ blessing
468
+ blind
469
+ eye mask
470
+ flasher
471
+ snowstorm
472
+ block
473
+ blog
474
+ blood
475
+ bloom
476
+ blossom
477
+ blouse
478
+ blow
479
+ hair drier
480
+ blowfish
481
+ blue
482
+ blue artist
483
+ blue jay
484
+ blue sky
485
+ blueberry
486
+ bluebird
487
+ pig
488
+ board
489
+ board eraser
490
+ board game
491
+ boardwalk
492
+ boat
493
+ boat deck
494
+ boat house
495
+ paddle
496
+ boat ride
497
+ bobfloat
498
+ bobcat
499
+ body
500
+ bodyboard
501
+ bodybuilder
502
+ boiled egg
503
+ boiler
504
+ bolo tie
505
+ bolt
506
+ bomb
507
+ bomber
508
+ bonasa umbellu
509
+ bone
510
+ bonfire
511
+ bonnet
512
+ bonsai
513
+ book
514
+ book cover
515
+ bookcase
516
+ folder
517
+ bookmark
518
+ bookshelf
519
+ bookstore
520
+ boom microphone
521
+ boost
522
+ boot
523
+ border
524
+ Border collie
525
+ botanical garden
526
+ bottle
527
+ bottle cap
528
+ bottle opener
529
+ bottle screw
530
+ bougainvillea
531
+ boulder
532
+ bouquet
533
+ boutique
534
+ boutique hotel
535
+ bow
536
+ bow tie
537
+ bow window
538
+ bowl
539
+ bowling
540
+ bowling alley
541
+ bowling ball
542
+ bowling equipment
543
+ box
544
+ box girder bridge
545
+ box turtle
546
+ boxer
547
+ underdrawers
548
+ boxing
549
+ boxing glove
550
+ boxing ring
551
+ boy
552
+ brace
553
+ bracket
554
+ braid
555
+ brain
556
+ brake
557
+ brake light
558
+ branch
559
+ brand
560
+ brandy
561
+ brass
562
+ brass plaque
563
+ bread
564
+ breadbox
565
+ break
566
+ breakfast
567
+ seawall
568
+ chest
569
+ brewery
570
+ brick
571
+ brick building
572
+ wall
573
+ brickwork
574
+ wedding dress
575
+ bride
576
+ groom
577
+ bridesmaid
578
+ bridge
579
+ bridle
580
+ briefcase
581
+ bright
582
+ brim
583
+ broach
584
+ broadcasting
585
+ broccoli
586
+ bronze
587
+ bronze medal
588
+ bronze sculpture
589
+ bronze statue
590
+ brooch
591
+ creek
592
+ broom
593
+ broth
594
+ brown
595
+ brown bear
596
+ brownie
597
+ brunch
598
+ brunette
599
+ brush
600
+ coyote
601
+ brussels sprout
602
+ bubble
603
+ bubble gum
604
+ bubble tea
605
+ bucket cabinet
606
+ shield
607
+ bud
608
+ buddha
609
+ buffalo
610
+ buffet
611
+ bug
612
+ build
613
+ builder
614
+ building
615
+ building block
616
+ building facade
617
+ building material
618
+ lamp
619
+ bull
620
+ bulldog
621
+ bullet
622
+ bullet train
623
+ bulletin board
624
+ bulletproof vest
625
+ bullfighting
626
+ megaphone
627
+ bullring
628
+ bumblebee
629
+ bumper
630
+ roll
631
+ bundle
632
+ bungee
633
+ bunk bed
634
+ bunker
635
+ bunny
636
+ buoy
637
+ bureau
638
+ burial chamber
639
+ burn
640
+ burrito
641
+ bus
642
+ bus driver
643
+ bus interior
644
+ bus station
645
+ bus stop
646
+ bus window
647
+ bush
648
+ business
649
+ business card
650
+ business executive
651
+ business suit
652
+ business team
653
+ business woman
654
+ businessman
655
+ bust
656
+ butcher
657
+ butchers shop
658
+ butte
659
+ butter
660
+ cream
661
+ butterfly
662
+ butterfly house
663
+ button
664
+ buttonwood
665
+ buy
666
+ taxi
667
+ cabana
668
+ cabbage
669
+ cabin
670
+ cabin car
671
+ cabinet
672
+ cabinetry
673
+ cable
674
+ cable car
675
+ cactus
676
+ cafe
677
+ canteen
678
+ cage
679
+ cake
680
+ cake stand
681
+ calculator
682
+ caldron
683
+ calendar
684
+ calf
685
+ call
686
+ phone box
687
+ calligraphy
688
+ calm
689
+ camcorder
690
+ camel
691
+ camera
692
+ camera lens
693
+ camouflage
694
+ camp
695
+ camper
696
+ campfire
697
+ camping
698
+ campsite
699
+ campus
700
+ can
701
+ can opener
702
+ canal
703
+ canary
704
+ cancer
705
+ candle
706
+ candle holder
707
+ candy
708
+ candy bar
709
+ candy cane
710
+ candy store
711
+ cane
712
+ jar
713
+ cannon
714
+ canopy
715
+ canopy bed
716
+ cantaloupe
717
+ cantilever bridge
718
+ canvas
719
+ canyon
720
+ cap
721
+ cape
722
+ cape cod
723
+ cappuccino
724
+ capsule
725
+ captain
726
+ capture
727
+ car
728
+ car dealership
729
+ car door
730
+ car interior
731
+ car logo
732
+ car mirror
733
+ parking lot
734
+ car seat
735
+ car show
736
+ car wash
737
+ car window
738
+ caramel
739
+ card
740
+ card game
741
+ cardboard
742
+ cardboard box
743
+ cardigan
744
+ cardinal
745
+ cargo
746
+ cargo aircraft
747
+ cargo ship
748
+ caribbean
749
+ carnation
750
+ carnival
751
+ carnivore
752
+ carousel
753
+ carp
754
+ carpenter
755
+ carpet
756
+ slipper
757
+ house finch
758
+ coach
759
+ dalmatian
760
+ aircraft carrier
761
+ carrot
762
+ carrot cake
763
+ carry
764
+ cart
765
+ carton
766
+ cartoon
767
+ cartoon character
768
+ cartoon illustration
769
+ cartoon style
770
+ carve
771
+ case
772
+ cash
773
+ cashew
774
+ casino
775
+ casserole
776
+ cassette
777
+ cassette deck
778
+ plaster bandage
779
+ casting
780
+ castle
781
+ cat
782
+ cat bed
783
+ cat food
784
+ cat furniture
785
+ cat tree
786
+ catacomb
787
+ catamaran
788
+ catamount
789
+ catch
790
+ catcher
791
+ caterpillar
792
+ catfish
793
+ cathedral
794
+ cattle
795
+ catwalk
796
+ catwalk show
797
+ cauliflower
798
+ cave
799
+ caviar
800
+ CD
801
+ CD player
802
+ cedar
803
+ ceiling
804
+ ceiling fan
805
+ celebrate
806
+ celebration
807
+ celebrity
808
+ celery
809
+ cello
810
+ smartphone
811
+ cement
812
+ graveyard
813
+ centerpiece
814
+ centipede
815
+ ceramic
816
+ ceramic tile
817
+ cereal
818
+ ceremony
819
+ certificate
820
+ chain
821
+ chain saw
822
+ chair
823
+ chairlift
824
+ daybed
825
+ chalet
826
+ chalice
827
+ chalk
828
+ chamber
829
+ chameleon
830
+ champagne
831
+ champagne flute
832
+ champion
833
+ championship
834
+ chandelier
835
+ changing table
836
+ channel
837
+ chap
838
+ chapel
839
+ character sculpture
840
+ charcoal
841
+ charge
842
+ charger
843
+ chariot
844
+ charity
845
+ charity event
846
+ charm
847
+ graph
848
+ chase
849
+ chassis
850
+ check
851
+ checkbook
852
+ chessboard
853
+ checklist
854
+ cheer
855
+ cheerlead
856
+ cheese
857
+ cheeseburger
858
+ cheesecake
859
+ cheetah
860
+ chef
861
+ chemical compound
862
+ chemist
863
+ chemistry
864
+ chemistry lab
865
+ cheongsam
866
+ cherry
867
+ cherry blossom
868
+ cherry tomato
869
+ cherry tree
870
+ chess
871
+ chestnut
872
+ chicken
873
+ chicken breast
874
+ chicken coop
875
+ chicken salad
876
+ chicken wing
877
+ garbanzo
878
+ chiffonier
879
+ chihuahua
880
+ child
881
+ child actor
882
+ childs room
883
+ chile
884
+ chili dog
885
+ chimney
886
+ chimpanzee
887
+ chinaware
888
+ chinese cabbage
889
+ chinese garden
890
+ chinese knot
891
+ chinese rose
892
+ chinese tower
893
+ chip
894
+ chipmunk
895
+ chisel
896
+ chocolate
897
+ chocolate bar
898
+ chocolate cake
899
+ chocolate chip
900
+ chocolate chip cookie
901
+ chocolate milk
902
+ chocolate mousse
903
+ truffle
904
+ choir
905
+ kitchen knife
906
+ cutting board
907
+ chopstick
908
+ christmas
909
+ christmas ball
910
+ christmas card
911
+ christmas decoration
912
+ christmas dinner
913
+ christmas eve
914
+ christmas hat
915
+ christmas light
916
+ christmas market
917
+ christmas ornament
918
+ christmas tree
919
+ chrysanthemum
920
+ church
921
+ church tower
922
+ cider
923
+ cigar
924
+ cigar box
925
+ cigarette
926
+ cigarette case
927
+ waistband
928
+ cinema
929
+ photographer
930
+ cinnamon
931
+ circle
932
+ circuit
933
+ circuit board
934
+ circus
935
+ water tank
936
+ citrus fruit
937
+ city
938
+ city bus
939
+ city hall
940
+ city nightview
941
+ city park
942
+ city skyline
943
+ city square
944
+ city street
945
+ city wall
946
+ city view
947
+ clam
948
+ clarinet
949
+ clasp
950
+ class
951
+ classic
952
+ classroom
953
+ clavicle
954
+ claw
955
+ clay
956
+ pottery
957
+ clean
958
+ clean room
959
+ cleaner
960
+ cleaning product
961
+ clear
962
+ cleat
963
+ clementine
964
+ client
965
+ cliff
966
+ climb
967
+ climb mountain
968
+ climber
969
+ clinic
970
+ clip
971
+ clip art
972
+ clipboard
973
+ clipper
974
+ clivia
975
+ cloak
976
+ clogs
977
+ close-up
978
+ closet
979
+ cloth
980
+ clothe
981
+ clothing
982
+ clothespin
983
+ clothesline
984
+ clothing store
985
+ cloud
986
+ cloud forest
987
+ cloudy
988
+ clover
989
+ joker
990
+ clown fish
991
+ club
992
+ clutch
993
+ clutch bag
994
+ coal
995
+ coast
996
+ coat
997
+ coatrack
998
+ cob
999
+ cock
1000
+ cockatoo
1001
+ cocker
1002
+ cockpit
1003
+ roach
1004
+ cocktail
1005
+ cocktail dress
1006
+ cocktail shaker
1007
+ cocktail table
1008
+ cocoa
1009
+ coconut
1010
+ coconut tree
1011
+ coffee
1012
+ coffee bean
1013
+ coffee cup
1014
+ coffee machine
1015
+ coffee shop
1016
+ coffeepot
1017
+ coffin
1018
+ cognac
1019
+ spiral
1020
+ coin
1021
+ coke
1022
+ colander
1023
+ cold
1024
+ slaw
1025
+ collaboration
1026
+ collage
1027
+ collection
1028
+ college student
1029
+ sheepdog
1030
+ crash
1031
+ color
1032
+ coloring book
1033
+ coloring material
1034
+ pony
1035
+ pillar
1036
+ comb
1037
+ combination lock
1038
+ comic
1039
+ comedy
1040
+ comedy film
1041
+ comet
1042
+ comfort
1043
+ comfort food
1044
+ comic book
1045
+ comic book character
1046
+ comic strip
1047
+ commander
1048
+ commentator
1049
+ community
1050
+ commuter
1051
+ company
1052
+ compass
1053
+ compete
1054
+ contest
1055
+ competitor
1056
+ composer
1057
+ composition
1058
+ compost
1059
+ computer
1060
+ computer box
1061
+ computer chair
1062
+ computer desk
1063
+ keyboard
1064
+ computer monitor
1065
+ computer room
1066
+ computer screen
1067
+ computer tower
1068
+ concept car
1069
+ concert
1070
+ concert hall
1071
+ conch
1072
+ concrete
1073
+ condiment
1074
+ condom
1075
+ condominium
1076
+ conductor
1077
+ cone
1078
+ meeting
1079
+ conference center
1080
+ conference hall
1081
+ meeting room
1082
+ confetti
1083
+ conflict
1084
+ confluence
1085
+ connect
1086
+ connector
1087
+ conservatory
1088
+ constellation
1089
+ construction site
1090
+ construction worker
1091
+ contain
1092
+ container
1093
+ container ship
1094
+ continent
1095
+ profile
1096
+ contract
1097
+ control
1098
+ control tower
1099
+ convenience store
1100
+ convention
1101
+ conversation
1102
+ converter
1103
+ convertible
1104
+ transporter
1105
+ cook
1106
+ cooking
1107
+ cooking spray
1108
+ cooker
1109
+ cool
1110
+ cooler
1111
+ copper
1112
+ copy
1113
+ coral
1114
+ coral reef
1115
+ rope
1116
+ corded phone
1117
+ liquor
1118
+ corgi
1119
+ cork
1120
+ corkboard
1121
+ cormorant
1122
+ corn
1123
+ corn field
1124
+ cornbread
1125
+ corner
1126
+ trumpet
1127
+ cornice
1128
+ cornmeal
1129
+ corral
1130
+ corridor
1131
+ corset
1132
+ cosmetic
1133
+ cosmetics brush
1134
+ cosmetics mirror
1135
+ cosplay
1136
+ costume
1137
+ costumer film designer
1138
+ infant bed
1139
+ cottage
1140
+ cotton
1141
+ cotton candy
1142
+ couch
1143
+ countdown
1144
+ counter
1145
+ counter top
1146
+ country artist
1147
+ country house
1148
+ country lane
1149
+ country pop artist
1150
+ countryside
1151
+ coupe
1152
+ couple
1153
+ couple photo
1154
+ courgette
1155
+ course
1156
+ court
1157
+ courthouse
1158
+ courtyard
1159
+ cousin
1160
+ coverall
1161
+ cow
1162
+ cowbell
1163
+ cowboy
1164
+ cowboy boot
1165
+ cowboy hat
1166
+ crab
1167
+ crabmeat
1168
+ crack
1169
+ cradle
1170
+ craft
1171
+ craftsman
1172
+ cranberry
1173
+ crane
1174
+ crape
1175
+ crapper
1176
+ crate
1177
+ crater lake
1178
+ lobster
1179
+ crayon
1180
+ cream cheese
1181
+ cream pitcher
1182
+ create
1183
+ creature
1184
+ credit card
1185
+ crescent
1186
+ croissant
1187
+ crest
1188
+ crew
1189
+ cricket
1190
+ cricket ball
1191
+ cricket team
1192
+ cricketer
1193
+ crochet
1194
+ crock pot
1195
+ crocodile
1196
+ crop
1197
+ crop top
1198
+ cross
1199
+ crossbar
1200
+ crossroad
1201
+ crosstalk
1202
+ crosswalk
1203
+ crouton
1204
+ crow
1205
+ crowbar
1206
+ crowd
1207
+ crowded
1208
+ crown
1209
+ crt screen
1210
+ crucifix
1211
+ cruise
1212
+ cruise ship
1213
+ cruiser
1214
+ crumb
1215
+ crush
1216
+ crutch
1217
+ crystal
1218
+ cub
1219
+ cube
1220
+ cucumber
1221
+ cue
1222
+ cuff
1223
+ cufflink
1224
+ cuisine
1225
+ farmland
1226
+ cup
1227
+ cupcake
1228
+ cupid
1229
+ curb
1230
+ curl
1231
+ hair roller
1232
+ currant
1233
+ currency
1234
+ curry
1235
+ curtain
1236
+ curve
1237
+ pad
1238
+ customer
1239
+ cut
1240
+ cutlery
1241
+ cycle
1242
+ cycling
1243
+ cyclone
1244
+ cylinder
1245
+ cymbal
1246
+ cypress
1247
+ cypress tree
1248
+ dachshund
1249
+ daffodil
1250
+ dagger
1251
+ dahlia
1252
+ daikon
1253
+ dairy
1254
+ daisy
1255
+ dam
1256
+ damage
1257
+ damp
1258
+ dance
1259
+ dance floor
1260
+ dance room
1261
+ dancer
1262
+ dandelion
1263
+ dark
1264
+ darkness
1265
+ dart
1266
+ dartboard
1267
+ dashboard
1268
+ date
1269
+ daughter
1270
+ dawn
1271
+ day bed
1272
+ daylight
1273
+ deadbolt
1274
+ death
1275
+ debate
1276
+ debris
1277
+ decanter
1278
+ deck
1279
+ decker bus
1280
+ decor
1281
+ decorate
1282
+ decorative picture
1283
+ deer
1284
+ defender
1285
+ deity
1286
+ delicatessen
1287
+ deliver
1288
+ demolition
1289
+ monster
1290
+ demonstration
1291
+ den
1292
+ denim jacket
1293
+ dentist
1294
+ department store
1295
+ depression
1296
+ derby
1297
+ dermopathy
1298
+ desert
1299
+ desert road
1300
+ design
1301
+ designer
1302
+ table
1303
+ table lamp
1304
+ desktop
1305
+ desktop computer
1306
+ dessert
1307
+ destruction
1308
+ detective
1309
+ detergent
1310
+ dew
1311
+ dial
1312
+ diamond
1313
+ diaper
1314
+ diaper bag
1315
+ journal
1316
+ die
1317
+ diet
1318
+ excavator
1319
+ number
1320
+ digital clock
1321
+ dill
1322
+ dinner
1323
+ rowboat
1324
+ dining room
1325
+ dinner party
1326
+ dinning table
1327
+ dinosaur
1328
+ dip
1329
+ diploma
1330
+ direct
1331
+ director
1332
+ dirt
1333
+ dirt bike
1334
+ dirt field
1335
+ dirt road
1336
+ dirt track
1337
+ disaster
1338
+ disciple
1339
+ disco
1340
+ disco ball
1341
+ discotheque
1342
+ disease
1343
+ plate
1344
+ dish antenna
1345
+ dish washer
1346
+ dishrag
1347
+ dishes
1348
+ dishsoap
1349
+ Disneyland
1350
+ dispenser
1351
+ display
1352
+ display window
1353
+ trench
1354
+ dive
1355
+ diver
1356
+ diving board
1357
+ paper cup
1358
+ dj
1359
+ doberman
1360
+ dock
1361
+ doctor
1362
+ document
1363
+ documentary
1364
+ dog
1365
+ dog bed
1366
+ dog breed
1367
+ dog collar
1368
+ dog food
1369
+ dog house
1370
+ doll
1371
+ dollar
1372
+ dollhouse
1373
+ dolly
1374
+ dolphin
1375
+ dome
1376
+ domicile
1377
+ domino
1378
+ donkey
1379
+ donut
1380
+ doodle
1381
+ door
1382
+ door handle
1383
+ doormat
1384
+ doorplate
1385
+ doorway
1386
+ dormitory
1387
+ dough
1388
+ downtown
1389
+ dozer
1390
+ drag
1391
+ dragon
1392
+ dragonfly
1393
+ drain
1394
+ drama
1395
+ drama film
1396
+ draw
1397
+ drawer
1398
+ drawing
1399
+ drawing pin
1400
+ pigtail
1401
+ dress
1402
+ dress hat
1403
+ dress shirt
1404
+ dress shoe
1405
+ dress suit
1406
+ dresser
1407
+ dressing room
1408
+ dribble
1409
+ drift
1410
+ driftwood
1411
+ drill
1412
+ drink
1413
+ drinking water
1414
+ drive
1415
+ driver
1416
+ driveway
1417
+ drone
1418
+ drop
1419
+ droplight
1420
+ dropper
1421
+ drought
1422
+ medicine
1423
+ pharmacy
1424
+ drum
1425
+ drummer
1426
+ drumstick
1427
+ dry
1428
+ duchess
1429
+ duck
1430
+ duckbill
1431
+ duckling
1432
+ duct tape
1433
+ dude
1434
+ duet
1435
+ duffel
1436
+ canoe
1437
+ dumbbell
1438
+ dumpling
1439
+ dune
1440
+ dunk
1441
+ durian
1442
+ dusk
1443
+ dust
1444
+ garbage truck
1445
+ dustpan
1446
+ duvet
1447
+ DVD
1448
+ dye
1449
+ eagle
1450
+ ear
1451
+ earmuff
1452
+ earphone
1453
+ earplug
1454
+ earring
1455
+ earthquake
1456
+ easel
1457
+ easter
1458
+ easter bunny
1459
+ easter egg
1460
+ eat
1461
+ restaurant
1462
+ eclair
1463
+ eclipse
1464
+ ecosystem
1465
+ edit
1466
+ education
1467
+ educator
1468
+ eel
1469
+ egg
1470
+ egg roll
1471
+ egg tart
1472
+ eggbeater
1473
+ egret
1474
+ Eiffel tower
1475
+ elastic band
1476
+ senior
1477
+ electric chair
1478
+ electric drill
1479
+ electrician
1480
+ electricity
1481
+ electron
1482
+ electronic
1483
+ elephant
1484
+ elevation map
1485
+ elevator
1486
+ elevator car
1487
+ elevator door
1488
+ elevator lobby
1489
+ elevator shaft
1490
+ embankment
1491
+ embassy
1492
+ embellishment
1493
+ ember
1494
+ emblem
1495
+ embroidery
1496
+ emerald
1497
+ emergency
1498
+ emergency service
1499
+ emergency vehicle
1500
+ emotion
1501
+ Empire State Building
1502
+ enamel
1503
+ enclosure
1504
+ side table
1505
+ energy
1506
+ engagement
1507
+ engagement ring
1508
+ engine
1509
+ engine room
1510
+ engineer
1511
+ engineering
1512
+ english shorthair
1513
+ ensemble
1514
+ enter
1515
+ entertainer
1516
+ entertainment
1517
+ entertainment center
1518
+ entrance
1519
+ entrance hall
1520
+ envelope
1521
+ equestrian
1522
+ equipment
1523
+ eraser
1524
+ erhu
1525
+ erosion
1526
+ escalator
1527
+ escargot
1528
+ espresso
1529
+ estate
1530
+ estuary
1531
+ eucalyptus tree
1532
+ evening
1533
+ evening dress
1534
+ evening light
1535
+ evening sky
1536
+ evening sun
1537
+ event
1538
+ evergreen
1539
+ ewe
1540
+ excavation
1541
+ exercise
1542
+ exhaust hood
1543
+ exhibition
1544
+ exit
1545
+ explorer
1546
+ explosion
1547
+ extension cord
1548
+ extinguisher
1549
+ extractor
1550
+ extrude
1551
+ eye
1552
+ eye shadow
1553
+ eyebrow
1554
+ eyeliner
1555
+ fabric
1556
+ fabric store
1557
+ facade
1558
+ face
1559
+ face close-up
1560
+ face powder
1561
+ face towel
1562
+ facial tissue holder
1563
+ facility
1564
+ factory
1565
+ factory workshop
1566
+ fair
1567
+ fairground
1568
+ fairy
1569
+ falcon
1570
+ fall
1571
+ family
1572
+ family car
1573
+ family photo
1574
+ family room
1575
+ fan
1576
+ fang
1577
+ farm
1578
+ farmer
1579
+ farmer market
1580
+ farmhouse
1581
+ fashion
1582
+ fashion accessory
1583
+ fashion designer
1584
+ fashion girl
1585
+ fashion illustration
1586
+ fashion look
1587
+ fashion model
1588
+ fashion show
1589
+ fast food
1590
+ fastfood restaurant
1591
+ father
1592
+ faucet
1593
+ fault
1594
+ fauna
1595
+ fawn
1596
+ fax
1597
+ feast
1598
+ feather
1599
+ fedora
1600
+ feed
1601
+ feedbag
1602
+ feeding
1603
+ feeding chair
1604
+ feline
1605
+ mountain lion
1606
+ fence
1607
+ fender
1608
+ fern
1609
+ ferret
1610
+ ferris wheel
1611
+ ferry
1612
+ fertilizer
1613
+ festival
1614
+ fiber
1615
+ fiction
1616
+ fiction book
1617
+ field
1618
+ field road
1619
+ fig
1620
+ fight
1621
+ figure skater
1622
+ figurine
1623
+ file
1624
+ file photo
1625
+ file cabinet
1626
+ fill
1627
+ film camera
1628
+ film director
1629
+ film format
1630
+ film premiere
1631
+ film producer
1632
+ filming
1633
+ filter
1634
+ fin
1635
+ hand
1636
+ finish line
1637
+ fir
1638
+ fir tree
1639
+ fire
1640
+ fire alarm
1641
+ fire department
1642
+ fire truck
1643
+ fire escape
1644
+ fire hose
1645
+ fire pit
1646
+ fire station
1647
+ firecracker
1648
+ fireman
1649
+ fireplace
1650
+ firework
1651
+ firework display
1652
+ first-aid kit
1653
+ fish
1654
+ fish boat
1655
+ fish market
1656
+ fish pond
1657
+ fishbowl
1658
+ fisherman
1659
+ fishing
1660
+ fishing boat
1661
+ fishing net
1662
+ fishing pole
1663
+ fishing village
1664
+ fitness
1665
+ fitness course
1666
+ five
1667
+ fixture
1668
+ fjord
1669
+ flag
1670
+ flag pole
1671
+ flake
1672
+ flame
1673
+ flamingo
1674
+ flannel
1675
+ flap
1676
+ flare
1677
+ flash
1678
+ flask
1679
+ flat
1680
+ flatfish
1681
+ flavor
1682
+ flea
1683
+ flea market
1684
+ fleet
1685
+ flight
1686
+ flight attendant
1687
+ flip
1688
+ flip-flop
1689
+ flipchart
1690
+ float
1691
+ flock
1692
+ flood
1693
+ floor
1694
+ floor fan
1695
+ floor mat
1696
+ floor plan
1697
+ floor window
1698
+ floral arrangement
1699
+ florist
1700
+ floss
1701
+ flour
1702
+ flow
1703
+ flower
1704
+ flower basket
1705
+ flower bed
1706
+ flower box
1707
+ flower field
1708
+ flower girl
1709
+ flower market
1710
+ fluid
1711
+ flush
1712
+ flute
1713
+ fly
1714
+ fly fishing
1715
+ flyer
1716
+ horse
1717
+ foam
1718
+ fog
1719
+ foggy
1720
+ foie gra
1721
+ foil
1722
+ folding chair
1723
+ leaf
1724
+ folk artist
1725
+ folk dance
1726
+ folk rock artist
1727
+ fondant
1728
+ hotpot
1729
+ font
1730
+ food
1731
+ food coloring
1732
+ food court
1733
+ food processor
1734
+ food stand
1735
+ food truck
1736
+ foosball
1737
+ foot
1738
+ foot bridge
1739
+ football
1740
+ football coach
1741
+ football college game
1742
+ football match
1743
+ football field
1744
+ football game
1745
+ football helmet
1746
+ football player
1747
+ football stadium
1748
+ football team
1749
+ path
1750
+ footprint
1751
+ footrest
1752
+ footstall
1753
+ footwear
1754
+ forbidden city
1755
+ ford
1756
+ forehead
1757
+ forest
1758
+ forest fire
1759
+ forest floor
1760
+ forest path
1761
+ forest road
1762
+ forge
1763
+ fork
1764
+ forklift
1765
+ form
1766
+ formal garden
1767
+ formation
1768
+ formula 1
1769
+ fort
1770
+ fortification
1771
+ forward
1772
+ fossil
1773
+ foundation
1774
+ fountain
1775
+ fountain pen
1776
+ fox
1777
+ frame
1778
+ freckle
1779
+ highway
1780
+ lorry
1781
+ French
1782
+ French bulldog
1783
+ French fries
1784
+ French toast
1785
+ freshener
1786
+ fridge
1787
+ fried chicken
1788
+ fried egg
1789
+ fried rice
1790
+ friendship
1791
+ frisbee
1792
+ frog
1793
+ frost
1794
+ frosting
1795
+ frosty
1796
+ frozen
1797
+ fruit
1798
+ fruit cake
1799
+ fruit dish
1800
+ fruit market
1801
+ fruit salad
1802
+ fruit stand
1803
+ fruit tree
1804
+ fruits shop
1805
+ fry
1806
+ frying pan
1807
+ fudge
1808
+ fuel
1809
+ fume hood
1810
+ fun
1811
+ funeral
1812
+ fungi
1813
+ funnel
1814
+ fur
1815
+ fur coat
1816
+ furniture
1817
+ futon
1818
+ gadget
1819
+ muzzle
1820
+ galaxy
1821
+ gallery
1822
+ game
1823
+ game board
1824
+ game controller
1825
+ ham
1826
+ gang
1827
+ garage
1828
+ garage door
1829
+ garage kit
1830
+ garbage
1831
+ garden
1832
+ garden asparagus
1833
+ garden hose
1834
+ garden spider
1835
+ gardener
1836
+ gardening
1837
+ garfield
1838
+ gargoyle
1839
+ wreath
1840
+ garlic
1841
+ garment
1842
+ gas
1843
+ gas station
1844
+ gas stove
1845
+ gasmask
1846
+ collect
1847
+ gathering
1848
+ gauge
1849
+ gazebo
1850
+ gear
1851
+ gecko
1852
+ geisha
1853
+ gel
1854
+ general store
1855
+ generator
1856
+ geranium
1857
+ ghost
1858
+ gift
1859
+ gift bag
1860
+ gift basket
1861
+ gift box
1862
+ gift card
1863
+ gift shop
1864
+ gift wrap
1865
+ gig
1866
+ gin
1867
+ ginger
1868
+ gingerbread
1869
+ gingerbread house
1870
+ ginkgo tree
1871
+ giraffe
1872
+ girl
1873
+ give
1874
+ glacier
1875
+ gladiator
1876
+ glass bead
1877
+ glass bottle
1878
+ glass bowl
1879
+ glass box
1880
+ glass building
1881
+ glass door
1882
+ glass floor
1883
+ glass house
1884
+ glass jar
1885
+ glass plate
1886
+ glass table
1887
+ glass vase
1888
+ glass wall
1889
+ glass window
1890
+ glasses
1891
+ glaze
1892
+ glider
1893
+ earth
1894
+ glove
1895
+ glow
1896
+ glue pudding
1897
+ go
1898
+ go for
1899
+ goal
1900
+ goalkeeper
1901
+ goat
1902
+ goat cheese
1903
+ gobi
1904
+ goggles
1905
+ gold
1906
+ gold medal
1907
+ Golden Gate Bridge
1908
+ golden retriever
1909
+ goldfish
1910
+ golf
1911
+ golf cap
1912
+ golf cart
1913
+ golf club
1914
+ golf course
1915
+ golfer
1916
+ goose
1917
+ gorilla
1918
+ gothic
1919
+ gourd
1920
+ government
1921
+ government agency
1922
+ gown
1923
+ graduate
1924
+ graduation
1925
+ grain
1926
+ grampus
1927
+ grand prix
1928
+ grandfather
1929
+ grandmother
1930
+ grandparent
1931
+ granite
1932
+ granola
1933
+ grape
1934
+ grapefruit
1935
+ wine
1936
+ grass
1937
+ grasshopper
1938
+ grassland
1939
+ grassy
1940
+ grater
1941
+ grave
1942
+ gravel
1943
+ gravestone
1944
+ gravy
1945
+ gravy boat
1946
+ gray
1947
+ graze
1948
+ grazing
1949
+ green
1950
+ greenery
1951
+ greet
1952
+ greeting
1953
+ greeting card
1954
+ greyhound
1955
+ grid
1956
+ griddle
1957
+ grill
1958
+ grille
1959
+ grilled eel
1960
+ grind
1961
+ grinder
1962
+ grits
1963
+ grocery bag
1964
+ grotto
1965
+ ground squirrel
1966
+ group
1967
+ group photo
1968
+ grove
1969
+ grow
1970
+ guacamole
1971
+ guard
1972
+ guard dog
1973
+ guest house
1974
+ guest room
1975
+ guide
1976
+ guinea pig
1977
+ guitar
1978
+ guitarist
1979
+ gulf
1980
+ gull
1981
+ gun
1982
+ gundam
1983
+ gurdwara
1984
+ guzheng
1985
+ gym
1986
+ gymnast
1987
+ habitat
1988
+ hacker
1989
+ hail
1990
+ hair
1991
+ hair color
1992
+ hair spray
1993
+ hairbrush
1994
+ haircut
1995
+ hairgrip
1996
+ hairnet
1997
+ hairpin
1998
+ hairstyle
1999
+ half
2000
+ hall
2001
+ halloween
2002
+ halloween costume
2003
+ halloween pumpkin
2004
+ halter top
2005
+ hamburg
2006
+ hamburger
2007
+ hami melon
2008
+ hammer
2009
+ hammock
2010
+ hamper
2011
+ hamster
2012
+ hand dryer
2013
+ hand glass
2014
+ hand towel
2015
+ handbag
2016
+ handball
2017
+ handcuff
2018
+ handgun
2019
+ handkerchief
2020
+ handle
2021
+ handsaw
2022
+ handshake
2023
+ handstand
2024
+ handwriting
2025
+ hanfu
2026
+ hang
2027
+ hangar
2028
+ hanger
2029
+ happiness
2030
+ harbor
2031
+ harbor seal
2032
+ hard rock artist
2033
+ hardback book
2034
+ safety helmet
2035
+ hardware
2036
+ hardware store
2037
+ hardwood
2038
+ hardwood floor
2039
+ mouth organ
2040
+ pipe organ
2041
+ harpsichord
2042
+ harvest
2043
+ harvester
2044
+ hassock
2045
+ hat
2046
+ hatbox
2047
+ hautboy
2048
+ hawthorn
2049
+ hay
2050
+ hayfield
2051
+ hazelnut
2052
+ head
2053
+ head coach
2054
+ headlight
2055
+ headboard
2056
+ headdress
2057
+ headland
2058
+ headquarter
2059
+ hearing
2060
+ heart
2061
+ heart shape
2062
+ heat
2063
+ heater
2064
+ heather
2065
+ hedge
2066
+ hedgehog
2067
+ heel
2068
+ helicopter
2069
+ heliport
2070
+ helmet
2071
+ help
2072
+ hen
2073
+ henna
2074
+ herb
2075
+ herd
2076
+ hermit crab
2077
+ hero
2078
+ heron
2079
+ hibiscus
2080
+ hibiscus flower
2081
+ hide
2082
+ high bar
2083
+ high heel
2084
+ highland
2085
+ highlight
2086
+ hike
2087
+ hiker
2088
+ hiking boot
2089
+ hiking equipment
2090
+ hill
2091
+ hill country
2092
+ hill station
2093
+ hillside
2094
+ hindu temple
2095
+ hinge
2096
+ hip
2097
+ hip hop artist
2098
+ hippo
2099
+ historian
2100
+ historic
2101
+ history
2102
+ hockey
2103
+ hockey arena
2104
+ hockey game
2105
+ hockey player
2106
+ hockey stick
2107
+ hoe
2108
+ hole
2109
+ vacation
2110
+ holly
2111
+ holothurian
2112
+ home
2113
+ home appliance
2114
+ home base
2115
+ home decor
2116
+ home interior
2117
+ home office
2118
+ home theater
2119
+ homework
2120
+ hummus
2121
+ honey
2122
+ beehive
2123
+ honeymoon
2124
+ hood
2125
+ hoodie
2126
+ hook
2127
+ jump
2128
+ horizon
2129
+ hornbill
2130
+ horned cow
2131
+ hornet
2132
+ horror
2133
+ horror film
2134
+ horse blanket
2135
+ horse cart
2136
+ horse farm
2137
+ horse ride
2138
+ horseback
2139
+ horseshoe
2140
+ hose
2141
+ hospital
2142
+ hospital bed
2143
+ hospital room
2144
+ host
2145
+ inn
2146
+ hot
2147
+ hot air balloon
2148
+ hot dog
2149
+ hot sauce
2150
+ hot spring
2151
+ hotel
2152
+ hotel lobby
2153
+ hotel room
2154
+ hotplate
2155
+ hourglass
2156
+ house
2157
+ house exterior
2158
+ houseplant
2159
+ hoverboard
2160
+ howler
2161
+ huddle
2162
+ hug
2163
+ hula hoop
2164
+ person
2165
+ humidifier
2166
+ hummingbird
2167
+ humpback whale
2168
+ hunt
2169
+ hunting lodge
2170
+ hurdle
2171
+ hurricane
2172
+ husky
2173
+ hut
2174
+ hyaena
2175
+ hybrid
2176
+ hydrangea
2177
+ hydrant
2178
+ seaplane
2179
+ ice
2180
+ ice bag
2181
+ polar bear
2182
+ ice cave
2183
+ icecream
2184
+ ice cream cone
2185
+ ice cream parlor
2186
+ ice cube
2187
+ ice floe
2188
+ ice hockey player
2189
+ ice hockey team
2190
+ lollipop
2191
+ ice maker
2192
+ rink
2193
+ ice sculpture
2194
+ ice shelf
2195
+ skate
2196
+ ice skating
2197
+ iceberg
2198
+ icicle
2199
+ icing
2200
+ icon
2201
+ id photo
2202
+ identity card
2203
+ igloo
2204
+ light
2205
+ iguana
2206
+ illuminate
2207
+ illustration
2208
+ image
2209
+ impala
2210
+ incense
2211
+ independence day
2212
+ individual
2213
+ indoor
2214
+ indoor rower
2215
+ induction cooker
2216
+ industrial area
2217
+ industry
2218
+ infantry
2219
+ inflatable boat
2220
+ information desk
2221
+ infrastructure
2222
+ ingredient
2223
+ inhalator
2224
+ injection
2225
+ injury
2226
+ ink
2227
+ inking pad
2228
+ inlet
2229
+ inscription
2230
+ insect
2231
+ install
2232
+ instrument
2233
+ insulated cup
2234
+ interaction
2235
+ interior design
2236
+ website
2237
+ intersection
2238
+ interview
2239
+ invertebrate
2240
+ invitation
2241
+ ipad
2242
+ iphone
2243
+ ipod
2244
+ iris
2245
+ iron
2246
+ ironing board
2247
+ irrigation system
2248
+ island
2249
+ islet
2250
+ isopod
2251
+ ivory
2252
+ ivy
2253
+ izakaya
2254
+ jack
2255
+ jackcrab
2256
+ jacket
2257
+ jacuzzi
2258
+ jade
2259
+ jaguar
2260
+ jail cell
2261
+ jam
2262
+ japanese garden
2263
+ jasmine
2264
+ jaw
2265
+ jay
2266
+ jazz
2267
+ jazz artist
2268
+ jazz fusion artist
2269
+ jeans
2270
+ jeep
2271
+ jelly
2272
+ jelly bean
2273
+ jellyfish
2274
+ jet
2275
+ motorboat
2276
+ jewel
2277
+ jewellery
2278
+ jewelry shop
2279
+ jigsaw puzzle
2280
+ rickshaw
2281
+ jockey
2282
+ jockey cap
2283
+ jog
2284
+ joint
2285
+ journalist
2286
+ joystick
2287
+ judge
2288
+ jug
2289
+ juggle
2290
+ juice
2291
+ juicer
2292
+ jujube
2293
+ jump rope
2294
+ jumpsuit
2295
+ jungle
2296
+ junkyard
2297
+ kale
2298
+ kaleidoscope
2299
+ kangaroo
2300
+ karaoke
2301
+ karate
2302
+ karting
2303
+ kasbah
2304
+ kayak
2305
+ kebab
2306
+ key
2307
+ keycard
2308
+ khaki
2309
+ kick
2310
+ kilt
2311
+ kimono
2312
+ kindergarden classroom
2313
+ kindergarten
2314
+ king
2315
+ king crab
2316
+ kiss
2317
+ kit
2318
+ kitchen
2319
+ kitchen cabinet
2320
+ kitchen counter
2321
+ kitchen floor
2322
+ kitchen hood
2323
+ kitchen island
2324
+ kitchen sink
2325
+ kitchen table
2326
+ kitchen utensil
2327
+ kitchen window
2328
+ kitchenware
2329
+ kite
2330
+ kiwi
2331
+ knee pad
2332
+ kneel
2333
+ knife
2334
+ rider
2335
+ knit
2336
+ knitting needle
2337
+ knob
2338
+ knocker
2339
+ knot
2340
+ koala
2341
+ koi
2342
+ ktv
2343
+ laboratory
2344
+ lab coat
2345
+ label
2346
+ labrador
2347
+ maze
2348
+ lace
2349
+ lace dress
2350
+ ladder
2351
+ ladle
2352
+ ladybird
2353
+ lagoon
2354
+ lake
2355
+ lake district
2356
+ lake house
2357
+ lakeshore
2358
+ lamb
2359
+ lamb chop
2360
+ lamp post
2361
+ lamp shade
2362
+ spear
2363
+ land
2364
+ land vehicle
2365
+ landfill
2366
+ landing
2367
+ landing deck
2368
+ landmark
2369
+ landscape
2370
+ landslide
2371
+ lanyard
2372
+ lantern
2373
+ lap
2374
+ laptop
2375
+ laptop keyboard
2376
+ larva
2377
+ lasagne
2378
+ laser
2379
+ lash
2380
+ lasso
2381
+ latch
2382
+ latex
2383
+ latte
2384
+ laugh
2385
+ launch
2386
+ launch event
2387
+ launch party
2388
+ laundromat
2389
+ laundry
2390
+ laundry basket
2391
+ laundry room
2392
+ lava
2393
+ lavender
2394
+ lawn
2395
+ lawn wedding
2396
+ lawyer
2397
+ lay
2398
+ lead
2399
+ lead singer
2400
+ lead to
2401
+ leader
2402
+ leak
2403
+ lean
2404
+ learn
2405
+ leash
2406
+ leather
2407
+ leather jacket
2408
+ leather shoe
2409
+ speech
2410
+ lecture hall
2411
+ lecture room
2412
+ ledge
2413
+ leftover
2414
+ leg
2415
+ legend
2416
+ legging
2417
+ legislative chamber
2418
+ lego
2419
+ legume
2420
+ lemon
2421
+ lemon juice
2422
+ lemonade
2423
+ lemur
2424
+ lens
2425
+ lens flare
2426
+ lentil
2427
+ leopard
2428
+ leotard
2429
+ tights
2430
+ leprechaun
2431
+ lesson
2432
+ letter
2433
+ mailbox
2434
+ letter logo
2435
+ lettering
2436
+ lettuce
2437
+ level
2438
+ library
2439
+ license
2440
+ license plate
2441
+ lichen
2442
+ lick
2443
+ lid
2444
+ lie
2445
+ life belt
2446
+ life jacket
2447
+ lifeboat
2448
+ lifeguard
2449
+ lift
2450
+ light fixture
2451
+ light show
2452
+ light switch
2453
+ lighting
2454
+ lightning
2455
+ lightning rod
2456
+ lilac
2457
+ lily
2458
+ limb
2459
+ lime
2460
+ limestone
2461
+ limo
2462
+ line
2463
+ line art
2464
+ line up
2465
+ linen
2466
+ liner
2467
+ lion
2468
+ lip balm
2469
+ lipstick
2470
+ liquid
2471
+ liquor store
2472
+ list
2473
+ litchi
2474
+ live
2475
+ livestock
2476
+ living room
2477
+ living space
2478
+ lizard
2479
+ load
2480
+ loading dock
2481
+ loafer
2482
+ hallway
2483
+ locate
2484
+ lock
2485
+ lock chamber
2486
+ locker
2487
+ loft
2488
+ log
2489
+ log cabin
2490
+ logo
2491
+ loki
2492
+ long hair
2493
+ longboard
2494
+ loom
2495
+ loop
2496
+ lose
2497
+ lottery
2498
+ lotus
2499
+ love
2500
+ loveseat
2501
+ luggage
2502
+ lumber
2503
+ lumberjack
2504
+ lunch
2505
+ lunch box
2506
+ lush
2507
+ luxury
2508
+ luxury yacht
2509
+ mac
2510
+ macadamia
2511
+ macaque
2512
+ macaroni
2513
+ macaw
2514
+ machete
2515
+ machine
2516
+ machine gun
2517
+ magazine
2518
+ magic
2519
+ magician
2520
+ magnet
2521
+ magnifying glass
2522
+ magnolia
2523
+ magpie
2524
+ mahjong
2525
+ mahout
2526
+ maid
2527
+ chain mail
2528
+ mail slot
2529
+ make
2530
+ makeover
2531
+ makeup artist
2532
+ makeup tool
2533
+ mallard
2534
+ mallard duck
2535
+ mallet
2536
+ mammal
2537
+ mammoth
2538
+ man
2539
+ management
2540
+ manager
2541
+ manatee
2542
+ mandala
2543
+ mandarin orange
2544
+ mandarine
2545
+ mane
2546
+ manga
2547
+ manger
2548
+ mango
2549
+ mangosteen
2550
+ mangrove
2551
+ manhattan
2552
+ manhole
2553
+ manhole cover
2554
+ manicure
2555
+ mannequin
2556
+ manor house
2557
+ mansion
2558
+ mantid
2559
+ mantle
2560
+ manufactured home
2561
+ manufacturing
2562
+ manuscript
2563
+ map
2564
+ maple
2565
+ maple leaf
2566
+ maple syrup
2567
+ maraca
2568
+ marathon
2569
+ marble
2570
+ march
2571
+ marching band
2572
+ mare
2573
+ marigold
2574
+ marine
2575
+ marine invertebrate
2576
+ marine mammal
2577
+ puppet
2578
+ mark
2579
+ market
2580
+ market square
2581
+ market stall
2582
+ marriage
2583
+ martial
2584
+ martial artist
2585
+ martial arts gym
2586
+ martini
2587
+ martini glass
2588
+ mascara
2589
+ mascot
2590
+ mashed potato
2591
+ masher
2592
+ mask
2593
+ massage
2594
+ mast
2595
+ mat
2596
+ matador
2597
+ match
2598
+ matchbox
2599
+ material
2600
+ mattress
2601
+ mausoleum
2602
+ maxi dress
2603
+ meal
2604
+ measuring cup
2605
+ measuring tape
2606
+ meat
2607
+ meatball
2608
+ mechanic
2609
+ mechanical fan
2610
+ medal
2611
+ media
2612
+ medical equipment
2613
+ medical image
2614
+ medical staff
2615
+ medicine cabinet
2616
+ medieval
2617
+ medina
2618
+ meditation
2619
+ meerkat
2620
+ meet
2621
+ melon
2622
+ monument
2623
+ menu
2624
+ mermaid
2625
+ net
2626
+ mess
2627
+ messenger bag
2628
+ metal
2629
+ metal artist
2630
+ metal detector
2631
+ meter
2632
+ mezzanine
2633
+ microphone
2634
+ microscope
2635
+ microwave
2636
+ midnight
2637
+ milestone
2638
+ military uniform
2639
+ milk
2640
+ milk can
2641
+ milk tea
2642
+ milkshake
2643
+ mill
2644
+ mine
2645
+ miner
2646
+ mineral
2647
+ mineral water
2648
+ miniskirt
2649
+ miniature
2650
+ minibus
2651
+ minister
2652
+ minivan
2653
+ mint
2654
+ mint candy
2655
+ mirror
2656
+ miss
2657
+ missile
2658
+ mission
2659
+ mistletoe
2660
+ mix
2661
+ mixer
2662
+ mixing bowl
2663
+ mixture
2664
+ moat
2665
+ mobility scooter
2666
+ model
2667
+ model car
2668
+ modern
2669
+ modern tower
2670
+ moisture
2671
+ mold
2672
+ molding
2673
+ mole
2674
+ monarch
2675
+ money
2676
+ monitor
2677
+ monk
2678
+ monkey
2679
+ monkey wrench
2680
+ monochrome
2681
+ monocycle
2682
+ monster truck
2683
+ moon
2684
+ moon cake
2685
+ moonlight
2686
+ moor
2687
+ moose
2688
+ swab
2689
+ moped
2690
+ morning
2691
+ morning fog
2692
+ morning light
2693
+ morning sun
2694
+ mortar
2695
+ mosaic
2696
+ mosque
2697
+ mosquito
2698
+ moss
2699
+ motel
2700
+ moth
2701
+ mother
2702
+ motherboard
2703
+ motif
2704
+ sport
2705
+ motor
2706
+ motorbike
2707
+ motorcycle
2708
+ motorcycle helmet
2709
+ motorcycle racer
2710
+ motorcyclist
2711
+ motorsport
2712
+ mound
2713
+ mountain
2714
+ mountain bike
2715
+ mountain biker
2716
+ mountain biking
2717
+ mountain gorilla
2718
+ mountain lake
2719
+ mountain landscape
2720
+ mountain pass
2721
+ mountain path
2722
+ mountain range
2723
+ mountain river
2724
+ mountain snowy
2725
+ mountain stream
2726
+ mountain view
2727
+ mountain village
2728
+ mountaineer
2729
+ mountaineering bag
2730
+ mouse
2731
+ mousepad
2732
+ mousetrap
2733
+ mouth
2734
+ mouthwash
2735
+ move
2736
+ movie poster
2737
+ movie ticket
2738
+ mower
2739
+ mp3 player
2740
+ mr
2741
+ mud
2742
+ muffin
2743
+ mug
2744
+ mulberry
2745
+ mulch
2746
+ mule
2747
+ municipality
2748
+ mural
2749
+ muscle
2750
+ muscle car
2751
+ museum
2752
+ mushroom
2753
+ music
2754
+ music festival
2755
+ music stool
2756
+ music studio
2757
+ music video performer
2758
+ musical keyboard
2759
+ musician
2760
+ mussel
2761
+ mustard
2762
+ mythology
2763
+ nacho
2764
+ nail polish
2765
+ nailfile
2766
+ nanny
2767
+ napkin
2768
+ narrow
2769
+ national flag
2770
+ nativity scene
2771
+ natural history museum
2772
+ nature
2773
+ nature reserve
2774
+ navigation
2775
+ navratri
2776
+ navy
2777
+ nebula
2778
+ neck
2779
+ neckband
2780
+ necklace
2781
+ neckline
2782
+ nectar
2783
+ nectarine
2784
+ needle
2785
+ neighbor
2786
+ neighbourhood
2787
+ neon
2788
+ neon light
2789
+ nerve
2790
+ nest
2791
+ new year
2792
+ newborn
2793
+ newfoundland
2794
+ newlywed
2795
+ news
2796
+ news conference
2797
+ newsstand
2798
+ night
2799
+ night market
2800
+ night sky
2801
+ night view
2802
+ nightclub
2803
+ nightstand
2804
+ noodle
2805
+ nose
2806
+ noseband
2807
+ note
2808
+ notebook
2809
+ notepad
2810
+ notepaper
2811
+ notice
2812
+ number icon
2813
+ nun
2814
+ nurse
2815
+ nursery
2816
+ nursing home
2817
+ nut
2818
+ nutcracker
2819
+ oak
2820
+ oak tree
2821
+ oar
2822
+ oasis
2823
+ oast house
2824
+ oatmeal
2825
+ oats
2826
+ obelisk
2827
+ observation tower
2828
+ observatory
2829
+ obstacle course
2830
+ sea
2831
+ octopus
2832
+ offer
2833
+ office
2834
+ office building
2835
+ office chair
2836
+ office cubicle
2837
+ office desk
2838
+ office supply
2839
+ office window
2840
+ officer
2841
+ official
2842
+ oil
2843
+ oil lamp
2844
+ oil painting
2845
+ oilrig
2846
+ okra
2847
+ old photo
2848
+ olive
2849
+ olive oil
2850
+ olive tree
2851
+ omelet
2852
+ onion
2853
+ onion ring
2854
+ opal
2855
+ open
2856
+ opening
2857
+ opening ceremony
2858
+ opera
2859
+ opera house
2860
+ operate
2861
+ operating room
2862
+ operation
2863
+ optical shop
2864
+ orangutan
2865
+ orange
2866
+ orange juice
2867
+ orange tree
2868
+ orangery
2869
+ orbit
2870
+ orchard
2871
+ orchestra pit
2872
+ orchid
2873
+ order
2874
+ organization
2875
+ origami
2876
+ ornament
2877
+ osprey
2878
+ ostrich
2879
+ otter
2880
+ out
2881
+ outcrop
2882
+ outdoor
2883
+ outhouse
2884
+ electric outlet
2885
+ outline
2886
+ oval
2887
+ oven
2888
+ overall
2889
+ overcoat
2890
+ overpass
2891
+ owl
2892
+ oyster
2893
+ teething ring
2894
+ pack
2895
+ package
2896
+ paddock
2897
+ police van
2898
+ padlock
2899
+ paella
2900
+ pagoda
2901
+ pain
2902
+ paint brush
2903
+ painter
2904
+ paisley bandanna
2905
+ palace
2906
+ palette
2907
+ paling
2908
+ pall
2909
+ palm tree
2910
+ pan
2911
+ pancake
2912
+ panda
2913
+ panel
2914
+ panorama
2915
+ pansy
2916
+ pant
2917
+ pantry
2918
+ pants
2919
+ pantyhose
2920
+ papaya
2921
+ paper
2922
+ paper bag
2923
+ paper cutter
2924
+ paper lantern
2925
+ paper plate
2926
+ paper towel
2927
+ paperback book
2928
+ paperweight
2929
+ parachute
2930
+ parade
2931
+ paradise
2932
+ parrot
2933
+ paramedic
2934
+ paraquet
2935
+ parasail
2936
+ paratrooper
2937
+ parchment
2938
+ parish
2939
+ park
2940
+ park bench
2941
+ parking
2942
+ parking garage
2943
+ parking meter
2944
+ parking sign
2945
+ parliament
2946
+ parsley
2947
+ participant
2948
+ partner
2949
+ partridge
2950
+ party
2951
+ party hat
2952
+ pass
2953
+ passage
2954
+ passbook
2955
+ passenger
2956
+ passenger ship
2957
+ passenger train
2958
+ passion fruit
2959
+ passport
2960
+ pasta
2961
+ paste
2962
+ pastry
2963
+ pasture
2964
+ patch
2965
+ patient
2966
+ pattern
2967
+ pavement
2968
+ pavilion
2969
+ paw
2970
+ pay
2971
+ payphone
2972
+ pea
2973
+ peace
2974
+ peach
2975
+ peacock
2976
+ peak
2977
+ peanut
2978
+ peanut butter
2979
+ pear
2980
+ pearl
2981
+ pebble
2982
+ pecan
2983
+ pedestrian
2984
+ pedestrian bridge
2985
+ pedestrian street
2986
+ peel
2987
+ peeler
2988
+ pegboard
2989
+ pegleg
2990
+ pelican
2991
+ pen
2992
+ penalty kick
2993
+ pencil
2994
+ pencil case
2995
+ pencil sharpener
2996
+ pencil skirt
2997
+ pendant
2998
+ pendulum
2999
+ penguin
3000
+ peninsula
3001
+ pennant
3002
+ penny
3003
+ piggy bank
3004
+ peony
3005
+ pepper
3006
+ pepper grinder
3007
+ peppercorn
3008
+ pepperoni
3009
+ perch
3010
+ perform
3011
+ performance
3012
+ performance arena
3013
+ perfume
3014
+ pergola
3015
+ persian cat
3016
+ persimmon
3017
+ personal care
3018
+ personal flotation device
3019
+ pest
3020
+ pet
3021
+ pet shop
3022
+ pet store
3023
+ petal
3024
+ petunia
3025
+ church bench
3026
+ pheasant
3027
+ phenomenon
3028
+ philosopher
3029
+ phone
3030
+ phonebook
3031
+ record player
3032
+ photo
3033
+ photo booth
3034
+ photo frame
3035
+ photography
3036
+ physicist
3037
+ physics laboratory
3038
+ pianist
3039
+ piano
3040
+ plectrum
3041
+ pick up
3042
+ pickle
3043
+ picnic
3044
+ picnic area
3045
+ picnic basket
3046
+ picnic table
3047
+ picture
3048
+ picture frame
3049
+ pie
3050
+ pigeon
3051
+ pilgrim
3052
+ tablet
3053
+ pillow
3054
+ pilot
3055
+ pilot boat
3056
+ pin
3057
+ pine
3058
+ pine cone
3059
+ pine forest
3060
+ pine nut
3061
+ pineapple
3062
+ table tennis table
3063
+ table tennis
3064
+ pink
3065
+ pint
3066
+ pipa
3067
+ pipe
3068
+ pipe bowl
3069
+ pirate
3070
+ pirate flag
3071
+ pirate ship
3072
+ pistachio
3073
+ ski slope
3074
+ pocket bread
3075
+ pitaya
3076
+ pitbull
3077
+ pitch
3078
+ pitcher
3079
+ pitcher plant
3080
+ pitchfork
3081
+ pizza
3082
+ pizza cutter
3083
+ pizza pan
3084
+ pizzeria
3085
+ placard
3086
+ place
3087
+ place mat
3088
+ plaid
3089
+ plain
3090
+ plan
3091
+ planet
3092
+ planet earth
3093
+ plank
3094
+ plant
3095
+ plantation
3096
+ planting
3097
+ plaque
3098
+ plaster
3099
+ plastic
3100
+ plasticine
3101
+ plateau
3102
+ platform
3103
+ platinum
3104
+ platter
3105
+ play
3106
+ play badminton
3107
+ play baseball
3108
+ play basketball
3109
+ play billiard
3110
+ play football
3111
+ play pong
3112
+ play tennis
3113
+ play volleyball
3114
+ player
3115
+ playground
3116
+ playhouse
3117
+ playing card
3118
+ playing chess
3119
+ playing golf
3120
+ playing mahjong
3121
+ playingfield
3122
+ playpen
3123
+ playroom
3124
+ plaza
3125
+ plier
3126
+ plot
3127
+ plow
3128
+ plug
3129
+ plug hat
3130
+ plum
3131
+ plumber
3132
+ plumbing fixture
3133
+ plume
3134
+ plywood
3135
+ pocket
3136
+ pocket watch
3137
+ pocketknife
3138
+ pod
3139
+ podium
3140
+ poetry
3141
+ poinsettia
3142
+ point
3143
+ pointer
3144
+ poker card
3145
+ poker chip
3146
+ poker table
3147
+ pole
3148
+ polecat
3149
+ police
3150
+ police car
3151
+ police dog
3152
+ police station
3153
+ politician
3154
+ polka dot
3155
+ pollen
3156
+ pollution
3157
+ polo
3158
+ polo neck
3159
+ polo shirt
3160
+ pomegranate
3161
+ pomeranian
3162
+ poncho
3163
+ pond
3164
+ ponytail
3165
+ poodle
3166
+ pool
3167
+ pop
3168
+ pop artist
3169
+ popcorn
3170
+ pope
3171
+ poppy
3172
+ porcelain
3173
+ porch
3174
+ pork
3175
+ porridge
3176
+ portable battery
3177
+ portal
3178
+ portfolio
3179
+ porthole
3180
+ portrait
3181
+ portrait session
3182
+ pose
3183
+ possum
3184
+ post
3185
+ post office
3186
+ stamp
3187
+ postcard
3188
+ poster
3189
+ poster page
3190
+ pot
3191
+ potato
3192
+ potato chip
3193
+ potato salad
3194
+ potholder
3195
+ potty
3196
+ pouch
3197
+ poultry
3198
+ pound
3199
+ pour
3200
+ powder
3201
+ power line
3202
+ power plugs and sockets
3203
+ power see
3204
+ power station
3205
+ practice
3206
+ Prague Castle
3207
+ prayer
3208
+ preacher
3209
+ premiere
3210
+ prescription
3211
+ show
3212
+ presentation
3213
+ president
3214
+ press room
3215
+ pressure cooker
3216
+ pretzel
3217
+ prince
3218
+ princess
3219
+ print
3220
+ printed page
3221
+ printer
3222
+ printing
3223
+ prison
3224
+ produce
3225
+ product
3226
+ profession
3227
+ professional
3228
+ professor
3229
+ project picture
3230
+ projection screen
3231
+ projector
3232
+ prom
3233
+ promenade
3234
+ propeller
3235
+ prophet
3236
+ proposal
3237
+ protective suit
3238
+ protest
3239
+ protester
3240
+ publication
3241
+ publicity portrait
3242
+ ice hockey
3243
+ pudding
3244
+ puddle
3245
+ puff
3246
+ puffin
3247
+ pug
3248
+ pull
3249
+ pulpit
3250
+ pulse
3251
+ pump
3252
+ pumpkin
3253
+ pumpkin pie
3254
+ pumpkin seed
3255
+ punch bag
3256
+ punch
3257
+ student
3258
+ purple
3259
+ push
3260
+ putt
3261
+ puzzle
3262
+ tower
3263
+ pyramid
3264
+ python
3265
+ qr code
3266
+ quail
3267
+ quarry
3268
+ quarter
3269
+ quartz
3270
+ queen
3271
+ quesadilla
3272
+ queue
3273
+ quiche
3274
+ quilt
3275
+ quilting
3276
+ quote
3277
+ rabbit
3278
+ raccoon
3279
+ race
3280
+ race track
3281
+ raceway
3282
+ race car
3283
+ racket
3284
+ radar
3285
+ radiator
3286
+ radio
3287
+ raft
3288
+ rag doll
3289
+ rail
3290
+ railcar
3291
+ railroad
3292
+ railroad bridge
3293
+ railway line
3294
+ railway station
3295
+ rain
3296
+ rain boot
3297
+ rainbow
3298
+ rainbow trout
3299
+ raincoat
3300
+ rainforest
3301
+ rainy
3302
+ raisin
3303
+ rake
3304
+ ram
3305
+ ramp
3306
+ rapeseed
3307
+ rapid
3308
+ rapper
3309
+ raspberry
3310
+ rat
3311
+ ratchet
3312
+ raven
3313
+ ravine
3314
+ ray
3315
+ razor
3316
+ razor blade
3317
+ read
3318
+ reading
3319
+ reamer
3320
+ rear
3321
+ rear light
3322
+ rear view
3323
+ rearview mirror
3324
+ receipt
3325
+ receive
3326
+ reception
3327
+ recipe
3328
+ record
3329
+ record producer
3330
+ recorder
3331
+ recording studio
3332
+ recreation room
3333
+ recreational vehicle
3334
+ rectangle
3335
+ recycling
3336
+ recycling bin
3337
+ red
3338
+ red carpet
3339
+ red flag
3340
+ red panda
3341
+ red wine
3342
+ redwood
3343
+ reed
3344
+ reef
3345
+ reel
3346
+ referee
3347
+ reflect
3348
+ reflection
3349
+ reflector
3350
+ register
3351
+ rein
3352
+ reindeer
3353
+ relax
3354
+ release
3355
+ relief
3356
+ religion
3357
+ religious
3358
+ relish
3359
+ remain
3360
+ remodel
3361
+ remote
3362
+ remove
3363
+ repair
3364
+ repair shop
3365
+ reptile
3366
+ rescue
3367
+ rescuer
3368
+ research
3369
+ researcher
3370
+ reservoir
3371
+ residence
3372
+ residential neighborhood
3373
+ resin
3374
+ resort
3375
+ resort town
3376
+ restaurant kitchen
3377
+ restaurant patio
3378
+ restroom
3379
+ retail
3380
+ retriever
3381
+ retro
3382
+ reveal
3383
+ rhinoceros
3384
+ rhododendron
3385
+ rib
3386
+ ribbon
3387
+ rice
3388
+ rice cooker
3389
+ rice field
3390
+ ride
3391
+ ridge
3392
+ riding
3393
+ rifle
3394
+ rim
3395
+ ring
3396
+ riot
3397
+ ripple
3398
+ rise
3399
+ rise building
3400
+ river
3401
+ river bank
3402
+ river boat
3403
+ river valley
3404
+ riverbed
3405
+ road
3406
+ road sign
3407
+ road trip
3408
+ roadside
3409
+ roast chicken
3410
+ robe
3411
+ robin
3412
+ robot
3413
+ stone
3414
+ rock arch
3415
+ rock artist
3416
+ rock band
3417
+ rock climber
3418
+ rock climbing
3419
+ rock concert
3420
+ rock face
3421
+ rock formation
3422
+ rocker
3423
+ rocket
3424
+ rocking chair
3425
+ rocky
3426
+ rodent
3427
+ rodeo
3428
+ rodeo arena
3429
+ roe
3430
+ roe deer
3431
+ roller
3432
+ coaster
3433
+ roller skate
3434
+ roller skates
3435
+ rolling pin
3436
+ romance
3437
+ romantic
3438
+ roof
3439
+ roof garden
3440
+ room
3441
+ room divider
3442
+ root
3443
+ root beer
3444
+ rope bridge
3445
+ rosary
3446
+ rose
3447
+ rosemary
3448
+ rosy cloud
3449
+ rottweiler
3450
+ round table
3451
+ router
3452
+ row
3453
+ rowan
3454
+ royal
3455
+ rubber stamp
3456
+ rubble
3457
+ rubik's cube
3458
+ ruby
3459
+ ruffle
3460
+ rugby
3461
+ rugby ball
3462
+ rugby player
3463
+ ruins
3464
+ ruler
3465
+ rum
3466
+ run
3467
+ runner
3468
+ running shoe
3469
+ rural
3470
+ rust
3471
+ rustic
3472
+ rye
3473
+ sack
3474
+ saddle
3475
+ saddlebag
3476
+ safari
3477
+ safe
3478
+ safety vest
3479
+ sage
3480
+ sail
3481
+ sailboat
3482
+ sailing
3483
+ sailor
3484
+ squirrel monkey
3485
+ sake
3486
+ salad
3487
+ salad bowl
3488
+ salamander
3489
+ salami
3490
+ sale
3491
+ salmon
3492
+ salon
3493
+ salsa
3494
+ salt
3495
+ salt and pepper shakers
3496
+ salt lake
3497
+ salt marsh
3498
+ salt shaker
3499
+ salute
3500
+ samoyed
3501
+ samurai
3502
+ sand
3503
+ sand bar
3504
+ sand box
3505
+ sand castle
3506
+ sand sculpture
3507
+ sandal
3508
+ sandwich
3509
+ sanitary napkin
3510
+ santa claus
3511
+ sapphire
3512
+ sardine
3513
+ sari
3514
+ sashimi
3515
+ satay
3516
+ satchel
3517
+ satellite
3518
+ satin
3519
+ sauce
3520
+ saucer
3521
+ sauna
3522
+ sausage
3523
+ savanna
3524
+ saw
3525
+ sawbuck
3526
+ sax
3527
+ saxophonist
3528
+ scaffold
3529
+ scale
3530
+ scale model
3531
+ scallop
3532
+ scar
3533
+ strawman
3534
+ scarf
3535
+ scene
3536
+ scenery
3537
+ schnauzer
3538
+ school
3539
+ school bus
3540
+ school uniform
3541
+ schoolhouse
3542
+ schooner
3543
+ science
3544
+ science fiction film
3545
+ science museum
3546
+ scientist
3547
+ scissors
3548
+ wall lamp
3549
+ scone
3550
+ scoop
3551
+ scooter
3552
+ score
3553
+ scoreboard
3554
+ scorpion
3555
+ scout
3556
+ scrambled egg
3557
+ scrap
3558
+ scraper
3559
+ scratch
3560
+ screen
3561
+ screen door
3562
+ screenshot
3563
+ screw
3564
+ screwdriver
3565
+ scroll
3566
+ scrub
3567
+ scrubbing brush
3568
+ sculptor
3569
+ sculpture
3570
+ sea cave
3571
+ sea ice
3572
+ sea lion
3573
+ sea turtle
3574
+ sea urchin
3575
+ seabass
3576
+ seabed
3577
+ seabird
3578
+ seafood
3579
+ seahorse
3580
+ seal
3581
+ sea view
3582
+ seashell
3583
+ seaside resort
3584
+ season
3585
+ seat
3586
+ seat belt
3587
+ seaweed
3588
+ secretary
3589
+ security
3590
+ sedan
3591
+ see
3592
+ seed
3593
+ seesaw
3594
+ segway
3595
+ selfie
3596
+ sell
3597
+ seminar
3598
+ sense
3599
+ sensor
3600
+ server
3601
+ server room
3602
+ service
3603
+ set
3604
+ sewing machine
3605
+ shadow
3606
+ shake
3607
+ shaker
3608
+ shampoo
3609
+ shape
3610
+ share
3611
+ shark
3612
+ sharpener
3613
+ sharpie
3614
+ shaver
3615
+ shaving cream
3616
+ shawl
3617
+ shear
3618
+ shears
3619
+ sheep
3620
+ sheet
3621
+ sheet music
3622
+ shelf
3623
+ shell
3624
+ shellfish
3625
+ shelter
3626
+ shelve
3627
+ shepherd
3628
+ sherbert
3629
+ shiba inu
3630
+ shine
3631
+ shipping
3632
+ shipping container
3633
+ shipwreck
3634
+ shipyard
3635
+ shirt
3636
+ shirtless
3637
+ shoal
3638
+ shoe
3639
+ shoe box
3640
+ shoe shop
3641
+ shoe tree
3642
+ shoot
3643
+ shooting basketball guard
3644
+ shop window
3645
+ shopfront
3646
+ shopper
3647
+ shopping
3648
+ shopping bag
3649
+ shopping basket
3650
+ shopping cart
3651
+ mall
3652
+ shopping street
3653
+ shore
3654
+ shoreline
3655
+ short
3656
+ short hair
3657
+ shorts
3658
+ shot glass
3659
+ shotgun
3660
+ shoulder
3661
+ shoulder bag
3662
+ shovel
3663
+ showcase
3664
+ shower
3665
+ shower cap
3666
+ shower curtain
3667
+ shower door
3668
+ shower head
3669
+ shredder
3670
+ shrew
3671
+ shrimp
3672
+ shrine
3673
+ shrub
3674
+ shutter
3675
+ siamese
3676
+ siberia
3677
+ sibling
3678
+ side
3679
+ side cabinet
3680
+ side dish
3681
+ sidecar
3682
+ sideline
3683
+ siding
3684
+ sign
3685
+ signage
3686
+ signal
3687
+ signature
3688
+ silk
3689
+ silk stocking
3690
+ silo
3691
+ silver
3692
+ silver medal
3693
+ silverware
3694
+ sing
3695
+ singe
3696
+ singer
3697
+ sink
3698
+ sip
3699
+ sit
3700
+ sitting
3701
+ skate park
3702
+ skateboard
3703
+ skateboarder
3704
+ skater
3705
+ skating rink
3706
+ skeleton
3707
+ sketch
3708
+ skewer
3709
+ ski
3710
+ ski boot
3711
+ ski equipment
3712
+ ski jacket
3713
+ ski lift
3714
+ ski pole
3715
+ ski resort
3716
+ snowboard
3717
+ skier
3718
+ skiing shoes
3719
+ skin
3720
+ skull
3721
+ skullcap
3722
+ sky
3723
+ sky tower
3724
+ skylight
3725
+ skyline
3726
+ skyscraper
3727
+ slalom
3728
+ slate
3729
+ sleigh
3730
+ sleep
3731
+ sleeping bag
3732
+ sleepwear
3733
+ sleeve
3734
+ slice
3735
+ slide
3736
+ slider
3737
+ sling
3738
+ slope
3739
+ slot
3740
+ slot machine
3741
+ sloth
3742
+ slow cooker
3743
+ slug
3744
+ slum
3745
+ smell
3746
+ smile
3747
+ smoke
3748
+ snack
3749
+ snail
3750
+ snake
3751
+ snapper
3752
+ snapshot
3753
+ snorkel
3754
+ snout
3755
+ snow
3756
+ snow leopard
3757
+ snow mountain
3758
+ snowball
3759
+ snowboarder
3760
+ snowfield
3761
+ snowflake
3762
+ snowman
3763
+ snowmobile
3764
+ snowplow
3765
+ snowshoe
3766
+ snowy
3767
+ soap
3768
+ soap bubble
3769
+ soap dispenser
3770
+ soccer goalkeeper
3771
+ socialite
3772
+ sock
3773
+ socket
3774
+ soda
3775
+ softball
3776
+ software
3777
+ solar battery
3778
+ soldier
3779
+ solo
3780
+ solution
3781
+ sombrero
3782
+ song
3783
+ sound
3784
+ soup
3785
+ soup bowl
3786
+ soupspoon
3787
+ sour cream
3788
+ souvenir
3789
+ soybean milk
3790
+ spa
3791
+ space
3792
+ space shuttle
3793
+ space station
3794
+ spacecraft
3795
+ spaghetti
3796
+ span
3797
+ wrench
3798
+ spark
3799
+ sparkle
3800
+ sparkler
3801
+ sparkling wine
3802
+ sparrow
3803
+ spatula
3804
+ speaker
3805
+ spectator
3806
+ speech bubble
3807
+ speed limit
3808
+ speed limit sign
3809
+ speedboat
3810
+ speedometer
3811
+ sphere
3812
+ spice
3813
+ spice rack
3814
+ spider
3815
+ spider web
3816
+ spike
3817
+ spin
3818
+ spinach
3819
+ spire
3820
+ splash
3821
+ sponge
3822
+ spoon
3823
+ sport association
3824
+ sport equipment
3825
+ sport team
3826
+ sports ball
3827
+ sports equipment
3828
+ sports meet
3829
+ sportswear
3830
+ dot
3831
+ spray
3832
+ spread
3833
+ spring
3834
+ spring roll
3835
+ sprinkle
3836
+ sprinkler
3837
+ sprout
3838
+ spruce
3839
+ spruce forest
3840
+ squad
3841
+ square
3842
+ squash
3843
+ squat
3844
+ squeeze
3845
+ squid
3846
+ squirrel
3847
+ water gun
3848
+ stab
3849
+ stable
3850
+ stack
3851
+ stadium
3852
+ staff
3853
+ stage
3854
+ stage light
3855
+ stagecoach
3856
+ stain
3857
+ stainless steel
3858
+ stair
3859
+ stairs
3860
+ stairwell
3861
+ stall
3862
+ stallion
3863
+ stand
3864
+ standing
3865
+ staple
3866
+ stapler
3867
+ star
3868
+ stare
3869
+ starfish
3870
+ starfruit
3871
+ starling
3872
+ state park
3873
+ state school
3874
+ station
3875
+ stationary bicycle
3876
+ stationery
3877
+ statue
3878
+ steak
3879
+ steak knife
3880
+ steam
3881
+ steam engine
3882
+ steam locomotive
3883
+ steam train
3884
+ steamed bread
3885
+ steel
3886
+ steering wheel
3887
+ stem
3888
+ stencil
3889
+ step stool
3890
+ stereo
3891
+ stethoscope
3892
+ stew
3893
+ stick
3894
+ stick insect
3895
+ sticker
3896
+ still life
3897
+ stilt
3898
+ stingray
3899
+ stir
3900
+ stirrer
3901
+ stirrup
3902
+ sew
3903
+ stock
3904
+ stocking
3905
+ stomach
3906
+ stone building
3907
+ stone carving
3908
+ stone house
3909
+ stone mill
3910
+ stool
3911
+ stop
3912
+ stop at
3913
+ stop light
3914
+ stop sign
3915
+ stop watch
3916
+ traffic light
3917
+ storage box
3918
+ storage room
3919
+ tank
3920
+ store
3921
+ storefront
3922
+ stork
3923
+ storm
3924
+ storm cloud
3925
+ stormy
3926
+ stove
3927
+ poker
3928
+ straddle
3929
+ strainer
3930
+ strait
3931
+ strap
3932
+ straw
3933
+ straw hat
3934
+ strawberry
3935
+ stream
3936
+ street art
3937
+ street artist
3938
+ street corner
3939
+ street dog
3940
+ street food
3941
+ street light
3942
+ street market
3943
+ street photography
3944
+ street scene
3945
+ street sign
3946
+ street vendor
3947
+ stretch
3948
+ stretcher
3949
+ strike
3950
+ striker
3951
+ string
3952
+ string cheese
3953
+ strip
3954
+ stripe
3955
+ stroll
3956
+ structure
3957
+ studio
3958
+ studio shot
3959
+ stuff
3960
+ stuffed animal
3961
+ stuffed toy
3962
+ stuffing
3963
+ stump
3964
+ stunning
3965
+ stunt
3966
+ stupa
3967
+ style
3968
+ stylus
3969
+ submarine
3970
+ submarine sandwich
3971
+ submarine water
3972
+ suburb
3973
+ subway
3974
+ subway station
3975
+ subwoofer
3976
+ succulent
3977
+ suede
3978
+ sugar
3979
+ sugar bowl
3980
+ sugar cane
3981
+ sugar cube
3982
+ suit
3983
+ suite
3984
+ summer
3985
+ summer evening
3986
+ summit
3987
+ sun
3988
+ sun hat
3989
+ sunbathe
3990
+ sunday
3991
+ sundial
3992
+ sunflower
3993
+ sunflower field
3994
+ sunflower seed
3995
+ sunglasses
3996
+ sunny
3997
+ sunrise
3998
+ sunset
3999
+ sunshade
4000
+ sunshine
4001
+ super bowl
4002
+ sports car
4003
+ superhero
4004
+ supermarket
4005
+ supermarket shelf
4006
+ supermodel
4007
+ supporter
4008
+ surf
4009
+ surface
4010
+ surfboard
4011
+ surfer
4012
+ surgeon
4013
+ surgery
4014
+ surround
4015
+ sushi
4016
+ sushi bar
4017
+ suspenders
4018
+ suspension
4019
+ suspension bridge
4020
+ suv
4021
+ swallow
4022
+ swallowtail butterfly
4023
+ swamp
4024
+ swan
4025
+ swan boat
4026
+ sweat pant
4027
+ sweatband
4028
+ sweater
4029
+ sweatshirt
4030
+ sweet
4031
+ sweet potato
4032
+ swim
4033
+ swim cap
4034
+ swimmer
4035
+ swimming hole
4036
+ swimming pool
4037
+ swing
4038
+ swing bridge
4039
+ swinge
4040
+ swirl
4041
+ switch
4042
+ swivel chair
4043
+ sword
4044
+ swordfish
4045
+ symbol
4046
+ symmetry
4047
+ synagogue
4048
+ syringe
4049
+ syrup
4050
+ system
4051
+ t shirt
4052
+ t-shirt
4053
+ tabasco sauce
4054
+ tabby
4055
+ table tennis racket
4056
+ table top
4057
+ tablecloth
4058
+ tablet computer
4059
+ tableware
4060
+ tachometer
4061
+ tackle
4062
+ taco
4063
+ tae kwon do
4064
+ tai chi
4065
+ tail
4066
+ tailor
4067
+ take
4068
+ takeoff
4069
+ talk
4070
+ tambourine
4071
+ tan
4072
+ tangerine
4073
+ tape
4074
+ tapestry
4075
+ tarmac
4076
+ taro
4077
+ tarp
4078
+ tart
4079
+ tassel
4080
+ taste
4081
+ tatami
4082
+ tattoo
4083
+ tattoo artist
4084
+ tavern
4085
+ tea
4086
+ tea bag
4087
+ tea party
4088
+ tea plantation
4089
+ tea pot
4090
+ tea set
4091
+ teach
4092
+ teacher
4093
+ teacup
4094
+ teal
4095
+ team photo
4096
+ team presentation
4097
+ tear
4098
+ technician
4099
+ technology
4100
+ teddy
4101
+ tee
4102
+ teenager
4103
+ telegraph pole
4104
+ zoom lens
4105
+ telescope
4106
+ television
4107
+ television camera
4108
+ television room
4109
+ television studio
4110
+ temperature
4111
+ temple
4112
+ tempura
4113
+ tennis
4114
+ tennis court
4115
+ tennis match
4116
+ tennis net
4117
+ tennis player
4118
+ tennis racket
4119
+ tent
4120
+ tequila
4121
+ terminal
4122
+ terrace
4123
+ terrain
4124
+ terrarium
4125
+ territory
4126
+ test
4127
+ test match
4128
+ test tube
4129
+ text
4130
+ text message
4131
+ textile
4132
+ texture
4133
+ thanksgiving
4134
+ thanksgiving dinner
4135
+ theater
4136
+ theatre actor
4137
+ therapy
4138
+ thermometer
4139
+ thermos
4140
+ thermos bottle
4141
+ thermostat
4142
+ thicket
4143
+ thimble
4144
+ thing
4145
+ thinking
4146
+ thistle
4147
+ throne
4148
+ throne room
4149
+ throw
4150
+ throw pillow
4151
+ thunder
4152
+ thunderstorm
4153
+ thyme
4154
+ tiara
4155
+ tick
4156
+ ticket
4157
+ ticket booth
4158
+ tide pool
4159
+ tie
4160
+ tiger
4161
+ tight
4162
+ tile
4163
+ tile flooring
4164
+ tile roof
4165
+ tile wall
4166
+ tin
4167
+ tinfoil
4168
+ tinsel
4169
+ tiramisu
4170
+ tire
4171
+ tissue
4172
+ toast
4173
+ toaster
4174
+ tobacco
4175
+ tobacco pipe
4176
+ toddler
4177
+ toe
4178
+ tofu
4179
+ toilet bowl
4180
+ toilet seat
4181
+ toiletry
4182
+ tokyo tower
4183
+ tomato
4184
+ tomato sauce
4185
+ tomato soup
4186
+ tomb
4187
+ tong
4188
+ tongs
4189
+ tool
4190
+ toolbox
4191
+ toothbrush
4192
+ toothpaste
4193
+ toothpick
4194
+ topiary garden
4195
+ topping
4196
+ torch
4197
+ tornado
4198
+ tortilla
4199
+ tortoise
4200
+ tote bag
4201
+ totem pole
4202
+ totoro
4203
+ toucan
4204
+ touch
4205
+ touchdown
4206
+ tour
4207
+ tour bus
4208
+ tour guide
4209
+ tourist
4210
+ tourist attraction
4211
+ tournament
4212
+ tow truck
4213
+ towel
4214
+ towel bar
4215
+ tower block
4216
+ tower bridge
4217
+ town
4218
+ town square
4219
+ toy
4220
+ toy car
4221
+ toy gun
4222
+ toyshop
4223
+ track
4224
+ tractor
4225
+ trade
4226
+ tradition
4227
+ traditional
4228
+ traffic
4229
+ traffic cone
4230
+ traffic congestion
4231
+ traffic jam
4232
+ traffic sign
4233
+ trail
4234
+ trailer
4235
+ trailer truck
4236
+ train
4237
+ train bridge
4238
+ train car
4239
+ train interior
4240
+ train track
4241
+ train window
4242
+ trainer
4243
+ training
4244
+ training bench
4245
+ training ground
4246
+ trolley
4247
+ trampoline
4248
+ transformer
4249
+ transparency
4250
+ travel
4251
+ tray
4252
+ treadmill
4253
+ treat
4254
+ tree
4255
+ tree branch
4256
+ tree farm
4257
+ tree frog
4258
+ tree house
4259
+ tree root
4260
+ tree trunk
4261
+ trial
4262
+ triangle
4263
+ triathlon
4264
+ tribe
4265
+ tributary
4266
+ trick
4267
+ tricycle
4268
+ trim
4269
+ trio
4270
+ tripod
4271
+ trombone
4272
+ troop
4273
+ trophy
4274
+ trophy cup
4275
+ tropic
4276
+ trout
4277
+ truck
4278
+ truck driver
4279
+ tub
4280
+ tube
4281
+ tugboat
4282
+ tulip
4283
+ tuna
4284
+ tundra
4285
+ tunnel
4286
+ turbine
4287
+ turkey
4288
+ turn
4289
+ turnip
4290
+ turquoise
4291
+ turret
4292
+ turtle
4293
+ tusk
4294
+ tv actor
4295
+ tv cabinet
4296
+ tv drama
4297
+ tv genre
4298
+ tv personality
4299
+ tv show
4300
+ tv sitcom
4301
+ tv tower
4302
+ twig
4303
+ twilight
4304
+ twin
4305
+ twine
4306
+ twist
4307
+ type
4308
+ type on
4309
+ typewriter
4310
+ ukulele
4311
+ ultraman
4312
+ umbrella
4313
+ underclothes
4314
+ underwater
4315
+ unicorn
4316
+ uniform
4317
+ universe
4318
+ university
4319
+ up
4320
+ urban
4321
+ urinal
4322
+ urn
4323
+ use
4324
+ utensil
4325
+ utility room
4326
+ vacuum
4327
+ valley
4328
+ valve
4329
+ vampire
4330
+ van
4331
+ vanilla
4332
+ vanity
4333
+ variety
4334
+ vase
4335
+ vault
4336
+ vector cartoon illustration
4337
+ vector icon
4338
+ vegetable
4339
+ vegetable garden
4340
+ vegetable market
4341
+ vegetation
4342
+ vehicle
4343
+ veil
4344
+ vein
4345
+ velvet
4346
+ vending machine
4347
+ vendor
4348
+ vent
4349
+ vespa
4350
+ vessel
4351
+ vest
4352
+ vet
4353
+ veteran
4354
+ veterinarians office
4355
+ viaduct
4356
+ video
4357
+ video camera
4358
+ video game
4359
+ videotape
4360
+ view mirror
4361
+ vigil
4362
+ villa
4363
+ village
4364
+ vine
4365
+ vinegar
4366
+ vineyard
4367
+ violence
4368
+ violet
4369
+ violin
4370
+ violinist
4371
+ violist
4372
+ vision
4373
+ visor
4374
+ vodka
4375
+ volcano
4376
+ volleyball
4377
+ volleyball court
4378
+ volleyball player
4379
+ volunteer
4380
+ voyage
4381
+ vulture
4382
+ waffle
4383
+ waffle iron
4384
+ wagon
4385
+ wagon wheel
4386
+ waist
4387
+ waiter
4388
+ waiting hall
4389
+ waiting room
4390
+ walk
4391
+ walking
4392
+ walking cane
4393
+ wall clock
4394
+ wallpaper
4395
+ walnut
4396
+ walrus
4397
+ war
4398
+ warehouse
4399
+ warm
4400
+ warning sign
4401
+ warrior
4402
+ warship
4403
+ warthog
4404
+ wash
4405
+ washer
4406
+ washing
4407
+ washing machine
4408
+ wasp
4409
+ waste
4410
+ waste container
4411
+ watch
4412
+ water
4413
+ water bird
4414
+ water buffalo
4415
+ water cooler
4416
+ water drop
4417
+ water feature
4418
+ water heater
4419
+ water level
4420
+ water lily
4421
+ water park
4422
+ water pipe
4423
+ water purifier
4424
+ water ski
4425
+ water sport
4426
+ water surface
4427
+ water tower
4428
+ watercolor
4429
+ watercolor illustration
4430
+ watercolor painting
4431
+ waterfall
4432
+ watering can
4433
+ watermark overlay stamp
4434
+ watermelon
4435
+ waterproof jacket
4436
+ waterway
4437
+ wave
4438
+ wax
4439
+ weapon
4440
+ wear
4441
+ weather
4442
+ vane
4443
+ web
4444
+ webcam
4445
+ wedding
4446
+ wedding ring
4447
+ wedding bouquet
4448
+ wedding cake
4449
+ wedding couple
4450
+ wedding invitation
4451
+ wedding party
4452
+ wedding photo
4453
+ wedding photographer
4454
+ wedding photography
4455
+ wedding reception
4456
+ wedge
4457
+ weed
4458
+ weight
4459
+ weight scale
4460
+ welder
4461
+ well
4462
+ western food
4463
+ western restaurant
4464
+ wet
4465
+ wet bar
4466
+ wet suit
4467
+ wetland
4468
+ wetsuit
4469
+ whale
4470
+ whale shark
4471
+ wheat
4472
+ wheat field
4473
+ wheel
4474
+ wheelchair
4475
+ wheelie
4476
+ whipped cream
4477
+ whisk
4478
+ whisker
4479
+ whiskey
4480
+ whistle
4481
+ white
4482
+ white house
4483
+ white wine
4484
+ whiteboard
4485
+ wicket
4486
+ wide
4487
+ wield
4488
+ wig
4489
+ Wii
4490
+ Wii controller
4491
+ wild
4492
+ wildebeest
4493
+ wildfire
4494
+ wildflower
4495
+ wildlife
4496
+ willow
4497
+ wind
4498
+ wind chime
4499
+ wind farm
4500
+ wind turbine
4501
+ windmill
4502
+ window
4503
+ window box
4504
+ window display
4505
+ window frame
4506
+ window screen
4507
+ window seat
4508
+ window sill
4509
+ wiper
4510
+ windshield
4511
+ windy
4512
+ wine bottle
4513
+ wine cooler
4514
+ wine cabinet
4515
+ wine cellar
4516
+ wine glass
4517
+ wine rack
4518
+ wine tasting
4519
+ winery
4520
+ wing
4521
+ winter
4522
+ winter melon
4523
+ winter morning
4524
+ winter scene
4525
+ winter sport
4526
+ winter storm
4527
+ wire
4528
+ wisteria
4529
+ witch
4530
+ witch hat
4531
+ wok
4532
+ wolf
4533
+ woman
4534
+ wood
4535
+ wood duck
4536
+ wood floor
4537
+ wood wall
4538
+ wood-burning stove
4539
+ wooden spoon
4540
+ woodland
4541
+ woodpecker
4542
+ woodworking plane
4543
+ wool
4544
+ job
4545
+ work card
4546
+ workbench
4547
+ worker
4548
+ workplace
4549
+ workshop
4550
+ world
4551
+ worm
4552
+ worship
4553
+ wound
4554
+ wrap
4555
+ wrap dress
4556
+ wrapping paper
4557
+ wrestle
4558
+ wrestler
4559
+ wrinkle
4560
+ wristband
4561
+ write
4562
+ writer
4563
+ writing
4564
+ writing brush
4565
+ writing desk
4566
+ yacht
4567
+ yak
4568
+ yard
4569
+ yellow
4570
+ yoga
4571
+ yoga mat
4572
+ yoghurt
4573
+ yoke
4574
+ yolk
4575
+ youth
4576
+ youth hostel
4577
+ yurt
4578
+ zebra
4579
+ zebra crossing
4580
+ zen garden
4581
+ zip
4582
+ zipper
4583
+ zombie
4584
+ zongzi
4585
+ zoo
ram/data/ram_tag_list_chinese.txt ADDED
@@ -0,0 +1,4585 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 三维CG渲染
2
+ 3d眼镜
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
+ 组装
160
+ 集会
161
+ 生产流水线
162
+ 协会
163
+ 宇航员
164
+ 天文学家
165
+ 运动员
166
+ 运动
167
+ 地图集
168
+ 自助取款机
169
+ 大气层
170
+ 中庭
171
+ 连接
172
+ 战斗机
173
+ 参加
174
+ 吸引力
175
+ 全地形车
176
+ 茄子
177
+ 拍卖
178
+ 奥迪汽车
179
+ 音频
180
+ 礼堂
181
+ 极光
182
+ 作者
183
+ 汽车厂
184
+ 汽车修理工
185
+ 汽车零件
186
+ 车展
187
+ 汽车展厅
188
+ 汽车电池
189
+ 汽车制造
190
+ 汽车模型
191
+ 汽车
192
+ 秋天
193
+ 秋天的森林
194
+ 秋天的叶子
195
+ 秋天的公园
196
+ 秋天的树
197
+ 阿凡达
198
+ 林荫大道
199
+ 飞行员太阳镜
200
+ 牛油果
201
+ 奖品
202
+ 颁奖典礼
203
+ 获奖者
204
+
205
+ 斧头
206
+ 杜鹃花
207
+ 狒狒
208
+ 婴儿
209
+ 奶瓶
210
+ 婴儿车
211
+ 婴儿衣服
212
+ 小象
213
+ 婴儿食品
214
+ 婴儿座椅
215
+ 迎婴派对
216
+ 背后/后面
217
+ 背景
218
+ 背光
219
+ 背包
220
+ 后院
221
+ 培根
222
+ 徽章
223
+
224
+ 荒地
225
+ 羽毛球运动
226
+ 羽毛球拍
227
+ 袋子
228
+ 面包圈
229
+ 风笛
230
+ 法棍
231
+ 诱饵
232
+ 焙烤食品
233
+ 面包师
234
+ 面包店
235
+ 烘焙
236
+ 烤盘
237
+ 平衡
238
+ 平衡车
239
+ 阳台
240
+
241
+ 球池
242
+ 芭蕾舞女演员
243
+ 芭蕾舞
244
+ 芭蕾舞演员
245
+ 芭蕾舞裙
246
+ 气球
247
+ 气球拱门
248
+ 棒球手
249
+ 舞厅
250
+ 竹子
251
+ 竹林
252
+ 香蕉
253
+ 香蕉面包
254
+ 香蕉叶子
255
+ 香蕉树
256
+ 乐队
257
+ 创可贴
258
+ 绷带
259
+ 头巾
260
+ 束发带
261
+ 刘海
262
+ 手镯
263
+ 栏杆
264
+ 五弦琴
265
+ 银行
266
+ 银行卡
267
+ 银行金库
268
+ 纸币
269
+ 横幅/旗帜
270
+ 宴会
271
+ 宴会厅
272
+ 榕树
273
+ 包子
274
+ 洗礼
275
+ 酒吧
276
+ 条形码
277
+ 高脚凳
278
+ 烧烤
279
+ 烧烤架
280
+ 杠铃
281
+ 理发师
282
+ 理发店
283
+ 芭比娃娃
284
+ 驳船
285
+ 咖啡师
286
+ 树皮
287
+ 大麦
288
+ 谷仓
289
+ 仓鸮
290
+ 挡光板
291
+
292
+ 路障
293
+ 屏障
294
+ 手推车
295
+ 酒保
296
+ 棒球
297
+ 棒球基地
298
+ 棒球棒
299
+ 棒球帽
300
+ 棒球场
301
+ 棒球比赛
302
+ 棒球手套
303
+ 棒球投手
304
+ 棒球队
305
+ 棒球制服
306
+ 地下室
307
+ 罗勒
308
+ 水盆
309
+ 篮子
310
+ 篮子
311
+ 篮球
312
+ 篮球篮板
313
+ 篮球教练
314
+ 篮球场
315
+ 篮球比赛
316
+ 篮球框
317
+ 篮球运动员
318
+ 篮球馆
319
+ 篮球队
320
+ 贝斯
321
+ 低音吉他
322
+ 低音喇叭
323
+ 贝斯手
324
+ 球棒/球拍
325
+ 浴室
326
+ 水浴加热器
327
+ 浴垫
328
+ 浴巾
329
+ 泳装
330
+ 浴袍
331
+ 浴室
332
+ 浴室配件
333
+ 浴室柜
334
+ 浴室门
335
+ 浴室镜子
336
+ 浴室水槽
337
+ 卫生纸
338
+ 浴室窗户
339
+ 蝙蝠侠
340
+ 棒子
341
+ 接连猛打/击球员
342
+ 电池
343
+ 战斗
344
+ 战绳
345
+ 战舰
346
+ 海湾
347
+ 海湾大桥
348
+ 凸窗
349
+ 杨梅
350
+ 集市
351
+ 海滩
352
+ 沙滩球
353
+ 沙滩椅
354
+ 海滨别墅
355
+ 海滩小屋
356
+ 沙滩毛巾
357
+ 沙滩排球
358
+ 灯塔
359
+ 珠子
360
+ 比格犬
361
+ 鸟嘴
362
+ 烧杯
363
+ 横梁
364
+ 豆子
365
+ 豆袋椅
366
+ 豆袋
367
+
368
+ 幼熊
369
+ 胡子
370
+ 野兽
371
+ 击打/击败
372
+ 美丽的
373
+ 美丽
374
+ 美容院
375
+ 海狸
376
+
377
+ 床单
378
+ 床架
379
+ 卧室
380
+ 床上用品
381
+ 便盆
382
+ 卧室窗户
383
+ 床头灯
384
+ 蜜蜂
385
+ 山毛榉
386
+ 牛肉
387
+ 养蜂人
388
+ 蜂鸣器
389
+ 啤酒
390
+ 啤酒瓶
391
+ 啤酒罐
392
+ 啤酒花园
393
+ 啤酒杯
394
+ 啤酒馆
395
+ 甜菜
396
+ 甲虫
397
+ 米色
398
+ 时钟
399
+ 甜椒
400
+ 钟楼
401
+ 皮带
402
+ 皮带扣
403
+ 长凳
404
+ 弯曲
405
+ 孟加拉虎
406
+ 盒饭
407
+ 贝雷帽
408
+ 浆果
409
+ 停泊位
410
+ 饮料
411
+ 围嘴
412
+ 拌饭
413
+ 圣经
414
+ 比熊
415
+ 自行车
416
+ 自行车头盔
417
+ 自行车车轮
418
+ 自行车骑士
419
+ 坐浴盆
420
+ 大本钟
421
+ 自行车道
422
+ 自行车道
423
+ 自行车赛
424
+ 骑车
425
+ 比基尼
426
+ 比基尼上衣
427
+ 账单
428
+ 台球
429
+ 广告牌
430
+ 台球台
431
+ 垃圾箱
432
+ 活页夹
433
+ 双筒望远镜
434
+ 生物学实验室
435
+ 双翼飞机
436
+ 桦木
437
+ 桦树
438
+
439
+ 鸟池
440
+ 喂鸟器
441
+ 鸟舍
442
+ 鸟巢
443
+ 鸟池
444
+ 鸟笼
445
+ 出生
446
+ 生日
447
+ 生日蛋糕
448
+ 生日蜡烛
449
+ 生日贺卡
450
+ 生日聚会
451
+ 饼干
452
+ 主教
453
+ 野牛
454
+ 钻头
455
+
456
+ 黑色
457
+ 黑山羊
458
+ 黑莓
459
+ 乌鸦
460
+ 黑板
461
+ 铁匠
462
+ 叶片/刀片
463
+ 毯子/覆盖层
464
+ ��动外套
465
+ 看台
466
+ 搅拌机
467
+ 祝福
468
+ 窗帘
469
+ 眼罩
470
+ 闪光
471
+ 暴风雪
472
+
473
+ 博客
474
+
475
+ 开花
476
+
477
+ 女装衬衫
478
+
479
+ 吹风机
480
+ 河豚
481
+ 蓝色
482
+ 蓝色艺术家
483
+ 蓝松鸦
484
+ 蓝天
485
+ 蓝莓
486
+ 蓝知更鸟
487
+
488
+ 板子
489
+ 板擦
490
+ 棋盘游戏
491
+ 木板路
492
+
493
+ 船甲板
494
+ 船屋
495
+
496
+ 乘船
497
+ 浮标
498
+ 山猫
499
+ 躯干
500
+ 身体冲浪板
501
+ 健美运动员
502
+ 水煮鸡蛋
503
+ 锅炉
504
+ 饰扣式领带
505
+ 门闩
506
+ 炸弹
507
+ 轰炸机
508
+ 披肩榛鸡
509
+ 骨骼
510
+ 篝火
511
+ 阀盖
512
+ 盆景
513
+
514
+ 书籍封面
515
+ 书柜
516
+ 文件夹
517
+ 书签
518
+ 书架
519
+ 书店
520
+ 远程拾音器
521
+ 推动
522
+ 靴子
523
+ 边界
524
+ 边境牧羊犬
525
+ 植物园
526
+
527
+ 瓶盖
528
+ 开瓶器
529
+ 螺旋开瓶器
530
+ 三角梅
531
+ 巨石
532
+ 花束
533
+ 时装店
534
+ 精品酒店
535
+ 鞠躬/蝴蝶结
536
+ 领结
537
+ 弓形窗
538
+
539
+ 保龄球运动
540
+ 保龄球馆
541
+ 保龄球
542
+ 保龄球设备
543
+ 盒子
544
+ 箱形梁桥
545
+ 箱龟
546
+ 拳击手
547
+ 内裤
548
+ 拳击
549
+ 拳击手套
550
+ 拳击台
551
+ 男孩
552
+ 支撑物
553
+ 支架
554
+ 辫子
555
+ 大脑
556
+ 刹车
557
+ 刹车灯
558
+ 树枝
559
+ 商标
560
+ 白兰地
561
+ 黄铜
562
+ 黄铜牌匾
563
+ 面包
564
+ 面包箱
565
+ 休息
566
+ 早餐
567
+ 防浪堤
568
+ 胸部
569
+ 啤酒厂
570
+ 砖块
571
+ 砖建筑物
572
+
573
+ 砖块
574
+ 婚纱
575
+ 新娘
576
+ 新郎
577
+ 伴娘
578
+
579
+ 缰绳
580
+ 公文包
581
+ 明亮的
582
+ 边沿
583
+ 钻头
584
+ 广播
585
+ 西兰花
586
+ 青铜
587
+ 铜牌
588
+ 青铜雕塑
589
+ 青铜雕像
590
+ 胸针
591
+ 小溪
592
+ 扫帚
593
+ 肉汤
594
+ 棕色
595
+ 棕熊
596
+ 巧克力蛋糕
597
+ 早午餐
598
+ 浅黑肤色的女人
599
+ 刷子
600
+ 郊狼
601
+ 包菜
602
+ 气泡
603
+ 泡泡糖
604
+ 珍珠奶茶
605
+ 斗柜
606
+ 盾牌
607
+
608
+
609
+ 水牛
610
+ 自助餐
611
+ 昆虫
612
+ 建造
613
+ 建造者
614
+ 建筑
615
+ 积木
616
+ 建筑立面
617
+ 建筑材料
618
+
619
+
620
+ 斗牛犬
621
+ 子弹
622
+ 动车
623
+ 公告栏
624
+ 防弹背心
625
+ 斗牛
626
+ 扩音器
627
+ 斗牛场
628
+ 大黄蜂
629
+ 保险杠
630
+ 卷/地形起伏
631
+
632
+ 蹦极
633
+ 双层床
634
+ 地堡/击球
635
+ 兔子
636
+ 浮标
637
+ 书桌
638
+ 墓室
639
+ 燃烧
640
+ 玉米煎饼
641
+ 公交车
642
+ 公交车司机
643
+ 公交车内部
644
+ 公交车站
645
+ 公交车站
646
+ 公交车窗户
647
+ 灌木
648
+ 商业
649
+ 名片
650
+ 业务主管
651
+ 商务西装
652
+ 业务团队
653
+ 女商人
654
+ 商人
655
+ 半身像
656
+ 屠夫
657
+ 肉铺
658
+ 孤峰
659
+ 黄油
660
+ 奶油
661
+ 蝴蝶
662
+ 蝴蝶馆
663
+ 按钮
664
+ 梧桐树
665
+ 购买
666
+ 出租车
667
+ 小屋
668
+ 卷心菜
669
+ 小屋/机舱
670
+ 守车
671
+ 储藏柜
672
+ 橱柜
673
+ 电缆
674
+ 缆车
675
+ 仙人掌
676
+ 咖啡馆
677
+ 食堂
678
+ 笼子
679
+ 蛋糕
680
+ 蛋糕台
681
+ 计算器
682
+ 大锅
683
+ 日历
684
+ 小腿
685
+ 通话
686
+ 电话亭
687
+ 书法
688
+ 平静的
689
+ 摄像机
690
+ 骆驼
691
+ 相机
692
+ 相机镜头
693
+ 迷彩
694
+ 露营
695
+ 露营者
696
+ 篝火
697
+ 露营
698
+ 营地
699
+ 校园
700
+
701
+ 开罐器
702
+ 运河
703
+ 金丝雀
704
+ 癌症
705
+ 蜡烛
706
+ 烛台
707
+ 糖果
708
+ 块状糖
709
+ 柺杖糖
710
+ 糖果店
711
+ 拐杖
712
+ 罐子
713
+ 大炮
714
+ 树冠/顶棚
715
+ 四柱床
716
+ 香瓜
717
+ 悬臂桥
718
+ 帆布
719
+ 峡谷
720
+ 帽子
721
+ 斗篷
722
+ 科德角
723
+ 卡布奇诺
724
+ 胶囊
725
+ 队长
726
+ 捕获
727
+
728
+ 汽车经销商
729
+ 车门
730
+ 汽车内饰
731
+ 车标
732
+ 后视镜
733
+ 停车场
734
+ 汽车座椅
735
+ 车展
736
+ 洗车
737
+ 车窗
738
+ 焦糖
739
+ 卡片
740
+ 纸牌游戏
741
+ 纸板
742
+ 纸板盒
743
+ 羊毛衫
744
+ 红衣凤头鸟
745
+ 货物
746
+ 货运飞机
747
+ 货船
748
+ 加勒比
749
+ 康乃馨
750
+ 狂欢节
751
+ 食肉动物
752
+ 旋转木马
753
+ 鲤鱼
754
+ 木匠
755
+ 地毯
756
+ 拖鞋
757
+ 红雀
758
+ 长途客车
759
+ 斑点狗
760
+ 航空母舰
761
+ 胡萝卜
762
+ 胡萝卜蛋糕
763
+ 携带
764
+ 手推车
765
+ 纸箱/纸盒
766
+ 卡通
767
+ 卡通人物
768
+ 卡通插图
769
+ 卡通风格
770
+ 雕刻
771
+ 容器
772
+ 现金
773
+ 腰果
774
+ 赌场
775
+ 砂锅
776
+ 磁带
777
+ 盒式录音机
778
+ 石膏绷带
779
+ 铸造
780
+ 城堡
781
+
782
+ 猫窝
783
+ 猫粮
784
+ 猫器具
785
+ 猫架
786
+ 地下墓穴
787
+ 双体船
788
+ 美洲狮
789
+ 握着/抓着
790
+ 捕手
791
+ 毛毛虫
792
+ 鲶鱼
793
+ 教堂
794
+
795
+ 猫步
796
+ 走秀
797
+ 菜花
798
+ 洞穴
799
+ 鱼子酱
800
+ 光盘
801
+ CD播放器
802
+ 雪松
803
+ 天花板
804
+ 吊扇
805
+ 庆祝
806
+ 庆典
807
+ 名人
808
+ 芹菜
809
+ 大提琴
810
+ 手机
811
+ 水泥
812
+ 墓地
813
+ 中心装饰品
814
+ 蜈蚣
815
+ 陶瓷
816
+ 瓷砖
817
+ 麦片
818
+ 仪式
819
+ 证书
820
+ 链条
821
+ 链锯
822
+ 椅子
823
+ 升降椅
824
+ 躺椅
825
+ 木屋
826
+ 圣杯
827
+ 粉笔
828
+ 房间
829
+ 变色龙
830
+ 香槟酒
831
+ 香槟杯
832
+ 冠军
833
+ 锦标赛
834
+ 吊灯
835
+ 婴儿换尿布台
836
+ 通道
837
+ 皴裂处
838
+ 小教堂
839
+ 人物雕塑
840
+ 木炭
841
+ 充电
842
+ 充电器
843
+ 战车
844
+ 慈善机构
845
+ 慈善活动
846
+ 魅力
847
+ 图表
848
+ 追逐
849
+ 底盘
850
+ 检查/支票
851
+ 支票簿
852
+ 棋盘
853
+ 检查表
854
+ 欢呼声
855
+ 鼓励/啦啦队
856
+ 奶酪
857
+ 奶酪汉堡
858
+ 奶酪蛋糕
859
+ 猎豹
860
+ 厨师
861
+ 化合物
862
+ 化学家
863
+ 化学
864
+ 化学实验室
865
+ 旗袍
866
+ 樱桃
867
+ 樱花
868
+ 樱桃番茄
869
+ 樱桃树
870
+ 国际象棋
871
+ 栗子
872
+
873
+ 鸡胸肉
874
+ 鸡笼
875
+ 鸡肉沙拉
876
+ 鸡翅
877
+ 鹰嘴豆
878
+ 小衣橱
879
+ 吉娃娃
880
+ 孩子
881
+ 童星
882
+ 孩子的房间
883
+ 红番椒
884
+ 辣热狗
885
+ 烟囱
886
+ 黑猩猩
887
+ 瓷器
888
+ 白菜
889
+ 中国园林
890
+ 中国结
891
+ 月季
892
+ 中国塔
893
+ 炸薯条/炸薯条
894
+ 花栗鼠
895
+ 凿子
896
+ 巧克力
897
+ 巧克力棒
898
+ 巧克力蛋糕
899
+ 巧克力碎片
900
+ 巧克力饼干
901
+ 巧克力牛奶
902
+ 巧克力慕斯
903
+ 松露
904
+ 唱诗班
905
+ 厨房刀
906
+ 砧板
907
+ 筷子
908
+ 圣诞节
909
+ 圣诞球
910
+ 圣诞贺卡
911
+ 圣诞装饰
912
+ 圣诞晚宴
913
+ 平安夜
914
+ 圣诞帽
915
+ 圣诞灯
916
+ 圣诞市场
917
+ 圣诞装饰
918
+ 圣诞树
919
+ 菊花
920
+ 教堂
921
+ 教堂塔
922
+ 苹果酒
923
+ 雪茄
924
+ 雪茄盒
925
+ 香烟
926
+ 烟盒
927
+ 腰带
928
+ 电影院
929
+ 摄影师
930
+ 肉桂
931
+
932
+ 电路
933
+ 电路板
934
+ 马戏团
935
+ 水箱
936
+ 柑橘类水果
937
+ 城市
938
+ 城市公交
939
+ 市政厅
940
+ 城市夜景
941
+ 城市公园
942
+ 城市天际线
943
+ 城市广场
944
+ 城市街道
945
+ 城墙
946
+ 城市景观
947
+ 蛤蜊
948
+ 单���管
949
+ 扣子
950
+ 班级
951
+ 经典
952
+ 教室
953
+ 锁骨
954
+ 爪子
955
+ 黏土
956
+ 陶器
957
+ 清洁
958
+ 洁净室
959
+ 清洁工人
960
+ 清洁用品
961
+ 清晰的
962
+
963
+ 克莱门氏小柑橘
964
+ 客户端
965
+ 悬崖
966
+
967
+ 爬山
968
+ 登山者
969
+ 诊所
970
+ 夹子
971
+ 剪贴画
972
+ 剪贴板
973
+ 快速帆船
974
+ 君子兰
975
+ 斗篷
976
+ 木底鞋
977
+ 特写
978
+ 壁橱
979
+
980
+ 穿衣
981
+ 衣服
982
+ 晒衣夹
983
+ 晒衣绳
984
+ 服装店
985
+
986
+ 云雾森林
987
+ 多云
988
+ 三叶草
989
+ 小丑
990
+ 小丑鱼
991
+ 俱乐部
992
+ 离合器
993
+ 手拿包
994
+ 煤炭
995
+ 海岸
996
+ 外套
997
+ 衣帽架
998
+ 玉米
999
+ 公鸡
1000
+ 凤头鹦鹉
1001
+ 可卡犬
1002
+ 驾驶
1003
+ 蟑螂
1004
+ 鸡尾酒
1005
+ 小礼服
1006
+ 鸡尾酒调制器
1007
+ 鸡尾酒桌
1008
+ 可可
1009
+ 椰子
1010
+ 椰子树
1011
+ 咖啡
1012
+ 咖啡豆
1013
+ 咖啡杯
1014
+ 咖啡机
1015
+ 咖啡店
1016
+ 咖啡壶
1017
+ 棺材
1018
+ 法国白兰地
1019
+ 螺旋
1020
+ 硬币
1021
+ 可口可乐
1022
+ 滤器
1023
+ 冷的
1024
+ 卷心菜沙拉
1025
+ 合作
1026
+ 拼贴画
1027
+ 收藏品
1028
+ 大学生
1029
+ 牧羊犬
1030
+ 碰撞
1031
+ 颜色
1032
+ 涂色书
1033
+ 染色材料
1034
+ 矮种马
1035
+ 柱子
1036
+ 梳子
1037
+ 密码锁
1038
+ 喜剧演员
1039
+ 喜剧
1040
+ 喜剧电影
1041
+ 彗星
1042
+ 舒服
1043
+ 安慰食物
1044
+ 漫画书
1045
+ 漫画人物
1046
+ 连环画
1047
+ 指挥官
1048
+ 评论员
1049
+ 社区
1050
+ 通勤
1051
+ 公司
1052
+ 指南针
1053
+ 比赛
1054
+ 比赛
1055
+ 竞争者
1056
+ 作曲家
1057
+ 作文
1058
+ 堆肥
1059
+ 电脑
1060
+ 电脑机箱
1061
+ 电脑椅
1062
+ 电脑桌
1063
+ 键盘
1064
+ 计算机显示器
1065
+ 计算机房
1066
+ 电脑屏幕
1067
+ 机箱
1068
+ 概念车
1069
+ 音乐会
1070
+ 音乐厅
1071
+ 贝壳
1072
+ 混凝土
1073
+ 调味品
1074
+ 避孕套
1075
+ 独立产权的公寓
1076
+ 指挥
1077
+ 锥形物
1078
+ 会议
1079
+ 会议中心
1080
+ 会议厅
1081
+ 会议室
1082
+ 五彩纸屑
1083
+ 冲突
1084
+ 合流
1085
+ 连接
1086
+ 连接器
1087
+ 温室
1088
+ 星座
1089
+ 建筑工地
1090
+ 建筑工人
1091
+ 包含
1092
+ 容器
1093
+ 集装箱船
1094
+ 大陆
1095
+ 轮廓
1096
+ 合同
1097
+ 控制
1098
+ 控制塔
1099
+ 便利店
1100
+ 集会
1101
+ 交谈
1102
+ 转换器
1103
+ 可转换的
1104
+ 输送机
1105
+ 厨师/烹饪
1106
+ 烹饪
1107
+ 烹饪喷雾剂
1108
+ 炊具
1109
+ 凉的
1110
+ 冷却器
1111
+
1112
+ 一本/一册
1113
+ 珊瑚
1114
+ 珊瑚礁
1115
+ 粗绳
1116
+ 有线电话
1117
+
1118
+ 威尔士矮脚狗
1119
+ 瓶塞
1120
+ 软木板
1121
+ 鸬鹚
1122
+ 玉米
1123
+ 玉米田
1124
+ 玉米面包
1125
+ 角落
1126
+ 小号
1127
+ 飞檐
1128
+ 燕麦片
1129
+ 围栏
1130
+ 走廊
1131
+ 紧身衣
1132
+ 化妆品
1133
+ 化妆刷
1134
+ 化妆镜
1135
+ 角色扮演
1136
+ 服装
1137
+ 服装电影设计师
1138
+ 婴儿床
1139
+ 小屋
1140
+ 棉花
1141
+ 棉花糖
1142
+ 沙发
1143
+ 倒计时
1144
+ 柜台
1145
+ 台面
1146
+ 最佳乡村歌手
1147
+ 乡村别墅
1148
+ 乡村公路
1149
+ 乡村流行歌手
1150
+ 农村
1151
+ 双门小轿车
1152
+ 夫妇/两人/几个
1153
+ 情侣写真
1154
+ 小胡瓜
1155
+ 课程
1156
+ 球场
1157
+ 法院
1158
+ 院子
1159
+ 堂兄弟
1160
+ 工作服
1161
+ 奶牛
1162
+ 母牛的颈铃
1163
+ 牛仔
1164
+ 牛仔靴
1165
+ 牛仔帽
1166
+ 螃蟹
1167
+ 蟹肉
1168
+ 裂纹
1169
+ 摇篮
1170
+ 工艺
1171
+ 工匠
1172
+ 蔓越莓
1173
+ 起重机
1174
+ 黑纱
1175
+ 厕所
1176
+ 板条箱
1177
+ 火山口湖
1178
+ 龙虾
1179
+ 蜡笔
1180
+ 奶油乳酪
1181
+ 奶油罐
1182
+ 创建
1183
+ 生物
1184
+ 信用卡
1185
+ 新月形
1186
+ 新月形面包
1187
+ 山顶
1188
+ 全体船员
1189
+ 蟋蟀
1190
+ 板球用球
1191
+ 板球队
1192
+ 板球队员
1193
+ 钩边
1194
+ 克罗克电锅
1195
+ 鳄鱼
1196
+ 庄稼
1197
+ 露脐上衣
1198
+ 交叉
1199
+ 横木
1200
+ 十字路口
1201
+ 相声
1202
+ 人行横道
1203
+ 油煎面包块
1204
+ 乌鸦
1205
+ 撬棍
1206
+ 人群
1207
+ 拥挤的
1208
+ 皇冠
1209
+ 阴极射线管屏幕
1210
+ 耶稣受难像
1211
+ 巡游
1212
+ 游轮
1213
+ 巡洋艇
1214
+ 面包屑
1215
+ 压坏
1216
+ 拐杖
1217
+ 水晶
1218
+ 幼兽
1219
+ 立方体
1220
+ 黄瓜
1221
+ 球杆
1222
+ 袖口
1223
+ 袖扣
1224
+ 烹饪
1225
+ 农田
1226
+ 杯子
1227
+ 纸杯蛋糕
1228
+ 丘比特
1229
+ 马路牙子
1230
+ 旋度
1231
+ 卷发器
1232
+ 无籽葡萄干
1233
+ 货币
1234
+ 咖喱
1235
+ 窗帘
1236
+ 曲线
1237
+ 软垫
1238
+ 顾客
1239
+
1240
+ 餐具
1241
+ 自行车
1242
+ 骑自行车
1243
+ 龙卷风
1244
+ 汽缸
1245
+ 铙钹
1246
+ 柏树
1247
+ 柏树
1248
+ 达克斯猎狗
1249
+ 水仙花
1250
+ 匕首
1251
+ 大丽花
1252
+ 萝卜
1253
+ 乳制品
1254
+ 雏菊
1255
+ 大坝
1256
+ 损害
1257
+ 潮湿的
1258
+ 跳舞
1259
+ 舞池
1260
+ 舞蹈室
1261
+ 舞者
1262
+ 蒲公英
1263
+ 黑暗
1264
+ 黑暗
1265
+ 飞镖
1266
+ 圆靶
1267
+ 指示板
1268
+ 日期
1269
+ 女儿
1270
+ 黎明
1271
+ 天床上
1272
+ 日光
1273
+ 门栓
1274
+ 死亡
1275
+ 辩论
1276
+ 碎片
1277
+ 玻璃水瓶
1278
+ 甲板
1279
+ 双层巴士
1280
+ 装饰
1281
+ 装修/装饰
1282
+ 装饰画
1283
+ 鹿
1284
+ 后卫
1285
+
1286
+ 熟食
1287
+ 投递
1288
+ 拆迁
1289
+ 怪兽
1290
+ 演示
1291
+ 兽窝/休闲室
1292
+ 牛仔夹克
1293
+ 牙医
1294
+ 百货商店
1295
+ 抑郁症
1296
+ 德比
1297
+ 皮肤病
1298
+ 沙漠
1299
+ 沙漠公路
1300
+ 设计
1301
+ 设计师
1302
+ 桌子/表格
1303
+ 台灯
1304
+ 桌面
1305
+ 台式电脑
1306
+ 甜点
1307
+ 破坏
1308
+ 侦探
1309
+ 洗涤剂
1310
+ 露水
1311
+ 仪表盘
1312
+ 钻石
1313
+ 尿布
1314
+ 尿布包
1315
+ 杂志
1316
+
1317
+ 饮食
1318
+ 挖掘机
1319
+ 数字
1320
+ 数字时钟
1321
+ 莳萝
1322
+ 晚餐
1323
+ 小船
1324
+ 餐厅
1325
+ 晚宴
1326
+ 餐桌
1327
+ 恐龙
1328
+
1329
+ 文凭
1330
+ 指引
1331
+ 导演
1332
+ 尘埃
1333
+ 越野摩托车
1334
+ 泥土地
1335
+ 泥土路
1336
+ 泥路/土路
1337
+ 灾难
1338
+ 信徒
1339
+ 迪斯科舞厅
1340
+ 迪斯科灯秋
1341
+ 迪斯科舞厅
1342
+ 疾病
1343
+ 盘子
1344
+ 碟形天线
1345
+ 洗碗机
1346
+ 抹布
1347
+ 菜肴
1348
+ 洗碗液
1349
+ 迪斯尼乐园
1350
+ 自动售货机
1351
+ 展示
1352
+ 陈列窗
1353
+ 壕沟
1354
+ 潜水
1355
+ 潜水员
1356
+ 跳水板
1357
+ 纸杯
1358
+ 流行音乐播音员
1359
+ 杜宾犬
1360
+ 码头
1361
+ 医生
1362
+ 文件
1363
+ 纪录片
1364
+
1365
+ 狗窝
1366
+ 犬种
1367
+ 狗项圈
1368
+ 狗粮
1369
+ 狗窝
1370
+ 洋娃娃
1371
+ 美元
1372
+ 玩偶之家
1373
+ 洋娃娃
1374
+ 海豚
1375
+ 穹顶
1376
+ 住宅
1377
+ 多米诺骨牌
1378
+
1379
+ 甜甜圈
1380
+ 涂鸦
1381
+
1382
+ 门把手
1383
+ 受气包
1384
+ 门牌
1385
+ 门口
1386
+ 宿舍
1387
+ 面团
1388
+ 市中心
1389
+ 推土机
1390
+
1391
+
1392
+ 蜻蜓
1393
+ 排水沟
1394
+ 剧本
1395
+ 戏剧电影
1396
+
1397
+ 抽屉里
1398
+ 图画/画画
1399
+ 图钉
1400
+ 辫子
1401
+ 连衣裙/特定场合的服装
1402
+ 礼帽
1403
+ 正装衬衫
1404
+ 皮鞋
1405
+ 大礼服
1406
+ 梳妆台
1407
+ 更衣室
1408
+ 运球
1409
+ 漂移
1410
+ 浮木
1411
+
1412
+ 饮品/喝
1413
+ 饮用水
1414
+ 开车
1415
+ 司机
1416
+ 车道
1417
+ 无人机
1418
+ 水滴/下降
1419
+ 吊灯
1420
+ 滴管
1421
+ 干旱
1422
+ 药物
1423
+ 药店
1424
+
1425
+ 鼓手
1426
+ 鸡腿
1427
+ 干的
1428
+ 公爵夫人
1429
+ 鸭子
1430
+ 鸭嘴兽
1431
+ 小鸭子
1432
+ 布基胶带
1433
+ 伙计
1434
+ 二重唱
1435
+ 粗呢
1436
+ 独木舟
1437
+ 哑铃
1438
+ 饺子
1439
+ 沙丘
1440
+ 扣篮
1441
+ 榴莲
1442
+ 黄昏
1443
+ 灰尘
1444
+ 垃圾车
1445
+ 簸箕
1446
+ 羽绒被
1447
+ DVD
1448
+ 染料
1449
+
1450
+ 耳朵
1451
+ 御寒耳罩
1452
+ 耳机
1453
+ 耳塞
1454
+ 耳环
1455
+ 地震
1456
+ 画架
1457
+ 复活节
1458
+ 复活节兔子
1459
+ 复活节彩蛋
1460
+
1461
+ 餐厅
1462
+ 泡芙
1463
+ 日食
1464
+ 生态系统
1465
+ 编辑
1466
+ 教育
1467
+ 教育家
1468
+ 鳗鱼
1469
+
1470
+ 蛋卷
1471
+ 蛋挞
1472
+ 打蛋器
1473
+ 白鹭
1474
+ 埃菲尔铁塔
1475
+ 橡皮筋
1476
+ 上级
1477
+ 电椅
1478
+ 电钻
1479
+ 电工
1480
+
1481
+ 电子
1482
+ 电子器件
1483
+ 大象
1484
+ 高度图
1485
+ 电梯
1486
+ 电梯轿厢
1487
+ 电梯门
1488
+ 电梯大堂
1489
+ 电梯井
1490
+ 路堤
1491
+ 大使馆
1492
+ 装饰
1493
+ 灰烬
1494
+ 会徽
1495
+ 刺绣
1496
+ 翡翠
1497
+ 紧急
1498
+ 紧急服务
1499
+ 紧急车辆
1500
+ 情感
1501
+ 帝国大厦
1502
+ 搪瓷
1503
+ 外壳/围墙
1504
+ 茶几
1505
+ 能源
1506
+ 订婚
1507
+ 订婚戒指
1508
+ 引擎
1509
+ 机舱
1510
+ 工程师
1511
+ 工程
1512
+ 英国短毛猫
1513
+ 乐团
1514
+ 回车键
1515
+ 演艺人员
1516
+ 娱乐
1517
+ 娱乐中心
1518
+ 入口
1519
+ 入口大厅
1520
+ 信封
1521
+ 马术
1522
+ 设备
1523
+ 橡皮擦
1524
+ 二胡
1525
+ 侵蚀
1526
+ 自动扶梯
1527
+ 食用蜗牛
1528
+ 浓缩咖啡
1529
+ 房地产
1530
+ 河口
1531
+ 桉树
1532
+ 晚上
1533
+ 晚礼服
1534
+ 夜光
1535
+ 傍晚天空
1536
+ 晚上的太阳
1537
+ 事件
1538
+ 常绿的
1539
+ 母羊
1540
+ 挖掘
1541
+ 运动
1542
+ 排气罩
1543
+ 展览
1544
+ 出口
1545
+ 探险者
1546
+ 爆炸
1547
+ 延长线
1548
+ 灭火器
1549
+ 排气扇
1550
+ 挤压
1551
+ 眼睛
1552
+ 眼影
1553
+
1554
+ 眼线笔
1555
+ 布料
1556
+ 纺织品商店
1557
+ 外观
1558
+
1559
+ 脸部特写
1560
+ 蜜粉
1561
+ 毛巾
1562
+ 面巾纸架
1563
+ 设施
1564
+ 工厂
1565
+ 工厂车间
1566
+ 集市
1567
+ 露天市场
1568
+ 仙女
1569
+ 猎鹰
1570
+ 秋天
1571
+ 家庭
1572
+ 家庭轿车
1573
+ 全家福
1574
+ 家庭房
1575
+ 风扇/扇子
1576
+ 尖牙
1577
+ 农场
1578
+ 农民
1579
+ 农民市场
1580
+ 农舍
1581
+ 时尚
1582
+ 时尚配饰
1583
+ 时装设计师
1584
+ 时尚的女孩
1585
+ 时装插图
1586
+ 时装大片
1587
+ 时装模特
1588
+ 时装表演
1589
+ 快餐
1590
+ 西式快餐
1591
+ 父亲
1592
+ 水龙头
1593
+ 故障
1594
+ 动物
1595
+ 小鹿
1596
+ 传真
1597
+ 宴会
1598
+ 羽毛
1599
+ 软呢帽
1600
+ 饲料
1601
+ 一餐
1602
+ 饲养
1603
+ 喂养的椅子
1604
+ 猫科
1605
+ 美洲狮
1606
+ 栅栏
1607
+ 芬达
1608
+ 蕨类植物
1609
+ 雪貂
1610
+ 摩天轮
1611
+ 渡船
1612
+ 肥料
1613
+ 节日
1614
+ 纤维
1615
+ 小说
1616
+ 小说书
1617
+ 田野/场地/野外
1618
+ 田间道路
1619
+ 无花果
1620
+ 打架
1621
+ 花样滑冰运动员
1622
+ 小雕像
1623
+ 文件
1624
+ 档案照片
1625
+ 文件柜
1626
+ 填满
1627
+ 胶片相机
1628
+ 电影导演
1629
+ 电影格式
1630
+ 电影首映礼
1631
+ 电影制片人
1632
+ 拍摄
1633
+ 过滤器
1634
+
1635
+
1636
+ 终点线
1637
+ 冷杉
1638
+ 冷杉树
1639
+
1640
+ 火灾报警
1641
+ 消防部门
1642
+ 消防车
1643
+ 消防通道
1644
+ 消防水带
1645
+ 火坑
1646
+ 消防站
1647
+ 爆竹
1648
+ 消防队员
1649
+ 壁炉
1650
+ 烟花
1651
+ 烟花表演
1652
+ 急救箱
1653
+
1654
+ 鱼船
1655
+ 海鲜市场
1656
+ 鱼塘
1657
+ 鱼缸
1658
+ 渔夫
1659
+ 钓鱼
1660
+ 渔船
1661
+ 渔网
1662
+ 钓鱼
1663
+ 渔村
1664
+ 健身
1665
+ 健身课程
1666
+ 五个
1667
+ 固定装置
1668
+ 峡湾
1669
+ 国旗
1670
+ 旗杆
1671
+ 小薄片
1672
+ 火焰
1673
+ 火烈鸟
1674
+ 法兰绒
1675
+ 拍打
1676
+ 耀斑
1677
+ 闪光
1678
+ 烧瓶
1679
+
1680
+ 比目鱼
1681
+ 风味
1682
+ 跳蚤
1683
+ 跳蚤市场
1684
+ 舰队
1685
+ 飞行
1686
+ 空中乘务员
1687
+ 翻转
1688
+ 触发器
1689
+ 翻转图
1690
+ 浮动
1691
+
1692
+ 洪水
1693
+ 地板/地面
1694
+ 落地扇
1695
+ 脚垫
1696
+ 楼层平面图
1697
+ 落地窗
1698
+ 插花艺术
1699
+ 花店
1700
+ 牙线
1701
+ 面粉
1702
+ 流动
1703
+
1704
+ 花篮
1705
+ 花坛
1706
+ 花箱
1707
+ 花田
1708
+ 花童
1709
+ 花卉市场
1710
+ 流体
1711
+ 冲洗
1712
+ 长笛
1713
+
1714
+ 飞行钓鱼
1715
+ 传单
1716
+
1717
+ 泡沫
1718
+
1719
+ 多雾的
1720
+ 鹅肝酱
1721
+ 箔纸
1722
+ 折椅
1723
+ 树叶
1724
+ 民间艺术家
1725
+ 民间舞蹈
1726
+ 民间摇滚艺术家
1727
+ 方旦糖
1728
+ 火锅
1729
+ 圣洗池
1730
+ 食物
1731
+ 食用色素
1732
+ 美食广场
1733
+ 食品加工机
1734
+ 小吃摊
1735
+ 快餐车
1736
+ 桌上足球
1737
+
1738
+ 人行桥
1739
+ 足球
1740
+ 足球教练
1741
+ 大学橄榄球赛
1742
+ 足球比赛
1743
+ 足球场
1744
+ 足球比赛
1745
+ 橄榄球头盔
1746
+ 足球运动员
1747
+ 足球场
1748
+ 足球队
1749
+ 小路
1750
+ 脚印
1751
+ 脚踏板
1752
+ 台座
1753
+ 鞋子
1754
+ 故宫
1755
+ 浅滩
1756
+ 额头
1757
+ 森林
1758
+ 森林大火
1759
+ 森林地面
1760
+ 森林小路
1761
+ 森林公路
1762
+ 锻造
1763
+ 餐叉
1764
+ 叉车
1765
+ 表格
1766
+ 园林
1767
+ 队列/形成物
1768
+ F1方程式赛车
1769
+ 堡垒
1770
+ 碉堡
1771
+ 追逐
1772
+ 化石
1773
+ 粉底
1774
+ 喷泉
1775
+ 钢笔
1776
+ 狐狸
1777
+ 框架
1778
+ 雀斑
1779
+ 高速公路
1780
+ 卡车
1781
+ 法国
1782
+ 法国斗牛犬
1783
+ 薯条
1784
+ 法式吐司
1785
+ 化妆水
1786
+ 冰箱
1787
+ 炸鸡
1788
+ 煎蛋
1789
+ 炒饭
1790
+ 友谊
1791
+ 飞盘
1792
+ 青蛙
1793
+
1794
+ 结霜
1795
+ 严寒
1796
+ 结冰
1797
+ 水果
1798
+ 水果蛋糕
1799
+ 水果盘
1800
+ 水果市场
1801
+ 水果沙拉
1802
+ 水果摊
1803
+ 果树
1804
+ 水果商店
1805
+ 油炸食品
1806
+ 煎锅
1807
+ 软糖
1808
+ 燃料
1809
+ 吸烟罩
1810
+ 有趣的
1811
+ 葬礼
1812
+ 真菌
1813
+ 漏斗
1814
+ 毛皮衣服
1815
+ 毛皮大衣
1816
+ 家具
1817
+ 蒲团
1818
+ 小工具
1819
+ 枪口
1820
+ 星云/星系
1821
+ 美术馆
1822
+ 游戏
1823
+ 游戏棋盘
1824
+ 游戏手柄
1825
+ 火腿
1826
+ 团伙
1827
+ 车库
1828
+ 车库门
1829
+ 手工模型
1830
+ 垃圾
1831
+ 花园
1832
+ 花园芦笋
1833
+ 橡胶软管
1834
+ 花园蜘蛛
1835
+ 园丁
1836
+ 园艺
1837
+ 加菲猫
1838
+ 滴水嘴
1839
+ 花环
1840
+ 大蒜
1841
+ 衣服
1842
+ 气体
1843
+ 加油站
1844
+ 煤气炉
1845
+ 防毒面具
1846
+ 收集
1847
+ 聚集
1848
+ 测量仪器
1849
+ 露台
1850
+ 齿轮
1851
+ 壁虎
1852
+ 艺妓
1853
+ 凝胶
1854
+ 百货商店
1855
+ 发电机
1856
+ 天竺葵
1857
+ 幽灵
1858
+ 礼物
1859
+ 礼品袋
1860
+ 礼品篮
1861
+ 礼物盒
1862
+ 礼品卡
1863
+ 礼品商店
1864
+ 礼物包装
1865
+ 演唱会
1866
+ 杜松子酒
1867
+
1868
+ 姜饼
1869
+ 姜饼屋
1870
+ 银杏树
1871
+ 长颈鹿
1872
+ 女孩
1873
+
1874
+ 冰川
1875
+ 角斗士
1876
+ 玻璃珠
1877
+ 玻璃瓶
1878
+ 玻璃碗
1879
+ 玻璃箱
1880
+ 玻璃建筑
1881
+ 玻璃门
1882
+ 玻璃地板
1883
+ 玻璃屋
1884
+ 玻璃罐
1885
+ 玻璃板
1886
+ 玻璃桌子
1887
+ 玻璃花瓶
1888
+ 玻璃墙
1889
+ 玻璃窗
1890
+ 眼镜
1891
+ 光滑面
1892
+ 滑翔机
1893
+ 地球
1894
+ 手套
1895
+ 发光
1896
+ 汤圆
1897
+
1898
+ 袭击
1899
+ 球门
1900
+ 守门员
1901
+ 山羊
1902
+ 羊奶酪
1903
+ 戈壁
1904
+ 护目镜/墨镜
1905
+ 黄金
1906
+ 金牌
1907
+ 金门大桥
1908
+ 金毛猎犬
1909
+ 金鱼
1910
+ 高尔夫运动
1911
+ 高尔夫球帽
1912
+ 高尔夫球车
1913
+ 高尔夫球杆
1914
+ 高尔夫球场
1915
+ 高尔夫球手
1916
+
1917
+ 大猩猩
1918
+ 哥特式
1919
+ 葫芦
1920
+ 政府
1921
+ 政府机构
1922
+ 礼服
1923
+ 毕业生
1924
+ 毕业典礼
1925
+ 谷物
1926
+ 逆戟鲸
1927
+ 大奖赛
1928
+ 祖父
1929
+ 祖母
1930
+ 祖父母
1931
+ 花岗岩
1932
+ 格兰诺拉麦片
1933
+ 葡萄
1934
+ 西柚
1935
+ 葡萄酒
1936
+
1937
+ 蚱蜢
1938
+ 草原
1939
+ 长满草的
1940
+ 擦菜器
1941
+ 坟墓
1942
+ 碎石
1943
+ 墓���
1944
+ 肉汁
1945
+ 调味汁瓶
1946
+ 灰色
1947
+ 吃草
1948
+ 放牧
1949
+ 绿色
1950
+ 绿色植物
1951
+ 欢迎
1952
+ 问候
1953
+ 贺卡
1954
+ 灰狗
1955
+ 网格
1956
+ 筛子
1957
+ 烧烤架
1958
+ 格栅
1959
+ 烤鳗鱼
1960
+
1961
+ 研磨机
1962
+ 粗燕麦粉
1963
+ 杂货袋
1964
+ 洞穴
1965
+ 地松鼠
1966
+ 群体
1967
+ 合影
1968
+ 小树林
1969
+ 生长
1970
+ 牛油果酱
1971
+ 警卫
1972
+ 看门狗
1973
+ 宾馆
1974
+ 客房
1975
+ 指南
1976
+ 豚鼠
1977
+ 吉他
1978
+ 吉他手
1979
+ 海湾
1980
+ 海鸥
1981
+
1982
+ 高达
1983
+ 谒师所
1984
+ 古筝
1985
+ 健身房
1986
+ 体操运动员
1987
+ 栖息地
1988
+ 黑客
1989
+ 冰雹
1990
+ 头发
1991
+ 头发颜色
1992
+ 发胶
1993
+ 毛刷
1994
+ 发型
1995
+ 发夹
1996
+ 发网
1997
+ 发夹
1998
+ 发型
1999
+ 一半
2000
+ 礼堂
2001
+ 万圣节
2002
+ 万圣节服装
2003
+ 万圣节南瓜
2004
+ 露背装
2005
+ 汉堡
2006
+ 汉堡包
2007
+ 哈密瓜
2008
+ 锤子
2009
+ 吊床
2010
+ 阻碍
2011
+ 仓鼠
2012
+ 烘手机
2013
+ 放大镜
2014
+ 擦手巾
2015
+ 手提包
2016
+ 手球
2017
+ 手铐
2018
+ 手枪
2019
+ 手帕
2020
+ 把手
2021
+ 手锯
2022
+ 握手
2023
+ 倒立
2024
+ 手写
2025
+ 汉服
2026
+ 悬挂
2027
+ 飞机库
2028
+ 衣架
2029
+ 幸福
2030
+ 海港
2031
+ 斑海豹
2032
+ 硬摇滚艺术家
2033
+ 精装书
2034
+ 建筑工人
2035
+ 硬件
2036
+ 五金店
2037
+ 硬木
2038
+ 硬木地板
2039
+ 口琴
2040
+ 管风琴
2041
+ 羽管键琴
2042
+ 收获
2043
+ 收割机
2044
+ 坐垫/搁脚凳/草丛
2045
+ 帽子
2046
+ 帽盒
2047
+ 双簧管
2048
+ 山楂
2049
+ 干草
2050
+ 干草地
2051
+ 榛子
2052
+
2053
+ 主教练
2054
+ 大灯
2055
+ 床头板
2056
+ 头饰
2057
+ 海岬
2058
+ 总部
2059
+ 听力
2060
+ 心脏
2061
+ 心形
2062
+ 热能
2063
+ 加热器
2064
+ 帚石楠
2065
+ 树篱
2066
+ 刺猬
2067
+ 脚后跟
2068
+ 直升机
2069
+ 直升机机场
2070
+ 头盔
2071
+ 帮助
2072
+ 母鸡
2073
+ 指甲花
2074
+ 药草
2075
+ 兽群
2076
+ 寄居蟹
2077
+ 英雄
2078
+ 苍鹭
2079
+ 芙蓉花
2080
+ 芙蓉花
2081
+ 隐藏/隐蔽处
2082
+ 高杠
2083
+ 高跟鞋
2084
+ 高地
2085
+ 突出
2086
+ 徒步旅行
2087
+ 徒步旅行者
2088
+ 徒步靴
2089
+ 登山设备
2090
+ 山丘
2091
+ 丘陵地
2092
+ 别墅
2093
+ 山坡
2094
+ 印度教寺庙
2095
+ 铰链
2096
+ 臀部
2097
+ 嘻哈艺人
2098
+ 河马
2099
+ 历史学家
2100
+ 历史遗迹
2101
+ 历史
2102
+ 曲棍球
2103
+ 冰球馆
2104
+ 曲棍球比赛
2105
+ 曲棍球运动员
2106
+ 曲棍球棒
2107
+ 锄头
2108
+
2109
+ 假日
2110
+ 冬青树
2111
+ 海参
2112
+ 家/住宅
2113
+ 家用电器
2114
+ 基地
2115
+ 家居装饰
2116
+ 室内设计
2117
+ 内政部
2118
+ 家庭影院
2119
+ 家庭作业
2120
+ 鹰嘴豆泥
2121
+ 蜂蜜
2122
+ 蜂窝
2123
+ 蜜月
2124
+ 风帽
2125
+ 连帽衫
2126
+ 挂钩/勾住
2127
+
2128
+ 地平线
2129
+ 犀鸟
2130
+ 长角牛
2131
+ 大黄蜂
2132
+ 震惊
2133
+ 恐怖电影
2134
+ 马鞍褥
2135
+ 马车
2136
+ 马场
2137
+ 骑马
2138
+ 马背
2139
+ 马蹄铁
2140
+ 软管
2141
+ 医院
2142
+ 医院病床
2143
+ 病房
2144
+ 主持人
2145
+ 小旅馆
2146
+
2147
+ 热气球
2148
+ 热狗
2149
+ 辣椒酱
2150
+ 温泉
2151
+ 旅馆
2152
+ 酒店大堂
2153
+ 酒店房间
2154
+ 电炉
2155
+ 沙漏
2156
+ 房子
2157
+ 房子外部
2158
+ 室内植物
2159
+ 悬滑板
2160
+
2161
+ 蜷缩
2162
+ 拥抱
2163
+ 呼啦圈
2164
+
2165
+ 增湿器
2166
+ 蜂鸟
2167
+ 座头鲸
2168
+ 打猎
2169
+ 狩猎小屋
2170
+ 障碍
2171
+ 飓风
2172
+ 哈士奇
2173
+ 小屋
2174
+ 鬣狗
2175
+ 混合物
2176
+ 绣球花
2177
+ 消火栓
2178
+ 水上飞机
2179
+
2180
+ 冰袋
2181
+ 北极熊
2182
+ 冰洞
2183
+ 冰淇淋
2184
+ 冰淇淋蛋卷
2185
+ 冰淇淋商店
2186
+ 冰块
2187
+ 浮冰
2188
+ 冰球运动员
2189
+ 冰球队
2190
+ 棒棒糖
2191
+ 制冰机
2192
+ 溜冰场
2193
+ 冰雕
2194
+ 冰架
2195
+ 溜冰鞋
2196
+ 滑冰
2197
+ 冰山
2198
+ 冰柱
2199
+ 糖衣/酥皮
2200
+ 图标
2201
+ 身份证照片
2202
+ 身份证
2203
+ 冰屋
2204
+ 光/灯光/光线
2205
+ 鬣蜥蜴
2206
+ 照亮
2207
+ 插图
2208
+ 形象
2209
+ 黑斑羚
2210
+ 熏香
2211
+ 独立日
2212
+ 个人
2213
+ 室内
2214
+ 划船器
2215
+ 电磁炉
2216
+ 工业区
2217
+ 工业
2218
+ 步兵
2219
+ 充气艇
2220
+ 服务台
2221
+ 基础设施
2222
+ 成分
2223
+ 吸入器
2224
+ 注射
2225
+ 受伤
2226
+ 墨水
2227
+ 印泥
2228
+ 小湖湾
2229
+ 题词
2230
+ 昆虫
2231
+ 安装
2232
+ 乐器/器械
2233
+ 绝缘杯
2234
+ 互动
2235
+ 室内设计
2236
+ 网站
2237
+ 十字路口
2238
+ 面试
2239
+ 无脊椎动物
2240
+ 邀请
2241
+ 平板电脑
2242
+ 苹果手机
2243
+ 苹果音乐播放器
2244
+ 虹膜
2245
+
2246
+ 熨衣板
2247
+ 灌溉系统
2248
+
2249
+ 小岛
2250
+ 等足类动物
2251
+ 象牙
2252
+ 常青藤
2253
+ 居酒屋
2254
+ 千斤顶
2255
+ 帝王蟹/蟹
2256
+ 夹克衫
2257
+ 按摩浴缸
2258
+
2259
+ 美洲虎
2260
+ 监狱牢房
2261
+ 果酱
2262
+ 日式花园
2263
+ 茉莉花
2264
+ 下巴
2265
+ 松鸦
2266
+ 爵士乐
2267
+ 爵士乐艺术家
2268
+ 爵士融合艺术家
2269
+ 牛仔裤
2270
+ 吉普车
2271
+ 果冻
2272
+ 果冻豆
2273
+ 水母
2274
+ 喷气式飞机
2275
+ 摩托艇
2276
+ 珠宝
2277
+ 珠宝
2278
+ 珠宝店
2279
+ 拼图游戏
2280
+ 人力车
2281
+ 赛马骑师
2282
+ 赛马帽
2283
+ 慢跑
2284
+ 联合的
2285
+ 记者
2286
+ 操纵杆
2287
+ 法官
2288
+ 水壶
2289
+ 玩杂耍
2290
+ 果汁
2291
+ 榨汁器
2292
+ 枣子
2293
+ 跳绳
2294
+ 连身裤
2295
+ 丛林
2296
+ 废品堆放场
2297
+ 羽衣甘蓝
2298
+ 万花筒
2299
+ 袋鼠
2300
+ 卡拉ok
2301
+ 空手道
2302
+ 卡丁车运动
2303
+ 旧城区
2304
+ 皮船
2305
+ 烤肉串
2306
+ 按键/钥匙
2307
+ 门卡
2308
+ 卡其色
2309
+
2310
+ 苏格兰裙
2311
+ 和服
2312
+ 幼儿园教室
2313
+ 幼儿园
2314
+ 国王
2315
+ 帝王蟹
2316
+ 亲吻
2317
+ 工具包
2318
+ 厨房
2319
+ 厨房橱柜
2320
+ 厨房台面
2321
+ 厨房地板
2322
+ 厨房抽油烟机
2323
+ 厨房岛
2324
+ 厨房水槽
2325
+ 厨房桌子
2326
+ 厨房用具
2327
+ 厨房窗户
2328
+ 厨房用具
2329
+ 风筝
2330
+ 猕猴桃
2331
+ 护膝
2332
+ 跪下
2333
+ 餐刀
2334
+ 骑手
2335
+ 编织
2336
+ 编织针
2337
+ 球形把手
2338
+ 门环
2339
+
2340
+ 考拉
2341
+ 锦鲤
2342
+ ktv
2343
+ 实验室
2344
+ 实验室外套
2345
+ 标签
2346
+ 拉布拉多
2347
+ 迷宫
2348
+ 网眼织物
2349
+ 蕾丝连衣裙
2350
+ 梯子
2351
+ 长柄杓
2352
+ 瓢虫
2353
+ 环礁湖
2354
+ 湖泊
2355
+ 湖区
2356
+ 湖边小屋
2357
+ 湖岸
2358
+ 羊肉
2359
+ 羊排
2360
+ 灯柱
2361
+ 灯罩
2362
+
2363
+ 土地
2364
+ 陆地车辆
2365
+ 废物填埋
2366
+ 着陆
2367
+ 降落甲板
2368
+ 地标
2369
+ 风景
2370
+ 山崩
2371
+ 挂带
2372
+ 灯笼
2373
+ 腿/大腿
2374
+ 笔记本电脑
2375
+ 笔记本键盘
2376
+ 幼体
2377
+ 烤宽面条
2378
+ 激光
2379
+ 睫毛
2380
+ 套索
2381
+ 门闩
2382
+ 乳胶
2383
+ 拿铁咖啡
2384
+
2385
+ 发射
2386
+ 发布会
2387
+ 举办会议
2388
+ 自助洗衣店
2389
+ 洗衣房
2390
+ 洗衣篮
2391
+ 洗衣房
2392
+ 熔岩
2393
+ 薰衣草
2394
+ 草坪
2395
+ 草坪婚礼
2396
+ 律师
2397
+
2398
+ 引领
2399
+ 主唱
2400
+ 通向
2401
+ 领袖
2402
+ 泄漏
2403
+ 倾斜/倚靠
2404
+ 学习
2405
+ 皮带
2406
+ 皮革
2407
+ 皮夹克
2408
+ 皮鞋
2409
+ 演讲
2410
+ 演讲厅
2411
+ 教学室
2412
+ 窗台
2413
+ 剩饭
2414
+
2415
+ 传说
2416
+ 紧身裤/秋裤
2417
+ 立法院
2418
+ 乐高
2419
+ 豆类
2420
+ 柠檬
2421
+ 柠檬汁
2422
+ 柠檬水
2423
+ 狐猴
2424
+ 镜头
2425
+ 眩光
2426
+ 扁豆
2427
+
2428
+ 紧身连衣裤
2429
+ 紧身裤袜
2430
+ 小妖精
2431
+ 课程
2432
+ 信函
2433
+ 信箱
2434
+ 信的标志
2435
+ 刻字
2436
+ 生菜
2437
+ 水平
2438
+ 图书馆
2439
+ 许可证
2440
+ 车牌
2441
+ 地衣
2442
+
2443
+ 盖子
2444
+ 躺着
2445
+ 安全带
2446
+ 救生衣
2447
+ 救生艇
2448
+ 救生员
2449
+ 提起
2450
+ 灯具
2451
+ 灯光秀
2452
+ 电灯开关
2453
+ 照明/照明设备
2454
+ 闪电
2455
+ 避雷针
2456
+ 淡紫色
2457
+ 百合
2458
+ 肢体
2459
+ 石灰
2460
+ 石灰石
2461
+ 豪华轿车
2462
+ 线条
2463
+ 艺术线条
2464
+ 排队
2465
+ 亚麻
2466
+ 邮轮
2467
+ 狮子
2468
+ 润唇膏
2469
+ 口红
2470
+ 液体
2471
+ 酒类商店
2472
+ 列表
2473
+ 荔枝
2474
+ 生活
2475
+ 家畜
2476
+ 客厅
2477
+ 生活空间
2478
+ 蜥蜴
2479
+ 负载
2480
+ 装卸码头
2481
+ 游手好闲的人
2482
+ 走廊
2483
+ 定位
2484
+
2485
+ 闸室
2486
+ 储物柜
2487
+ 阁楼
2488
+ 原木
2489
+ 小木屋
2490
+ 标志
2491
+ 洛基
2492
+ 长头发
2493
+ 冲浪板
2494
+ 隐约显现/织布机
2495
+ 环状
2496
+ 遗失
2497
+ 彩票
2498
+ 莲花
2499
+
2500
+ 双人沙发
2501
+ 行李
2502
+ 木材
2503
+ 伐木工人
2504
+ 午餐
2505
+ 午餐盒
2506
+ 郁郁葱葱的
2507
+ 奢侈品
2508
+ 豪华游艇
2509
+ 雨衣
2510
+ 澳洲胡桃
2511
+ 短尾猿
2512
+ 通心粉
2513
+ 金刚鹦鹉
2514
+ 弯刀
2515
+ 机器
2516
+ 机枪
2517
+ 杂志
2518
+ 魔法
2519
+ 魔术师
2520
+ 磁铁
2521
+ 放大镜
2522
+ 木兰花
2523
+ 喜鹊
2524
+ 麻将
2525
+ 象夫
2526
+ 女仆
2527
+ 邮件
2528
+ 邮件槽
2529
+ 制作
2530
+ 改造
2531
+ 化妆师
2532
+ 化妆工具
2533
+ 野鸭
2534
+ 野鸭
2535
+ 槌棒
2536
+ 哺乳动物
2537
+ 猛犸象
2538
+ 男人
2539
+ 管理
2540
+ 经理
2541
+ 海牛
2542
+ 曼荼罗
2543
+ 橘子
2544
+ 普通话
2545
+ 鬃毛
2546
+ 漫画
2547
+ 食槽
2548
+ 芒果
2549
+ 山竹果
2550
+ 红树林
2551
+ 曼哈顿
2552
+ 检修孔
2553
+ 井盖
2554
+ 修指甲
2555
+ 人体模型
2556
+ 庄园主宅
2557
+ 大厦
2558
+ 螳螂
2559
+ 地幔
2560
+ 活动房层
2561
+ 制造业
2562
+ 手稿
2563
+ 地图
2564
+ 枫木
2565
+ 枫叶
2566
+ 枫糖浆
2567
+ 沙球
2568
+ 马拉松
2569
+ 大理石
2570
+ 行进
2571
+ 行进乐队
2572
+ 母马
2573
+ 金盏花
2574
+ 水兵
2575
+ 海洋无脊椎动物
2576
+ 海洋哺乳动物
2577
+ 木偶
2578
+ 标志
2579
+ 集市
2580
+ 市场广场
2581
+ 市场摊位
2582
+ 结婚
2583
+ 武术
2584
+ 武术家
2585
+ 武术馆
2586
+ 马提尼
2587
+ 马丁尼酒杯
2588
+ 睫毛膏
2589
+ 吉祥物
2590
+ 土豆泥
2591
+ 搅碎机
2592
+ 面具/口罩
2593
+ 按摩
2594
+ 桅杆
2595
+ 地垫
2596
+ 斗牛士
2597
+ 比赛
2598
+ 火柴盒
2599
+ 衣料
2600
+ 床垫
2601
+ 陵墓
2602
+ 长裙
2603
+ 一餐
2604
+ 量杯
2605
+ 卷尺
2606
+ 肉类
2607
+ 肉丸
2608
+ 机械师
2609
+ 机械风扇
2610
+ 奖牌
2611
+ 媒体
2612
+ 医疗设备
2613
+ 医学图像
2614
+ 医务人员
2615
+ 医药箱
2616
+ 中世纪的
2617
+ 麦地那市
2618
+ 冥想
2619
+ 猫鼬
2620
+ 赛事
2621
+ 香瓜
2622
+ 纪念碑
2623
+ 菜单
2624
+ 美人鱼
2625
+
2626
+ 肮脏
2627
+ 信使袋
2628
+ 金属
2629
+ 金属艺术家
2630
+ 金属探测器
2631
+ 计量器
2632
+ 中层楼
2633
+ 麦克风
2634
+ 显微镜
2635
+ 微波炉
2636
+ 午夜
2637
+ 里程碑
2638
+ 军装
2639
+ 牛奶
2640
+ 牛奶罐
2641
+ 奶茶
2642
+ 奶昔
2643
+ 磨坊
2644
+ 矿井
2645
+ 矿工
2646
+ 矿物质
2647
+ 矿泉水
2648
+ 迷你
2649
+ 微缩模型
2650
+ 面包车
2651
+ 部长
2652
+ 小型货车
2653
+ 薄荷
2654
+ 薄荷糖
2655
+ 镜子
2656
+ 小姐
2657
+ 投掷物
2658
+ 任务
2659
+ 槲寄生
2660
+ 混合
2661
+ 搅拌机
2662
+ 搅拌碗
2663
+ 混合物
2664
+ 护城河
2665
+ 电动踏板车
2666
+ 模型/模特
2667
+ 汽车模型
2668
+ 现代
2669
+ 现代大厦
2670
+ 潮湿
2671
+ 模具
2672
+ 模具
2673
+ 鼹鼠
2674
+ 君主
2675
+
2676
+ 监控器
2677
+ 和尚
2678
+ 猴子
2679
+ 活动扳手
2680
+ 黑白照片
2681
+ 独轮脚踏车
2682
+ 怪物卡车
2683
+ 月亮
2684
+ 月饼
2685
+ 月光
2686
+ 沼泽
2687
+ 驼鹿
2688
+ 拖把
2689
+ 助力车
2690
+ 早晨
2691
+ 晨雾
2692
+ 晨光
2693
+ 朝阳
2694
+ 砂浆
2695
+ 马赛克
2696
+ 清真寺
2697
+ 蚊子
2698
+ 藓类植物
2699
+ 汽车旅馆
2700
+
2701
+ 母亲
2702
+ 主板
2703
+ 主题
2704
+ 动作
2705
+ 电动机
2706
+ 摩托车
2707
+ 摩托车
2708
+ 摩托车头盔
2709
+ 摩托车赛车手
2710
+ 骑摩托车的人
2711
+ 赛车运动
2712
+ 土堆
2713
+
2714
+ 山地自行车
2715
+ 山地自行车员
2716
+ 山地自行车运动
2717
+ 山地大猩猩
2718
+ 山湖
2719
+ 山景观
2720
+ 山口
2721
+ 山路
2722
+ 山脉
2723
+ 山区河流
2724
+ 山雪
2725
+ 山间溪流
2726
+ 山景城
2727
+ 山村
2728
+ 登山者
2729
+ 登山包
2730
+ 鼠标/鼠
2731
+ 鼠标垫
2732
+ 捕鼠器
2733
+
2734
+ 漱口水
2735
+ 移动
2736
+ 电影海报
2737
+ 电影票
2738
+ 割草机
2739
+ mp3播放器
2740
+ 先生
2741
+
2742
+ 松饼
2743
+ 马克杯
2744
+ 桑树
2745
+ 覆盖物
2746
+ 骡子
2747
+ 直辖市
2748
+ 壁画
2749
+ 肌肉
2750
+ 肌肉车
2751
+ 博物馆
2752
+ 蘑菇
2753
+ 音乐
2754
+ 音乐节
2755
+ 音乐凳子
2756
+ 音乐工作室
2757
+ 音乐录影带表演者
2758
+ 音乐键盘
2759
+ 音乐家
2760
+ 贻贝
2761
+ 芥末
2762
+ 神话
2763
+ 烤干酪辣味玉米片
2764
+ 指甲油
2765
+ 指甲锉
2766
+ 保姆
2767
+ 餐巾
2768
+ 狭窄的
2769
+ 国旗
2770
+ 基督诞生的场景
2771
+ 自然历史博物馆
2772
+ 自然
2773
+ 自然保护区
2774
+ 导航
2775
+ 九夜节
2776
+ 海军
2777
+ 星云
2778
+ 脖子
2779
+ 围颈带/领口
2780
+ 项链
2781
+ 领口
2782
+ 花蜜
2783
+ 油桃
2784
+ 针状物
2785
+ 邻居
2786
+ 与某处邻近的地区
2787
+ 霓虹灯
2788
+ 霓虹灯
2789
+ 神经
2790
+
2791
+ 新年
2792
+ 新生的
2793
+ 纽芬兰
2794
+ 新婚
2795
+ 新闻
2796
+ 记者招待会
2797
+ 报摊
2798
+ 晚上
2799
+ 夜市
2800
+ 夜空
2801
+ 夜景
2802
+ 夜总会
2803
+ 床头柜
2804
+ 面条
2805
+ 鼻子
2806
+ 鼻羁
2807
+ 注解
2808
+ 笔记本
2809
+ 记事本
2810
+ 信纸
2811
+ 公告
2812
+ 数字图标
2813
+ 修女
2814
+ 护士
2815
+ 托儿所
2816
+ 养老院
2817
+ 螺母
2818
+ 胡桃夹子
2819
+ 橡木
2820
+ 橡树
2821
+
2822
+ 绿洲
2823
+ 烘干室
2824
+ 燕麦片
2825
+ 燕麦
2826
+ 方尖塔
2827
+ 观察塔
2828
+ 天文台
2829
+ 超越障碍训练场
2830
+ 海洋
2831
+ 章鱼
2832
+ 提供
2833
+ 办公室
2834
+ 办公大楼
2835
+ 办公椅
2836
+ 办公室隔间
2837
+ 办公桌
2838
+ 办公用品
2839
+ 办公室的窗户
2840
+ 军官
2841
+ 行政官员
2842
+ 石油
2843
+ 油灯
2844
+ 油画
2845
+ 石油钻台
2846
+ 秋葵
2847
+ 老照片
2848
+ 橄榄
2849
+ 橄榄油
2850
+ 橄榄树
2851
+ 煎蛋卷
2852
+ 洋葱
2853
+ 洋葱圈
2854
+ 蛋白石
2855
+ 开阔的/张开
2856
+ 开始
2857
+ 开幕式
2858
+ 歌剧
2859
+ 歌剧院
2860
+ 操作
2861
+ 手术室
2862
+ 操作
2863
+ 眼镜店
2864
+ 猩猩
2865
+ 橙子/橙色
2866
+ 橙汁
2867
+ 橙树
2868
+ 橘园
2869
+ 轨道
2870
+ 果园
2871
+ 乐池
2872
+ 兰花
2873
+ 订单
2874
+ 组织
2875
+ 折纸
2876
+ 点缀
2877
+ 鱼鹰
2878
+ 鸵鸟
2879
+ 水獭
2880
+ 外面的
2881
+ 露头
2882
+ 户外
2883
+ 厕所
2884
+ 电源插头
2885
+ 大纲
2886
+ ��圆形
2887
+ 烤箱
2888
+ 整体
2889
+ 大衣
2890
+ 天桥
2891
+ 猫头鹰
2892
+ 牡蛎
2893
+ 橡皮环
2894
+ 包裹
2895
+ 包/包装/包裹
2896
+ 围场
2897
+ 警车
2898
+ 挂锁
2899
+ 肉菜饭
2900
+ 宝塔
2901
+ 疼痛
2902
+ 油漆刷
2903
+ 画家
2904
+ 佩斯利印花大手帕
2905
+ 宫殿
2906
+ 调色板
2907
+ 栅栏
2908
+ 棺罩
2909
+ 棕榈树
2910
+ 平底锅
2911
+ 煎饼
2912
+ 熊猫
2913
+ 面板
2914
+ 全景
2915
+ 三色堇
2916
+ 喘息
2917
+ 储藏室
2918
+ 裤子
2919
+ 连裤袜
2920
+ 木瓜
2921
+
2922
+ 纸袋
2923
+ 切纸机
2924
+ 纸灯笼
2925
+ 纸盘子
2926
+ 纸巾
2927
+ 平装书
2928
+ 压纸器
2929
+ 降落伞
2930
+ 游行
2931
+ 天堂
2932
+ 鹦鹉
2933
+ 护理人员
2934
+ 长尾小鹦鹉
2935
+ 滑翔伞
2936
+ 伞兵
2937
+ 羊皮纸
2938
+ 教区
2939
+ 公园
2940
+ 公园长椅
2941
+ 停车
2942
+ 停车场
2943
+ 停车费
2944
+ 停车标志
2945
+ 议会
2946
+ 欧芹/香菜
2947
+ 参与者
2948
+ 合作伙伴
2949
+ 帕特里奇
2950
+ 聚会
2951
+ 派对帽
2952
+ 通过
2953
+ 通道
2954
+ 存折
2955
+ 乘客
2956
+ 客船
2957
+ 旅客列车
2958
+ 百香果
2959
+ 护照
2960
+ 面食
2961
+ 粘贴
2962
+ 糕点
2963
+ 牧场
2964
+ 补丁
2965
+ 病人
2966
+ 图案/款式
2967
+ 人行道/硬路面
2968
+ 大帐篷
2969
+ 爪子
2970
+ 支付
2971
+ 付费电话
2972
+ 豌豆
2973
+ 和平
2974
+ 桃子
2975
+ 孔雀
2976
+ 山峰/尖顶
2977
+ 花生
2978
+ 花生酱
2979
+
2980
+ 珍珠
2981
+ 卵石
2982
+ 山核桃
2983
+ 行人
2984
+ 人行天桥
2985
+ 步行街
2986
+ 果皮
2987
+ 削皮器
2988
+ 小钉板
2989
+ 木质腿
2990
+ 鹈鹕
2991
+ 笔/围栏
2992
+ 点球
2993
+ 铅笔
2994
+ 铅笔盒
2995
+ 卷笔刀
2996
+ 铅笔裙
2997
+ 吊坠
2998
+ 钟摆
2999
+ 企鹅
3000
+ 半岛
3001
+ 锦标旗
3002
+ 便士
3003
+ 储蓄罐
3004
+ 牡丹
3005
+ 胡椒/辣椒
3006
+ 胡椒研磨机
3007
+ 胡椒子
3008
+ 意大利辣香肠
3009
+ 栖息/鲈鱼
3010
+ 表演
3011
+ 表演
3012
+ 表演舞台
3013
+ 香水
3014
+ 绿廊
3015
+ 波斯猫
3016
+ 柿子
3017
+ 个人护理
3018
+ 个人漂浮装置
3019
+ 害虫
3020
+ 宠物
3021
+ 宠物店
3022
+ 宠物店
3023
+ 花瓣
3024
+ 佩妮
3025
+ 教堂的长椅
3026
+ 野鸡
3027
+ 现象
3028
+ 哲学家
3029
+ 电话
3030
+ 电话簿
3031
+ 留声机
3032
+ 照片
3033
+ 照相亭
3034
+ 相框
3035
+ 摄影
3036
+ 物理学家
3037
+ 物理实验室
3038
+ 钢琴家
3039
+ 钢琴
3040
+ 选择
3041
+ 捡起
3042
+ 泡菜
3043
+ 野餐
3044
+ 野餐区
3045
+ 野餐篮
3046
+ 野餐桌
3047
+ 图片
3048
+ 相框
3049
+ 馅饼
3050
+ 鸽子
3051
+ 朝圣者
3052
+ 药片
3053
+ 枕头
3054
+ 飞行员
3055
+ 领航艇
3056
+ 别针
3057
+ 松树
3058
+ 松果
3059
+ 松林
3060
+ 松子
3061
+ 菠萝
3062
+ 乒乓球桌
3063
+ 乒乓球
3064
+ 粉色
3065
+ 一品脱的量
3066
+ 琵琶
3067
+ 管子
3068
+ 管碗
3069
+ 海盗
3070
+ 海盗旗
3071
+ 海盗船
3072
+ 阿月浑子
3073
+ 滑雪场
3074
+ 口袋里的面包
3075
+ 火龙果
3076
+ 斗牛犬
3077
+ 球场
3078
+ 大水罐
3079
+ 猪笼草
3080
+ 干草叉
3081
+ 披萨
3082
+ 披萨刀
3083
+ 比萨锅
3084
+ 披萨店
3085
+ 招牌
3086
+ 地方
3087
+ 餐具垫
3088
+ 格子
3089
+ 平原
3090
+ 示意图
3091
+ 行星
3092
+ 行星地球
3093
+ 厚木板
3094
+ 植物
3095
+ 种植园
3096
+ 种植
3097
+ 匾额
3098
+ 石膏
3099
+ 塑料
3100
+ 橡皮泥
3101
+ 高原
3102
+ 平台
3103
+ 白金
3104
+ 大浅盘
3105
+ 玩/演奏/运动
3106
+ 打羽毛球
3107
+ 打棒球
3108
+ 打篮球
3109
+ 玩台球
3110
+ 踢足球
3111
+ 玩乒乓球
3112
+ 打网球
3113
+ 打排球
3114
+ 选手/运动员
3115
+ 操场
3116
+ 剧场
3117
+ 扑克牌
3118
+ 下棋
3119
+ 打高尔夫球
3120
+ 打麻将
3121
+ 运动场
3122
+ 护栏
3123
+ 游戏室
3124
+ 广场
3125
+ 钳子
3126
+ 故事情节
3127
+
3128
+ 插头
3129
+ 插头帽
3130
+ 李子
3131
+ 水管工
3132
+ 卫生洁具
3133
+ 羽毛
3134
+ 夹板
3135
+ 口袋
3136
+ 怀表
3137
+ 随身小折刀
3138
+ 圆荚体
3139
+ 乐队指挥台
3140
+ 诗歌
3141
+ 一品红
3142
+ 指/朝向
3143
+ 指针
3144
+ 扑克卡
3145
+ 筹码
3146
+ 扑克表
3147
+ 杆/柱
3148
+ 臭猫
3149
+ 警察
3150
+ 警车
3151
+ 警犬
3152
+ 警察局
3153
+ 政治家
3154
+ 圆点
3155
+ 花粉
3156
+ 污染
3157
+ 马球
3158
+ 马球领
3159
+ 马球衬衫
3160
+ 石榴
3161
+ 波美拉尼亚的
3162
+ 雨披
3163
+ 池塘
3164
+ 马尾辫
3165
+ 贵宾犬
3166
+
3167
+ 流行
3168
+ 流行艺术家
3169
+ 爆米花
3170
+ 教皇
3171
+ 罂粟
3172
+
3173
+ 玄关
3174
+ 猪肉
3175
+
3176
+ 便携式电池
3177
+ 门户网站
3178
+ 投资组合
3179
+ 汽门
3180
+ 肖像
3181
+ 肖像会话
3182
+ 摆姿势拍照
3183
+ 负鼠
3184
+ 帖子
3185
+ 邮局
3186
+ 邮票
3187
+ 明信片
3188
+ 海报
3189
+ 海报页
3190
+ 锅/罐/陶盆
3191
+ 土豆
3192
+ 土豆片
3193
+ 土豆沙拉
3194
+ 布垫子
3195
+ 便壶
3196
+
3197
+ 家禽
3198
+ 英镑
3199
+ 倾泻
3200
+ 粉末
3201
+ 电源线
3202
+ 电源插头及插座
3203
+ 权力看
3204
+ 电站
3205
+ 练习
3206
+ 布拉格城堡
3207
+ 祈祷
3208
+ 牧师
3209
+ 首映
3210
+ 处方
3211
+ 显示
3212
+ 演讲
3213
+ 总统
3214
+ 新闻发布室
3215
+ 高压锅
3216
+ 椒盐卷饼
3217
+ 王子
3218
+ 公主
3219
+ 打印
3220
+ 打印页面
3221
+ 打印机
3222
+ 印刷
3223
+ 监狱
3224
+ 农产品/生产
3225
+ 产品
3226
+ 职业
3227
+ 专业的
3228
+ 教授
3229
+ 项目图片
3230
+ 投影屏幕
3231
+ 投影仪
3232
+ 毕业舞会
3233
+ 散步
3234
+ 螺旋桨
3235
+ 先知
3236
+ 建议
3237
+ 防护服
3238
+ 抗议
3239
+ 抗议者
3240
+ 出版
3241
+ 宣传画像
3242
+ 冰上曲棍球
3243
+ 布丁
3244
+ 水坑
3245
+ 泡芙
3246
+ 角嘴海雀
3247
+ 哈巴狗
3248
+
3249
+ 讲坛
3250
+ 脉冲
3251
+
3252
+ 南瓜
3253
+ 南瓜饼
3254
+ 南瓜种子
3255
+ 拳击吊袋
3256
+ 拳头猛击/穿孔
3257
+ 学生
3258
+ 紫色
3259
+
3260
+ 轻轻一击
3261
+ 谜题
3262
+
3263
+ 金字塔
3264
+ 大蟒
3265
+ 二维码
3266
+ 鹌鹑
3267
+ 采石场
3268
+ 季度
3269
+ 石英
3270
+ 女王
3271
+ 油炸玉米粉饼
3272
+ 队列
3273
+ 乳蛋饼
3274
+ 被子
3275
+ 绗缝
3276
+ 引用
3277
+ 兔子
3278
+ 浣熊
3279
+ 比赛
3280
+ 赛道
3281
+ 水沟/跑道
3282
+ 赛车
3283
+ 球拍
3284
+ 雷达
3285
+ 散热器
3286
+ 广播
3287
+ 木筏/橡皮艇
3288
+ 布娃娃
3289
+ 栏杆/铁轨
3290
+ 轨道车
3291
+ 铁道
3292
+ 铁路桥梁
3293
+ 轨道线
3294
+ 火车站
3295
+
3296
+ 雨靴
3297
+ 彩虹
3298
+ 虹鳟鱼
3299
+ 雨衣
3300
+ 热带雨林
3301
+ 多雨的
3302
+ 葡萄干
3303
+ 耙子
3304
+ 公羊
3305
+ 斜坡
3306
+ 油菜籽
3307
+ 快速
3308
+ 说唱歌手
3309
+ 树莓
3310
+ 老鼠
3311
+ 棘轮
3312
+ 乌鸦
3313
+ 峡谷
3314
+
3315
+ 剃须刀
3316
+ 锋利的
3317
+ 阅读
3318
+ 阅读材料
3319
+ 钻孔器
3320
+ 后面
3321
+ 尾灯
3322
+ 后视图
3323
+ 后视镜
3324
+ 收据
3325
+ 收到
3326
+ 接待
3327
+ 配方
3328
+ 记录
3329
+ 唱片制作人
3330
+ 记录器/竖笛
3331
+ 录音室
3332
+ 娱乐室
3333
+ 休闲车
3334
+ 矩形
3335
+ 回收
3336
+ 回收站
3337
+ 红色
3338
+ 红地毯
3339
+ 红旗
3340
+ 红熊猫
3341
+ 红酒
3342
+ 红木
3343
+ 芦苇
3344
+ 礁石
3345
+ 卷轴
3346
+ 裁判
3347
+ 倒影
3348
+ 倒影
3349
+ 反射器
3350
+ 注册
3351
+ 控制
3352
+ 驯鹿
3353
+ 放松
3354
+ 释放
3355
+ 救援
3356
+ 宗教
3357
+ 宗教的
3358
+ 享受
3359
+ 保持
3360
+ 改造
3361
+ 遥控器
3362
+ 移除
3363
+ 修复
3364
+ 维修店
3365
+ 爬行动物
3366
+ 救援
3367
+ 救助者
3368
+ 研究
3369
+ 研究员
3370
+ 储层
3371
+ 住宅
3372
+ 居民区
3373
+ 树脂
3374
+ 度假胜地
3375
+ 度假小镇
3376
+ 餐厅的厨房
3377
+ 餐厅的露台
3378
+ 厕所
3379
+ 零售
3380
+ 寻回犬
3381
+ 制动火箭
3382
+ 揭示
3383
+ 犀牛
3384
+ 杜鹃
3385
+ 肋骨
3386
+ 丝带
3387
+ 大米
3388
+ 电饭煲
3389
+ 稻田
3390
+ 骑/搭乘
3391
+
3392
+ 骑马
3393
+ 步枪
3394
+ 边缘
3395
+ 环/戒指
3396
+ 暴乱
3397
+ 涟漪
3398
+ 上升
3399
+ 高层建筑
3400
+
3401
+ 河岸
3402
+ 河船
3403
+ 河谷
3404
+ 河床
3405
+
3406
+ 路标
3407
+ 公路旅行
3408
+ 路边
3409
+ 烤鸡
3410
+ 长袍
3411
+ 罗宾
3412
+ 机器人
3413
+ 石头
3414
+ 岩石拱
3415
+ 摇滚艺术家
3416
+ 摇滚乐队
3417
+ 攀岩者
3418
+ 攀岩
3419
+ 摇滚音乐会
3420
+ 岩石表面
3421
+ 岩层
3422
+ 摇滚歌手
3423
+ 火箭
3424
+ 摇椅
3425
+ 岩石
3426
+ 啮齿动物
3427
+ 牛仔竞技表演
3428
+ 竞技舞台
3429
+ 罗伊
3430
+ 狍子
3431
+
3432
+ 过山车
3433
+ 轮式溜冰鞋
3434
+ 溜冰鞋
3435
+ 擀面杖
3436
+ 浪漫
3437
+ 浪漫的
3438
+ 屋顶
3439
+ 屋顶花园
3440
+ 房间
3441
+ 房间分频器
3442
+
3443
+ 根啤酒
3444
+ 绳索桥
3445
+ 念珠
3446
+ 玫瑰
3447
+ 迷迭香
3448
+ 玫瑰色的云
3449
+ 罗特韦尔犬
3450
+ 圆桌
3451
+ 路由器
3452
+
3453
+ 罗文
3454
+ 皇家
3455
+ 橡皮图章
3456
+ 废墟
3457
+ 魔方
3458
+ 红宝石
3459
+ 莱夫
3460
+ 橄榄球
3461
+ 橄榄球
3462
+ 橄榄球运动员
3463
+ 毁坏
3464
+
3465
+ 朗姆酒
3466
+
3467
+ 跑步者
3468
+ 跑步鞋
3469
+ 农村的
3470
+
3471
+ 乡村的
3472
+ 黑麦
3473
+
3474
+
3475
+ 鞍囊
3476
+ 旅行
3477
+ 安全
3478
+ 安全背心
3479
+ 圣人
3480
+
3481
+ 帆船
3482
+ 航行
3483
+ 水手
3484
+ 松鼠猴
3485
+ 缘故
3486
+ 沙拉
3487
+ 沙拉碗
3488
+ 火蜥蜴
3489
+ 意大利蒜味腊肠
3490
+ 出售
3491
+ 三文鱼
3492
+ 沙龙
3493
+ 萨尔萨舞
3494
+
3495
+ 盐和胡椒瓶
3496
+ 盐湖
3497
+ 盐沼
3498
+ 盐瓶
3499
+ 敬礼
3500
+ 萨莫耶德人
3501
+ 武士
3502
+ 沙子
3503
+ 沙洲
3504
+ 砂箱
3505
+ 沙堡
3506
+ 沙雕
3507
+ 凉鞋
3508
+ 三明治
3509
+ 卫生巾
3510
+ 圣诞老人
3511
+ 蓝宝石
3512
+ 沙丁鱼
3513
+ 莎丽
3514
+ 生鱼片
3515
+ 沙爹
3516
+ 书包
3517
+ 卫星
3518
+
3519
+ 酱汁
3520
+ 碟子
3521
+ 桑拿
3522
+ 香肠
3523
+ 稀树大草原
3524
+
3525
+ 锯木架
3526
+ 萨克斯管
3527
+ 萨克斯手
3528
+ 脚手架
3529
+ 秤/标尺
3530
+ 比例模型
3531
+ 扇贝
3532
+ 疤痕
3533
+ 稻草人
3534
+ 围巾
3535
+ 场景
3536
+ 风景
3537
+ 雪纳瑞犬
3538
+ 学校
3539
+ 校车
3540
+ 校服
3541
+ 校舍
3542
+ 纵帆船
3543
+ 科学
3544
+ 科幻电影
3545
+ 科学博物馆
3546
+ 科学家
3547
+ 剪刀
3548
+ 壁灯
3549
+ 司康饼
3550
+ 勺子
3551
+ 踏板车/摩托车
3552
+ 分数
3553
+ 记分板
3554
+ 蝎子
3555
+ 童子军
3556
+ 炒蛋
3557
+ 废弃
3558
+ 刮板
3559
+ 刮伤
3560
+ 屏幕
3561
+ 纱门
3562
+ 截图
3563
+ 螺杆
3564
+ 螺丝刀
3565
+ 长卷纸/卷轴
3566
+ 擦洗
3567
+ 硬毛刷
3568
+ 雕塑家
3569
+ 雕塑
3570
+ 海洞穴
3571
+ 海冰
3572
+ 海狮
3573
+ 海龟
3574
+ 海胆
3575
+ 尖吻鲈
3576
+ 海底
3577
+ 海鸟
3578
+ 海鲜
3579
+ 海马
3580
+ 海豹
3581
+ 海景
3582
+ 海贝
3583
+ 海滨度假胜地
3584
+ 季节
3585
+ 座位
3586
+ 安全带
3587
+ 海藻
3588
+ 秘书
3589
+ 安全
3590
+ 小轿车
3591
+ 看到
3592
+ 种子
3593
+ 跷跷板
3594
+ 赛格威
3595
+ 自拍
3596
+ 出售
3597
+ 研讨会
3598
+ 感觉
3599
+ 传感器
3600
+ 服务器
3601
+ 服务器机房
3602
+ 服务
3603
+
3604
+ 缝纫机
3605
+ 影子
3606
+
3607
+
3608
+ 洗发水
3609
+ 形状
3610
+ 分享
3611
+ 鲨鱼
3612
+ 卷笔刀
3613
+ 记号笔
3614
+ 剃须刀
3615
+ 剃须膏
3616
+ 披肩/围巾
3617
+ 剪切
3618
+ 剪刀
3619
+
3620
+ 床单
3621
+ 乐谱
3622
+ 架子
3623
+ 贝壳
3624
+ 贝类
3625
+ 避难所
3626
+ 搁置
3627
+ 牧羊人
3628
+ 果子露
3629
+ 柴犬
3630
+ 发光
3631
+ 航运
3632
+ 集装箱
3633
+ 海难
3634
+ 船厂
3635
+ 衬衫
3636
+ 赤膊的
3637
+ 浅滩
3638
+
3639
+ 鞋盒
3640
+ 鞋店
3641
+ 鞋楦
3642
+ 射击
3643
+ 得分篮球后卫
3644
+ 商店橱窗
3645
+ 门面
3646
+ 购物者
3647
+ 购物
3648
+ 购物袋
3649
+ 购物篮
3650
+ 购物车
3651
+ 购物中心
3652
+ 购物街
3653
+ 海岸
3654
+ 海岸线
3655
+ 短的
3656
+ 短发
3657
+ 短裤
3658
+ 小酒杯
3659
+ 散弹枪
3660
+ 肩膀
3661
+ 单肩包
3662
+
3663
+ 陈列柜
3664
+ 淋浴
3665
+ 浴帽
3666
+ 浴帘
3667
+ 淋浴门
3668
+ 淋浴头
3669
+ 碎纸机
3670
+ 泼妇
3671
+
3672
+ 神社
3673
+ 灌木
3674
+ 快门
3675
+ 暹罗猫
3676
+ 西伯利亚
3677
+ 兄弟姐妹
3678
+ 侧面
3679
+ 边柜
3680
+ 配菜
3681
+ 边车
3682
+ 边线
3683
+ 壁板
3684
+ 标志
3685
+ 指示牌
3686
+ 信号
3687
+ 签名
3688
+ 丝绸
3689
+ 丝袜
3690
+ 筒仓
3691
+
3692
+ 银牌
3693
+ 银器
3694
+ 唱歌
3695
+ 烧焦
3696
+ 歌手
3697
+ 水槽
3698
+
3699
+ 坐/放置/坐落
3700
+ 坐着
3701
+ 滑板公园
3702
+ 滑板
3703
+ 滑板者
3704
+ 溜冰者
3705
+ 溜冰场
3706
+ 骨架
3707
+ 草图
3708
+ 串串
3709
+ 滑雪
3710
+ 滑雪靴
3711
+ 滑雪设备
3712
+ 滑雪服
3713
+ 滑雪缆车
3714
+ 滑雪杖
3715
+ 滑雪胜地
3716
+ 滑雪板
3717
+ 滑雪
3718
+ 滑雪鞋
3719
+ 皮肤
3720
+ 头骨
3721
+ 无边便帽
3722
+ 天空
3723
+ 天空塔
3724
+ 天窗
3725
+ 天际线
3726
+ 摩天大楼
3727
+ 激流回旋
3728
+ 石板
3729
+ 雪橇
3730
+ 睡眠
3731
+ 睡袋
3732
+ 睡衣
3733
+ 袖子
3734
+
3735
+ 滑动
3736
+ 滑块
3737
+ 吊索
3738
+
3739
+ 投币口
3740
+ 老虎机
3741
+ 树懒
3742
+ 慢炖锅
3743
+ 鼻涕虫
3744
+ 贫民窟
3745
+ 气味
3746
+ 微笑
3747
+ 烟雾/抽烟
3748
+ 零食
3749
+ 蜗牛
3750
+
3751
+ 鲷鱼
3752
+ 快照
3753
+ 通气管
3754
+ 鼻子
3755
+
3756
+ 雪豹
3757
+ 雪山
3758
+ 雪球
3759
+ 单板滑雪者
3760
+ 雪原
3761
+ 雪花
3762
+ 雪人
3763
+ 雪地摩托
3764
+ 雪犁
3765
+ 雪鞋
3766
+
3767
+ 肥皂
3768
+ 肥皂泡
3769
+ 给皂器
3770
+ 足球守门员
3771
+ 社会名流
3772
+ 短袜
3773
+ 插座
3774
+ 苏打水
3775
+ 垒球
3776
+ 软件
3777
+ 太阳能电池阵列
3778
+ 士兵
3779
+ 独奏
3780
+ 解决方案
3781
+ 宽边帽
3782
+ 歌曲
3783
+ 声音
3784
+
3785
+ 汤碗
3786
+ 汤匙
3787
+ 酸奶油
3788
+ 纪念品
3789
+ 豆浆
3790
+ 水疗中心
3791
+ 空间
3792
+ 航天飞机
3793
+ 空间站
3794
+ 宇宙飞船
3795
+ 意大利面
3796
+ 横跨
3797
+ 扳手
3798
+ 火花
3799
+ 闪耀
3800
+ 烟火
3801
+ 起泡葡萄酒
3802
+ 麻雀
3803
+ 抹刀
3804
+ 扬声器
3805
+ 观众
3806
+ 会话框
3807
+ 速度限制
3808
+ 限速标志
3809
+ 快艇
3810
+ 车速表
3811
+
3812
+ 香料
3813
+ 调料架
3814
+ 蜘蛛
3815
+ 蜘蛛网
3816
+ 扣球
3817
+ 旋转
3818
+ 菠菜
3819
+ 尖塔
3820
+ 飞溅
3821
+ 海绵
3822
+ 勺子
3823
+ 体育协会
3824
+ 运动器材
3825
+ 运动团队
3826
+ 体育球
3827
+ 体育器材
3828
+ 运动会
3829
+ 运动服装
3830
+
3831
+ 喷雾
3832
+ 伸展
3833
+ 春天
3834
+ 春卷
3835
+
3836
+ 洒水器
3837
+ 发芽
3838
+ 云杉
3839
+ 云杉森林
3840
+
3841
+ 广场
3842
+ 南瓜
3843
+
3844
+
3845
+ 鱿鱼
3846
+ 松鼠
3847
+ 水枪
3848
+
3849
+ 稳定的
3850
+ (码放整齐的)一叠
3851
+ 体育场
3852
+ 工作人员
3853
+ 舞台
3854
+ 舞台灯
3855
+ 驿马车
3856
+ 弄脏
3857
+ 不锈钢
3858
+ 楼梯
3859
+ 楼梯
3860
+ 楼梯间
3861
+ 摊位/小隔间
3862
+ 种马
3863
+ 站/矗立/摊位
3864
+
3865
+ 主食
3866
+ 订书机
3867
+ 星星
3868
+ 盯着
3869
+ 海星
3870
+ 杨桃
3871
+ 燕八哥
3872
+ 州立公园
3873
+ 公立学校
3874
+ 车站
3875
+ 固定自行车
3876
+ 文具
3877
+ 雕像
3878
+ 牛排
3879
+ 牛排刀
3880
+ 蒸汽
3881
+ 蒸汽机
3882
+ 蒸汽机车
3883
+ 蒸汽火车
3884
+ 馒头
3885
+
3886
+ 方向盘
3887
+ (花草的)茎
3888
+ 模版
3889
+ 梯凳
3890
+ 立体声
3891
+ 听诊器
3892
+
3893
+ 戳/条状物
3894
+ 竹节虫
3895
+ 贴纸
3896
+ 静物画
3897
+ 高跷
3898
+ 黄貂鱼
3899
+ 搅拌
3900
+ 搅拌器
3901
+
3902
+
3903
+ 股票
3904
+ 长筒袜
3905
+ 腹部
3906
+ 石头建筑
3907
+ 石雕
3908
+ 石屋
3909
+ 石磨
3910
+ 凳子
3911
+ 停止
3912
+ 停在
3913
+ 红灯
3914
+ 停车标志
3915
+ 秒表
3916
+ 红绿灯
3917
+ 存储箱
3918
+ 储藏室
3919
+ 罐/蓄水池
3920
+ 商店
3921
+ 店面
3922
+
3923
+ 风暴
3924
+ 暴风云
3925
+ 狂风暴雨的
3926
+ 炉子
3927
+ 扑克
3928
+ 跨骑
3929
+ 过滤器
3930
+ 海峡
3931
+
3932
+ 稻草/吸管
3933
+ 草帽
3934
+ 草莓
3935
+ 溪流
3936
+ 街头艺术
3937
+ 街头艺术家
3938
+ 街角
3939
+ 流浪狗
3940
+ 街头食品
3941
+ 路灯
3942
+ 街市场
3943
+ 街头摄影
3944
+ 街景
3945
+ 路标
3946
+ 街头小贩
3947
+ 拉伸
3948
+ 担架
3949
+ 罢工
3950
+ 前锋
3951
+ 细绳
3952
+ 芝士条
3953
+ 带子
3954
+ 条纹
3955
+ 漫步
3956
+ 结构
3957
+ 工作室
3958
+ 影棚拍摄
3959
+ 材料
3960
+ 填充玩具动物
3961
+ 毛绒玩具
3962
+
3963
+ 树桩
3964
+ 惊人的
3965
+ 特技
3966
+ 佛塔
3967
+ 风格
3968
+ 手写笔
3969
+ 潜艇
3970
+ 潜艇形大三明治
3971
+ 海底水
3972
+ 郊区
3973
+ 地铁
3974
+ 地铁站
3975
+ 低音炮
3976
+ 多肉
3977
+ 绒面革
3978
+
3979
+ 糖碗
3980
+ 甘蔗
3981
+ 方糖
3982
+ 西装
3983
+ 套房
3984
+ 夏天
3985
+ 夏天傍晚
3986
+ 峰顶
3987
+ 太阳
3988
+ 太阳帽
3989
+ 日光浴
3990
+ 周日
3991
+ 日晷
3992
+ 向日葵
3993
+ 向日葵田
3994
+ 葵花籽
3995
+ 太阳镜
3996
+ 晴天
3997
+ 日出
3998
+ 日落
3999
+ 遮阳伞
4000
+ 阳光
4001
+ 超级碗
4002
+ 跑车
4003
+ 超级英雄
4004
+ 超市
4005
+ 超市货架
4006
+ 超模
4007
+ 支持者
4008
+ 冲浪
4009
+ 表面
4010
+ 冲浪板
4011
+ 冲浪者
4012
+ 外科医生
4013
+ 外科手术
4014
+ 环绕
4015
+ 寿司
4016
+ 寿司吧
4017
+ 背带裤
4018
+ 悬架
4019
+ 吊桥
4020
+ 越野车
4021
+ 燕子
4022
+ 燕尾蝶
4023
+ 沼泽
4024
+ 天鹅
4025
+ 天鹅游艇
4026
+ 运动裤
4027
+ 防汗带
4028
+ 毛衣
4029
+ 运动衫
4030
+ 甜的
4031
+ 红薯
4032
+ 游泳
4033
+ 泳帽
4034
+ 游泳者
4035
+ 游泳洞
4036
+ 游泳池
4037
+ 摆动
4038
+ 平转桥
4039
+ 秋千
4040
+ 漩涡
4041
+ 开关
4042
+ 转椅
4043
+
4044
+ 旗鱼
4045
+ 象征
4046
+ 对称
4047
+ 犹太教堂
4048
+ 注射器
4049
+ 糖浆
4050
+ 系统
4051
+ t恤
4052
+ t恤
4053
+ 塔巴斯科辣椒酱
4054
+ 虎斑
4055
+ 乒乓球拍
4056
+ 桌面
4057
+ 桌布
4058
+ 平板电脑
4059
+ 餐具
4060
+ 转速表
4061
+ 拦截
4062
+ 墨西哥煎玉米卷
4063
+ 跆拳道
4064
+ 太极
4065
+ 尾巴
4066
+ 裁缝
4067
+ 拍/拿
4068
+ 起飞
4069
+ 说话/交谈/演讲
4070
+ 手鼓
4071
+ 棕褐色
4072
+ 橘子
4073
+ 胶带/磁带/终点线
4074
+ 挂毯
4075
+ 沥青碎石路面
4076
+ 芋头
4077
+ 篷布
4078
+ 果馅饼
4079
+ 流苏
4080
+ 味道
4081
+ 榻榻米
4082
+ 纹身
4083
+ 纹身艺术家
4084
+ 酒馆
4085
+
4086
+ 茶包
4087
+ 茶话会
4088
+ 茶园
4089
+ 茶壶
4090
+ 茶具
4091
+
4092
+ 老师
4093
+ 茶杯
4094
+ 水鸭
4095
+ 团队合影
4096
+ 团队介绍
4097
+ 眼泪/撕裂/划破
4098
+ 技术员
4099
+ 技术
4100
+ 泰迪熊
4101
+ T字形物
4102
+ 青少年
4103
+ 电线杆
4104
+ 变焦镜头
4105
+ 望远镜
4106
+ 电视
4107
+ 电视摄像机
4108
+ 电视室
4109
+ 电视演播室
4110
+ 温度
4111
+ 寺庙
4112
+ 天妇罗
4113
+ 网球
4114
+ 网球场
4115
+ 网球比赛
4116
+ 网球网
4117
+ 网球运动员
4118
+ 网球拍
4119
+ 帐篷
4120
+ 龙舌兰酒
4121
+ 终端/航站楼
4122
+ 阳台
4123
+ 地形
4124
+ 玻璃容器
4125
+ 领土
4126
+ 测试
4127
+ 测试赛
4128
+ 试管
4129
+ 文本
4130
+ 短信
4131
+ 纺织
4132
+ 纹理
4133
+ 感恩节
4134
+ 感恩节晚餐
4135
+ 剧院
4136
+ 戏剧演员
4137
+ 治疗
4138
+ 温度计
4139
+ 热水瓶
4140
+ 暖瓶
4141
+ 恒温器
4142
+ 灌木丛
4143
+ 顶针
4144
+ 东西
4145
+ 思考
4146
+
4147
+ 宝座
4148
+ 金銮殿
4149
+
4150
+ 抱枕
4151
+
4152
+ 雷雨
4153
+ 百里香
4154
+ 皇冠
4155
+ 记号
4156
+
4157
+ 售票亭
4158
+ 潮池
4159
+ 领带
4160
+ 老虎
4161
+
4162
+
4163
+ 瓷砖地板
4164
+ 瓦屋顶
4165
+ 瓷砖墙
4166
+
4167
+ 锡纸
4168
+
4169
+ 提拉米苏
4170
+ 轮胎
4171
+ 纸巾
4172
+ 烤面包
4173
+ 烤面包机
4174
+ 烟草
4175
+ 烟斗
4176
+ 学步的小孩
4177
+ 脚趾
4178
+ 豆腐
4179
+ 马桶
4180
+ 马桶座圈
4181
+ 化妆包
4182
+ 东京铁塔
4183
+ 番茄
4184
+ 番茄酱
4185
+ 番茄汤
4186
+
4187
+ 钳子
4188
+ 钳子
4189
+ 工具
4190
+ 工具箱
4191
+ 牙刷
4192
+ 牙膏
4193
+ 牙签
4194
+ 修剪成形的花园
4195
+ 配料
4196
+ 火炬/光源
4197
+ 龙卷风
4198
+ 玉米粉圆饼
4199
+ 乌龟
4200
+ 大手提袋
4201
+ 图腾柱
4202
+ 龙猫
4203
+ 巨嘴鸟
4204
+ 触摸
4205
+ 触地
4206
+ 旅行
4207
+ 旅游巴士
4208
+ 导游
4209
+ 游客
4210
+ 旅游景点
4211
+ 锦标赛
4212
+ 拖车
4213
+ 毛巾
4214
+ 毛巾杆
4215
+ 大厦
4216
+ 塔桥
4217
+ 小镇
4218
+ 城镇广场
4219
+ 玩具
4220
+ 玩具车
4221
+ 玩具枪
4222
+ 玩具店
4223
+ 跑道
4224
+ 拖拉机
4225
+ 贸易
4226
+ 传统
4227
+ 传统的
4228
+ 交通
4229
+ 锥形交通路标
4230
+ 交通拥堵
4231
+ 交通堵塞
4232
+ 交通标志
4233
+ 小道
4234
+ 预告片
4235
+ 拖车
4236
+ 火车
4237
+ 火车桥
4238
+ 火车车厢
4239
+ 火车内部
4240
+ 火车轨道
4241
+ 火车窗口
4242
+ 教练
4243
+ 训练
4244
+ 训练长椅
4245
+ 训练场
4246
+ 电车/手推车
4247
+ 蹦床
4248
+ 变形金刚
4249
+ 透明度
4250
+ 旅行
4251
+ 托盘/碟子
4252
+ 跑步机
4253
+ 美食
4254
+
4255
+ 树枝
4256
+ 林场
4257
+ 树蛙
4258
+ 树屋
4259
+ 树根
4260
+ 树干
4261
+ 试验
4262
+ 三角形
4263
+ 铁人三项
4264
+ 部落
4265
+ 支流
4266
+ 戏法/特技
4267
+ 三轮车
4268
+ 修剪
4269
+ 三人组
4270
+ 三脚架
4271
+ 长号
4272
+ 部队
4273
+ 奖杯
4274
+ 奖杯
4275
+ 热带
4276
+ 鳟鱼
4277
+ 卡车
4278
+ 卡车司机
4279
+ 浴缸
4280
+ 管子
4281
+ 拖船
4282
+ 郁金香
4283
+ 金枪鱼
4284
+ 苔原
4285
+ 隧道
4286
+ 涡轮
4287
+ 火鸡
4288
+ 转动
4289
+ 芜菁
4290
+ 绿松石
4291
+ 炮塔
4292
+ 乌龟
4293
+ 獠牙
4294
+ 电视演员
4295
+ 电视柜
4296
+ 电视剧
4297
+ 电视节目类型
4298
+ 电视名人
4299
+ 电视节目
4300
+ 情景喜剧
4301
+ 电视塔
4302
+ 枝条
4303
+ 黄昏
4304
+ 双胞胎
4305
+ 麻线
4306
+
4307
+ 类型
4308
+ 键入
4309
+ 打字机
4310
+ 尤克里里
4311
+ 奥特曼
4312
+
4313
+ 内衣
4314
+ 水下
4315
+ 独角兽
4316
+ 制服
4317
+ 宇宙
4318
+ 大学
4319
+ 向上
4320
+ 城市
4321
+ 尿壶
4322
+
4323
+ 使用
4324
+ 用具
4325
+ 杂物间
4326
+ 吸尘器/真空
4327
+
4328
+ 阀门
4329
+ 吸血鬼
4330
+ 货车
4331
+ 香草
4332
+ 虚荣
4333
+ 种类
4334
+ 花瓶/瓶
4335
+ 金库
4336
+ 矢量卡通插图
4337
+ 矢量图标
4338
+ 蔬菜
4339
+ 菜园
4340
+ 蔬菜市场
4341
+ 植被
4342
+ 车辆
4343
+ 面纱
4344
+ 静脉
4345
+ 天鹅绒
4346
+ 自动售货机
4347
+ 小贩
4348
+ 通风孔
4349
+ 胡蜂属
4350
+
4351
+ 背心
4352
+ 兽医
4353
+ 经验丰富的
4354
+ 兽医办公室
4355
+ 高架桥
4356
+ 视频
4357
+ 摄像机
4358
+ 电子游戏
4359
+ 录像带
4360
+ 视镜
4361
+ 守夜
4362
+ 别墅
4363
+ 村庄
4364
+ 藤蔓
4365
+
4366
+ 葡萄园
4367
+ 暴力
4368
+ 紫罗兰色
4369
+ 小提琴
4370
+ 小提琴家
4371
+ 中提琴演奏者
4372
+ 愿景
4373
+ 遮阳板
4374
+ 伏特加
4375
+ 火山
4376
+ 排球
4377
+ 排球场
4378
+ 排球运动员
4379
+ 志愿者
4380
+ 航行
4381
+ 秃鹰
4382
+ 华夫饼干
4383
+ 华夫饼机
4384
+ 货车
4385
+ 马车车轮
4386
+
4387
+ 服务员
4388
+ 候机室
4389
+ 等候室
4390
+
4391
+ 步行
4392
+ 手杖
4393
+ 挂钟
4394
+ 壁纸
4395
+ 核桃
4396
+ 海象
4397
+ 战争
4398
+ 仓库
4399
+ 温暖的
4400
+ 警告标志
4401
+ 战士
4402
+ 军舰
4403
+ 疣猪
4404
+
4405
+ 洗衣机/垫圈
4406
+
4407
+ 洗衣机
4408
+ 黄蜂
4409
+ 浪费
4410
+ 废物容器
4411
+ 手表
4412
+
4413
+ 水鸟
4414
+ 水牛
4415
+ 水冷却器
4416
+ 水滴
4417
+ 水景
4418
+ 热水器
4419
+ 水位
4420
+ 荷花
4421
+ 水上乐园
4422
+ 水管
4423
+ 净水器
4424
+ 滑水板
4425
+ 水上运动
4426
+ 水面
4427
+ 水塔
4428
+ 水彩
4429
+ 水彩插图
4430
+ 水彩画
4431
+ 瀑布
4432
+ 喷壶
4433
+ 水印叠加图章
4434
+ 西瓜
4435
+ 防水外套
4436
+ 水路
4437
+ 波浪
4438
+
4439
+ 武器
4440
+ 穿着
4441
+ 天气
4442
+ 叶片
4443
+
4444
+ 摄像头
4445
+ 婚礼
4446
+ 结婚戒指
4447
+ 婚礼花束
4448
+ 结婚蛋糕
4449
+ 新婚夫妇
4450
+ 婚礼请柬
4451
+ 婚礼派对
4452
+ 婚纱照
4453
+ 婚礼摄影师
4454
+ 婚纱摄影
4455
+ 婚宴
4456
+
4457
+ 杂草
4458
+ 重量
4459
+ 体重秤
4460
+ 焊接工
4461
+
4462
+ 西餐
4463
+ 西餐厅
4464
+ 湿
4465
+ 吧台
4466
+ 潜水衣
4467
+ 湿地
4468
+ 潜水服
4469
+ 鲸鱼
4470
+ 鲸鲨
4471
+ 小麦
4472
+ 麦田
4473
+ 车轮
4474
+ 轮椅
4475
+ 后轮支撑车技
4476
+ 生奶油
4477
+ 搅拌器
4478
+ 胡须
4479
+ 威士忌
4480
+ 哨子
4481
+ 白色
4482
+ 白宫
4483
+ 白葡萄酒
4484
+ 白板
4485
+ 便门
4486
+ 宽的
4487
+ 挥动
4488
+ 假发
4489
+ Wii
4490
+ Wii手柄
4491
+ 荒野
4492
+ 角马
4493
+ 野火
4494
+ 野花
4495
+ 野生动物
4496
+ 柳树
4497
+
4498
+ 风铃
4499
+ 风电场
4500
+ 风力涡轮机
4501
+ 风车
4502
+ 窗户
4503
+ 窗台花盆箱
4504
+ 橱窗展示
4505
+ 窗框
4506
+ 纱窗
4507
+ 靠窗的座位
4508
+ 窗台
4509
+ 雨刮器
4510
+ 挡风玻璃
4511
+ 有风的
4512
+ 酒瓶
4513
+ 冷酒器
4514
+ 酒柜
4515
+ 酒窖
4516
+ 酒杯
4517
+ 酒架
4518
+ 品酒
4519
+ 酒庄
4520
+ 翅膀
4521
+ 冬天
4522
+ 冬瓜
4523
+ 冬天的早晨
4524
+ 冬季场景
4525
+ 冬季运动
4526
+ 冬季风暴
4527
+ 电线
4528
+ 紫藤
4529
+ 巫婆
4530
+ 女巫帽子
4531
+ 炒锅
4532
+
4533
+ 女人
4534
+ 木头
4535
+ 林鸳鸯
4536
+ 木地板
4537
+ 木墙
4538
+ 烧木炉
4539
+ 木匙
4540
+ 林地
4541
+ 啄木鸟
4542
+ 木工刨
4543
+ 羊毛
4544
+ 工作
4545
+ 练习卡
4546
+ 工作台
4547
+ 工人
4548
+ 工作场所
4549
+ 车间
4550
+ 世界
4551
+ 蠕虫
4552
+ 敬拜
4553
+ 伤口
4554
+
4555
+ 裹身裙
4556
+ 包装纸
4557
+ 搏斗
4558
+ 摔跤手
4559
+ 皱纹
4560
+ 腕带
4561
+
4562
+ 作家
4563
+ 手写/字迹
4564
+ 毛笔
4565
+ 写字桌
4566
+ 游艇
4567
+ 牦牛
4568
+ 院子
4569
+ 黄色
4570
+ 瑜伽
4571
+ 瑜伽垫
4572
+ 酸奶
4573
+
4574
+ 蛋黄
4575
+ 青年
4576
+ 青年旅馆
4577
+ 蒙古包
4578
+ 斑马
4579
+ 斑马线
4580
+ 禅意花园
4581
+ 拉链
4582
+ 拉链
4583
+ 僵尸
4584
+ 粽子
4585
+ 动物园
ram/data/ram_tag_list_threshold.txt ADDED
@@ -0,0 +1,4585 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 0.65
2
+ 0.65
3
+ 0.65
4
+ 0.65
5
+ 0.65
6
+ 0.65
7
+ 0.65
8
+ 0.8
9
+ 0.71
10
+ 0.75
11
+ 0.65
12
+ 0.65
13
+ 0.65
14
+ 0.8
15
+ 0.65
16
+ 0.8
17
+ 0.8
18
+ 0.65
19
+ 0.65
20
+ 0.65
21
+ 0.65
22
+ 0.8
23
+ 0.65
24
+ 0.8
25
+ 0.8
26
+ 0.65
27
+ 0.65
28
+ 0.65
29
+ 0.65
30
+ 0.65
31
+ 0.65
32
+ 0.65
33
+ 0.65
34
+ 0.65
35
+ 0.65
36
+ 0.65
37
+ 0.8
38
+ 0.65
39
+ 0.65
40
+ 0.9
41
+ 0.65
42
+ 0.9
43
+ 0.65
44
+ 0.65
45
+ 0.65
46
+ 0.65
47
+ 0.8
48
+ 0.65
49
+ 0.65
50
+ 0.65
51
+ 0.65
52
+ 0.65
53
+ 0.61
54
+ 0.65
55
+ 0.65
56
+ 0.65
57
+ 0.65
58
+ 0.65
59
+ 0.8
60
+ 0.65
61
+ 0.65
62
+ 0.65
63
+ 0.65
64
+ 0.65
65
+ 0.65
66
+ 0.65
67
+ 0.65
68
+ 0.65
69
+ 0.65
70
+ 0.65
71
+ 0.65
72
+ 0.65
73
+ 0.65
74
+ 0.8
75
+ 0.65
76
+ 0.8
77
+ 0.8
78
+ 0.7
79
+ 0.65
80
+ 0.65
81
+ 0.8
82
+ 0.65
83
+ 0.65
84
+ 0.8
85
+ 0.65
86
+ 0.65
87
+ 0.65
88
+ 0.65
89
+ 0.65
90
+ 0.82
91
+ 0.8
92
+ 0.65
93
+ 0.65
94
+ 0.8
95
+ 0.65
96
+ 0.8
97
+ 0.65
98
+ 0.65
99
+ 0.65
100
+ 0.65
101
+ 0.65
102
+ 0.9
103
+ 0.65
104
+ 0.65
105
+ 0.65
106
+ 0.65
107
+ 0.65
108
+ 0.65
109
+ 0.65
110
+ 0.65
111
+ 0.65
112
+ 0.65
113
+ 0.8
114
+ 0.65
115
+ 0.65
116
+ 0.65
117
+ 0.65
118
+ 0.8
119
+ 0.65
120
+ 0.65
121
+ 0.65
122
+ 0.65
123
+ 0.65
124
+ 0.8
125
+ 0.65
126
+ 0.65
127
+ 0.8
128
+ 0.65
129
+ 0.65
130
+ 0.8
131
+ 0.65
132
+ 0.65
133
+ 0.65
134
+ 0.65
135
+ 0.65
136
+ 0.8
137
+ 0.65
138
+ 0.65
139
+ 0.65
140
+ 0.65
141
+ 0.8
142
+ 0.8
143
+ 0.65
144
+ 0.85
145
+ 0.8
146
+ 0.65
147
+ 0.65
148
+ 0.65
149
+ 0.65
150
+ 0.8
151
+ 0.65
152
+ 0.8
153
+ 0.65
154
+ 0.65
155
+ 0.65
156
+ 0.65
157
+ 0.65
158
+ 0.65
159
+ 0.65
160
+ 0.65
161
+ 0.65
162
+ 0.65
163
+ 0.65
164
+ 0.65
165
+ 0.8
166
+ 0.65
167
+ 0.65
168
+ 0.65
169
+ 0.65
170
+ 0.65
171
+ 0.65
172
+ 0.65
173
+ 0.8
174
+ 0.65
175
+ 0.65
176
+ 0.77
177
+ 0.65
178
+ 0.65
179
+ 0.65
180
+ 0.9
181
+ 0.65
182
+ 0.65
183
+ 0.65
184
+ 0.65
185
+ 0.65
186
+ 0.65
187
+ 0.65
188
+ 0.65
189
+ 0.65
190
+ 0.8
191
+ 0.65
192
+ 0.89
193
+ 0.65
194
+ 0.8
195
+ 0.65
196
+ 0.65
197
+ 0.65
198
+ 0.65
199
+ 0.65
200
+ 0.65
201
+ 0.8
202
+ 0.65
203
+ 0.65
204
+ 0.65
205
+ 0.65
206
+ 0.65
207
+ 0.78
208
+ 0.8
209
+ 0.65
210
+ 0.65
211
+ 0.65
212
+ 0.65
213
+ 0.65
214
+ 0.65
215
+ 0.65
216
+ 0.8
217
+ 0.65
218
+ 0.65
219
+ 0.9
220
+ 0.8
221
+ 0.65
222
+ 0.65
223
+ 0.65
224
+ 0.65
225
+ 0.65
226
+ 0.65
227
+ 0.8
228
+ 0.65
229
+ 0.65
230
+ 0.65
231
+ 0.65
232
+ 0.65
233
+ 0.65
234
+ 0.65
235
+ 0.65
236
+ 0.65
237
+ 0.65
238
+ 0.65
239
+ 0.8
240
+ 0.8
241
+ 0.65
242
+ 0.65
243
+ 0.65
244
+ 0.65
245
+ 0.65
246
+ 0.8
247
+ 0.65
248
+ 0.8
249
+ 0.65
250
+ 0.9
251
+ 0.65
252
+ 0.83
253
+ 0.65
254
+ 0.65
255
+ 0.65
256
+ 0.8
257
+ 0.65
258
+ 0.65
259
+ 0.8
260
+ 0.65
261
+ 0.65
262
+ 0.79
263
+ 0.65
264
+ 0.65
265
+ 0.8
266
+ 0.65
267
+ 0.65
268
+ 0.65
269
+ 0.89
270
+ 0.65
271
+ 0.65
272
+ 0.65
273
+ 0.65
274
+ 0.65
275
+ 0.9
276
+ 0.65
277
+ 0.65
278
+ 0.86
279
+ 0.65
280
+ 0.65
281
+ 0.65
282
+ 0.65
283
+ 0.65
284
+ 0.65
285
+ 0.65
286
+ 0.65
287
+ 0.65
288
+ 0.8
289
+ 0.65
290
+ 0.65
291
+ 0.8
292
+ 0.65
293
+ 0.65
294
+ 0.65
295
+ 0.65
296
+ 0.79
297
+ 0.65
298
+ 0.63
299
+ 0.65
300
+ 0.87
301
+ 0.8
302
+ 0.46
303
+ 0.65
304
+ 0.65
305
+ 0.65
306
+ 0.65
307
+ 0.65
308
+ 0.65
309
+ 0.8
310
+ 0.65
311
+ 0.9
312
+ 0.65
313
+ 0.65
314
+ 0.9
315
+ 0.65
316
+ 0.65
317
+ 0.8
318
+ 0.65
319
+ 0.65
320
+ 0.65
321
+ 0.65
322
+ 0.65
323
+ 0.65
324
+ 0.65
325
+ 0.8
326
+ 0.65
327
+ 0.65
328
+ 0.65
329
+ 0.65
330
+ 0.65
331
+ 0.8
332
+ 0.65
333
+ 0.65
334
+ 0.65
335
+ 0.65
336
+ 0.65
337
+ 0.65
338
+ 0.65
339
+ 0.8
340
+ 0.65
341
+ 0.65
342
+ 0.65
343
+ 0.8
344
+ 0.65
345
+ 0.65
346
+ 0.8
347
+ 0.65
348
+ 0.65
349
+ 0.65
350
+ 0.65
351
+ 0.9
352
+ 0.65
353
+ 0.65
354
+ 0.65
355
+ 0.65
356
+ 0.65
357
+ 0.65
358
+ 0.65
359
+ 0.8
360
+ 0.65
361
+ 0.65
362
+ 0.65
363
+ 0.65
364
+ 0.65
365
+ 0.65
366
+ 0.65
367
+ 0.9
368
+ 0.65
369
+ 0.8
370
+ 0.65
371
+ 0.8
372
+ 0.8
373
+ 0.8
374
+ 0.65
375
+ 0.65
376
+ 0.84
377
+ 0.65
378
+ 0.65
379
+ 0.79
380
+ 0.65
381
+ 0.65
382
+ 0.65
383
+ 0.65
384
+ 0.8
385
+ 0.65
386
+ 0.65
387
+ 0.65
388
+ 0.65
389
+ 0.8
390
+ 0.65
391
+ 0.65
392
+ 0.65
393
+ 0.65
394
+ 0.65
395
+ 0.65
396
+ 0.65
397
+ 0.8
398
+ 0.81
399
+ 0.65
400
+ 0.8
401
+ 0.65
402
+ 0.65
403
+ 0.9
404
+ 0.65
405
+ 0.65
406
+ 0.65
407
+ 0.65
408
+ 0.8
409
+ 0.65
410
+ 0.65
411
+ 0.65
412
+ 0.65
413
+ 0.65
414
+ 0.65
415
+ 0.9
416
+ 0.65
417
+ 0.65
418
+ 0.8
419
+ 0.65
420
+ 0.65
421
+ 0.65
422
+ 0.65
423
+ 0.65
424
+ 0.65
425
+ 0.9
426
+ 0.65
427
+ 0.65
428
+ 0.65
429
+ 0.87
430
+ 0.65
431
+ 0.65
432
+ 0.65
433
+ 0.65
434
+ 0.65
435
+ 0.65
436
+ 0.65
437
+ 0.65
438
+ 0.83
439
+ 0.65
440
+ 0.65
441
+ 0.65
442
+ 0.65
443
+ 0.65
444
+ 0.65
445
+ 0.65
446
+ 0.77
447
+ 0.87
448
+ 0.65
449
+ 0.65
450
+ 0.8
451
+ 0.8
452
+ 0.65
453
+ 0.65
454
+ 0.65
455
+ 0.65
456
+ 0.85
457
+ 0.65
458
+ 0.68
459
+ 0.65
460
+ 0.8
461
+ 0.65
462
+ 0.65
463
+ 0.75
464
+ 0.8
465
+ 0.65
466
+ 0.65
467
+ 0.65
468
+ 0.65
469
+ 0.65
470
+ 0.65
471
+ 0.65
472
+ 0.8
473
+ 0.65
474
+ 0.65
475
+ 0.8
476
+ 0.8
477
+ 0.8
478
+ 0.8
479
+ 0.79
480
+ 0.65
481
+ 0.85
482
+ 0.65
483
+ 0.65
484
+ 0.65
485
+ 0.9
486
+ 0.65
487
+ 0.89
488
+ 0.8
489
+ 0.65
490
+ 0.65
491
+ 0.65
492
+ 0.76
493
+ 0.65
494
+ 0.65
495
+ 0.65
496
+ 0.65
497
+ 0.65
498
+ 0.65
499
+ 1
500
+ 0.65
501
+ 0.65
502
+ 0.65
503
+ 0.65
504
+ 0.65
505
+ 0.65
506
+ 0.65
507
+ 0.65
508
+ 0.65
509
+ 0.8
510
+ 0.65
511
+ 0.65
512
+ 0.65
513
+ 0.9
514
+ 0.65
515
+ 0.89
516
+ 0.7
517
+ 0.65
518
+ 0.65
519
+ 0.65
520
+ 0.65
521
+ 0.65
522
+ 0.8
523
+ 0.8
524
+ 0.65
525
+ 0.65
526
+ 0.71
527
+ 0.65
528
+ 0.65
529
+ 0.65
530
+ 0.65
531
+ 0.65
532
+ 0.8
533
+ 0.65
534
+ 0.65
535
+ 0.8
536
+ 0.65
537
+ 0.65
538
+ 0.9
539
+ 0.65
540
+ 0.65
541
+ 0.65
542
+ 0.65
543
+ 0.8
544
+ 0.65
545
+ 0.65
546
+ 0.65
547
+ 0.65
548
+ 0.65
549
+ 0.65
550
+ 0.65
551
+ 0.8
552
+ 0.65
553
+ 0.65
554
+ 0.8
555
+ 0.8
556
+ 0.65
557
+ 0.65
558
+ 0.8
559
+ 0.8
560
+ 0.65
561
+ 0.65
562
+ 0.65
563
+ 0.8
564
+ 0.65
565
+ 0.8
566
+ 0.8
567
+ 0.65
568
+ 0.8
569
+ 0.65
570
+ 0.8
571
+ 0.8
572
+ 0.9
573
+ 0.65
574
+ 0.85
575
+ 0.8
576
+ 0.8
577
+ 0.8
578
+ 0.9
579
+ 0.65
580
+ 0.65
581
+ 0.8
582
+ 0.65
583
+ 0.65
584
+ 0.65
585
+ 0.75
586
+ 0.65
587
+ 0.65
588
+ 0.65
589
+ 0.65
590
+ 0.65
591
+ 0.65
592
+ 0.65
593
+ 0.65
594
+ 0.8
595
+ 0.65
596
+ 0.65
597
+ 0.65
598
+ 0.65
599
+ 0.65
600
+ 0.65
601
+ 0.65
602
+ 0.65
603
+ 0.65
604
+ 0.65
605
+ 0.65
606
+ 0.65
607
+ 0.65
608
+ 0.65
609
+ 0.65
610
+ 0.65
611
+ 0.65
612
+ 0.8
613
+ 0.65
614
+ 0.8
615
+ 0.65
616
+ 0.65
617
+ 0.65
618
+ 0.63
619
+ 0.65
620
+ 0.65
621
+ 0.65
622
+ 0.65
623
+ 0.65
624
+ 0.65
625
+ 0.65
626
+ 0.65
627
+ 0.65
628
+ 0.65
629
+ 0.65
630
+ 0.8
631
+ 0.65
632
+ 0.65
633
+ 0.65
634
+ 0.65
635
+ 0.8
636
+ 0.65
637
+ 0.65
638
+ 0.65
639
+ 0.8
640
+ 0.65
641
+ 0.88
642
+ 0.65
643
+ 0.65
644
+ 0.65
645
+ 0.65
646
+ 0.65
647
+ 0.8
648
+ 0.8
649
+ 0.71
650
+ 0.65
651
+ 0.65
652
+ 0.65
653
+ 0.8
654
+ 0.8
655
+ 0.65
656
+ 0.65
657
+ 0.65
658
+ 0.65
659
+ 0.65
660
+ 0.8
661
+ 0.9
662
+ 0.65
663
+ 0.8
664
+ 0.65
665
+ 0.65
666
+ 0.65
667
+ 0.65
668
+ 0.65
669
+ 0.8
670
+ 0.65
671
+ 0.71
672
+ 0.65
673
+ 0.8
674
+ 0.76
675
+ 0.85
676
+ 0.8
677
+ 0.65
678
+ 0.65
679
+ 0.8
680
+ 0.65
681
+ 0.79
682
+ 0.65
683
+ 0.75
684
+ 0.65
685
+ 0.8
686
+ 0.65
687
+ 0.86
688
+ 0.65
689
+ 0.65
690
+ 0.9
691
+ 0.9
692
+ 0.65
693
+ 0.65
694
+ 0.65
695
+ 0.65
696
+ 0.65
697
+ 0.73
698
+ 0.65
699
+ 0.65
700
+ 0.65
701
+ 0.65
702
+ 0.8
703
+ 0.65
704
+ 0.65
705
+ 0.9
706
+ 0.65
707
+ 0.85
708
+ 0.65
709
+ 0.65
710
+ 0.65
711
+ 0.65
712
+ 0.8
713
+ 0.75
714
+ 0.65
715
+ 0.65
716
+ 0.65
717
+ 0.65
718
+ 0.8
719
+ 0.85
720
+ 0.8
721
+ 0.65
722
+ 0.65
723
+ 0.65
724
+ 0.65
725
+ 0.65
726
+ 0.65
727
+ 0.77
728
+ 0.65
729
+ 0.65
730
+ 0.65
731
+ 0.65
732
+ 0.65
733
+ 0.86
734
+ 0.65
735
+ 0.65
736
+ 0.65
737
+ 0.65
738
+ 0.65
739
+ 0.8
740
+ 0.65
741
+ 0.6
742
+ 0.65
743
+ 0.65
744
+ 0.65
745
+ 0.65
746
+ 0.65
747
+ 0.65
748
+ 0.65
749
+ 0.65
750
+ 0.65
751
+ 0.65
752
+ 0.74
753
+ 0.65
754
+ 0.65
755
+ 0.67
756
+ 0.65
757
+ 0.65
758
+ 0.8
759
+ 0.65
760
+ 0.65
761
+ 0.85
762
+ 0.65
763
+ 0.8
764
+ 0.65
765
+ 0.65
766
+ 0.84
767
+ 0.8
768
+ 0.8
769
+ 0.8
770
+ 0.8
771
+ 0.8
772
+ 0.65
773
+ 0.65
774
+ 0.65
775
+ 0.65
776
+ 0.65
777
+ 0.65
778
+ 0.8
779
+ 0.65
780
+ 0.9
781
+ 0.9
782
+ 0.65
783
+ 0.65
784
+ 0.65
785
+ 0.65
786
+ 0.65
787
+ 0.65
788
+ 0.65
789
+ 0.8
790
+ 0.65
791
+ 0.65
792
+ 0.65
793
+ 0.8
794
+ 0.89
795
+ 0.65
796
+ 0.65
797
+ 0.65
798
+ 0.83
799
+ 0.65
800
+ 0.65
801
+ 0.65
802
+ 0.65
803
+ 0.6
804
+ 0.65
805
+ 0.8
806
+ 0.8
807
+ 0.8
808
+ 0.65
809
+ 0.65
810
+ 0.89
811
+ 0.65
812
+ 0.65
813
+ 0.65
814
+ 0.65
815
+ 0.8
816
+ 0.65
817
+ 0.65
818
+ 0.8
819
+ 0.65
820
+ 0.8
821
+ 0.65
822
+ 0.77
823
+ 0.65
824
+ 0.65
825
+ 0.65
826
+ 0.65
827
+ 0.65
828
+ 0.65
829
+ 0.65
830
+ 0.65
831
+ 0.65
832
+ 0.65
833
+ 0.65
834
+ 0.65
835
+ 0.65
836
+ 0.65
837
+ 0.65
838
+ 0.65
839
+ 0.65
840
+ 0.65
841
+ 0.65
842
+ 0.65
843
+ 0.65
844
+ 0.65
845
+ 0.65
846
+ 0.65
847
+ 0.87
848
+ 0.65
849
+ 0.65
850
+ 0.65
851
+ 0.65
852
+ 0.65
853
+ 0.65
854
+ 0.65
855
+ 0.65
856
+ 0.74
857
+ 0.65
858
+ 0.65
859
+ 0.66
860
+ 0.89
861
+ 0.65
862
+ 0.65
863
+ 0.65
864
+ 0.65
865
+ 0.65
866
+ 0.65
867
+ 0.65
868
+ 0.65
869
+ 0.65
870
+ 0.65
871
+ 0.65
872
+ 0.9
873
+ 0.65
874
+ 0.65
875
+ 0.65
876
+ 0.65
877
+ 0.65
878
+ 0.65
879
+ 0.65
880
+ 0.84
881
+ 0.65
882
+ 0.65
883
+ 0.65
884
+ 0.65
885
+ 0.65
886
+ 0.65
887
+ 0.65
888
+ 0.65
889
+ 0.65
890
+ 0.65
891
+ 0.65
892
+ 0.65
893
+ 0.65
894
+ 0.65
895
+ 0.65
896
+ 0.8
897
+ 0.65
898
+ 0.65
899
+ 0.65
900
+ 0.65
901
+ 0.65
902
+ 0.65
903
+ 0.65
904
+ 0.65
905
+ 0.65
906
+ 0.8
907
+ 0.65
908
+ 0.88
909
+ 0.65
910
+ 0.65
911
+ 0.8
912
+ 0.65
913
+ 0.65
914
+ 0.7
915
+ 0.65
916
+ 0.65
917
+ 0.65
918
+ 0.9
919
+ 0.65
920
+ 0.9
921
+ 0.65
922
+ 0.65
923
+ 0.65
924
+ 0.65
925
+ 0.65
926
+ 0.65
927
+ 0.65
928
+ 0.8
929
+ 0.8
930
+ 0.65
931
+ 0.8
932
+ 0.65
933
+ 0.65
934
+ 0.65
935
+ 0.65
936
+ 0.65
937
+ 0.8
938
+ 0.65
939
+ 0.65
940
+ 0.65
941
+ 0.65
942
+ 0.65
943
+ 0.65
944
+ 0.82
945
+ 0.65
946
+ 0.65
947
+ 0.65
948
+ 0.65
949
+ 0.65
950
+ 0.8
951
+ 0.8
952
+ 0.9
953
+ 0.65
954
+ 0.65
955
+ 0.65
956
+ 0.65
957
+ 0.8
958
+ 0.65
959
+ 0.65
960
+ 0.65
961
+ 0.8
962
+ 0.65
963
+ 0.65
964
+ 0.65
965
+ 0.8
966
+ 0.8
967
+ 0.65
968
+ 0.65
969
+ 0.65
970
+ 0.65
971
+ 0.65
972
+ 0.65
973
+ 0.65
974
+ 0.65
975
+ 0.65
976
+ 0.65
977
+ 0.8
978
+ 0.8
979
+ 0.65
980
+ 0.8
981
+ 0.8
982
+ 0.65
983
+ 0.65
984
+ 0.65
985
+ 0.75
986
+ 0.65
987
+ 0.7
988
+ 0.9
989
+ 0.8
990
+ 0.65
991
+ 0.65
992
+ 0.65
993
+ 0.65
994
+ 0.65
995
+ 0.8
996
+ 0.8
997
+ 0.65
998
+ 0.65
999
+ 0.65
1000
+ 0.65
1001
+ 0.65
1002
+ 0.65
1003
+ 0.65
1004
+ 0.88
1005
+ 0.65
1006
+ 0.65
1007
+ 1
1008
+ 0.65
1009
+ 0.65
1010
+ 0.65
1011
+ 0.8
1012
+ 0.65
1013
+ 0.8
1014
+ 0.65
1015
+ 0.65
1016
+ 0.65
1017
+ 0.65
1018
+ 0.65
1019
+ 0.8
1020
+ 0.8
1021
+ 0.65
1022
+ 0.65
1023
+ 0.8
1024
+ 0.65
1025
+ 0.65
1026
+ 0.8
1027
+ 0.8
1028
+ 0.65
1029
+ 0.65
1030
+ 0.8
1031
+ 0.8
1032
+ 0.65
1033
+ 0.65
1034
+ 0.65
1035
+ 0.65
1036
+ 0.65
1037
+ 0.65
1038
+ 0.8
1039
+ 0.65
1040
+ 0.65
1041
+ 0.65
1042
+ 0.65
1043
+ 0.65
1044
+ 0.65
1045
+ 0.65
1046
+ 0.65
1047
+ 0.65
1048
+ 0.65
1049
+ 0.8
1050
+ 0.65
1051
+ 0.8
1052
+ 0.65
1053
+ 0.8
1054
+ 0.8
1055
+ 0.65
1056
+ 0.8
1057
+ 0.65
1058
+ 0.65
1059
+ 0.71
1060
+ 0.65
1061
+ 0.65
1062
+ 0.65
1063
+ 0.79
1064
+ 0.65
1065
+ 0.65
1066
+ 0.65
1067
+ 0.65
1068
+ 0.65
1069
+ 0.89
1070
+ 0.65
1071
+ 0.65
1072
+ 0.8
1073
+ 0.65
1074
+ 0.65
1075
+ 0.65
1076
+ 0.65
1077
+ 0.65
1078
+ 0.8
1079
+ 0.65
1080
+ 0.65
1081
+ 0.9
1082
+ 0.65
1083
+ 0.65
1084
+ 0.65
1085
+ 0.65
1086
+ 0.65
1087
+ 0.65
1088
+ 0.65
1089
+ 0.65
1090
+ 0.65
1091
+ 0.8
1092
+ 0.65
1093
+ 0.65
1094
+ 0.65
1095
+ 0.8
1096
+ 0.65
1097
+ 0.8
1098
+ 0.65
1099
+ 0.65
1100
+ 0.65
1101
+ 0.65
1102
+ 0.65
1103
+ 0.65
1104
+ 0.65
1105
+ 0.8
1106
+ 0.65
1107
+ 0.65
1108
+ 0.65
1109
+ 0.8
1110
+ 0.65
1111
+ 0.65
1112
+ 0.65
1113
+ 0.9
1114
+ 0.65
1115
+ 0.8
1116
+ 0.65
1117
+ 0.65
1118
+ 0.65
1119
+ 0.65
1120
+ 0.65
1121
+ 0.65
1122
+ 0.88
1123
+ 0.65
1124
+ 0.65
1125
+ 0.8
1126
+ 0.65
1127
+ 0.65
1128
+ 0.65
1129
+ 0.65
1130
+ 0.65
1131
+ 0.65
1132
+ 0.65
1133
+ 0.65
1134
+ 0.65
1135
+ 0.65
1136
+ 0.8
1137
+ 0.65
1138
+ 0.65
1139
+ 0.8
1140
+ 0.65
1141
+ 0.65
1142
+ 0.82
1143
+ 0.65
1144
+ 0.9
1145
+ 0.65
1146
+ 0.65
1147
+ 0.65
1148
+ 0.65
1149
+ 0.65
1150
+ 0.8
1151
+ 0.65
1152
+ 0.8
1153
+ 0.65
1154
+ 0.65
1155
+ 0.65
1156
+ 0.8
1157
+ 0.65
1158
+ 0.9
1159
+ 0.65
1160
+ 0.65
1161
+ 0.88
1162
+ 0.65
1163
+ 0.65
1164
+ 0.65
1165
+ 0.65
1166
+ 0.9
1167
+ 0.65
1168
+ 0.65
1169
+ 0.65
1170
+ 0.8
1171
+ 0.65
1172
+ 0.65
1173
+ 0.65
1174
+ 0.65
1175
+ 0.65
1176
+ 0.65
1177
+ 0.65
1178
+ 0.9
1179
+ 0.65
1180
+ 0.65
1181
+ 0.65
1182
+ 0.65
1183
+ 0.8
1184
+ 0.65
1185
+ 0.65
1186
+ 0.65
1187
+ 0.65
1188
+ 0.65
1189
+ 0.65
1190
+ 0.65
1191
+ 0.65
1192
+ 0.65
1193
+ 0.65
1194
+ 0.65
1195
+ 0.89
1196
+ 0.65
1197
+ 0.65
1198
+ 0.8
1199
+ 0.65
1200
+ 0.65
1201
+ 0.65
1202
+ 0.87
1203
+ 0.65
1204
+ 0.66
1205
+ 0.65
1206
+ 0.84
1207
+ 0.65
1208
+ 0.8
1209
+ 0.65
1210
+ 0.65
1211
+ 0.65
1212
+ 0.65
1213
+ 0.65
1214
+ 0.65
1215
+ 0.65
1216
+ 0.65
1217
+ 0.65
1218
+ 0.65
1219
+ 0.65
1220
+ 0.84
1221
+ 0.65
1222
+ 0.65
1223
+ 0.65
1224
+ 0.65
1225
+ 0.65
1226
+ 0.9
1227
+ 0.8
1228
+ 0.65
1229
+ 0.65
1230
+ 0.65
1231
+ 0.65
1232
+ 0.65
1233
+ 0.5
1234
+ 0.65
1235
+ 0.64
1236
+ 0.65
1237
+ 0.65
1238
+ 0.8
1239
+ 0.8
1240
+ 0.65
1241
+ 0.65
1242
+ 0.65
1243
+ 0.65
1244
+ 0.65
1245
+ 0.65
1246
+ 0.65
1247
+ 0.65
1248
+ 0.81
1249
+ 0.65
1250
+ 0.65
1251
+ 0.65
1252
+ 0.65
1253
+ 0.65
1254
+ 0.65
1255
+ 0.65
1256
+ 0.65
1257
+ 0.65
1258
+ 0.8
1259
+ 0.65
1260
+ 0.65
1261
+ 0.8
1262
+ 0.65
1263
+ 0.8
1264
+ 0.8
1265
+ 0.65
1266
+ 0.65
1267
+ 0.65
1268
+ 0.8
1269
+ 0.8
1270
+ 0.65
1271
+ 0.65
1272
+ 0.8
1273
+ 0.65
1274
+ 0.65
1275
+ 0.65
1276
+ 0.65
1277
+ 0.65
1278
+ 0.8
1279
+ 0.65
1280
+ 0.8
1281
+ 0.8
1282
+ 0.65
1283
+ 0.84
1284
+ 0.65
1285
+ 0.65
1286
+ 0.65
1287
+ 0.65
1288
+ 0.65
1289
+ 0.8
1290
+ 0.65
1291
+ 0.65
1292
+ 0.65
1293
+ 0.65
1294
+ 0.65
1295
+ 0.65
1296
+ 0.65
1297
+ 0.65
1298
+ 0.9
1299
+ 0.65
1300
+ 0.8
1301
+ 0.65
1302
+ 0.85
1303
+ 0.65
1304
+ 0.65
1305
+ 0.65
1306
+ 0.9
1307
+ 0.65
1308
+ 0.65
1309
+ 0.65
1310
+ 0.65
1311
+ 0.65
1312
+ 0.8
1313
+ 0.65
1314
+ 0.65
1315
+ 0.65
1316
+ 0.73
1317
+ 0.65
1318
+ 0.65
1319
+ 0.8
1320
+ 0.65
1321
+ 0.65
1322
+ 0.8
1323
+ 0.65
1324
+ 0.8
1325
+ 0.65
1326
+ 0.65
1327
+ 0.86
1328
+ 0.65
1329
+ 0.65
1330
+ 0.65
1331
+ 0.65
1332
+ 0.87
1333
+ 0.65
1334
+ 0.65
1335
+ 0.8
1336
+ 0.65
1337
+ 0.65
1338
+ 0.65
1339
+ 0.65
1340
+ 0.65
1341
+ 0.65
1342
+ 0.65
1343
+ 0.8
1344
+ 0.65
1345
+ 0.65
1346
+ 0.65
1347
+ 0.65
1348
+ 0.65
1349
+ 0.65
1350
+ 0.65
1351
+ 0.8
1352
+ 0.65
1353
+ 0.65
1354
+ 0.8
1355
+ 0.65
1356
+ 0.65
1357
+ 0.65
1358
+ 0.65
1359
+ 0.65
1360
+ 0.8
1361
+ 0.8
1362
+ 0.8
1363
+ 0.65
1364
+ 0.9
1365
+ 0.65
1366
+ 0.65
1367
+ 0.65
1368
+ 0.65
1369
+ 0.65
1370
+ 0.65
1371
+ 0.8
1372
+ 0.65
1373
+ 0.65
1374
+ 0.82
1375
+ 0.8
1376
+ 0.65
1377
+ 0.65
1378
+ 0.65
1379
+ 0.84
1380
+ 0.9
1381
+ 0.9
1382
+ 0.65
1383
+ 0.65
1384
+ 0.65
1385
+ 0.65
1386
+ 0.65
1387
+ 0.65
1388
+ 0.65
1389
+ 0.65
1390
+ 0.65
1391
+ 0.8
1392
+ 0.64
1393
+ 0.65
1394
+ 0.65
1395
+ 0.65
1396
+ 0.8
1397
+ 0.8
1398
+ 0.87
1399
+ 0.65
1400
+ 0.65
1401
+ 0.78
1402
+ 0.65
1403
+ 0.65
1404
+ 0.65
1405
+ 0.65
1406
+ 0.65
1407
+ 0.65
1408
+ 0.65
1409
+ 0.65
1410
+ 0.65
1411
+ 0.65
1412
+ 0.8
1413
+ 0.65
1414
+ 0.8
1415
+ 0.8
1416
+ 0.8
1417
+ 0.65
1418
+ 0.8
1419
+ 0.65
1420
+ 0.65
1421
+ 0.65
1422
+ 0.8
1423
+ 0.65
1424
+ 0.9
1425
+ 0.65
1426
+ 0.65
1427
+ 0.8
1428
+ 0.65
1429
+ 0.85
1430
+ 0.65
1431
+ 0.65
1432
+ 0.65
1433
+ 0.65
1434
+ 0.65
1435
+ 0.65
1436
+ 0.65
1437
+ 0.74
1438
+ 0.65
1439
+ 0.8
1440
+ 0.65
1441
+ 0.65
1442
+ 0.8
1443
+ 0.65
1444
+ 0.65
1445
+ 0.65
1446
+ 0.65
1447
+ 0.65
1448
+ 0.65
1449
+ 0.65
1450
+ 0.8
1451
+ 0.65
1452
+ 0.88
1453
+ 0.65
1454
+ 0.65
1455
+ 0.65
1456
+ 0.65
1457
+ 0.65
1458
+ 0.65
1459
+ 0.83
1460
+ 0.89
1461
+ 0.89
1462
+ 0.65
1463
+ 0.65
1464
+ 0.65
1465
+ 0.65
1466
+ 0.65
1467
+ 0.65
1468
+ 0.65
1469
+ 0.9
1470
+ 0.65
1471
+ 0.65
1472
+ 0.65
1473
+ 0.65
1474
+ 0.65
1475
+ 0.65
1476
+ 0.8
1477
+ 0.65
1478
+ 0.65
1479
+ 0.65
1480
+ 0.65
1481
+ 0.65
1482
+ 0.65
1483
+ 0.86
1484
+ 0.65
1485
+ 0.65
1486
+ 0.65
1487
+ 0.65
1488
+ 0.65
1489
+ 0.65
1490
+ 0.65
1491
+ 0.65
1492
+ 0.65
1493
+ 0.65
1494
+ 0.8
1495
+ 0.65
1496
+ 0.65
1497
+ 0.65
1498
+ 0.65
1499
+ 0.65
1500
+ 0.65
1501
+ 0.65
1502
+ 0.65
1503
+ 0.65
1504
+ 0.65
1505
+ 0.65
1506
+ 0.65
1507
+ 0.8
1508
+ 0.8
1509
+ 0.65
1510
+ 0.65
1511
+ 0.65
1512
+ 0.65
1513
+ 0.65
1514
+ 0.65
1515
+ 0.65
1516
+ 0.65
1517
+ 0.65
1518
+ 0.8
1519
+ 0.65
1520
+ 0.65
1521
+ 0.65
1522
+ 0.65
1523
+ 0.65
1524
+ 0.65
1525
+ 0.65
1526
+ 0.65
1527
+ 0.65
1528
+ 0.65
1529
+ 0.8
1530
+ 0.65
1531
+ 0.65
1532
+ 0.8
1533
+ 0.65
1534
+ 0.65
1535
+ 0.65
1536
+ 0.65
1537
+ 0.8
1538
+ 0.65
1539
+ 0.65
1540
+ 0.65
1541
+ 0.8
1542
+ 0.65
1543
+ 0.8
1544
+ 0.65
1545
+ 0.65
1546
+ 0.65
1547
+ 0.65
1548
+ 0.65
1549
+ 0.65
1550
+ 0.65
1551
+ 0.8
1552
+ 0.65
1553
+ 0.65
1554
+ 0.65
1555
+ 0.8
1556
+ 0.65
1557
+ 0.8
1558
+ 0.8
1559
+ 0.65
1560
+ 0.65
1561
+ 0.65
1562
+ 0.65
1563
+ 0.65
1564
+ 0.8
1565
+ 0.65
1566
+ 0.65
1567
+ 0.65
1568
+ 0.65
1569
+ 0.65
1570
+ 0.8
1571
+ 0.8
1572
+ 0.65
1573
+ 0.65
1574
+ 0.65
1575
+ 0.8
1576
+ 0.65
1577
+ 0.8
1578
+ 0.8
1579
+ 0.65
1580
+ 0.65
1581
+ 0.8
1582
+ 0.65
1583
+ 0.65
1584
+ 0.65
1585
+ 0.65
1586
+ 0.65
1587
+ 0.65
1588
+ 0.8
1589
+ 0.65
1590
+ 0.65
1591
+ 0.8
1592
+ 0.85
1593
+ 0.65
1594
+ 0.65
1595
+ 0.65
1596
+ 0.65
1597
+ 0.65
1598
+ 0.8
1599
+ 0.65
1600
+ 0.8
1601
+ 0.65
1602
+ 0.65
1603
+ 0.65
1604
+ 0.65
1605
+ 0.65
1606
+ 0.8
1607
+ 0.65
1608
+ 0.65
1609
+ 0.65
1610
+ 0.9
1611
+ 0.65
1612
+ 0.65
1613
+ 0.9
1614
+ 0.65
1615
+ 0.65
1616
+ 0.65
1617
+ 0.9
1618
+ 0.65
1619
+ 0.65
1620
+ 0.8
1621
+ 0.65
1622
+ 0.65
1623
+ 0.65
1624
+ 0.65
1625
+ 0.65
1626
+ 0.8
1627
+ 0.65
1628
+ 0.8
1629
+ 0.65
1630
+ 0.65
1631
+ 0.65
1632
+ 0.65
1633
+ 0.65
1634
+ 0.65
1635
+ 0.8
1636
+ 0.65
1637
+ 0.65
1638
+ 0.65
1639
+ 0.86
1640
+ 0.65
1641
+ 0.65
1642
+ 0.65
1643
+ 0.65
1644
+ 0.65
1645
+ 0.65
1646
+ 0.65
1647
+ 0.65
1648
+ 0.87
1649
+ 0.8
1650
+ 0.84
1651
+ 0.65
1652
+ 0.65
1653
+ 0.8
1654
+ 0.65
1655
+ 0.65
1656
+ 0.65
1657
+ 0.65
1658
+ 0.8
1659
+ 0.65
1660
+ 0.8
1661
+ 0.65
1662
+ 0.65
1663
+ 0.65
1664
+ 0.65
1665
+ 0.65
1666
+ 0.8
1667
+ 0.65
1668
+ 0.65
1669
+ 0.8
1670
+ 0.65
1671
+ 0.65
1672
+ 0.8
1673
+ 0.81
1674
+ 0.65
1675
+ 0.65
1676
+ 0.65
1677
+ 0.8
1678
+ 0.65
1679
+ 0.8
1680
+ 0.65
1681
+ 0.65
1682
+ 0.65
1683
+ 0.65
1684
+ 0.65
1685
+ 0.8
1686
+ 0.65
1687
+ 0.65
1688
+ 0.65
1689
+ 0.65
1690
+ 0.8
1691
+ 0.8
1692
+ 0.65
1693
+ 0.7
1694
+ 0.65
1695
+ 0.65
1696
+ 0.8
1697
+ 0.65
1698
+ 0.65
1699
+ 0.65
1700
+ 0.65
1701
+ 0.65
1702
+ 0.8
1703
+ 0.82
1704
+ 0.65
1705
+ 0.65
1706
+ 0.65
1707
+ 0.65
1708
+ 0.65
1709
+ 0.65
1710
+ 0.65
1711
+ 0.65
1712
+ 0.65
1713
+ 0.8
1714
+ 0.65
1715
+ 0.65
1716
+ 0.87
1717
+ 0.65
1718
+ 0.9
1719
+ 0.8
1720
+ 0.65
1721
+ 0.65
1722
+ 0.65
1723
+ 0.9
1724
+ 0.65
1725
+ 0.65
1726
+ 0.65
1727
+ 0.65
1728
+ 0.65
1729
+ 0.8
1730
+ 0.7
1731
+ 0.65
1732
+ 0.65
1733
+ 0.65
1734
+ 0.65
1735
+ 0.65
1736
+ 0.65
1737
+ 0.8
1738
+ 0.65
1739
+ 0.9
1740
+ 0.65
1741
+ 0.65
1742
+ 0.65
1743
+ 0.65
1744
+ 0.65
1745
+ 0.65
1746
+ 0.8
1747
+ 0.65
1748
+ 0.8
1749
+ 0.8
1750
+ 0.65
1751
+ 0.65
1752
+ 0.65
1753
+ 0.65
1754
+ 0.65
1755
+ 0.65
1756
+ 0.65
1757
+ 0.85
1758
+ 0.65
1759
+ 0.65
1760
+ 0.65
1761
+ 0.65
1762
+ 0.65
1763
+ 0.73
1764
+ 0.65
1765
+ 0.8
1766
+ 0.65
1767
+ 0.65
1768
+ 0.65
1769
+ 0.65
1770
+ 0.65
1771
+ 0.65
1772
+ 0.65
1773
+ 0.65
1774
+ 0.9
1775
+ 0.65
1776
+ 0.89
1777
+ 0.8
1778
+ 0.65
1779
+ 0.9
1780
+ 0.65
1781
+ 1
1782
+ 0.65
1783
+ 0.65
1784
+ 0.65
1785
+ 0.65
1786
+ 0.9
1787
+ 0.65
1788
+ 0.65
1789
+ 0.65
1790
+ 0.65
1791
+ 0.89
1792
+ 0.89
1793
+ 0.65
1794
+ 0.65
1795
+ 0.65
1796
+ 0.8
1797
+ 0.75
1798
+ 0.65
1799
+ 0.65
1800
+ 0.65
1801
+ 0.65
1802
+ 0.65
1803
+ 0.65
1804
+ 0.65
1805
+ 0.8
1806
+ 0.65
1807
+ 0.65
1808
+ 0.65
1809
+ 0.65
1810
+ 0.8
1811
+ 0.65
1812
+ 0.65
1813
+ 0.65
1814
+ 0.65
1815
+ 0.65
1816
+ 0.8
1817
+ 0.65
1818
+ 0.65
1819
+ 0.65
1820
+ 0.8
1821
+ 0.8
1822
+ 0.8
1823
+ 0.65
1824
+ 0.65
1825
+ 0.88
1826
+ 0.65
1827
+ 0.8
1828
+ 0.65
1829
+ 0.65
1830
+ 0.8
1831
+ 0.85
1832
+ 0.65
1833
+ 0.65
1834
+ 0.65
1835
+ 0.65
1836
+ 0.65
1837
+ 0.65
1838
+ 0.65
1839
+ 0.8
1840
+ 0.65
1841
+ 0.65
1842
+ 0.8
1843
+ 0.9
1844
+ 0.57
1845
+ 0.65
1846
+ 0.8
1847
+ 0.65
1848
+ 0.65
1849
+ 0.65
1850
+ 0.8
1851
+ 0.65
1852
+ 0.65
1853
+ 0.65
1854
+ 0.65
1855
+ 0.65
1856
+ 0.65
1857
+ 0.65
1858
+ 0.8
1859
+ 0.65
1860
+ 0.65
1861
+ 0.8
1862
+ 0.65
1863
+ 0.65
1864
+ 0.65
1865
+ 0.65
1866
+ 0.65
1867
+ 0.65
1868
+ 0.65
1869
+ 0.65
1870
+ 0.65
1871
+ 0.9
1872
+ 0.8
1873
+ 0.8
1874
+ 0.79
1875
+ 0.65
1876
+ 0.65
1877
+ 0.8
1878
+ 0.65
1879
+ 0.65
1880
+ 0.65
1881
+ 0.65
1882
+ 0.65
1883
+ 0.65
1884
+ 0.65
1885
+ 0.65
1886
+ 0.65
1887
+ 0.65
1888
+ 0.65
1889
+ 0.8
1890
+ 0.65
1891
+ 0.65
1892
+ 0.65
1893
+ 0.8
1894
+ 0.89
1895
+ 0.8
1896
+ 0.65
1897
+ 0.8
1898
+ 0.65
1899
+ 0.8
1900
+ 0.65
1901
+ 0.81
1902
+ 0.65
1903
+ 0.65
1904
+ 0.65
1905
+ 0.8
1906
+ 0.65
1907
+ 0.65
1908
+ 0.65
1909
+ 0.65
1910
+ 0.89
1911
+ 0.65
1912
+ 0.65
1913
+ 0.65
1914
+ 0.65
1915
+ 0.65
1916
+ 0.89
1917
+ 0.84
1918
+ 0.65
1919
+ 0.65
1920
+ 0.65
1921
+ 0.65
1922
+ 0.8
1923
+ 0.65
1924
+ 0.9
1925
+ 0.65
1926
+ 0.65
1927
+ 0.65
1928
+ 0.65
1929
+ 0.65
1930
+ 0.65
1931
+ 0.65
1932
+ 0.65
1933
+ 0.89
1934
+ 0.65
1935
+ 0.8
1936
+ 0.83
1937
+ 0.65
1938
+ 0.65
1939
+ 0.8
1940
+ 0.65
1941
+ 0.65
1942
+ 0.72
1943
+ 0.65
1944
+ 0.65
1945
+ 0.65
1946
+ 0.8
1947
+ 0.8
1948
+ 0.65
1949
+ 0.8
1950
+ 0.65
1951
+ 0.65
1952
+ 0.65
1953
+ 0.8
1954
+ 0.65
1955
+ 0.65
1956
+ 0.65
1957
+ 0.8
1958
+ 0.65
1959
+ 0.65
1960
+ 0.65
1961
+ 0.65
1962
+ 0.65
1963
+ 0.65
1964
+ 0.65
1965
+ 0.65
1966
+ 1
1967
+ 0.65
1968
+ 0.65
1969
+ 0.8
1970
+ 0.65
1971
+ 0.65
1972
+ 0.65
1973
+ 0.65
1974
+ 0.65
1975
+ 0.8
1976
+ 0.65
1977
+ 0.9
1978
+ 0.65
1979
+ 0.65
1980
+ 0.89
1981
+ 0.65
1982
+ 0.65
1983
+ 0.65
1984
+ 0.65
1985
+ 0.9
1986
+ 0.65
1987
+ 0.65
1988
+ 0.65
1989
+ 0.65
1990
+ 0.8
1991
+ 0.65
1992
+ 0.65
1993
+ 0.65
1994
+ 0.65
1995
+ 0.65
1996
+ 0.65
1997
+ 0.65
1998
+ 0.8
1999
+ 0.8
2000
+ 0.65
2001
+ 0.69
2002
+ 0.8
2003
+ 0.65
2004
+ 0.65
2005
+ 0.65
2006
+ 0.9
2007
+ 0.65
2008
+ 0.65
2009
+ 0.65
2010
+ 0.65
2011
+ 0.71
2012
+ 0.65
2013
+ 0.65
2014
+ 0.65
2015
+ 0.88
2016
+ 0.65
2017
+ 0.65
2018
+ 0.65
2019
+ 0.65
2020
+ 0.8
2021
+ 0.65
2022
+ 0.65
2023
+ 0.65
2024
+ 0.85
2025
+ 0.65
2026
+ 0.8
2027
+ 0.65
2028
+ 0.65
2029
+ 0.65
2030
+ 0.8
2031
+ 0.65
2032
+ 0.65
2033
+ 0.65
2034
+ 0.65
2035
+ 0.65
2036
+ 0.65
2037
+ 0.65
2038
+ 0.65
2039
+ 0.65
2040
+ 0.65
2041
+ 0.65
2042
+ 0.65
2043
+ 0.65
2044
+ 0.65
2045
+ 0.87
2046
+ 0.65
2047
+ 0.65
2048
+ 0.65
2049
+ 0.65
2050
+ 0.65
2051
+ 0.65
2052
+ 0.8
2053
+ 0.65
2054
+ 0.65
2055
+ 0.65
2056
+ 0.65
2057
+ 0.65
2058
+ 0.65
2059
+ 0.65
2060
+ 0.8
2061
+ 0.65
2062
+ 0.65
2063
+ 0.65
2064
+ 0.65
2065
+ 0.65
2066
+ 0.9
2067
+ 0.8
2068
+ 0.9
2069
+ 0.65
2070
+ 0.8
2071
+ 0.8
2072
+ 0.65
2073
+ 0.65
2074
+ 0.8
2075
+ 0.8
2076
+ 0.65
2077
+ 0.8
2078
+ 0.65
2079
+ 0.65
2080
+ 0.65
2081
+ 0.65
2082
+ 0.65
2083
+ 0.65
2084
+ 0.65
2085
+ 0.65
2086
+ 0.8
2087
+ 0.8
2088
+ 0.65
2089
+ 0.65
2090
+ 0.8
2091
+ 0.65
2092
+ 0.65
2093
+ 0.65
2094
+ 0.65
2095
+ 0.65
2096
+ 0.65
2097
+ 0.65
2098
+ 0.65
2099
+ 0.65
2100
+ 0.8
2101
+ 0.8
2102
+ 0.65
2103
+ 0.65
2104
+ 0.65
2105
+ 0.65
2106
+ 0.65
2107
+ 0.65
2108
+ 0.8
2109
+ 0.8
2110
+ 0.65
2111
+ 0.65
2112
+ 0.8
2113
+ 0.65
2114
+ 0.65
2115
+ 0.8
2116
+ 0.65
2117
+ 0.8
2118
+ 0.65
2119
+ 0.65
2120
+ 0.65
2121
+ 0.65
2122
+ 0.65
2123
+ 0.65
2124
+ 0.8
2125
+ 0.8
2126
+ 0.65
2127
+ 0.8
2128
+ 0.65
2129
+ 0.65
2130
+ 0.65
2131
+ 0.65
2132
+ 0.65
2133
+ 0.65
2134
+ 0.65
2135
+ 0.65
2136
+ 0.65
2137
+ 0.65
2138
+ 0.65
2139
+ 0.65
2140
+ 0.65
2141
+ 0.8
2142
+ 0.65
2143
+ 0.65
2144
+ 0.65
2145
+ 0.8
2146
+ 0.8
2147
+ 0.65
2148
+ 0.85
2149
+ 0.65
2150
+ 0.65
2151
+ 0.8
2152
+ 0.65
2153
+ 0.89
2154
+ 0.65
2155
+ 0.65
2156
+ 0.9
2157
+ 0.8
2158
+ 0.65
2159
+ 0.65
2160
+ 0.65
2161
+ 0.65
2162
+ 0.8
2163
+ 0.65
2164
+ 0.86
2165
+ 0.65
2166
+ 0.77
2167
+ 0.65
2168
+ 0.65
2169
+ 0.65
2170
+ 0.65
2171
+ 0.65
2172
+ 0.65
2173
+ 0.65
2174
+ 0.65
2175
+ 0.65
2176
+ 0.65
2177
+ 0.9
2178
+ 0.65
2179
+ 0.8
2180
+ 0.65
2181
+ 0.65
2182
+ 0.65
2183
+ 0.9
2184
+ 0.65
2185
+ 0.65
2186
+ 0.65
2187
+ 0.65
2188
+ 0.65
2189
+ 0.65
2190
+ 0.65
2191
+ 0.65
2192
+ 0.65
2193
+ 0.65
2194
+ 0.65
2195
+ 0.65
2196
+ 0.65
2197
+ 0.65
2198
+ 0.65
2199
+ 0.65
2200
+ 0.8
2201
+ 0.65
2202
+ 0.65
2203
+ 0.65
2204
+ 0.9
2205
+ 0.65
2206
+ 0.65
2207
+ 0.8
2208
+ 0.8
2209
+ 0.65
2210
+ 0.65
2211
+ 0.65
2212
+ 0.65
2213
+ 0.8
2214
+ 0.65
2215
+ 0.65
2216
+ 0.65
2217
+ 0.65
2218
+ 0.65
2219
+ 0.65
2220
+ 0.65
2221
+ 0.65
2222
+ 0.8
2223
+ 0.65
2224
+ 0.65
2225
+ 0.65
2226
+ 0.65
2227
+ 0.65
2228
+ 0.65
2229
+ 0.8
2230
+ 0.65
2231
+ 0.65
2232
+ 0.8
2233
+ 0.65
2234
+ 0.65
2235
+ 0.8
2236
+ 0.8
2237
+ 0.8
2238
+ 0.65
2239
+ 0.65
2240
+ 0.65
2241
+ 0.65
2242
+ 0.8
2243
+ 0.65
2244
+ 0.65
2245
+ 0.65
2246
+ 0.65
2247
+ 0.65
2248
+ 0.89
2249
+ 0.65
2250
+ 0.65
2251
+ 0.65
2252
+ 0.65
2253
+ 0.65
2254
+ 0.65
2255
+ 0.65
2256
+ 0.8
2257
+ 0.65
2258
+ 0.65
2259
+ 0.65
2260
+ 0.65
2261
+ 0.65
2262
+ 0.65
2263
+ 0.65
2264
+ 0.65
2265
+ 0.65
2266
+ 0.65
2267
+ 0.65
2268
+ 0.65
2269
+ 0.8
2270
+ 0.65
2271
+ 0.65
2272
+ 0.65
2273
+ 0.75
2274
+ 0.8
2275
+ 0.65
2276
+ 0.8
2277
+ 0.88
2278
+ 0.65
2279
+ 0.65
2280
+ 0.65
2281
+ 0.65
2282
+ 0.65
2283
+ 0.65
2284
+ 0.65
2285
+ 0.65
2286
+ 0.65
2287
+ 0.65
2288
+ 0.65
2289
+ 0.65
2290
+ 0.65
2291
+ 0.65
2292
+ 0.65
2293
+ 0.65
2294
+ 0.65
2295
+ 0.8
2296
+ 0.65
2297
+ 0.65
2298
+ 0.65
2299
+ 0.88
2300
+ 0.65
2301
+ 0.65
2302
+ 0.65
2303
+ 0.65
2304
+ 0.65
2305
+ 0.65
2306
+ 0.65
2307
+ 0.65
2308
+ 0.65
2309
+ 0.8
2310
+ 0.65
2311
+ 0.82
2312
+ 0.65
2313
+ 0.65
2314
+ 0.8
2315
+ 0.65
2316
+ 0.8
2317
+ 0.65
2318
+ 0.9
2319
+ 0.65
2320
+ 0.65
2321
+ 0.65
2322
+ 0.65
2323
+ 0.65
2324
+ 0.65
2325
+ 0.65
2326
+ 0.65
2327
+ 0.65
2328
+ 0.65
2329
+ 0.83
2330
+ 0.65
2331
+ 0.65
2332
+ 0.92
2333
+ 0.89
2334
+ 0.8
2335
+ 0.8
2336
+ 0.65
2337
+ 0.65
2338
+ 0.65
2339
+ 0.65
2340
+ 0.75
2341
+ 0.65
2342
+ 0.65
2343
+ 0.65
2344
+ 0.65
2345
+ 0.8
2346
+ 0.65
2347
+ 0.65
2348
+ 0.8
2349
+ 0.65
2350
+ 0.65
2351
+ 0.65
2352
+ 0.85
2353
+ 0.65
2354
+ 0.8
2355
+ 0.65
2356
+ 0.65
2357
+ 0.65
2358
+ 0.65
2359
+ 0.65
2360
+ 0.65
2361
+ 0.65
2362
+ 0.65
2363
+ 0.8
2364
+ 0.65
2365
+ 0.65
2366
+ 0.65
2367
+ 0.65
2368
+ 0.65
2369
+ 0.8
2370
+ 0.65
2371
+ 0.65
2372
+ 0.87
2373
+ 0.65
2374
+ 0.79
2375
+ 0.65
2376
+ 0.65
2377
+ 0.65
2378
+ 0.65
2379
+ 0.65
2380
+ 0.65
2381
+ 0.65
2382
+ 0.65
2383
+ 0.65
2384
+ 0.65
2385
+ 0.8
2386
+ 0.65
2387
+ 0.65
2388
+ 0.65
2389
+ 0.65
2390
+ 0.65
2391
+ 0.65
2392
+ 0.65
2393
+ 0.83
2394
+ 0.8
2395
+ 0.65
2396
+ 0.65
2397
+ 0.8
2398
+ 0.8
2399
+ 0.65
2400
+ 0.7
2401
+ 0.65
2402
+ 0.65
2403
+ 0.8
2404
+ 0.65
2405
+ 0.65
2406
+ 0.8
2407
+ 0.8
2408
+ 0.65
2409
+ 0.8
2410
+ 0.65
2411
+ 0.65
2412
+ 0.65
2413
+ 0.65
2414
+ 0.9
2415
+ 0.8
2416
+ 0.65
2417
+ 0.65
2418
+ 0.65
2419
+ 0.65
2420
+ 0.7
2421
+ 0.65
2422
+ 0.65
2423
+ 0.65
2424
+ 0.65
2425
+ 0.65
2426
+ 0.65
2427
+ 0.87
2428
+ 0.65
2429
+ 0.65
2430
+ 0.65
2431
+ 0.65
2432
+ 0.8
2433
+ 0.82
2434
+ 0.65
2435
+ 0.8
2436
+ 0.65
2437
+ 0.65
2438
+ 0.9
2439
+ 0.65
2440
+ 0.65
2441
+ 0.65
2442
+ 0.65
2443
+ 0.65
2444
+ 1
2445
+ 0.65
2446
+ 0.65
2447
+ 0.65
2448
+ 0.65
2449
+ 0.65
2450
+ 0.65
2451
+ 0.65
2452
+ 0.65
2453
+ 0.8
2454
+ 0.64
2455
+ 0.65
2456
+ 0.65
2457
+ 0.63
2458
+ 0.65
2459
+ 0.65
2460
+ 0.65
2461
+ 0.65
2462
+ 0.8
2463
+ 0.65
2464
+ 0.65
2465
+ 0.65
2466
+ 0.65
2467
+ 0.76
2468
+ 0.65
2469
+ 0.65
2470
+ 0.65
2471
+ 0.65
2472
+ 0.8
2473
+ 0.65
2474
+ 0.8
2475
+ 0.65
2476
+ 0.8
2477
+ 0.65
2478
+ 0.75
2479
+ 0.65
2480
+ 0.65
2481
+ 0.65
2482
+ 0.8
2483
+ 0.65
2484
+ 0.65
2485
+ 0.65
2486
+ 0.65
2487
+ 0.8
2488
+ 0.65
2489
+ 0.65
2490
+ 0.8
2491
+ 0.65
2492
+ 0.65
2493
+ 0.65
2494
+ 0.65
2495
+ 0.65
2496
+ 0.65
2497
+ 0.65
2498
+ 0.65
2499
+ 0.8
2500
+ 0.65
2501
+ 0.87
2502
+ 0.65
2503
+ 0.65
2504
+ 0.8
2505
+ 0.65
2506
+ 0.65
2507
+ 0.65
2508
+ 0.65
2509
+ 0.65
2510
+ 0.65
2511
+ 0.65
2512
+ 0.65
2513
+ 0.65
2514
+ 0.65
2515
+ 0.8
2516
+ 0.65
2517
+ 0.8
2518
+ 0.65
2519
+ 0.65
2520
+ 0.65
2521
+ 0.65
2522
+ 0.65
2523
+ 0.65
2524
+ 0.65
2525
+ 0.65
2526
+ 0.65
2527
+ 0.65
2528
+ 0.65
2529
+ 0.8
2530
+ 0.65
2531
+ 0.65
2532
+ 0.65
2533
+ 0.65
2534
+ 0.65
2535
+ 0.65
2536
+ 0.65
2537
+ 0.65
2538
+ 0.8
2539
+ 0.65
2540
+ 0.8
2541
+ 0.65
2542
+ 0.65
2543
+ 0.65
2544
+ 0.65
2545
+ 0.65
2546
+ 0.8
2547
+ 0.65
2548
+ 0.82
2549
+ 0.65
2550
+ 0.65
2551
+ 0.65
2552
+ 0.65
2553
+ 0.65
2554
+ 0.8
2555
+ 0.89
2556
+ 0.65
2557
+ 0.8
2558
+ 0.65
2559
+ 0.65
2560
+ 0.65
2561
+ 0.65
2562
+ 0.65
2563
+ 0.9
2564
+ 0.65
2565
+ 0.65
2566
+ 0.65
2567
+ 0.65
2568
+ 0.65
2569
+ 0.65
2570
+ 0.8
2571
+ 0.65
2572
+ 0.65
2573
+ 0.65
2574
+ 0.65
2575
+ 0.65
2576
+ 0.65
2577
+ 0.65
2578
+ 0.65
2579
+ 0.8
2580
+ 0.65
2581
+ 0.65
2582
+ 0.65
2583
+ 0.65
2584
+ 0.65
2585
+ 0.65
2586
+ 0.65
2587
+ 0.65
2588
+ 0.65
2589
+ 0.8
2590
+ 0.65
2591
+ 0.65
2592
+ 0.9
2593
+ 0.65
2594
+ 0.65
2595
+ 0.65
2596
+ 0.65
2597
+ 0.8
2598
+ 0.65
2599
+ 0.65
2600
+ 0.9
2601
+ 0.65
2602
+ 0.65
2603
+ 0.8
2604
+ 0.65
2605
+ 0.65
2606
+ 0.8
2607
+ 0.65
2608
+ 0.65
2609
+ 0.65
2610
+ 0.65
2611
+ 0.8
2612
+ 0.65
2613
+ 0.65
2614
+ 0.65
2615
+ 0.65
2616
+ 0.8
2617
+ 0.65
2618
+ 0.65
2619
+ 0.65
2620
+ 0.65
2621
+ 0.65
2622
+ 0.9
2623
+ 0.8
2624
+ 0.65
2625
+ 0.73
2626
+ 0.65
2627
+ 0.65
2628
+ 0.8
2629
+ 0.65
2630
+ 0.65
2631
+ 0.65
2632
+ 0.65
2633
+ 0.86
2634
+ 0.65
2635
+ 0.9
2636
+ 0.65
2637
+ 0.65
2638
+ 0.65
2639
+ 0.65
2640
+ 0.65
2641
+ 0.65
2642
+ 0.65
2643
+ 0.65
2644
+ 0.65
2645
+ 0.65
2646
+ 0.65
2647
+ 0.65
2648
+ 0.65
2649
+ 0.65
2650
+ 0.65
2651
+ 0.65
2652
+ 0.65
2653
+ 0.65
2654
+ 0.65
2655
+ 0.9
2656
+ 0.65
2657
+ 0.65
2658
+ 0.65
2659
+ 0.65
2660
+ 0.8
2661
+ 0.65
2662
+ 0.65
2663
+ 0.65
2664
+ 0.65
2665
+ 0.65
2666
+ 0.8
2667
+ 0.65
2668
+ 0.8
2669
+ 0.65
2670
+ 0.65
2671
+ 0.65
2672
+ 0.65
2673
+ 0.65
2674
+ 0.8
2675
+ 0.8
2676
+ 0.9
2677
+ 0.65
2678
+ 0.9
2679
+ 0.65
2680
+ 0.65
2681
+ 0.65
2682
+ 0.65
2683
+ 0.86
2684
+ 0.65
2685
+ 0.65
2686
+ 0.65
2687
+ 0.65
2688
+ 0.65
2689
+ 0.65
2690
+ 0.8
2691
+ 0.65
2692
+ 0.65
2693
+ 0.65
2694
+ 0.65
2695
+ 0.65
2696
+ 0.86
2697
+ 0.65
2698
+ 0.8
2699
+ 0.8
2700
+ 0.65
2701
+ 0.8
2702
+ 0.65
2703
+ 0.65
2704
+ 0.8
2705
+ 0.65
2706
+ 0.65
2707
+ 0.69
2708
+ 0.65
2709
+ 0.65
2710
+ 0.65
2711
+ 0.65
2712
+ 0.65
2713
+ 0.88
2714
+ 0.65
2715
+ 0.65
2716
+ 0.65
2717
+ 0.65
2718
+ 0.65
2719
+ 0.65
2720
+ 0.65
2721
+ 0.65
2722
+ 0.8
2723
+ 0.65
2724
+ 0.65
2725
+ 0.65
2726
+ 0.65
2727
+ 0.65
2728
+ 0.65
2729
+ 0.65
2730
+ 0.72
2731
+ 0.65
2732
+ 0.65
2733
+ 0.8
2734
+ 0.65
2735
+ 0.8
2736
+ 0.8
2737
+ 0.65
2738
+ 0.65
2739
+ 0.65
2740
+ 0.65
2741
+ 0.65
2742
+ 0.65
2743
+ 0.9
2744
+ 0.65
2745
+ 0.65
2746
+ 0.65
2747
+ 0.65
2748
+ 0.8
2749
+ 0.65
2750
+ 0.65
2751
+ 0.9
2752
+ 0.9
2753
+ 0.8
2754
+ 0.8
2755
+ 0.65
2756
+ 0.65
2757
+ 0.65
2758
+ 0.65
2759
+ 0.8
2760
+ 0.65
2761
+ 0.65
2762
+ 0.65
2763
+ 0.65
2764
+ 0.8
2765
+ 0.65
2766
+ 0.65
2767
+ 0.65
2768
+ 0.8
2769
+ 0.65
2770
+ 0.65
2771
+ 0.65
2772
+ 0.8
2773
+ 0.65
2774
+ 0.65
2775
+ 0.65
2776
+ 0.65
2777
+ 0.45
2778
+ 0.8
2779
+ 0.65
2780
+ 0.88
2781
+ 0.65
2782
+ 0.65
2783
+ 0.65
2784
+ 0.65
2785
+ 0.65
2786
+ 0.65
2787
+ 0.65
2788
+ 0.65
2789
+ 0.65
2790
+ 0.65
2791
+ 0.8
2792
+ 0.8
2793
+ 0.65
2794
+ 0.65
2795
+ 0.65
2796
+ 0.8
2797
+ 0.65
2798
+ 0.8
2799
+ 0.65
2800
+ 0.8
2801
+ 0.51
2802
+ 0.65
2803
+ 0.65
2804
+ 0.8
2805
+ 0.65
2806
+ 0.65
2807
+ 0.8
2808
+ 0.8
2809
+ 0.65
2810
+ 0.65
2811
+ 0.65
2812
+ 0.65
2813
+ 0.65
2814
+ 0.8
2815
+ 0.65
2816
+ 0.65
2817
+ 0.65
2818
+ 0.65
2819
+ 0.65
2820
+ 0.65
2821
+ 0.65
2822
+ 0.65
2823
+ 0.65
2824
+ 0.65
2825
+ 0.65
2826
+ 0.65
2827
+ 0.65
2828
+ 0.65
2829
+ 0.65
2830
+ 0.66
2831
+ 0.65
2832
+ 0.8
2833
+ 0.9
2834
+ 0.65
2835
+ 0.65
2836
+ 0.65
2837
+ 0.65
2838
+ 0.65
2839
+ 0.65
2840
+ 0.65
2841
+ 0.8
2842
+ 0.8
2843
+ 0.65
2844
+ 0.8
2845
+ 0.65
2846
+ 0.65
2847
+ 0.65
2848
+ 0.65
2849
+ 0.65
2850
+ 0.65
2851
+ 0.65
2852
+ 0.65
2853
+ 0.65
2854
+ 0.65
2855
+ 0.8
2856
+ 0.8
2857
+ 0.65
2858
+ 0.65
2859
+ 0.65
2860
+ 0.65
2861
+ 0.65
2862
+ 0.65
2863
+ 0.65
2864
+ 0.65
2865
+ 0.81
2866
+ 0.65
2867
+ 0.65
2868
+ 0.65
2869
+ 0.65
2870
+ 0.65
2871
+ 0.65
2872
+ 0.65
2873
+ 0.8
2874
+ 0.65
2875
+ 0.65
2876
+ 0.8
2877
+ 0.65
2878
+ 0.75
2879
+ 0.65
2880
+ 0.65
2881
+ 0.65
2882
+ 0.8
2883
+ 0.65
2884
+ 0.65
2885
+ 0.8
2886
+ 0.65
2887
+ 0.66
2888
+ 0.65
2889
+ 0.65
2890
+ 0.65
2891
+ 0.65
2892
+ 0.65
2893
+ 0.65
2894
+ 0.8
2895
+ 0.65
2896
+ 0.65
2897
+ 0.65
2898
+ 0.65
2899
+ 0.65
2900
+ 0.9
2901
+ 0.65
2902
+ 0.65
2903
+ 0.8
2904
+ 0.65
2905
+ 0.65
2906
+ 0.65
2907
+ 0.65
2908
+ 0.65
2909
+ 0.9
2910
+ 0.8
2911
+ 0.65
2912
+ 0.85
2913
+ 0.8
2914
+ 0.65
2915
+ 0.65
2916
+ 0.8
2917
+ 0.65
2918
+ 0.65
2919
+ 0.65
2920
+ 0.65
2921
+ 0.9
2922
+ 0.65
2923
+ 0.65
2924
+ 0.65
2925
+ 0.65
2926
+ 0.65
2927
+ 0.65
2928
+ 0.65
2929
+ 0.65
2930
+ 0.8
2931
+ 0.65
2932
+ 0.65
2933
+ 0.65
2934
+ 0.65
2935
+ 0.65
2936
+ 0.65
2937
+ 0.65
2938
+ 0.65
2939
+ 0.8
2940
+ 0.65
2941
+ 0.65
2942
+ 0.65
2943
+ 0.81
2944
+ 0.65
2945
+ 0.65
2946
+ 0.65
2947
+ 0.65
2948
+ 0.65
2949
+ 0.65
2950
+ 0.89
2951
+ 0.65
2952
+ 0.8
2953
+ 0.65
2954
+ 0.65
2955
+ 0.8
2956
+ 0.65
2957
+ 0.65
2958
+ 0.65
2959
+ 0.79
2960
+ 0.75
2961
+ 0.65
2962
+ 0.65
2963
+ 0.8
2964
+ 0.65
2965
+ 0.67
2966
+ 0.8
2967
+ 0.8
2968
+ 0.86
2969
+ 0.65
2970
+ 0.65
2971
+ 0.65
2972
+ 0.65
2973
+ 0.65
2974
+ 0.65
2975
+ 0.81
2976
+ 0.8
2977
+ 0.65
2978
+ 0.65
2979
+ 0.9
2980
+ 0.65
2981
+ 0.79
2982
+ 0.65
2983
+ 0.8
2984
+ 0.65
2985
+ 0.65
2986
+ 0.65
2987
+ 0.65
2988
+ 0.65
2989
+ 0.65
2990
+ 0.65
2991
+ 0.65
2992
+ 0.65
2993
+ 0.65
2994
+ 0.65
2995
+ 0.65
2996
+ 0.65
2997
+ 0.8
2998
+ 0.65
2999
+ 0.77
3000
+ 0.65
3001
+ 0.65
3002
+ 0.65
3003
+ 0.65
3004
+ 0.65
3005
+ 0.65
3006
+ 0.65
3007
+ 0.65
3008
+ 0.65
3009
+ 0.8
3010
+ 0.8
3011
+ 0.8
3012
+ 0.65
3013
+ 0.74
3014
+ 0.65
3015
+ 0.65
3016
+ 0.65
3017
+ 0.65
3018
+ 0.65
3019
+ 0.65
3020
+ 0.6
3021
+ 0.65
3022
+ 0.65
3023
+ 0.65
3024
+ 0.65
3025
+ 0.65
3026
+ 0.65
3027
+ 0.65
3028
+ 0.65
3029
+ 0.8
3030
+ 0.65
3031
+ 0.65
3032
+ 0.8
3033
+ 0.65
3034
+ 0.65
3035
+ 0.8
3036
+ 0.65
3037
+ 0.65
3038
+ 0.65
3039
+ 0.89
3040
+ 0.8
3041
+ 0.65
3042
+ 0.65
3043
+ 0.88
3044
+ 0.65
3045
+ 0.65
3046
+ 0.65
3047
+ 0.9
3048
+ 0.75
3049
+ 0.65
3050
+ 0.65
3051
+ 0.65
3052
+ 0.8
3053
+ 0.6
3054
+ 0.65
3055
+ 0.65
3056
+ 0.65
3057
+ 0.9
3058
+ 0.65
3059
+ 0.65
3060
+ 0.65
3061
+ 0.84
3062
+ 0.65
3063
+ 0.65
3064
+ 0.8
3065
+ 0.65
3066
+ 0.65
3067
+ 0.8
3068
+ 0.65
3069
+ 0.65
3070
+ 0.65
3071
+ 0.65
3072
+ 0.65
3073
+ 0.65
3074
+ 0.65
3075
+ 0.65
3076
+ 0.65
3077
+ 0.8
3078
+ 0.65
3079
+ 0.65
3080
+ 0.65
3081
+ 0.9
3082
+ 0.65
3083
+ 0.65
3084
+ 0.65
3085
+ 0.65
3086
+ 0.8
3087
+ 0.65
3088
+ 0.8
3089
+ 0.65
3090
+ 0.8
3091
+ 0.8
3092
+ 0.8
3093
+ 0.65
3094
+ 0.8
3095
+ 0.65
3096
+ 0.65
3097
+ 0.65
3098
+ 0.65
3099
+ 0.8
3100
+ 0.65
3101
+ 0.65
3102
+ 0.85
3103
+ 0.65
3104
+ 0.65
3105
+ 0.8
3106
+ 0.65
3107
+ 0.65
3108
+ 0.65
3109
+ 0.65
3110
+ 0.65
3111
+ 0.65
3112
+ 0.65
3113
+ 0.65
3114
+ 0.8
3115
+ 0.8
3116
+ 0.65
3117
+ 0.65
3118
+ 0.65
3119
+ 0.65
3120
+ 0.65
3121
+ 0.63
3122
+ 0.65
3123
+ 0.65
3124
+ 0.65
3125
+ 0.7
3126
+ 0.65
3127
+ 0.65
3128
+ 0.65
3129
+ 0.65
3130
+ 0.65
3131
+ 0.65
3132
+ 0.65
3133
+ 0.65
3134
+ 0.65
3135
+ 0.65
3136
+ 0.65
3137
+ 0.65
3138
+ 0.65
3139
+ 0.8
3140
+ 0.65
3141
+ 0.65
3142
+ 0.8
3143
+ 0.65
3144
+ 0.65
3145
+ 0.65
3146
+ 0.65
3147
+ 0.65
3148
+ 0.65
3149
+ 0.9
3150
+ 0.9
3151
+ 0.65
3152
+ 0.65
3153
+ 0.8
3154
+ 0.65
3155
+ 0.65
3156
+ 0.65
3157
+ 0.65
3158
+ 0.65
3159
+ 0.65
3160
+ 0.84
3161
+ 0.65
3162
+ 0.65
3163
+ 0.8
3164
+ 0.65
3165
+ 0.81
3166
+ 0.8
3167
+ 0.8
3168
+ 0.8
3169
+ 0.82
3170
+ 0.65
3171
+ 0.65
3172
+ 0.65
3173
+ 0.8
3174
+ 0.65
3175
+ 0.65
3176
+ 0.65
3177
+ 0.65
3178
+ 0.65
3179
+ 0.65
3180
+ 0.8
3181
+ 0.65
3182
+ 0.8
3183
+ 0.65
3184
+ 0.8
3185
+ 0.65
3186
+ 0.88
3187
+ 0.65
3188
+ 0.8
3189
+ 0.65
3190
+ 0.7
3191
+ 0.65
3192
+ 0.65
3193
+ 0.65
3194
+ 0.65
3195
+ 0.65
3196
+ 0.65
3197
+ 0.65
3198
+ 0.65
3199
+ 0.8
3200
+ 0.65
3201
+ 0.65
3202
+ 0.65
3203
+ 0.65
3204
+ 0.65
3205
+ 0.8
3206
+ 0.65
3207
+ 0.65
3208
+ 0.65
3209
+ 0.8
3210
+ 0.65
3211
+ 1
3212
+ 0.8
3213
+ 0.8
3214
+ 0.65
3215
+ 0.65
3216
+ 0.65
3217
+ 0.8
3218
+ 0.8
3219
+ 0.8
3220
+ 0.65
3221
+ 0.74
3222
+ 0.65
3223
+ 0.65
3224
+ 0.65
3225
+ 0.8
3226
+ 0.65
3227
+ 0.8
3228
+ 0.65
3229
+ 0.65
3230
+ 0.65
3231
+ 0.65
3232
+ 0.65
3233
+ 0.65
3234
+ 0.65
3235
+ 0.65
3236
+ 0.65
3237
+ 0.65
3238
+ 0.8
3239
+ 0.8
3240
+ 0.65
3241
+ 0.65
3242
+ 0.65
3243
+ 0.65
3244
+ 0.65
3245
+ 0.65
3246
+ 0.65
3247
+ 0.65
3248
+ 0.8
3249
+ 0.65
3250
+ 0.65
3251
+ 0.65
3252
+ 0.85
3253
+ 0.65
3254
+ 0.65
3255
+ 0.65
3256
+ 0.65
3257
+ 0.8
3258
+ 0.8
3259
+ 0.65
3260
+ 0.65
3261
+ 0.65
3262
+ 0.8
3263
+ 0.65
3264
+ 0.65
3265
+ 0.65
3266
+ 0.65
3267
+ 0.65
3268
+ 0.8
3269
+ 0.65
3270
+ 0.8
3271
+ 0.65
3272
+ 0.65
3273
+ 0.65
3274
+ 0.65
3275
+ 0.65
3276
+ 0.8
3277
+ 0.9
3278
+ 0.86
3279
+ 0.8
3280
+ 0.65
3281
+ 0.8
3282
+ 0.8
3283
+ 0.65
3284
+ 0.65
3285
+ 0.65
3286
+ 0.65
3287
+ 0.65
3288
+ 0.65
3289
+ 0.65
3290
+ 0.65
3291
+ 0.64
3292
+ 0.65
3293
+ 0.65
3294
+ 0.8
3295
+ 0.8
3296
+ 0.65
3297
+ 0.87
3298
+ 0.65
3299
+ 0.65
3300
+ 0.8
3301
+ 0.8
3302
+ 0.65
3303
+ 0.65
3304
+ 0.65
3305
+ 0.65
3306
+ 0.65
3307
+ 0.65
3308
+ 0.65
3309
+ 0.65
3310
+ 0.87
3311
+ 0.65
3312
+ 0.65
3313
+ 0.65
3314
+ 0.65
3315
+ 0.65
3316
+ 0.65
3317
+ 0.8
3318
+ 0.65
3319
+ 0.65
3320
+ 0.8
3321
+ 0.65
3322
+ 0.65
3323
+ 0.65
3324
+ 0.7
3325
+ 0.65
3326
+ 0.65
3327
+ 0.8
3328
+ 0.65
3329
+ 0.65
3330
+ 0.75
3331
+ 0.65
3332
+ 0.65
3333
+ 0.65
3334
+ 0.65
3335
+ 0.65
3336
+ 0.65
3337
+ 0.85
3338
+ 0.8
3339
+ 0.65
3340
+ 0.65
3341
+ 0.65
3342
+ 0.65
3343
+ 0.65
3344
+ 0.65
3345
+ 0.65
3346
+ 0.65
3347
+ 0.8
3348
+ 0.8
3349
+ 0.65
3350
+ 0.65
3351
+ 0.65
3352
+ 0.65
3353
+ 0.65
3354
+ 0.65
3355
+ 0.65
3356
+ 0.65
3357
+ 0.8
3358
+ 0.65
3359
+ 0.65
3360
+ 0.65
3361
+ 0.71
3362
+ 0.65
3363
+ 0.65
3364
+ 0.65
3365
+ 0.65
3366
+ 0.65
3367
+ 0.65
3368
+ 0.65
3369
+ 0.65
3370
+ 0.65
3371
+ 0.65
3372
+ 0.65
3373
+ 0.65
3374
+ 0.8
3375
+ 0.65
3376
+ 0.65
3377
+ 0.65
3378
+ 0.73
3379
+ 0.65
3380
+ 0.65
3381
+ 0.8
3382
+ 0.65
3383
+ 0.65
3384
+ 0.65
3385
+ 0.65
3386
+ 0.8
3387
+ 0.8
3388
+ 0.65
3389
+ 0.65
3390
+ 0.8
3391
+ 0.65
3392
+ 0.65
3393
+ 0.65
3394
+ 0.65
3395
+ 0.9
3396
+ 0.65
3397
+ 0.65
3398
+ 0.8
3399
+ 0.65
3400
+ 0.86
3401
+ 0.65
3402
+ 0.65
3403
+ 0.65
3404
+ 0.65
3405
+ 0.9
3406
+ 0.65
3407
+ 0.65
3408
+ 0.65
3409
+ 0.65
3410
+ 0.65
3411
+ 0.65
3412
+ 0.8
3413
+ 0.75
3414
+ 0.65
3415
+ 0.8
3416
+ 0.65
3417
+ 0.65
3418
+ 0.65
3419
+ 0.65
3420
+ 0.65
3421
+ 0.65
3422
+ 0.65
3423
+ 0.65
3424
+ 0.65
3425
+ 0.8
3426
+ 0.65
3427
+ 0.65
3428
+ 0.65
3429
+ 0.65
3430
+ 0.65
3431
+ 0.65
3432
+ 0.65
3433
+ 0.65
3434
+ 0.65
3435
+ 0.65
3436
+ 0.65
3437
+ 0.8
3438
+ 0.88
3439
+ 0.65
3440
+ 0.8
3441
+ 0.65
3442
+ 0.8
3443
+ 0.65
3444
+ 0.65
3445
+ 0.65
3446
+ 0.9
3447
+ 0.65
3448
+ 0.65
3449
+ 0.65
3450
+ 0.65
3451
+ 0.65
3452
+ 0.8
3453
+ 0.65
3454
+ 0.8
3455
+ 0.65
3456
+ 0.65
3457
+ 0.65
3458
+ 0.65
3459
+ 0.65
3460
+ 0.81
3461
+ 0.65
3462
+ 0.65
3463
+ 0.8
3464
+ 0.65
3465
+ 0.65
3466
+ 0.9
3467
+ 0.8
3468
+ 0.65
3469
+ 0.65
3470
+ 0.65
3471
+ 0.8
3472
+ 0.65
3473
+ 0.65
3474
+ 0.65
3475
+ 0.65
3476
+ 0.65
3477
+ 0.65
3478
+ 0.65
3479
+ 0.65
3480
+ 0.8
3481
+ 0.9
3482
+ 0.65
3483
+ 0.65
3484
+ 0.65
3485
+ 0.65
3486
+ 0.7
3487
+ 0.65
3488
+ 0.65
3489
+ 0.65
3490
+ 0.8
3491
+ 0.65
3492
+ 0.65
3493
+ 0.65
3494
+ 0.65
3495
+ 0.65
3496
+ 0.65
3497
+ 0.65
3498
+ 0.65
3499
+ 0.65
3500
+ 0.65
3501
+ 0.65
3502
+ 0.77
3503
+ 0.65
3504
+ 0.65
3505
+ 0.65
3506
+ 0.65
3507
+ 0.65
3508
+ 0.85
3509
+ 0.65
3510
+ 0.65
3511
+ 0.65
3512
+ 0.65
3513
+ 0.65
3514
+ 0.65
3515
+ 0.65
3516
+ 0.65
3517
+ 0.65
3518
+ 0.65
3519
+ 0.8
3520
+ 0.65
3521
+ 0.65
3522
+ 0.87
3523
+ 0.65
3524
+ 0.65
3525
+ 0.65
3526
+ 0.65
3527
+ 0.65
3528
+ 0.65
3529
+ 0.65
3530
+ 0.65
3531
+ 0.65
3532
+ 0.65
3533
+ 0.65
3534
+ 0.8
3535
+ 0.8
3536
+ 0.65
3537
+ 0.65
3538
+ 0.8
3539
+ 0.65
3540
+ 0.65
3541
+ 0.65
3542
+ 0.65
3543
+ 0.65
3544
+ 0.65
3545
+ 0.65
3546
+ 0.65
3547
+ 0.9
3548
+ 0.65
3549
+ 0.65
3550
+ 0.65
3551
+ 0.65
3552
+ 0.8
3553
+ 0.65
3554
+ 0.65
3555
+ 0.65
3556
+ 0.65
3557
+ 0.65
3558
+ 0.65
3559
+ 0.65
3560
+ 0.8
3561
+ 0.65
3562
+ 0.8
3563
+ 0.65
3564
+ 0.65
3565
+ 0.65
3566
+ 0.65
3567
+ 0.65
3568
+ 0.65
3569
+ 0.8
3570
+ 0.65
3571
+ 0.65
3572
+ 0.65
3573
+ 0.65
3574
+ 0.65
3575
+ 0.65
3576
+ 0.65
3577
+ 0.65
3578
+ 0.57
3579
+ 0.65
3580
+ 0.65
3581
+ 0.8
3582
+ 0.65
3583
+ 0.65
3584
+ 0.8
3585
+ 0.8
3586
+ 0.65
3587
+ 0.65
3588
+ 0.65
3589
+ 0.65
3590
+ 0.76
3591
+ 1
3592
+ 0.8
3593
+ 0.65
3594
+ 0.65
3595
+ 0.58
3596
+ 0.8
3597
+ 0.65
3598
+ 0.65
3599
+ 0.65
3600
+ 0.65
3601
+ 0.65
3602
+ 0.8
3603
+ 1
3604
+ 0.65
3605
+ 0.8
3606
+ 0.65
3607
+ 0.65
3608
+ 0.65
3609
+ 0.8
3610
+ 0.65
3611
+ 0.9
3612
+ 0.65
3613
+ 0.65
3614
+ 0.65
3615
+ 0.65
3616
+ 0.65
3617
+ 0.65
3618
+ 0.65
3619
+ 0.87
3620
+ 0.8
3621
+ 0.9
3622
+ 0.8
3623
+ 0.8
3624
+ 0.65
3625
+ 0.65
3626
+ 0.65
3627
+ 0.65
3628
+ 0.65
3629
+ 0.65
3630
+ 0.8
3631
+ 0.65
3632
+ 0.65
3633
+ 0.65
3634
+ 0.65
3635
+ 0.8
3636
+ 0.65
3637
+ 0.65
3638
+ 0.8
3639
+ 0.65
3640
+ 0.65
3641
+ 0.65
3642
+ 0.8
3643
+ 0.65
3644
+ 0.65
3645
+ 0.65
3646
+ 0.65
3647
+ 0.65
3648
+ 0.65
3649
+ 0.65
3650
+ 0.65
3651
+ 0.65
3652
+ 0.65
3653
+ 0.8
3654
+ 0.65
3655
+ 0.8
3656
+ 0.65
3657
+ 0.65
3658
+ 0.65
3659
+ 0.65
3660
+ 0.8
3661
+ 0.65
3662
+ 0.65
3663
+ 0.65
3664
+ 0.8
3665
+ 0.65
3666
+ 0.65
3667
+ 0.65
3668
+ 0.65
3669
+ 0.65
3670
+ 0.65
3671
+ 0.87
3672
+ 0.68
3673
+ 0.8
3674
+ 0.65
3675
+ 0.65
3676
+ 0.65
3677
+ 0.65
3678
+ 0.8
3679
+ 0.65
3680
+ 0.65
3681
+ 0.65
3682
+ 0.65
3683
+ 0.65
3684
+ 0.8
3685
+ 0.65
3686
+ 0.65
3687
+ 0.65
3688
+ 0.65
3689
+ 0.65
3690
+ 0.65
3691
+ 0.8
3692
+ 0.65
3693
+ 0.65
3694
+ 0.65
3695
+ 0.99
3696
+ 0.8
3697
+ 0.77
3698
+ 0.65
3699
+ 0.9
3700
+ 0.65
3701
+ 0.65
3702
+ 0.88
3703
+ 0.65
3704
+ 0.65
3705
+ 0.65
3706
+ 0.65
3707
+ 0.9
3708
+ 0.65
3709
+ 0.88
3710
+ 0.65
3711
+ 0.65
3712
+ 0.65
3713
+ 0.65
3714
+ 0.65
3715
+ 0.65
3716
+ 0.89
3717
+ 0.65
3718
+ 0.65
3719
+ 0.8
3720
+ 0.8
3721
+ 0.65
3722
+ 0.7
3723
+ 0.65
3724
+ 0.65
3725
+ 0.8
3726
+ 0.9
3727
+ 0.65
3728
+ 0.65
3729
+ 0.65
3730
+ 0.8
3731
+ 0.65
3732
+ 0.65
3733
+ 0.8
3734
+ 0.8
3735
+ 0.65
3736
+ 0.65
3737
+ 0.65
3738
+ 0.8
3739
+ 0.65
3740
+ 0.65
3741
+ 0.65
3742
+ 0.65
3743
+ 0.65
3744
+ 0.65
3745
+ 0.65
3746
+ 0.8
3747
+ 0.8
3748
+ 0.8
3749
+ 0.65
3750
+ 0.77
3751
+ 0.65
3752
+ 0.65
3753
+ 0.65
3754
+ 0.65
3755
+ 0.79
3756
+ 0.65
3757
+ 0.65
3758
+ 0.65
3759
+ 0.65
3760
+ 0.65
3761
+ 0.8
3762
+ 0.65
3763
+ 0.65
3764
+ 0.65
3765
+ 0.65
3766
+ 0.8
3767
+ 0.65
3768
+ 0.65
3769
+ 0.65
3770
+ 0.65
3771
+ 0.65
3772
+ 0.65
3773
+ 0.65
3774
+ 0.65
3775
+ 0.65
3776
+ 0.65
3777
+ 0.65
3778
+ 0.8
3779
+ 0.65
3780
+ 0.65
3781
+ 0.65
3782
+ 0.8
3783
+ 0.65
3784
+ 0.8
3785
+ 0.65
3786
+ 0.65
3787
+ 0.65
3788
+ 0.65
3789
+ 0.65
3790
+ 0.8
3791
+ 0.8
3792
+ 0.65
3793
+ 0.65
3794
+ 0.65
3795
+ 0.85
3796
+ 0.65
3797
+ 0.65
3798
+ 0.65
3799
+ 0.65
3800
+ 0.65
3801
+ 0.65
3802
+ 0.52
3803
+ 0.65
3804
+ 0.65
3805
+ 0.8
3806
+ 0.65
3807
+ 0.65
3808
+ 0.65
3809
+ 0.65
3810
+ 0.65
3811
+ 0.65
3812
+ 0.8
3813
+ 0.65
3814
+ 0.65
3815
+ 0.65
3816
+ 0.65
3817
+ 0.65
3818
+ 0.65
3819
+ 0.65
3820
+ 0.8
3821
+ 0.65
3822
+ 0.86
3823
+ 0.65
3824
+ 0.65
3825
+ 0.8
3826
+ 0.56
3827
+ 0.65
3828
+ 0.65
3829
+ 0.65
3830
+ 0.8
3831
+ 0.65
3832
+ 0.8
3833
+ 0.8
3834
+ 0.65
3835
+ 0.65
3836
+ 0.65
3837
+ 0.65
3838
+ 0.65
3839
+ 0.65
3840
+ 0.65
3841
+ 0.8
3842
+ 0.65
3843
+ 0.65
3844
+ 0.65
3845
+ 0.65
3846
+ 0.72
3847
+ 0.65
3848
+ 0.65
3849
+ 0.65
3850
+ 0.8
3851
+ 0.8
3852
+ 0.65
3853
+ 0.9
3854
+ 0.65
3855
+ 0.65
3856
+ 0.8
3857
+ 0.65
3858
+ 0.8
3859
+ 0.6
3860
+ 0.65
3861
+ 0.65
3862
+ 0.65
3863
+ 0.8
3864
+ 0.65
3865
+ 0.65
3866
+ 0.65
3867
+ 0.8
3868
+ 0.65
3869
+ 0.88
3870
+ 0.65
3871
+ 0.65
3872
+ 0.65
3873
+ 0.65
3874
+ 0.8
3875
+ 0.65
3876
+ 0.65
3877
+ 0.89
3878
+ 0.85
3879
+ 0.65
3880
+ 0.65
3881
+ 0.65
3882
+ 0.65
3883
+ 0.65
3884
+ 0.65
3885
+ 0.65
3886
+ 0.87
3887
+ 0.65
3888
+ 0.65
3889
+ 0.65
3890
+ 0.65
3891
+ 0.65
3892
+ 0.65
3893
+ 0.8
3894
+ 0.65
3895
+ 0.8
3896
+ 0.65
3897
+ 0.65
3898
+ 0.65
3899
+ 0.65
3900
+ 0.65
3901
+ 0.65
3902
+ 0.65
3903
+ 0.65
3904
+ 0.65
3905
+ 0.75
3906
+ 0.65
3907
+ 0.65
3908
+ 0.65
3909
+ 0.65
3910
+ 0.54
3911
+ 1
3912
+ 0.65
3913
+ 0.65
3914
+ 0.75
3915
+ 0.65
3916
+ 0.75
3917
+ 0.65
3918
+ 0.65
3919
+ 0.65
3920
+ 0.8
3921
+ 0.65
3922
+ 0.65
3923
+ 0.8
3924
+ 0.65
3925
+ 0.65
3926
+ 0.8
3927
+ 0.65
3928
+ 0.65
3929
+ 0.65
3930
+ 0.65
3931
+ 0.65
3932
+ 0.65
3933
+ 0.65
3934
+ 0.9
3935
+ 0.9
3936
+ 0.62
3937
+ 0.65
3938
+ 0.65
3939
+ 0.65
3940
+ 0.65
3941
+ 0.86
3942
+ 0.65
3943
+ 0.65
3944
+ 0.65
3945
+ 0.65
3946
+ 0.65
3947
+ 0.65
3948
+ 0.65
3949
+ 0.65
3950
+ 0.65
3951
+ 0.65
3952
+ 0.65
3953
+ 0.65
3954
+ 0.8
3955
+ 0.65
3956
+ 0.8
3957
+ 0.8
3958
+ 0.65
3959
+ 0.8
3960
+ 0.65
3961
+ 0.65
3962
+ 0.65
3963
+ 0.65
3964
+ 0.65
3965
+ 0.65
3966
+ 0.65
3967
+ 0.8
3968
+ 0.65
3969
+ 0.82
3970
+ 0.65
3971
+ 0.65
3972
+ 0.65
3973
+ 0.65
3974
+ 0.65
3975
+ 0.65
3976
+ 0.65
3977
+ 0.65
3978
+ 0.8
3979
+ 0.65
3980
+ 0.65
3981
+ 0.65
3982
+ 0.9
3983
+ 0.74
3984
+ 0.8
3985
+ 0.65
3986
+ 0.8
3987
+ 0.8
3988
+ 0.7
3989
+ 0.65
3990
+ 0.65
3991
+ 0.65
3992
+ 0.89
3993
+ 0.65
3994
+ 0.65
3995
+ 0.8
3996
+ 0.8
3997
+ 0.8
3998
+ 0.8
3999
+ 0.65
4000
+ 0.8
4001
+ 0.65
4002
+ 0.65
4003
+ 0.65
4004
+ 0.9
4005
+ 0.65
4006
+ 0.65
4007
+ 0.65
4008
+ 0.8
4009
+ 0.8
4010
+ 0.84
4011
+ 0.8
4012
+ 0.65
4013
+ 0.65
4014
+ 0.8
4015
+ 0.75
4016
+ 0.65
4017
+ 0.65
4018
+ 0.65
4019
+ 0.89
4020
+ 0.65
4021
+ 0.65
4022
+ 0.65
4023
+ 0.65
4024
+ 0.82
4025
+ 0.65
4026
+ 0.65
4027
+ 0.65
4028
+ 0.8
4029
+ 0.65
4030
+ 0.8
4031
+ 0.65
4032
+ 0.8
4033
+ 0.65
4034
+ 0.65
4035
+ 0.65
4036
+ 0.84
4037
+ 0.65
4038
+ 0.65
4039
+ 0.65
4040
+ 0.65
4041
+ 0.65
4042
+ 0.65
4043
+ 0.65
4044
+ 0.65
4045
+ 0.8
4046
+ 0.65
4047
+ 0.65
4048
+ 0.65
4049
+ 0.65
4050
+ 0.8
4051
+ 0.8
4052
+ 0.8
4053
+ 0.65
4054
+ 0.65
4055
+ 0.65
4056
+ 0.65
4057
+ 0.65
4058
+ 0.65
4059
+ 0.65
4060
+ 0.65
4061
+ 0.65
4062
+ 0.65
4063
+ 0.65
4064
+ 0.65
4065
+ 0.65
4066
+ 0.65
4067
+ 0.8
4068
+ 0.65
4069
+ 0.8
4070
+ 0.65
4071
+ 0.8
4072
+ 0.65
4073
+ 0.7
4074
+ 0.65
4075
+ 0.65
4076
+ 0.65
4077
+ 0.65
4078
+ 0.65
4079
+ 0.65
4080
+ 0.65
4081
+ 0.65
4082
+ 0.9
4083
+ 0.65
4084
+ 0.65
4085
+ 0.8
4086
+ 0.65
4087
+ 0.65
4088
+ 0.65
4089
+ 0.65
4090
+ 0.65
4091
+ 0.65
4092
+ 0.8
4093
+ 0.65
4094
+ 0.65
4095
+ 0.65
4096
+ 0.65
4097
+ 0.65
4098
+ 0.65
4099
+ 0.8
4100
+ 0.74
4101
+ 0.65
4102
+ 0.8
4103
+ 0.65
4104
+ 0.65
4105
+ 0.65
4106
+ 0.9
4107
+ 0.65
4108
+ 0.65
4109
+ 0.65
4110
+ 0.65
4111
+ 0.85
4112
+ 0.65
4113
+ 0.9
4114
+ 0.9
4115
+ 0.65
4116
+ 0.65
4117
+ 0.65
4118
+ 0.63
4119
+ 0.82
4120
+ 0.65
4121
+ 0.65
4122
+ 0.8
4123
+ 0.65
4124
+ 0.65
4125
+ 0.65
4126
+ 0.65
4127
+ 0.65
4128
+ 0.65
4129
+ 0.8
4130
+ 0.65
4131
+ 0.65
4132
+ 0.8
4133
+ 0.65
4134
+ 0.65
4135
+ 0.8
4136
+ 0.65
4137
+ 0.65
4138
+ 0.65
4139
+ 0.65
4140
+ 0.65
4141
+ 0.65
4142
+ 0.65
4143
+ 0.65
4144
+ 0.8
4145
+ 0.65
4146
+ 0.65
4147
+ 0.65
4148
+ 0.65
4149
+ 0.8
4150
+ 0.7
4151
+ 0.65
4152
+ 0.65
4153
+ 0.65
4154
+ 0.65
4155
+ 0.65
4156
+ 0.9
4157
+ 0.65
4158
+ 0.65
4159
+ 0.74
4160
+ 0.9
4161
+ 0.65
4162
+ 0.8
4163
+ 0.65
4164
+ 0.65
4165
+ 0.58
4166
+ 0.65
4167
+ 0.65
4168
+ 0.65
4169
+ 0.65
4170
+ 0.65
4171
+ 0.65
4172
+ 0.89
4173
+ 0.75
4174
+ 0.65
4175
+ 0.65
4176
+ 0.8
4177
+ 0.65
4178
+ 0.65
4179
+ 0.88
4180
+ 0.65
4181
+ 0.65
4182
+ 0.65
4183
+ 0.8
4184
+ 0.65
4185
+ 0.65
4186
+ 0.65
4187
+ 0.65
4188
+ 0.65
4189
+ 0.65
4190
+ 0.65
4191
+ 0.89
4192
+ 0.65
4193
+ 0.65
4194
+ 0.65
4195
+ 0.65
4196
+ 0.65
4197
+ 0.65
4198
+ 0.65
4199
+ 0.65
4200
+ 0.65
4201
+ 0.65
4202
+ 0.65
4203
+ 0.65
4204
+ 0.8
4205
+ 0.8
4206
+ 0.8
4207
+ 0.65
4208
+ 0.65
4209
+ 0.8
4210
+ 0.8
4211
+ 0.65
4212
+ 0.65
4213
+ 0.87
4214
+ 0.65
4215
+ 0.65
4216
+ 0.65
4217
+ 0.8
4218
+ 0.65
4219
+ 0.64
4220
+ 0.65
4221
+ 0.65
4222
+ 0.65
4223
+ 0.8
4224
+ 0.87
4225
+ 0.65
4226
+ 0.65
4227
+ 0.8
4228
+ 0.9
4229
+ 0.65
4230
+ 0.65
4231
+ 0.65
4232
+ 0.65
4233
+ 0.8
4234
+ 0.8
4235
+ 0.65
4236
+ 0.89
4237
+ 0.65
4238
+ 0.65
4239
+ 0.65
4240
+ 0.65
4241
+ 0.65
4242
+ 0.65
4243
+ 0.8
4244
+ 0.65
4245
+ 0.65
4246
+ 0.65
4247
+ 0.83
4248
+ 0.65
4249
+ 0.65
4250
+ 0.8
4251
+ 0.65
4252
+ 0.9
4253
+ 0.65
4254
+ 0.8
4255
+ 0.8
4256
+ 0.65
4257
+ 0.65
4258
+ 0.65
4259
+ 0.65
4260
+ 0.65
4261
+ 0.65
4262
+ 0.8
4263
+ 0.65
4264
+ 0.65
4265
+ 0.65
4266
+ 0.65
4267
+ 0.65
4268
+ 0.65
4269
+ 0.65
4270
+ 0.65
4271
+ 0.65
4272
+ 0.65
4273
+ 0.78
4274
+ 0.65
4275
+ 0.8
4276
+ 0.65
4277
+ 0.9
4278
+ 0.65
4279
+ 0.8
4280
+ 0.65
4281
+ 0.65
4282
+ 0.65
4283
+ 0.65
4284
+ 0.65
4285
+ 0.9
4286
+ 0.65
4287
+ 0.88
4288
+ 0.8
4289
+ 0.65
4290
+ 0.65
4291
+ 0.65
4292
+ 0.81
4293
+ 0.65
4294
+ 0.65
4295
+ 0.65
4296
+ 0.65
4297
+ 0.65
4298
+ 0.65
4299
+ 0.65
4300
+ 0.65
4301
+ 0.65
4302
+ 0.65
4303
+ 0.65
4304
+ 0.65
4305
+ 0.65
4306
+ 0.65
4307
+ 0.8
4308
+ 0.65
4309
+ 0.65
4310
+ 0.65
4311
+ 0.65
4312
+ 0.77
4313
+ 0.65
4314
+ 0.65
4315
+ 0.65
4316
+ 0.8
4317
+ 0.8
4318
+ 0.8
4319
+ 0.8
4320
+ 0.65
4321
+ 0.65
4322
+ 0.65
4323
+ 1
4324
+ 0.65
4325
+ 0.65
4326
+ 0.65
4327
+ 0.8
4328
+ 0.65
4329
+ 0.65
4330
+ 0.8
4331
+ 0.65
4332
+ 0.65
4333
+ 0.8
4334
+ 0.85
4335
+ 0.65
4336
+ 0.65
4337
+ 0.8
4338
+ 0.8
4339
+ 0.65
4340
+ 0.65
4341
+ 0.65
4342
+ 0.8
4343
+ 0.65
4344
+ 0.65
4345
+ 0.65
4346
+ 0.88
4347
+ 0.65
4348
+ 0.65
4349
+ 0.65
4350
+ 0.65
4351
+ 0.8
4352
+ 0.65
4353
+ 0.65
4354
+ 0.65
4355
+ 0.65
4356
+ 0.8
4357
+ 0.65
4358
+ 0.8
4359
+ 0.65
4360
+ 0.65
4361
+ 0.65
4362
+ 0.8
4363
+ 0.8
4364
+ 0.8
4365
+ 0.65
4366
+ 0.65
4367
+ 0.65
4368
+ 0.65
4369
+ 0.68
4370
+ 0.65
4371
+ 0.65
4372
+ 0.65
4373
+ 0.65
4374
+ 0.65
4375
+ 0.65
4376
+ 0.89
4377
+ 0.65
4378
+ 0.65
4379
+ 0.65
4380
+ 0.65
4381
+ 0.65
4382
+ 0.65
4383
+ 0.65
4384
+ 0.65
4385
+ 0.65
4386
+ 0.65
4387
+ 0.65
4388
+ 0.65
4389
+ 0.65
4390
+ 0.8
4391
+ 0.65
4392
+ 0.65
4393
+ 0.65
4394
+ 0.8
4395
+ 0.9
4396
+ 0.65
4397
+ 0.8
4398
+ 0.65
4399
+ 0.8
4400
+ 0.65
4401
+ 0.65
4402
+ 0.65
4403
+ 0.65
4404
+ 0.65
4405
+ 0.65
4406
+ 0.65
4407
+ 0.81
4408
+ 0.65
4409
+ 0.65
4410
+ 0.65
4411
+ 0.8
4412
+ 0.85
4413
+ 0.65
4414
+ 0.77
4415
+ 0.65
4416
+ 0.8
4417
+ 0.65
4418
+ 0.65
4419
+ 0.65
4420
+ 0.65
4421
+ 0.65
4422
+ 0.65
4423
+ 0.65
4424
+ 0.65
4425
+ 0.65
4426
+ 0.65
4427
+ 0.65
4428
+ 0.8
4429
+ 0.8
4430
+ 0.8
4431
+ 0.9
4432
+ 0.65
4433
+ 0.65
4434
+ 0.89
4435
+ 0.65
4436
+ 0.65
4437
+ 0.8
4438
+ 0.65
4439
+ 0.65
4440
+ 0.8
4441
+ 0.8
4442
+ 0.65
4443
+ 0.65
4444
+ 0.65
4445
+ 0.88
4446
+ 0.8
4447
+ 0.65
4448
+ 0.8
4449
+ 0.65
4450
+ 0.65
4451
+ 0.65
4452
+ 0.65
4453
+ 0.65
4454
+ 0.65
4455
+ 0.8
4456
+ 0.65
4457
+ 0.65
4458
+ 0.8
4459
+ 0.65
4460
+ 0.65
4461
+ 0.65
4462
+ 0.65
4463
+ 0.65
4464
+ 0.8
4465
+ 0.65
4466
+ 0.65
4467
+ 0.65
4468
+ 0.65
4469
+ 0.65
4470
+ 0.65
4471
+ 0.82
4472
+ 0.65
4473
+ 0.8
4474
+ 0.74
4475
+ 0.65
4476
+ 0.65
4477
+ 0.65
4478
+ 0.65
4479
+ 0.65
4480
+ 0.65
4481
+ 0.85
4482
+ 0.65
4483
+ 0.65
4484
+ 0.85
4485
+ 0.65
4486
+ 0.65
4487
+ 0.65
4488
+ 0.65
4489
+ 0.7
4490
+ 0.7
4491
+ 0.8
4492
+ 0.65
4493
+ 0.65
4494
+ 0.65
4495
+ 0.65
4496
+ 0.87
4497
+ 0.8
4498
+ 0.65
4499
+ 0.65
4500
+ 0.65
4501
+ 0.89
4502
+ 0.85
4503
+ 0.65
4504
+ 0.65
4505
+ 0.65
4506
+ 0.8
4507
+ 0.65
4508
+ 0.65
4509
+ 0.65
4510
+ 0.65
4511
+ 0.65
4512
+ 0.65
4513
+ 0.65
4514
+ 0.65
4515
+ 0.65
4516
+ 0.65
4517
+ 0.65
4518
+ 0.65
4519
+ 0.65
4520
+ 0.8
4521
+ 0.7
4522
+ 0.65
4523
+ 0.65
4524
+ 0.65
4525
+ 0.65
4526
+ 0.65
4527
+ 0.8
4528
+ 0.65
4529
+ 0.65
4530
+ 0.65
4531
+ 0.65
4532
+ 0.9
4533
+ 0.8
4534
+ 0.8
4535
+ 0.65
4536
+ 0.66
4537
+ 0.57
4538
+ 0.65
4539
+ 0.65
4540
+ 0.65
4541
+ 0.49
4542
+ 0.65
4543
+ 0.65
4544
+ 0.8
4545
+ 0.65
4546
+ 0.65
4547
+ 0.8
4548
+ 0.65
4549
+ 0.65
4550
+ 0.8
4551
+ 0.65
4552
+ 0.65
4553
+ 0.65
4554
+ 0.8
4555
+ 0.65
4556
+ 0.65
4557
+ 0.65
4558
+ 0.65
4559
+ 0.65
4560
+ 0.65
4561
+ 0.8
4562
+ 0.65
4563
+ 0.65
4564
+ 0.65
4565
+ 0.65
4566
+ 0.8
4567
+ 0.65
4568
+ 0.8
4569
+ 0.8
4570
+ 0.86
4571
+ 0.65
4572
+ 0.65
4573
+ 0.65
4574
+ 0.65
4575
+ 0.65
4576
+ 0.65
4577
+ 0.65
4578
+ 0.89
4579
+ 0.65
4580
+ 0.65
4581
+ 0.65
4582
+ 0.65
4583
+ 0.65
4584
+ 0.65
4585
+ 0.76
ram/data/tag_list.txt ADDED
@@ -0,0 +1,3429 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tennis
2
+ bear cub
3
+ observatory
4
+ bicycle
5
+ hillside
6
+ judge
7
+ watercolor illustration
8
+ granite
9
+ lobster
10
+ livery
11
+ stone
12
+ ceramic
13
+ ranch
14
+ cloth
15
+ smile
16
+ building
17
+ tattoo
18
+ cricketer
19
+ cheek
20
+ pear
21
+ source
22
+ winter
23
+ surface
24
+ spray
25
+ ceremony
26
+ magic
27
+ curve
28
+ container
29
+ fair
30
+ medicine
31
+ baby
32
+ tennis racquet
33
+ ornament
34
+ bamboo
35
+ duckling
36
+ song
37
+ safari
38
+ team presentation
39
+ daffodil
40
+ cross
41
+ toothpaste
42
+ shield
43
+ fashion model
44
+ capsule
45
+ map
46
+ creek
47
+ glass house
48
+ glass plate
49
+ siding
50
+ corner
51
+ water buffalo
52
+ bison
53
+ figure skater
54
+ diploma
55
+ tire
56
+ race
57
+ cable car
58
+ brain
59
+ gas stove
60
+ soap bubble
61
+ palette
62
+ snowboard
63
+ school child
64
+ trench coat
65
+ monk
66
+ fiber
67
+ kitchen window
68
+ sunglass
69
+ coffee
70
+ security
71
+ strawberry
72
+ penguin
73
+ tree root
74
+ loaf
75
+ engagement ring
76
+ lamb
77
+ vector cartoon illustration
78
+ sandwich
79
+ mountain village
80
+ shape
81
+ charm
82
+ fiction
83
+ knot
84
+ greenhouse
85
+ sushi
86
+ text
87
+ disaster
88
+ trophy
89
+ gang
90
+ strap
91
+ soccer game
92
+ cardinal
93
+ tee
94
+ turtle
95
+ water surface
96
+ grassland
97
+ dolphin
98
+ store
99
+ dirt
100
+ iceberg
101
+ pergola
102
+ farmer market
103
+ publicity portrait
104
+ tote bag
105
+ teenage girl
106
+ view mirror
107
+ session
108
+ commuter
109
+ dressing room
110
+ tricycle
111
+ christmas ball
112
+ headlight
113
+ police
114
+ armchair
115
+ chart
116
+ yacht
117
+ saw
118
+ printer
119
+ rock band
120
+ gingerbread house
121
+ tag
122
+ table lamp
123
+ hockey game
124
+ slope
125
+ font
126
+ wicker basket
127
+ jewelry
128
+ quarter
129
+ software
130
+ weapon
131
+ pin
132
+ worship
133
+ painter
134
+ goal
135
+ morning light
136
+ bike
137
+ baseball bat
138
+ elevator
139
+ cuisine
140
+ sausage
141
+ stunt
142
+ wrestler
143
+ statue
144
+ landing
145
+ pillar
146
+ willow tree
147
+ sea wave
148
+ chicken
149
+ peanut
150
+ muscle
151
+ bob
152
+ tv genre
153
+ bathroom window
154
+ radish
155
+ textile
156
+ pelican
157
+ marketplace
158
+ crest
159
+ elevation map
160
+ gift
161
+ parish
162
+ traffic light
163
+ campfire
164
+ fog
165
+ award winner
166
+ beach ball
167
+ mat
168
+ white house
169
+ plaster
170
+ moped
171
+ football team
172
+ solution
173
+ bicyclist
174
+ bit
175
+ playground
176
+ darkness
177
+ cake
178
+ maple leave
179
+ mold
180
+ cracker
181
+ blueberry
182
+ rubble
183
+ container ship
184
+ pedestrian bridge
185
+ snail
186
+ parrot
187
+ form
188
+ circuit
189
+ highlight
190
+ pickup truck
191
+ koala
192
+ rain
193
+ system
194
+ weather
195
+ raincoat
196
+ soccer team
197
+ windshield
198
+ thunderstorm
199
+ mike
200
+ bird house
201
+ bridge
202
+ grandfather
203
+ restroom
204
+ animation
205
+ wilderness
206
+ clown
207
+ banana
208
+ brown
209
+ braid
210
+ dining room
211
+ kindergarten
212
+ launch event
213
+ purple
214
+ school
215
+ stairwell
216
+ brooch
217
+ movie poster image
218
+ mountain river
219
+ shelf
220
+ wicket
221
+ headboard
222
+ buddha
223
+ flower field
224
+ dugout
225
+ cd
226
+ bald eagle
227
+ lagoon
228
+ seaweed
229
+ agriculture
230
+ emergency service
231
+ maple tree
232
+ parachute
233
+ continent
234
+ amusement park
235
+ remote
236
+ bun
237
+ tackle
238
+ hospital
239
+ garage door
240
+ birthday party
241
+ friendship
242
+ go
243
+ mausoleum
244
+ jeep
245
+ raccoon
246
+ step
247
+ ice hockey team
248
+ cigarette
249
+ lace dress
250
+ forest floor
251
+ mall
252
+ captain
253
+ milk
254
+ golf course
255
+ meal
256
+ picnic table
257
+ sail
258
+ volleyball
259
+ canal
260
+ terrace
261
+ computer desk
262
+ caravan
263
+ hotel
264
+ cheerleader
265
+ nurse
266
+ museum
267
+ marsh
268
+ fox
269
+ plateau
270
+ night
271
+ twin
272
+ letter logo
273
+ autumn tree
274
+ powder
275
+ convention
276
+ creature
277
+ lighthouse
278
+ shop window
279
+ jacket
280
+ stork
281
+ taxi
282
+ trade
283
+ blackboard
284
+ olive
285
+ road sign
286
+ resort
287
+ snowflake
288
+ cemetery
289
+ travel
290
+ evening dress
291
+ picnic
292
+ drink
293
+ winter morning
294
+ football player
295
+ snack
296
+ boxing glove
297
+ dinner party
298
+ airline
299
+ swing
300
+ port
301
+ wheelbarrow
302
+ bathroom sink
303
+ sweater
304
+ ambulance
305
+ gear
306
+ oil
307
+ wii controller
308
+ array
309
+ home office
310
+ car show
311
+ mixture
312
+ profession
313
+ tree frog
314
+ square
315
+ facility
316
+ coral reef
317
+ sea wall
318
+ pizza
319
+ exhibit
320
+ demolition
321
+ trout
322
+ ring
323
+ coffee shop
324
+ bracelet
325
+ bean
326
+ lip
327
+ fencing
328
+ landscape
329
+ sitting
330
+ package
331
+ metal
332
+ bust
333
+ king
334
+ hair
335
+ window seat
336
+ wildlife
337
+ trunk
338
+ greenery
339
+ stencil
340
+ fire hydrant
341
+ bridesmaid
342
+ plaza
343
+ alps
344
+ tower bridge
345
+ crop top
346
+ crossing
347
+ cinema
348
+ pedestrian crossing
349
+ family
350
+ shopping cart
351
+ stomach
352
+ church building
353
+ screen door
354
+ skater
355
+ soccer field
356
+ kettle
357
+ mussel
358
+ raindrop
359
+ candy cane
360
+ water lily
361
+ flower girl
362
+ desert
363
+ enclosure
364
+ christmas light
365
+ kitchen
366
+ caterpillar
367
+ plaid
368
+ bath
369
+ bush
370
+ mud
371
+ ballet
372
+ knee
373
+ adult
374
+ raft
375
+ sea view
376
+ cactus
377
+ office chair
378
+ overall
379
+ rim
380
+ scaffolding
381
+ pig
382
+ cover
383
+ poster page
384
+ sprinkle
385
+ chandelier
386
+ algae
387
+ traffic
388
+ surfboard
389
+ book
390
+ filming
391
+ flash
392
+ mansion
393
+ camouflage
394
+ trouser
395
+ ticket
396
+ weed
397
+ cab
398
+ trench
399
+ elephant
400
+ huddle
401
+ sphere
402
+ christmas decoration
403
+ city
404
+ launch
405
+ doll
406
+ christmas ornament
407
+ fabric
408
+ bikini
409
+ biplane
410
+ breakfast
411
+ neighbourhood
412
+ race track
413
+ foliage
414
+ avocado
415
+ school bus
416
+ footwear
417
+ highway
418
+ ocean view
419
+ art vector illustration
420
+ wall clock
421
+ curtain
422
+ teenager
423
+ kitchen area
424
+ robot
425
+ tusk
426
+ lounge chair
427
+ beam
428
+ paddle
429
+ camel
430
+ lid
431
+ world map
432
+ city view
433
+ newlywed
434
+ cargo ship
435
+ yellow
436
+ exhibition
437
+ bend
438
+ novel
439
+ wool
440
+ ontario
441
+ bread
442
+ campus
443
+ coastline
444
+ cutting board
445
+ booth
446
+ table top
447
+ carpet
448
+ beach chair
449
+ workout
450
+ street food
451
+ fun
452
+ costumer film designer
453
+ gadget
454
+ artist
455
+ fishing village
456
+ builder
457
+ violinist
458
+ iphone
459
+ spider web
460
+ traffic sign
461
+ ruin
462
+ rescue
463
+ clipboard
464
+ seal
465
+ film director
466
+ paw
467
+ nursery
468
+ intersection
469
+ tomato sauce
470
+ taste
471
+ paddy field
472
+ christmas tree
473
+ wave
474
+ stool
475
+ watering can
476
+ rug
477
+ daytime
478
+ subway station
479
+ craft
480
+ pine forest
481
+ black
482
+ planet
483
+ motif
484
+ christmas market
485
+ glass window
486
+ college
487
+ wheat
488
+ damage
489
+ rectangle
490
+ picture frame
491
+ chess
492
+ guest room
493
+ street corner
494
+ religion
495
+ seed
496
+ puzzle
497
+ freeway
498
+ beauty
499
+ ocean
500
+ watch
501
+ mother
502
+ garage
503
+ quote
504
+ dj
505
+ supporter
506
+ hip hop artist
507
+ muffin
508
+ eiffel tower
509
+ cash
510
+ firefighter
511
+ cauliflower
512
+ bunker
513
+ sled
514
+ manicure
515
+ shark
516
+ stall
517
+ jungle
518
+ family home
519
+ tour bus
520
+ chimney
521
+ touchdown
522
+ roundabout
523
+ coyote
524
+ street scene
525
+ tank
526
+ wedding dress
527
+ mantle
528
+ bedroom window
529
+ coconut
530
+ chapel
531
+ goat
532
+ living space
533
+ rock wall
534
+ polka dot
535
+ railway
536
+ mandala
537
+ mango
538
+ lesson
539
+ mountain landscape
540
+ team photo
541
+ bookshelf
542
+ meter
543
+ bulldog
544
+ evening sun
545
+ stick
546
+ card
547
+ pink
548
+ fish pond
549
+ paint
550
+ pill
551
+ cart
552
+ pea
553
+ van
554
+ album
555
+ football college game
556
+ mountain pass
557
+ doughnut
558
+ ski slope
559
+ match
560
+ official
561
+ shadow
562
+ organ
563
+ celebration
564
+ coin
565
+ log cabin
566
+ firework display
567
+ present
568
+ twig
569
+ chef
570
+ confetti
571
+ footpath
572
+ tour
573
+ ponytail
574
+ artwork
575
+ race car
576
+ club
577
+ season
578
+ hose
579
+ pencil
580
+ aircraft
581
+ rock formation
582
+ wardrobe
583
+ participant
584
+ politician
585
+ engineer
586
+ peace
587
+ filter
588
+ sailing boat
589
+ water bottle
590
+ service dog
591
+ poodle
592
+ loki
593
+ statesman
594
+ sleeping bag
595
+ outskirt
596
+ clock
597
+ factory
598
+ oak tree
599
+ physician
600
+ color
601
+ room
602
+ stairway
603
+ company
604
+ lady
605
+ graph
606
+ faucet
607
+ tablecloth
608
+ subway train
609
+ chocolate chip cookie
610
+ headquarters
611
+ screw
612
+ goggle
613
+ halloween
614
+ city street
615
+ swirl
616
+ cord
617
+ forward
618
+ bone
619
+ bedding
620
+ archway
621
+ wig
622
+ lobby
623
+ mask
624
+ attic
625
+ kitchen table
626
+ skylight
627
+ fire
628
+ exit
629
+ oil painting
630
+ passenger
631
+ meditation
632
+ salmon
633
+ fedora
634
+ rubber stamp
635
+ orange juice
636
+ arch
637
+ scientist
638
+ stroll
639
+ manhattan
640
+ float
641
+ baseball uniform
642
+ circle
643
+ church
644
+ decker bus
645
+ competitor
646
+ zoo
647
+ basketball team
648
+ tourist
649
+ daughter
650
+ silverware
651
+ ceiling fan
652
+ birth
653
+ vase
654
+ jack
655
+ mushroom
656
+ spiral
657
+ cage
658
+ limb
659
+ salad
660
+ ad
661
+ control
662
+ earth
663
+ party
664
+ bolt
665
+ tractor
666
+ barley
667
+ wedding photo
668
+ hawk
669
+ warehouse
670
+ vegetable garden
671
+ chocolate cake
672
+ cabbage
673
+ floor window
674
+ baby shower
675
+ magnifying glass
676
+ table
677
+ stethoscope
678
+ reading
679
+ mission
680
+ croissant
681
+ gift box
682
+ rocket
683
+ forest road
684
+ cooking
685
+ suite
686
+ hill country
687
+ motorcycle
688
+ baseball player
689
+ angle
690
+ drug
691
+ sport association
692
+ championship
693
+ family portrait
694
+ florist
695
+ softball
696
+ egret
697
+ office
698
+ plywood
699
+ jockey
700
+ mosque
701
+ brunch
702
+ beanie
703
+ office building
704
+ pattern
705
+ calendar
706
+ indoor
707
+ pepper
708
+ ledge
709
+ trail
710
+ fuel
711
+ laptop computer
712
+ tennis shoe
713
+ deck chair
714
+ guitarist
715
+ barn
716
+ surgery
717
+ cartoon illustration
718
+ nebula
719
+ railroad
720
+ mountain goat
721
+ goose
722
+ car door
723
+ cheer
724
+ liquid
725
+ hardwood floor
726
+ pathway
727
+ acorn
728
+ gull
729
+ airliner
730
+ couch
731
+ lake house
732
+ spaghetti
733
+ promenade
734
+ collection
735
+ garden
736
+ bank
737
+ robin
738
+ tennis ball
739
+ peony
740
+ gymnast
741
+ lavender
742
+ deck
743
+ test
744
+ riverside
745
+ rapper
746
+ domino
747
+ bride
748
+ mouse
749
+ basil
750
+ wedding couple
751
+ ocean wave
752
+ arm
753
+ kitchen floor
754
+ grove
755
+ family member
756
+ backyard
757
+ raspberry
758
+ forest fire
759
+ officer
760
+ hibiscus
761
+ canyon
762
+ composer
763
+ signature
764
+ olive oil
765
+ hibiscus flower
766
+ rose
767
+ vector icon
768
+ sunrise
769
+ horseback
770
+ motor scooter
771
+ office worker
772
+ tradition
773
+ ingredient
774
+ washing machine
775
+ lighting
776
+ bagel
777
+ sailboat
778
+ policeman
779
+ mare
780
+ graphic
781
+ halloween pumpkin
782
+ stock
783
+ pilot
784
+ education
785
+ team
786
+ body
787
+ horse
788
+ kimono
789
+ bazaar
790
+ bag
791
+ recording studio
792
+ parsley
793
+ entrance
794
+ denim
795
+ vet
796
+ horse farm
797
+ charcoal
798
+ architecture
799
+ glass vase
800
+ puppy
801
+ estuary
802
+ television show host
803
+ city bus
804
+ shoulder
805
+ beast
806
+ balance
807
+ golfer
808
+ roadside
809
+ denim jacket
810
+ stone wall
811
+ counter top
812
+ app icon
813
+ toast
814
+ head coach
815
+ ham
816
+ warrior
817
+ gem
818
+ refrigerator
819
+ snowman
820
+ construction worker
821
+ coal
822
+ website
823
+ morning fog
824
+ mustard
825
+ human
826
+ owl
827
+ puppy dog
828
+ piggy bank
829
+ vegetation
830
+ pirate
831
+ action film
832
+ marshmallow
833
+ thanksgiving
834
+ business
835
+ disease
836
+ signage
837
+ greeting
838
+ skate park
839
+ tile
840
+ mouth
841
+ spinach
842
+ vacation
843
+ leader
844
+ shrine
845
+ walker
846
+ science fiction film
847
+ bill
848
+ rabbit
849
+ motor boat
850
+ bar
851
+ radio
852
+ barge
853
+ tail
854
+ chainsaw
855
+ gallery
856
+ rainbow
857
+ pasta
858
+ padlock
859
+ web
860
+ pastry
861
+ ink
862
+ reef
863
+ school uniform
864
+ shawl
865
+ treasure
866
+ peach
867
+ dinner table
868
+ injury
869
+ harbor
870
+ witch
871
+ car dealership
872
+ litter
873
+ gesture
874
+ documentary
875
+ marriage
876
+ sea shell
877
+ priest
878
+ dome
879
+ kit
880
+ icon
881
+ seaside
882
+ bucket
883
+ entertainment
884
+ stable
885
+ hat
886
+ puddle
887
+ sock
888
+ shopper
889
+ technology
890
+ harbour
891
+ orbit
892
+ antler
893
+ tube
894
+ flag waving
895
+ cook
896
+ tight
897
+ commander
898
+ farmland
899
+ switch
900
+ hiker
901
+ wedding ceremony
902
+ award ceremony
903
+ champion
904
+ chopstick
905
+ farmhouse
906
+ performer
907
+ spike
908
+ accident
909
+ cruise ship
910
+ passenger train
911
+ attraction
912
+ entertainer
913
+ rear view
914
+ sidewalk
915
+ parade
916
+ racing
917
+ plane
918
+ ritual
919
+ peacock
920
+ pocket
921
+ plum
922
+ drop
923
+ carrot
924
+ floor
925
+ sunset
926
+ troop
927
+ architect
928
+ coffee table
929
+ dust
930
+ outline
931
+ leather
932
+ charity event
933
+ heat
934
+ whale
935
+ laundry
936
+ coconut tree
937
+ crosswalk
938
+ pony
939
+ ant
940
+ pipe
941
+ string
942
+ coat
943
+ angel
944
+ beef
945
+ church tower
946
+ dish
947
+ pitch
948
+ cupboard
949
+ thermometer
950
+ dirt field
951
+ fireworks
952
+ minute
953
+ cane
954
+ pajama
955
+ flower garden
956
+ autumn
957
+ trash can
958
+ dachshund
959
+ banana tree
960
+ tray
961
+ moose
962
+ roadway
963
+ carnival
964
+ antenna
965
+ pole
966
+ castle wall
967
+ ram
968
+ cattle
969
+ hay
970
+ cookie
971
+ swimmer
972
+ baseball team
973
+ strait
974
+ hedge
975
+ jet
976
+ fire pit
977
+ octopus
978
+ calf
979
+ cube
980
+ opera
981
+ cardboard box
982
+ tiara
983
+ kitchen sink
984
+ prairie
985
+ bowl
986
+ galaxy
987
+ straw hat
988
+ linen
989
+ ski resort
990
+ stitch
991
+ street lamp
992
+ motorist
993
+ icicle
994
+ stain
995
+ flora
996
+ drain
997
+ kitchen cabinet
998
+ decor
999
+ bouquet
1000
+ pound
1001
+ interior design
1002
+ nail polish
1003
+ figurine
1004
+ tomb
1005
+ disc
1006
+ twist
1007
+ blouse
1008
+ ribbon
1009
+ figure
1010
+ burger
1011
+ cork
1012
+ soccer goalkeeper
1013
+ train bridge
1014
+ drinking water
1015
+ dew
1016
+ baker
1017
+ storm cloud
1018
+ tarmac
1019
+ tv drama
1020
+ sponge
1021
+ magnet
1022
+ sailor
1023
+ entry
1024
+ swan
1025
+ exercise
1026
+ sloth
1027
+ jewel
1028
+ scuba diver
1029
+ bite
1030
+ cat tree
1031
+ tent
1032
+ can
1033
+ tennis match
1034
+ ecosystem
1035
+ picket fence
1036
+ palm
1037
+ train car
1038
+ frying pan
1039
+ rally
1040
+ tablet pc
1041
+ reindeer
1042
+ image
1043
+ wolf
1044
+ chin
1045
+ conservatory
1046
+ flood water
1047
+ cityscape
1048
+ beach sand
1049
+ car park
1050
+ pavement
1051
+ farm field
1052
+ swimming
1053
+ winter storm
1054
+ stem
1055
+ pillow
1056
+ inning
1057
+ gorilla
1058
+ desk
1059
+ avenue
1060
+ fern
1061
+ money
1062
+ pearl
1063
+ train station
1064
+ skillet
1065
+ nap
1066
+ barber
1067
+ library
1068
+ freezer
1069
+ label
1070
+ rainforest
1071
+ parking sign
1072
+ mirror
1073
+ wing
1074
+ noodle
1075
+ press room
1076
+ sculpture
1077
+ tablet
1078
+ viewer
1079
+ prayer
1080
+ mini
1081
+ mechanic
1082
+ laugh
1083
+ rice field
1084
+ hand
1085
+ mustache
1086
+ mountain road
1087
+ catwalk
1088
+ conference
1089
+ cape
1090
+ installation
1091
+ musician
1092
+ stream
1093
+ machine
1094
+ speech
1095
+ crocodile
1096
+ soccer match
1097
+ town square
1098
+ passport
1099
+ post box
1100
+ point
1101
+ stone building
1102
+ motorway
1103
+ mix
1104
+ dentist
1105
+ businessperson
1106
+ happiness
1107
+ boat
1108
+ vineyard
1109
+ treadmill
1110
+ glass wall
1111
+ water droplet
1112
+ coffee mug
1113
+ graduate
1114
+ sunflower
1115
+ parliament
1116
+ shepherd
1117
+ movie
1118
+ wine
1119
+ orchard
1120
+ tulip
1121
+ motherboard
1122
+ cup
1123
+ broom
1124
+ spot
1125
+ drawing
1126
+ polo shirt
1127
+ graduation
1128
+ film producer
1129
+ moonlight
1130
+ glow
1131
+ film format
1132
+ t shirt
1133
+ rock face
1134
+ sword
1135
+ clinic
1136
+ festival day
1137
+ meadow
1138
+ staple
1139
+ pupil
1140
+ training ground
1141
+ rider
1142
+ flower
1143
+ foal
1144
+ wharf
1145
+ foot bridge
1146
+ shooting
1147
+ top
1148
+ mast
1149
+ police car
1150
+ robe
1151
+ wedding bouquet
1152
+ stop sign
1153
+ birthday cake
1154
+ glitter
1155
+ butter
1156
+ scooter
1157
+ tundra
1158
+ superhero
1159
+ pocket watch
1160
+ inscription
1161
+ youngster
1162
+ fruit tree
1163
+ movie poster
1164
+ engine
1165
+ foundation
1166
+ motorcyclist
1167
+ take
1168
+ woman
1169
+ antelope
1170
+ country artist
1171
+ road trip
1172
+ typewriter
1173
+ tuxedo
1174
+ brand
1175
+ pine
1176
+ bathroom
1177
+ paradise
1178
+ texture
1179
+ balloon
1180
+ dining table
1181
+ home
1182
+ computer screen
1183
+ actor
1184
+ clip
1185
+ tv tower
1186
+ panorama
1187
+ summit
1188
+ cat
1189
+ plot
1190
+ eagle
1191
+ dancer
1192
+ pup
1193
+ studio shot
1194
+ tear
1195
+ bird bath
1196
+ classroom
1197
+ bookstore
1198
+ city wall
1199
+ tv programme
1200
+ blade
1201
+ easel
1202
+ buttercream
1203
+ sweet
1204
+ designer
1205
+ diamond
1206
+ handshake
1207
+ herb
1208
+ corn field
1209
+ seafront
1210
+ concrete
1211
+ street artist
1212
+ gas
1213
+ stamp
1214
+ window display
1215
+ paper
1216
+ note
1217
+ pint
1218
+ quarry
1219
+ research
1220
+ fixture
1221
+ manager
1222
+ soil
1223
+ leopard
1224
+ board game
1225
+ ladder
1226
+ stop light
1227
+ island
1228
+ ramp
1229
+ football match
1230
+ icing
1231
+ drill
1232
+ currency
1233
+ summer evening
1234
+ topping
1235
+ pyramid
1236
+ pomegranate
1237
+ cell
1238
+ ivy
1239
+ squad
1240
+ scenery
1241
+ computer
1242
+ locomotive
1243
+ surf
1244
+ mascot
1245
+ dune
1246
+ path
1247
+ duck
1248
+ twilight
1249
+ wire
1250
+ bow tie
1251
+ strike
1252
+ cormorant
1253
+ car wash
1254
+ crane
1255
+ market
1256
+ philosopher
1257
+ alarm clock
1258
+ camera
1259
+ birch
1260
+ greeting card
1261
+ plain
1262
+ clay
1263
+ donut
1264
+ lock
1265
+ moth
1266
+ laboratory
1267
+ fan
1268
+ violin
1269
+ jazz fusion artist
1270
+ mountain biker
1271
+ terrain
1272
+ magazine
1273
+ pickup
1274
+ comedy film
1275
+ smartphone
1276
+ film
1277
+ bed
1278
+ microwave oven
1279
+ tournament
1280
+ lawn
1281
+ car window
1282
+ alligator
1283
+ screen
1284
+ jetty
1285
+ shopping bag
1286
+ landscape view
1287
+ cabinetry
1288
+ friendly match
1289
+ thing
1290
+ petal
1291
+ shopping center
1292
+ transport
1293
+ ballet dancer
1294
+ shoreline
1295
+ princess
1296
+ car seat
1297
+ parking meter
1298
+ green
1299
+ vodka
1300
+ band
1301
+ rock
1302
+ costume
1303
+ warning sign
1304
+ strip
1305
+ plaque
1306
+ wheelchair
1307
+ headband
1308
+ ginger
1309
+ dice
1310
+ media
1311
+ hairdresser
1312
+ press
1313
+ living room
1314
+ stove
1315
+ player
1316
+ cherry
1317
+ workshop
1318
+ carving
1319
+ embroidery
1320
+ doodle
1321
+ adventure
1322
+ rugby player
1323
+ monument
1324
+ brush
1325
+ marker
1326
+ loft
1327
+ postcard
1328
+ collage
1329
+ ball
1330
+ professor
1331
+ dresser
1332
+ gig
1333
+ festival
1334
+ blackbird
1335
+ makeup artist
1336
+ video camera
1337
+ sticker
1338
+ peak
1339
+ wildflower
1340
+ santa hat
1341
+ rodeo
1342
+ wedding photographer
1343
+ guy
1344
+ staff
1345
+ waterfall
1346
+ operation
1347
+ defender
1348
+ falcon
1349
+ haze
1350
+ individual
1351
+ gentleman
1352
+ greyhound
1353
+ rocking chair
1354
+ rice
1355
+ garbage
1356
+ platter
1357
+ chocolate
1358
+ splash
1359
+ business suit
1360
+ cheetah
1361
+ valley
1362
+ maze
1363
+ trampoline
1364
+ garland
1365
+ slalom
1366
+ unicorn
1367
+ tree stump
1368
+ painting
1369
+ romance
1370
+ fight
1371
+ alcohol
1372
+ ghost
1373
+ fondant
1374
+ spa
1375
+ shutter
1376
+ death
1377
+ demonstration
1378
+ cotton
1379
+ pier
1380
+ flea market
1381
+ history
1382
+ savannah
1383
+ fist
1384
+ aisle
1385
+ crew
1386
+ jug
1387
+ pose
1388
+ anchor
1389
+ teapot
1390
+ boat house
1391
+ business team
1392
+ tripod
1393
+ bee
1394
+ pebble
1395
+ mattress
1396
+ canvas
1397
+ hallway
1398
+ campaign
1399
+ pod
1400
+ lake district
1401
+ article
1402
+ white
1403
+ sofa
1404
+ honey
1405
+ marathon
1406
+ pancake
1407
+ tourist attraction
1408
+ wedding gown
1409
+ battle
1410
+ shelving
1411
+ sea
1412
+ sheet music
1413
+ pie
1414
+ yarn
1415
+ construction site
1416
+ flyer
1417
+ tie
1418
+ star
1419
+ lettuce
1420
+ martial artist
1421
+ dart
1422
+ straw
1423
+ reflection
1424
+ conference room
1425
+ temperature
1426
+ rugby
1427
+ mosquito
1428
+ physicist
1429
+ rock climber
1430
+ crash
1431
+ backdrop
1432
+ toilet seat
1433
+ sand castle
1434
+ water park
1435
+ toy car
1436
+ waste
1437
+ luxury
1438
+ hangar
1439
+ rv
1440
+ tree trunk
1441
+ board
1442
+ gold
1443
+ project picture
1444
+ cap
1445
+ cottage
1446
+ relief
1447
+ attire
1448
+ microscope
1449
+ battery
1450
+ roll
1451
+ line
1452
+ parking garage
1453
+ crystal
1454
+ broadcasting
1455
+ brick wall
1456
+ lab
1457
+ flooring
1458
+ meeting
1459
+ 3d cg rendering
1460
+ desktop computer
1461
+ cowboy
1462
+ sailing ship
1463
+ junction
1464
+ hairstyle
1465
+ homework
1466
+ profile
1467
+ model
1468
+ flower pot
1469
+ street light
1470
+ salt lake
1471
+ maple
1472
+ space
1473
+ blizzard
1474
+ throw
1475
+ zebras
1476
+ brochure
1477
+ constellation
1478
+ beak
1479
+ kilt
1480
+ pond
1481
+ blue sky
1482
+ sneaker
1483
+ sand dune
1484
+ morning sun
1485
+ almond
1486
+ grill
1487
+ curl
1488
+ basketball girl game
1489
+ chameleon
1490
+ toilet bowl
1491
+ prince
1492
+ keyboard
1493
+ queen
1494
+ computer monitor
1495
+ writing
1496
+ crown
1497
+ basilica
1498
+ kiss
1499
+ house
1500
+ parking
1501
+ football competition
1502
+ shell
1503
+ sport equipment
1504
+ comedy
1505
+ baboon
1506
+ vendor
1507
+ rise building
1508
+ wrap
1509
+ food truck
1510
+ cat bed
1511
+ rickshaw
1512
+ flare
1513
+ teal
1514
+ nectar
1515
+ eclipse
1516
+ vehicle
1517
+ steam locomotive
1518
+ gorge
1519
+ cow
1520
+ christmas card
1521
+ demonstrator
1522
+ memorial
1523
+ towel
1524
+ jewellery
1525
+ train
1526
+ frisbee
1527
+ baseball game
1528
+ fur
1529
+ afternoon sun
1530
+ community
1531
+ sparkler
1532
+ bandage
1533
+ firework
1534
+ dollar
1535
+ pasture
1536
+ video
1537
+ bus
1538
+ tree house
1539
+ seashore
1540
+ field
1541
+ hamburger
1542
+ souvenir
1543
+ hedgehog
1544
+ worm
1545
+ pine cone
1546
+ osprey
1547
+ dinosaur
1548
+ vegetable
1549
+ junk
1550
+ poster
1551
+ army
1552
+ winger
1553
+ bundle
1554
+ stage
1555
+ growth
1556
+ wedding party
1557
+ service
1558
+ blanket
1559
+ ruler
1560
+ eye
1561
+ credit card
1562
+ castle
1563
+ diner
1564
+ hut
1565
+ elk
1566
+ hard rock artist
1567
+ nun
1568
+ dog breed
1569
+ nest
1570
+ drama film
1571
+ number icon
1572
+ water tank
1573
+ giraffe
1574
+ altar
1575
+ pavilion
1576
+ tv personality
1577
+ suv
1578
+ street vendor
1579
+ street sign
1580
+ ditch
1581
+ debris
1582
+ foam
1583
+ takeoff
1584
+ spice
1585
+ mountain lake
1586
+ tea
1587
+ orchestra
1588
+ spacecraft
1589
+ counter
1590
+ abbey
1591
+ mountain
1592
+ hydrangea
1593
+ racer
1594
+ orange tree
1595
+ tide
1596
+ cowboy hat
1597
+ rapid
1598
+ town
1599
+ wild
1600
+ herd
1601
+ vein
1602
+ driveway
1603
+ jar
1604
+ bark
1605
+ illustration
1606
+ horror film
1607
+ corn
1608
+ stroller
1609
+ industry
1610
+ mountain stream
1611
+ gym
1612
+ neckline
1613
+ pan
1614
+ client
1615
+ spectator
1616
+ eggplant
1617
+ camper
1618
+ fawn
1619
+ hoodie
1620
+ meat
1621
+ lemonade
1622
+ food market
1623
+ slum
1624
+ comic book character
1625
+ flower market
1626
+ love
1627
+ palace
1628
+ gun
1629
+ heel
1630
+ shopping street
1631
+ shooting basketball guard
1632
+ family photo
1633
+ rooftop
1634
+ laundry basket
1635
+ airport runway
1636
+ horn
1637
+ face mask
1638
+ flight
1639
+ appetizer
1640
+ violet
1641
+ country lane
1642
+ cement
1643
+ instrument
1644
+ tv actor
1645
+ spark
1646
+ celebrity
1647
+ award
1648
+ country house
1649
+ standing
1650
+ auction
1651
+ date
1652
+ engagement
1653
+ puck
1654
+ advertisement
1655
+ chair
1656
+ zebra
1657
+ driftwood
1658
+ bumblebee
1659
+ maple leaf
1660
+ bonnet
1661
+ orange
1662
+ water tower
1663
+ door
1664
+ singer
1665
+ floor plan
1666
+ discussion
1667
+ theatre
1668
+ pilgrim
1669
+ mug
1670
+ branch
1671
+ window sill
1672
+ baseball pitcher
1673
+ bakery
1674
+ lollipop
1675
+ basketball player
1676
+ toilet paper
1677
+ chalkboard
1678
+ cabin
1679
+ sign
1680
+ night sky
1681
+ cannon
1682
+ fishing net
1683
+ submarine
1684
+ suit
1685
+ fur coat
1686
+ wine bottle
1687
+ folder
1688
+ street art
1689
+ suspension bridge
1690
+ evening sky
1691
+ billboard
1692
+ postage stamp
1693
+ newspaper
1694
+ transportation
1695
+ surgeon
1696
+ light
1697
+ park
1698
+ horizon
1699
+ road
1700
+ sand bar
1701
+ trumpet
1702
+ lounge
1703
+ cloud forest
1704
+ birthday celebration
1705
+ balcony
1706
+ anime
1707
+ beehive
1708
+ umbrella
1709
+ goldfish
1710
+ baseball cap
1711
+ waterhole
1712
+ ceiling
1713
+ carousel
1714
+ backpack
1715
+ plant pot
1716
+ atmosphere
1717
+ sunflower field
1718
+ spire
1719
+ vision
1720
+ woodpecker
1721
+ chip
1722
+ pool table
1723
+ lotus flower
1724
+ cone
1725
+ humpback whale
1726
+ reservoir
1727
+ hunt
1728
+ piano
1729
+ plate
1730
+ dining area
1731
+ luggage
1732
+ skier
1733
+ dance floor
1734
+ crow
1735
+ stair
1736
+ overpass
1737
+ opera house
1738
+ bear
1739
+ jazz artist
1740
+ water
1741
+ vessel
1742
+ cast
1743
+ yard
1744
+ cathedral
1745
+ basketball hoop
1746
+ graveyard
1747
+ sound
1748
+ berry
1749
+ onlooker
1750
+ fauna
1751
+ birch tree
1752
+ retail
1753
+ hill
1754
+ skeleton
1755
+ journalist
1756
+ frost
1757
+ basket
1758
+ nail
1759
+ dusk
1760
+ trash
1761
+ dawn
1762
+ clover
1763
+ hen
1764
+ volcano
1765
+ basketball coach
1766
+ home decor
1767
+ charge
1768
+ haircut
1769
+ sense
1770
+ university
1771
+ lizard
1772
+ daisy
1773
+ tablet computer
1774
+ grass field
1775
+ prison
1776
+ metal artist
1777
+ bathroom mirror
1778
+ window frame
1779
+ chest
1780
+ flavor
1781
+ pop country artist
1782
+ market square
1783
+ monkey
1784
+ blog
1785
+ deer
1786
+ speech bubble
1787
+ dog
1788
+ independence day
1789
+ girl
1790
+ boy
1791
+ tartan
1792
+ furniture
1793
+ appliance
1794
+ office window
1795
+ fish boat
1796
+ sand box
1797
+ tv sitcom
1798
+ drama
1799
+ sleigh
1800
+ depression
1801
+ paper towel
1802
+ baseball
1803
+ protestor
1804
+ grape
1805
+ wedding cake
1806
+ invitation
1807
+ accessory
1808
+ pick
1809
+ grandparent
1810
+ racket
1811
+ tea plantation
1812
+ outdoors
1813
+ egg
1814
+ glass bowl
1815
+ sun
1816
+ organization
1817
+ lion
1818
+ panel
1819
+ station
1820
+ wallpaper
1821
+ helicopter
1822
+ salt
1823
+ vanity
1824
+ patio
1825
+ lunch
1826
+ street performer
1827
+ mountain range
1828
+ soup
1829
+ bacon
1830
+ power station
1831
+ cantilever bridge
1832
+ hummingbird
1833
+ shirt
1834
+ rope
1835
+ hip
1836
+ chalk
1837
+ pendant
1838
+ choir
1839
+ tv
1840
+ lichen
1841
+ railway bridge
1842
+ art gallery
1843
+ bartender
1844
+ wagon
1845
+ baby elephant
1846
+ accordion
1847
+ horseshoe
1848
+ building site
1849
+ clutch
1850
+ harvest
1851
+ savanna
1852
+ geranium
1853
+ business woman
1854
+ paddock
1855
+ patch
1856
+ beech tree
1857
+ war
1858
+ suburbs
1859
+ hospital bed
1860
+ motorcycle racer
1861
+ moss
1862
+ gravel
1863
+ government agency
1864
+ dollar bill
1865
+ father
1866
+ fjord
1867
+ concert
1868
+ nut
1869
+ wedding photography
1870
+ finish line
1871
+ home plate
1872
+ food
1873
+ nose
1874
+ thumb
1875
+ village
1876
+ dining room table
1877
+ bumper
1878
+ monster
1879
+ blackberry
1880
+ lime
1881
+ conflict
1882
+ gala
1883
+ wallet
1884
+ wrist
1885
+ hug
1886
+ mermaid
1887
+ lava
1888
+ lawyer
1889
+ folk rock artist
1890
+ arena
1891
+ onion
1892
+ toothbrush
1893
+ fashion
1894
+ perfume
1895
+ flip
1896
+ triangle
1897
+ woodland
1898
+ mail
1899
+ grasshopper
1900
+ studio
1901
+ wood floor
1902
+ den
1903
+ racquet
1904
+ cello
1905
+ lemur
1906
+ astronaut
1907
+ glass table
1908
+ blood
1909
+ dvd
1910
+ planter
1911
+ silver
1912
+ leash
1913
+ master bedroom
1914
+ forest
1915
+ batter
1916
+ shoe
1917
+ engraving
1918
+ opening
1919
+ product
1920
+ toe
1921
+ cocktail
1922
+ mallard duck
1923
+ bike ride
1924
+ oasis
1925
+ wedding ring
1926
+ cinematographer
1927
+ holly
1928
+ autograph
1929
+ fence
1930
+ ice cube
1931
+ cove
1932
+ pineapple
1933
+ aurora
1934
+ glass bead
1935
+ produce
1936
+ apartment building
1937
+ cob
1938
+ miniature
1939
+ cockpit
1940
+ flashlight
1941
+ frog
1942
+ sheep
1943
+ groom
1944
+ steel
1945
+ watermelon
1946
+ clip art
1947
+ paper plate
1948
+ ostrich
1949
+ contour
1950
+ mural
1951
+ cub
1952
+ paisley bandanna
1953
+ winery
1954
+ turn
1955
+ handle
1956
+ satellite
1957
+ post
1958
+ pork
1959
+ child
1960
+ asphalt
1961
+ grocery store
1962
+ vulture
1963
+ trolley
1964
+ nightclub
1965
+ brick
1966
+ trailer
1967
+ compass
1968
+ cereal
1969
+ cafe
1970
+ cartoon character
1971
+ sugar
1972
+ fiction book
1973
+ glass floor
1974
+ umpire
1975
+ guitar
1976
+ hamster
1977
+ protester
1978
+ airplane
1979
+ garment
1980
+ blazer
1981
+ railway line
1982
+ wedding
1983
+ shoe box
1984
+ parking lot
1985
+ construction
1986
+ graduation ceremony
1987
+ tram
1988
+ telescope
1989
+ copper
1990
+ pain
1991
+ autumn forest
1992
+ guest house
1993
+ partner
1994
+ crayon
1995
+ dip
1996
+ boot
1997
+ corridor
1998
+ computer keyboard
1999
+ hockey player
2000
+ chicken coop
2001
+ bus station
2002
+ gathering
2003
+ ankle
2004
+ bunk bed
2005
+ wood table
2006
+ football coach
2007
+ monarch
2008
+ pharmacy
2009
+ legging
2010
+ mannequin
2011
+ female
2012
+ train track
2013
+ stack
2014
+ canopy
2015
+ design element
2016
+ grandmother
2017
+ symbol
2018
+ beach hut
2019
+ zucchini
2020
+ bomb
2021
+ businessman
2022
+ skyscraper
2023
+ tongue
2024
+ case
2025
+ sparkle
2026
+ highland
2027
+ ballroom
2028
+ prom
2029
+ estate
2030
+ customer
2031
+ archipelago
2032
+ cheese
2033
+ debate
2034
+ carriage
2035
+ bulldozer
2036
+ pumpkin
2037
+ sitting room
2038
+ gas station
2039
+ wedding reception
2040
+ camp
2041
+ dog bed
2042
+ tower
2043
+ property
2044
+ river bed
2045
+ pop latin artist
2046
+ fridge
2047
+ wine glass
2048
+ coast
2049
+ beer
2050
+ tow truck
2051
+ fire truck
2052
+ mountain bike
2053
+ thigh
2054
+ heron
2055
+ boat ride
2056
+ gondola
2057
+ turquoise
2058
+ lake
2059
+ llama
2060
+ kitty
2061
+ tin
2062
+ waiting room
2063
+ coffee cup
2064
+ socialite
2065
+ guard
2066
+ tap
2067
+ waterway
2068
+ forehead
2069
+ list
2070
+ erosion
2071
+ box
2072
+ sea lion
2073
+ pollen
2074
+ dam
2075
+ wasp
2076
+ salon
2077
+ tennis tournament
2078
+ flower box
2079
+ aquarium
2080
+ rain cloud
2081
+ clothing store
2082
+ lead singer
2083
+ cupcake
2084
+ tortoise
2085
+ lettering
2086
+ sport facility
2087
+ dance
2088
+ dog house
2089
+ nature
2090
+ football
2091
+ rooster
2092
+ footballer
2093
+ railway track
2094
+ crowd
2095
+ fishing rod
2096
+ silhouette
2097
+ wind turbine
2098
+ sari
2099
+ bus window
2100
+ cloud
2101
+ charity
2102
+ medal
2103
+ yoga
2104
+ event
2105
+ veil
2106
+ fashion menswear milan week
2107
+ news
2108
+ knife
2109
+ print
2110
+ screen tv
2111
+ walnut
2112
+ fungus
2113
+ ice cream
2114
+ computer mouse
2115
+ play
2116
+ tribe
2117
+ picture
2118
+ video game
2119
+ business card
2120
+ music festival
2121
+ rack
2122
+ envelope
2123
+ shower
2124
+ dirt road
2125
+ mine
2126
+ oyster
2127
+ monarch butterfly
2128
+ dude
2129
+ fruit salad
2130
+ podium
2131
+ fork
2132
+ lace
2133
+ test match
2134
+ boulder
2135
+ cricket player
2136
+ staircase
2137
+ peninsula
2138
+ shopping
2139
+ popcorn
2140
+ oak
2141
+ market stall
2142
+ pine tree
2143
+ mountaineer
2144
+ student
2145
+ closet
2146
+ hood
2147
+ handstand
2148
+ centerpiece
2149
+ insect
2150
+ patient
2151
+ makeover
2152
+ tennis player
2153
+ sheet
2154
+ park bench
2155
+ apple
2156
+ organism
2157
+ hook
2158
+ turkey
2159
+ tangerine
2160
+ sibling
2161
+ shopping mall
2162
+ bird
2163
+ scarf
2164
+ smoothie
2165
+ net
2166
+ grass
2167
+ napkin
2168
+ ray
2169
+ eyebrow
2170
+ laptop keyboard
2171
+ motorbike
2172
+ woman hand
2173
+ oven
2174
+ book cover
2175
+ easter egg
2176
+ microwave
2177
+ sand
2178
+ snapshot
2179
+ soccer ball
2180
+ makeup
2181
+ knight
2182
+ bowling ball
2183
+ shower curtain
2184
+ flame
2185
+ lightning
2186
+ running
2187
+ power plant
2188
+ crib
2189
+ cartoon
2190
+ moat
2191
+ fashion girl
2192
+ wedding invitation
2193
+ bottle
2194
+ cliff
2195
+ monastery
2196
+ file photo
2197
+ apartment
2198
+ casino
2199
+ cream
2200
+ sweatshirt
2201
+ storm
2202
+ cruise
2203
+ teddy bear
2204
+ shovel
2205
+ wind farm
2206
+ writer
2207
+ dock
2208
+ professional
2209
+ hotel room
2210
+ job
2211
+ monitor
2212
+ donkey
2213
+ pass
2214
+ interview
2215
+ duchess
2216
+ mark
2217
+ plank
2218
+ beard
2219
+ zombie
2220
+ trio
2221
+ channel
2222
+ cricket team
2223
+ windmill
2224
+ vest
2225
+ diagram
2226
+ cable
2227
+ winter scene
2228
+ golden gate bridge
2229
+ buffalo
2230
+ studio portrait
2231
+ pagoda
2232
+ whiskey
2233
+ freight train
2234
+ kite
2235
+ future
2236
+ steam train
2237
+ phone box
2238
+ headset
2239
+ wood
2240
+ snowboarder
2241
+ paper bag
2242
+ slide
2243
+ grapefruit
2244
+ seating
2245
+ morning
2246
+ bronze sculpture
2247
+ theatre actor
2248
+ stump
2249
+ jean
2250
+ landmark
2251
+ jam
2252
+ waist
2253
+ watercolor
2254
+ hammock
2255
+ light fixture
2256
+ ice
2257
+ basin
2258
+ beverage
2259
+ shelter
2260
+ premiere
2261
+ mound
2262
+ ear
2263
+ bronze
2264
+ sunlight
2265
+ street
2266
+ energy
2267
+ barn door
2268
+ hike
2269
+ fleet
2270
+ claw
2271
+ beach
2272
+ pepperoni
2273
+ bin
2274
+ trainer
2275
+ buffet
2276
+ archive
2277
+ toddler
2278
+ referee
2279
+ bay window
2280
+ dove
2281
+ production company
2282
+ evening light
2283
+ gate
2284
+ farm
2285
+ reed
2286
+ fruit stand
2287
+ explorer
2288
+ snow storm
2289
+ throw pillow
2290
+ button
2291
+ display case
2292
+ bookcase
2293
+ lead
2294
+ lipstick
2295
+ basketball court
2296
+ cargo
2297
+ ensemble
2298
+ pope
2299
+ clock tower
2300
+ teen
2301
+ speaker
2302
+ rat
2303
+ laptop
2304
+ ski
2305
+ mess
2306
+ stadium
2307
+ ferry boat
2308
+ bunny
2309
+ waterfront
2310
+ downtown
2311
+ sink
2312
+ press conference
2313
+ dinner
2314
+ condiment
2315
+ thread
2316
+ audience
2317
+ grid
2318
+ car
2319
+ plastic
2320
+ people
2321
+ barbecue
2322
+ pigeon
2323
+ urinal
2324
+ seagull
2325
+ volunteer
2326
+ hockey
2327
+ fir tree
2328
+ pollution
2329
+ trial
2330
+ collar
2331
+ area
2332
+ meeting room
2333
+ circus
2334
+ yogurt
2335
+ orangutan
2336
+ viaduct
2337
+ comedian
2338
+ drone
2339
+ scissor
2340
+ pop rock artist
2341
+ biscuit
2342
+ panda
2343
+ water feature
2344
+ air balloon
2345
+ remote control
2346
+ watercolor painting
2347
+ show
2348
+ walk
2349
+ post office
2350
+ bike path
2351
+ rap gangsta artist
2352
+ microphone
2353
+ crack
2354
+ sunset sky
2355
+ glass
2356
+ tv show
2357
+ cartoon style
2358
+ stripe
2359
+ foyer
2360
+ signal
2361
+ calligraphy
2362
+ bulb
2363
+ gardener
2364
+ coffee bean
2365
+ spider
2366
+ tapestry
2367
+ city skyline
2368
+ necklace
2369
+ kitten
2370
+ traveler
2371
+ veteran
2372
+ frosting
2373
+ fry
2374
+ tennis court
2375
+ tank top
2376
+ butterfly house
2377
+ mist
2378
+ drummer
2379
+ water level
2380
+ scale
2381
+ baseball glove
2382
+ music video performer
2383
+ champagne
2384
+ camping
2385
+ clothing
2386
+ water drop
2387
+ telephone box
2388
+ pen
2389
+ morning mist
2390
+ fire engine
2391
+ porch
2392
+ opening ceremony
2393
+ style
2394
+ palm tree
2395
+ fashion show
2396
+ universe
2397
+ scratch
2398
+ axe
2399
+ ottoman
2400
+ explosion
2401
+ rib
2402
+ boutique
2403
+ game
2404
+ cucumber
2405
+ fruit
2406
+ stone bridge
2407
+ nature reserve
2408
+ track
2409
+ train window
2410
+ punch
2411
+ telephone pole
2412
+ velvet
2413
+ sauce
2414
+ moon
2415
+ contrast
2416
+ flamingo
2417
+ bat
2418
+ vending machine
2419
+ ship
2420
+ equestrian
2421
+ shade
2422
+ comforter
2423
+ pallet
2424
+ sparrow
2425
+ wii
2426
+ glaze
2427
+ grocery
2428
+ steeple
2429
+ soccer player
2430
+ contract
2431
+ advertising
2432
+ runner
2433
+ chimpanzee
2434
+ world
2435
+ seat
2436
+ project
2437
+ chihuahua
2438
+ bubble
2439
+ willow
2440
+ pedestal
2441
+ soul hip hop artist
2442
+ curb
2443
+ drawer
2444
+ leaf
2445
+ banner
2446
+ launch party
2447
+ coach
2448
+ government
2449
+ snowball
2450
+ toy
2451
+ portrait
2452
+ doctor
2453
+ whiteboard
2454
+ electronic
2455
+ tiger
2456
+ graffiti
2457
+ column
2458
+ nightstand
2459
+ whistle
2460
+ maxi dress
2461
+ bench
2462
+ wetsuit
2463
+ bird feeder
2464
+ football game
2465
+ basketball
2466
+ class
2467
+ bathroom door
2468
+ store window
2469
+ text message
2470
+ wreath
2471
+ street view
2472
+ binocular
2473
+ pet
2474
+ facade
2475
+ drought
2476
+ lemon
2477
+ new year
2478
+ night view
2479
+ airplane window
2480
+ specie
2481
+ rule
2482
+ jaw
2483
+ wheat field
2484
+ diet
2485
+ pop artist
2486
+ habitat
2487
+ screenshot
2488
+ scoreboard
2489
+ shore
2490
+ mane
2491
+ quilt
2492
+ ski lift
2493
+ orchid
2494
+ turban
2495
+ christmas
2496
+ airport
2497
+ marina
2498
+ glass door
2499
+ glass bottle
2500
+ restaurant
2501
+ conductor
2502
+ logo
2503
+ sleep
2504
+ tape
2505
+ tomato
2506
+ river bank
2507
+ lilac
2508
+ tooth
2509
+ training
2510
+ pottery
2511
+ shop
2512
+ steam engine
2513
+ mason jar
2514
+ base
2515
+ procession
2516
+ border
2517
+ shoot
2518
+ footprint
2519
+ hotdog
2520
+ bull
2521
+ stocking
2522
+ recreation
2523
+ automobile model
2524
+ design
2525
+ country pop artist
2526
+ river
2527
+ retriever
2528
+ department store
2529
+ auditorium
2530
+ sport car
2531
+ supermarket
2532
+ belt
2533
+ cricket
2534
+ window box
2535
+ dress shirt
2536
+ letter
2537
+ residence
2538
+ megaphone
2539
+ pant
2540
+ wildfire
2541
+ bird nest
2542
+ crab
2543
+ swimsuit
2544
+ candle
2545
+ funeral
2546
+ mill
2547
+ national park
2548
+ plant
2549
+ cop
2550
+ power line
2551
+ perch
2552
+ blue
2553
+ finger
2554
+ ferris wheel
2555
+ globe
2556
+ skateboard
2557
+ helmet
2558
+ movie theater
2559
+ uniform
2560
+ hammer
2561
+ material
2562
+ kid
2563
+ well
2564
+ butterfly
2565
+ sideline
2566
+ fashion fall show
2567
+ planet earth
2568
+ lift
2569
+ male
2570
+ sauna
2571
+ gray
2572
+ flour
2573
+ sand sculpture
2574
+ program
2575
+ cabinet
2576
+ infant
2577
+ wheel
2578
+ aircraft model
2579
+ dough
2580
+ garlic
2581
+ skate
2582
+ arrow
2583
+ wrapping paper
2584
+ ripple
2585
+ lamp
2586
+ iron
2587
+ banknote
2588
+ beaver
2589
+ ferry
2590
+ courtyard
2591
+ bassist
2592
+ countryside
2593
+ steak
2594
+ comfort
2595
+ boxer
2596
+ laundry room
2597
+ campsite
2598
+ brick building
2599
+ golf
2600
+ subway
2601
+ headphone
2602
+ fort
2603
+ handbag
2604
+ drum
2605
+ flood
2606
+ saddle
2607
+ bass
2608
+ labyrinth
2609
+ needle
2610
+ sun ray
2611
+ app
2612
+ menu
2613
+ president
2614
+ cardigan
2615
+ dandelion
2616
+ wetland
2617
+ ice hockey player
2618
+ number
2619
+ city hall
2620
+ fishing
2621
+ portrait session
2622
+ pug
2623
+ key
2624
+ art print
2625
+ minister
2626
+ hurdle
2627
+ emergency
2628
+ painting artist
2629
+ flag pole
2630
+ evening
2631
+ purse
2632
+ recipe
2633
+ golf ball
2634
+ coloring book
2635
+ mountain peak
2636
+ senior
2637
+ holiday
2638
+ bud
2639
+ cousin
2640
+ pantry
2641
+ lap
2642
+ skin
2643
+ flag
2644
+ tissue paper
2645
+ ridge
2646
+ wire fence
2647
+ surfer
2648
+ climber
2649
+ photograph
2650
+ sewing machine
2651
+ cooler
2652
+ actress
2653
+ apple tree
2654
+ cancer
2655
+ starfish
2656
+ automobile make
2657
+ dumbbell
2658
+ brace
2659
+ tunnel
2660
+ window
2661
+ paint artist
2662
+ composition
2663
+ school student
2664
+ condo
2665
+ convertible
2666
+ cushion
2667
+ selfie
2668
+ territory
2669
+ guide
2670
+ tree
2671
+ court
2672
+ shrimp
2673
+ stone house
2674
+ dress
2675
+ eyelash
2676
+ juice
2677
+ broccoli
2678
+ chain
2679
+ tourism
2680
+ mountain top
2681
+ concept car
2682
+ film premiere
2683
+ light bulb
2684
+ cafeteria
2685
+ badge
2686
+ flower bed
2687
+ theater
2688
+ root
2689
+ racecar driver
2690
+ basketball boy game
2691
+ glove
2692
+ skyline
2693
+ wall
2694
+ glacier
2695
+ airport terminal
2696
+ bug
2697
+ trim
2698
+ railway station
2699
+ briefcase
2700
+ flat
2701
+ fountain
2702
+ person
2703
+ lane
2704
+ asparagus
2705
+ art
2706
+ lantern
2707
+ dishwasher
2708
+ director
2709
+ snake
2710
+ lecture
2711
+ game controller
2712
+ tree branch
2713
+ pub
2714
+ bathing suit
2715
+ queue
2716
+ belly
2717
+ poppy
2718
+ bow
2719
+ pitcher
2720
+ ice cream cone
2721
+ cave
2722
+ candy
2723
+ road bridge
2724
+ host
2725
+ traffic jam
2726
+ earring
2727
+ file
2728
+ foot
2729
+ watermark overlay stamp
2730
+ mailbox
2731
+ supercar
2732
+ railing
2733
+ bedroom
2734
+ seafood
2735
+ waffle
2736
+ bronze statue
2737
+ plan
2738
+ flow
2739
+ marble
2740
+ basketball game
2741
+ automobile
2742
+ scene
2743
+ cypress tree
2744
+ soldier
2745
+ skateboarder
2746
+ glass building
2747
+ cherry tree
2748
+ pump
2749
+ grain
2750
+ wildebeest
2751
+ loop
2752
+ frame
2753
+ bathtub
2754
+ saxophone
2755
+ diver
2756
+ stalk
2757
+ lily
2758
+ bead
2759
+ alley
2760
+ flock
2761
+ family room
2762
+ manufacturing
2763
+ pointer
2764
+ worker
2765
+ navy
2766
+ potato
2767
+ teacher
2768
+ photography
2769
+ dolly
2770
+ boardwalk
2771
+ water fountain
2772
+ athlete
2773
+ side dish
2774
+ bay
2775
+ ice hockey
2776
+ phone
2777
+ hero
2778
+ face
2779
+ gold medal
2780
+ blind
2781
+ swamp
2782
+ researcher
2783
+ swim
2784
+ meatball
2785
+ iguana
2786
+ leather jacket
2787
+ jellyfish
2788
+ site
2789
+ smoke
2790
+ traffic signal
2791
+ melon
2792
+ beetle
2793
+ calculator
2794
+ skirt
2795
+ plantation
2796
+ sculptor
2797
+ barrier
2798
+ catcher
2799
+ security guard
2800
+ sketch
2801
+ awning
2802
+ steering wheel
2803
+ mountain view
2804
+ bus stop
2805
+ pool
2806
+ leg
2807
+ spotlight
2808
+ apron
2809
+ mineral
2810
+ inlet
2811
+ sleeve
2812
+ torch
2813
+ emotion
2814
+ march
2815
+ police officer
2816
+ performance
2817
+ lamp post
2818
+ fishing boat
2819
+ summer
2820
+ presentation
2821
+ saucer
2822
+ suitcase
2823
+ supermodel
2824
+ goalkeeper
2825
+ shrub
2826
+ rock artist
2827
+ document
2828
+ beach house
2829
+ man
2830
+ blue artist
2831
+ cigar
2832
+ railroad track
2833
+ gown
2834
+ mosaic
2835
+ bungalow
2836
+ alphabet
2837
+ baseball field
2838
+ shed
2839
+ pedestrian
2840
+ rail
2841
+ soap
2842
+ kitchen counter
2843
+ dessert
2844
+ dunk
2845
+ blossom
2846
+ conversation
2847
+ fruit market
2848
+ glass jar
2849
+ military
2850
+ beer bottle
2851
+ photographer
2852
+ tennis racket
2853
+ competition
2854
+ escalator
2855
+ bell tower
2856
+ stilt
2857
+ ballerina
2858
+ television
2859
+ feather
2860
+ fence post
2861
+ rear
2862
+ dahlia
2863
+ red carpet
2864
+ tub
2865
+ hole
2866
+ fortress
2867
+ pack
2868
+ telephone
2869
+ cardboard
2870
+ city park
2871
+ platform
2872
+ college student
2873
+ arch bridge
2874
+ wind
2875
+ blender
2876
+ bloom
2877
+ ice rink
2878
+ birthday
2879
+ raven
2880
+ fairy
2881
+ embankment
2882
+ hall
2883
+ flower shop
2884
+ suburb
2885
+ barrel
2886
+ biker
2887
+ steam
2888
+ dragonfly
2889
+ formation
2890
+ electricity
2891
+ business people
2892
+ symmetry
2893
+ walkway
2894
+ fisherman
2895
+ gas mask
2896
+ loch
2897
+ youth
2898
+ hanger
2899
+ dot
2900
+ fish
2901
+ street market
2902
+ animation film
2903
+ crime fiction film
2904
+ boar
2905
+ emblem
2906
+ halloween costume
2907
+ kangaroo
2908
+ couple
2909
+ spoon
2910
+ squirrel
2911
+ neon sign
2912
+ sky
2913
+ office desk
2914
+ beauty salon
2915
+ breakwater
2916
+ fashion look
2917
+ toaster
2918
+ author
2919
+ news conference
2920
+ outdoor
2921
+ canoe
2922
+ dragon
2923
+ tool
2924
+ shopping centre
2925
+ ladybug
2926
+ swimming pool
2927
+ landscaping
2928
+ ski pole
2929
+ red
2930
+ truck
2931
+ fly
2932
+ temple
2933
+ level
2934
+ sunday
2935
+ railroad bridge
2936
+ car mirror
2937
+ lawn mower
2938
+ flute
2939
+ aircraft carrier
2940
+ fashion menswear london week
2941
+ sunshine
2942
+ tile floor
2943
+ skull
2944
+ fossil
2945
+ flower arrangement
2946
+ diaper
2947
+ sea turtle
2948
+ cherry blossom
2949
+ fireman
2950
+ shack
2951
+ lens
2952
+ waiter
2953
+ animal
2954
+ basement
2955
+ snow
2956
+ autumn park
2957
+ glass box
2958
+ kick
2959
+ head
2960
+ anniversary
2961
+ vine
2962
+ back
2963
+ paper lantern
2964
+ fish tank
2965
+ cellphone
2966
+ silk
2967
+ coral
2968
+ notebook
2969
+ photo
2970
+ gazebo
2971
+ ketchup
2972
+ driver
2973
+ farmer
2974
+ bonfire
2975
+ chestnut
2976
+ photoshoot
2977
+ football field
2978
+ olive tree
2979
+ pheasant
2980
+ sandal
2981
+ toilet
2982
+ fireplace
2983
+ music
2984
+ deity
2985
+ fish market
2986
+ fig
2987
+ bell
2988
+ neck
2989
+ grave
2990
+ villa
2991
+ cyclist
2992
+ crate
2993
+ grey
2994
+ asphalt road
2995
+ soccer
2996
+ hostel
2997
+ municipality
2998
+ courthouse
2999
+ roof
3000
+ end table
3001
+ pot
3002
+ sedan
3003
+ structure
3004
+ folk artist
3005
+ sport
3006
+ sport team
3007
+ protest
3008
+ syringe
3009
+ fashion designer
3010
+ jersey
3011
+ heart shape
3012
+ kayak
3013
+ stare
3014
+ sit with
3015
+ direct
3016
+ read
3017
+ photograph
3018
+ spin
3019
+ teach
3020
+ laugh
3021
+ carve
3022
+ grow on
3023
+ warm
3024
+ watch
3025
+ stretch
3026
+ smell
3027
+ decorate
3028
+ shine
3029
+ light
3030
+ dance
3031
+ send
3032
+ park
3033
+ chase
3034
+ collect
3035
+ lead
3036
+ kiss
3037
+ lead to
3038
+ lick
3039
+ smile
3040
+ cheer
3041
+ sit
3042
+ point
3043
+ block
3044
+ rock
3045
+ drop
3046
+ cut
3047
+ ski
3048
+ wrap
3049
+ lose
3050
+ serve
3051
+ provide
3052
+ sleep
3053
+ dress
3054
+ embrace
3055
+ burn
3056
+ pack
3057
+ stir
3058
+ create
3059
+ touch
3060
+ wash
3061
+ stick
3062
+ reveal
3063
+ shop
3064
+ train
3065
+ paint
3066
+ groom
3067
+ hunt
3068
+ bloom
3069
+ play
3070
+ pay
3071
+ brush
3072
+ shoot
3073
+ hold
3074
+ picture
3075
+ carry
3076
+ sip
3077
+ contain
3078
+ turn
3079
+ pour
3080
+ pitch
3081
+ give
3082
+ add
3083
+ blow
3084
+ look in
3085
+ show
3086
+ walk
3087
+ illuminate
3088
+ kneel
3089
+ cover
3090
+ drag
3091
+ post
3092
+ present
3093
+ fit
3094
+ operate
3095
+ fish
3096
+ race
3097
+ write
3098
+ deliver
3099
+ peel
3100
+ push
3101
+ run
3102
+ sit around
3103
+ buy
3104
+ jump
3105
+ walk on
3106
+ attend
3107
+ clean
3108
+ sell
3109
+ ride on
3110
+ mount
3111
+ host
3112
+ dry
3113
+ plant
3114
+ sing
3115
+ row
3116
+ shake
3117
+ perch
3118
+ ride
3119
+ fight
3120
+ skateboard
3121
+ live
3122
+ call
3123
+ surround
3124
+ practice
3125
+ play on
3126
+ work on
3127
+ step
3128
+ relax
3129
+ hit
3130
+ fall in
3131
+ flow
3132
+ greet
3133
+ launch
3134
+ wear
3135
+ hang on
3136
+ drive
3137
+ sit in
3138
+ break
3139
+ learn
3140
+ fly
3141
+ connect
3142
+ display
3143
+ locate
3144
+ compete
3145
+ go for
3146
+ sail
3147
+ lift
3148
+ toast
3149
+ help
3150
+ run on
3151
+ reflect
3152
+ pose
3153
+ scratch
3154
+ frame
3155
+ dribble
3156
+ herd
3157
+ enter
3158
+ exit
3159
+ place
3160
+ inspect
3161
+ build
3162
+ pick
3163
+ fill
3164
+ grind
3165
+ skate
3166
+ offer
3167
+ float
3168
+ sit by
3169
+ stand
3170
+ release
3171
+ rest
3172
+ singe
3173
+ climb
3174
+ tie
3175
+ mark
3176
+ lay
3177
+ stand around
3178
+ capture
3179
+ set
3180
+ land
3181
+ swinge
3182
+ run in
3183
+ kick
3184
+ lean
3185
+ head
3186
+ sign
3187
+ approach
3188
+ swim
3189
+ close
3190
+ crash
3191
+ control
3192
+ fall
3193
+ remove
3194
+ repair
3195
+ open
3196
+ appear
3197
+ travel
3198
+ load
3199
+ miss
3200
+ check
3201
+ surf
3202
+ moor
3203
+ smoke
3204
+ drink
3205
+ board
3206
+ seat
3207
+ feed
3208
+ rise
3209
+ sit on
3210
+ swing
3211
+ grow
3212
+ strike
3213
+ date
3214
+ slide
3215
+ share
3216
+ graze
3217
+ jump in
3218
+ lie
3219
+ extrude
3220
+ roll
3221
+ move
3222
+ gather
3223
+ eat
3224
+ pull
3225
+ run through
3226
+ squeeze
3227
+ lay on
3228
+ draw
3229
+ play with
3230
+ wave
3231
+ assemble
3232
+ perform
3233
+ march
3234
+ score
3235
+ attach
3236
+ adjust
3237
+ hang
3238
+ hug
3239
+ sleep on
3240
+ throw
3241
+ live in
3242
+ talk
3243
+ pet
3244
+ work
3245
+ run with
3246
+ see
3247
+ flip
3248
+ catch
3249
+ cook
3250
+ receive
3251
+ celebrate
3252
+ look
3253
+ classic
3254
+ bridal
3255
+ indoor
3256
+ industrial
3257
+ teenage
3258
+ mini
3259
+ grassy
3260
+ aged
3261
+ long
3262
+ warm
3263
+ light
3264
+ handsome
3265
+ happy
3266
+ three
3267
+ pregnant
3268
+ circular
3269
+ urban
3270
+ silver
3271
+ ceramic
3272
+ 3d
3273
+ green
3274
+ blonde
3275
+ golden
3276
+ dark
3277
+ tropical
3278
+ ripe
3279
+ deep
3280
+ fat
3281
+ musical
3282
+ giant
3283
+ medical
3284
+ medieval
3285
+ bare
3286
+ stunning
3287
+ bold
3288
+ geographical
3289
+ huge
3290
+ plastic
3291
+ foggy
3292
+ stormy
3293
+ gothic
3294
+ biological
3295
+ empty
3296
+ clear
3297
+ antique
3298
+ pink
3299
+ steep
3300
+ brown
3301
+ striped
3302
+ aerial
3303
+ rainy
3304
+ cool
3305
+ flying
3306
+ commercial
3307
+ purple
3308
+ trendy
3309
+ blank
3310
+ haired
3311
+ dead
3312
+ wooden
3313
+ flat
3314
+ high
3315
+ beige
3316
+ panoramic
3317
+ angry
3318
+ dozen
3319
+ rural
3320
+ solar
3321
+ big
3322
+ small
3323
+ stained
3324
+ thick
3325
+ many
3326
+ fresh
3327
+ clean
3328
+ strong
3329
+ abstract
3330
+ crowded
3331
+ retro
3332
+ dry
3333
+ gorgeous
3334
+ martial
3335
+ modern
3336
+ blue
3337
+ cloudy
3338
+ low
3339
+ four
3340
+ outdoor
3341
+ single
3342
+ much
3343
+ beautiful
3344
+ snowy
3345
+ pretty
3346
+ new
3347
+ short
3348
+ sunny
3349
+ closed
3350
+ rocky
3351
+ red
3352
+ two
3353
+ double
3354
+ male
3355
+ gray
3356
+ five
3357
+ colorful
3358
+ automotive
3359
+ various
3360
+ one
3361
+ old
3362
+ rusty
3363
+ tall
3364
+ wild
3365
+ narrow
3366
+ natural
3367
+ several
3368
+ frozen
3369
+ textured
3370
+ lush
3371
+ young
3372
+ hot
3373
+ mixed
3374
+ white
3375
+ float
3376
+ quiet
3377
+ round
3378
+ bright
3379
+ religious
3380
+ female
3381
+ historical
3382
+ shiny
3383
+ traditional
3384
+ tourist
3385
+ yellow
3386
+ bald
3387
+ coastal
3388
+ lovely
3389
+ little
3390
+ broken
3391
+ romantic
3392
+ wide
3393
+ royal
3394
+ rich
3395
+ open
3396
+ cute
3397
+ ancient
3398
+ cold
3399
+ political
3400
+ elderly
3401
+ gold
3402
+ full
3403
+ rustic
3404
+ metallic
3405
+ floral
3406
+ sad
3407
+ wet
3408
+ fancy
3409
+ senior
3410
+ tiny
3411
+ stylish
3412
+ large
3413
+ frosty
3414
+ orange
3415
+ transparent
3416
+ electronic
3417
+ shallow
3418
+ scared
3419
+ armed
3420
+ dirty
3421
+ historic
3422
+ black
3423
+ few
3424
+ windy
3425
+ some
3426
+ square
3427
+ ornamental
3428
+ sandy
3429
+ thin
ram/inference.py ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ '''
2
+ * The Inference of RAM and Tag2Text Models
3
+ * Written by Xinyu Huang
4
+ '''
5
+ import torch
6
+
7
+
8
+ def inference_tag2text(image, model, input_tag="None"):
9
+
10
+ with torch.no_grad():
11
+ caption, tag_predict = model.generate(image,
12
+ tag_input=None,
13
+ max_length=50,
14
+ return_tag_predict=True)
15
+
16
+ if input_tag == '' or input_tag == 'none' or input_tag == 'None':
17
+ return tag_predict[0], None, caption[0]
18
+
19
+ # If user input specified tags:
20
+ else:
21
+ input_tag_list = []
22
+ input_tag_list.append(input_tag.replace(',', ' | '))
23
+
24
+ with torch.no_grad():
25
+ caption, input_tag = model.generate(image,
26
+ tag_input=input_tag_list,
27
+ max_length=50,
28
+ return_tag_predict=True)
29
+
30
+ return tag_predict[0], input_tag[0], caption[0]
31
+
32
+
33
+ def inference_ram(image, model):
34
+
35
+ with torch.no_grad():
36
+ tags, tags_chinese = model.generate_tag(image)
37
+
38
+ return tags[0],tags_chinese[0]
39
+
40
+
41
+ def inference_ram_openset(image, model):
42
+
43
+ with torch.no_grad():
44
+ tags = model.generate_tag_openset(image)
45
+
46
+ return tags[0]
ram/models/__init__.py ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ from .ram import ram
2
+ from .tag2text import tag2text
ram/models/bert.py ADDED
@@ -0,0 +1,1035 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ '''
2
+ * Copyright (c) 2022, salesforce.com, inc.
3
+ * All rights reserved.
4
+ * SPDX-License-Identifier: BSD-3-Clause
5
+ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
6
+ * By Junnan Li
7
+ * Based on huggingface code base
8
+ * https://github.com/huggingface/transformers/blob/v4.15.0/src/transformers/models/bert
9
+ '''
10
+
11
+ import math
12
+ import os
13
+ import warnings
14
+ from dataclasses import dataclass
15
+ from typing import Optional, Tuple
16
+
17
+ import torch
18
+ from torch import Tensor, device, dtype, nn
19
+ import torch.utils.checkpoint
20
+ from torch import nn
21
+ from torch.nn import CrossEntropyLoss
22
+ import torch.nn.functional as F
23
+
24
+ from transformers.activations import ACT2FN
25
+ from transformers.file_utils import (
26
+ ModelOutput,
27
+ )
28
+ from transformers.modeling_outputs import (
29
+ BaseModelOutputWithPastAndCrossAttentions,
30
+ BaseModelOutputWithPoolingAndCrossAttentions,
31
+ CausalLMOutputWithCrossAttentions,
32
+ MaskedLMOutput,
33
+ MultipleChoiceModelOutput,
34
+ NextSentencePredictorOutput,
35
+ QuestionAnsweringModelOutput,
36
+ SequenceClassifierOutput,
37
+ TokenClassifierOutput,
38
+ )
39
+ from transformers.modeling_utils import (
40
+ PreTrainedModel,
41
+ apply_chunking_to_forward,
42
+ find_pruneable_heads_and_indices,
43
+ prune_linear_layer,
44
+ )
45
+ from transformers.utils import logging
46
+ from transformers.models.bert.configuration_bert import BertConfig
47
+
48
+
49
+ logger = logging.get_logger(__name__)
50
+
51
+
52
+ class BertEmbeddings_nopos(nn.Module):
53
+ """Construct the embeddings from word and position embeddings."""
54
+
55
+ def __init__(self, config):
56
+ super().__init__()
57
+ self.word_embeddings = nn.Embedding(config.vocab_size, config.hidden_size, padding_idx=config.pad_token_id)
58
+ # self.position_embeddings = nn.Embedding(config.max_position_embeddings, config.hidden_size)
59
+
60
+ # self.LayerNorm is not snake-cased to stick with TensorFlow model variable name and be able to load
61
+ # any TensorFlow checkpoint file
62
+ self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps)
63
+ self.dropout = nn.Dropout(config.hidden_dropout_prob)
64
+
65
+ # position_ids (1, len position emb) is contiguous in memory and exported when serialized
66
+ # self.register_buffer("position_ids", torch.arange(config.max_position_embeddings).expand((1, -1)))
67
+ # self.position_embedding_type = getattr(config, "position_embedding_type", "absolute")
68
+
69
+ self.config = config
70
+
71
+ def forward(
72
+ self, input_ids=None, position_ids=None, inputs_embeds=None, past_key_values_length=0
73
+ ):
74
+ if input_ids is not None:
75
+ input_shape = input_ids.size()
76
+ else:
77
+ input_shape = inputs_embeds.size()[:-1]
78
+
79
+ seq_length = input_shape[1]
80
+
81
+ # if position_ids is None:
82
+ # position_ids = self.position_ids[:, past_key_values_length : seq_length + past_key_values_length]
83
+
84
+ if inputs_embeds is None:
85
+ inputs_embeds = self.word_embeddings(input_ids)
86
+
87
+ embeddings = inputs_embeds
88
+
89
+ # if self.position_embedding_type == "absolute":
90
+ # position_embeddings = self.position_embeddings(position_ids)
91
+ # # print('add position_embeddings!!!!')
92
+ # embeddings += position_embeddings
93
+ embeddings = self.LayerNorm(embeddings)
94
+ embeddings = self.dropout(embeddings)
95
+ return embeddings
96
+
97
+
98
+
99
+
100
+ class BertEmbeddings(nn.Module):
101
+ """Construct the embeddings from word and position embeddings."""
102
+
103
+ def __init__(self, config):
104
+ super().__init__()
105
+ self.word_embeddings = nn.Embedding(config.vocab_size, config.hidden_size, padding_idx=config.pad_token_id)
106
+ self.position_embeddings = nn.Embedding(config.max_position_embeddings, config.hidden_size)
107
+
108
+ # self.LayerNorm is not snake-cased to stick with TensorFlow model variable name and be able to load
109
+ # any TensorFlow checkpoint file
110
+ self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps)
111
+ self.dropout = nn.Dropout(config.hidden_dropout_prob)
112
+
113
+ # position_ids (1, len position emb) is contiguous in memory and exported when serialized
114
+ self.register_buffer("position_ids", torch.arange(config.max_position_embeddings).expand((1, -1)))
115
+ self.position_embedding_type = getattr(config, "position_embedding_type", "absolute")
116
+
117
+ self.config = config
118
+
119
+ def forward(
120
+ self, input_ids=None, position_ids=None, inputs_embeds=None, past_key_values_length=0
121
+ ):
122
+ if input_ids is not None:
123
+ input_shape = input_ids.size()
124
+ else:
125
+ input_shape = inputs_embeds.size()[:-1]
126
+
127
+ seq_length = input_shape[1]
128
+
129
+ if position_ids is None:
130
+ position_ids = self.position_ids[:, past_key_values_length : seq_length + past_key_values_length]
131
+
132
+ if inputs_embeds is None:
133
+ inputs_embeds = self.word_embeddings(input_ids)
134
+
135
+ embeddings = inputs_embeds
136
+
137
+ if self.position_embedding_type == "absolute":
138
+ position_embeddings = self.position_embeddings(position_ids)
139
+ # print('add position_embeddings!!!!')
140
+ embeddings += position_embeddings
141
+ embeddings = self.LayerNorm(embeddings)
142
+ embeddings = self.dropout(embeddings)
143
+ return embeddings
144
+
145
+
146
+ class BertSelfAttention(nn.Module):
147
+ def __init__(self, config, is_cross_attention):
148
+ super().__init__()
149
+ self.config = config
150
+ if config.hidden_size % config.num_attention_heads != 0 and not hasattr(config, "embedding_size"):
151
+ raise ValueError(
152
+ "The hidden size (%d) is not a multiple of the number of attention "
153
+ "heads (%d)" % (config.hidden_size, config.num_attention_heads)
154
+ )
155
+
156
+ self.num_attention_heads = config.num_attention_heads
157
+ self.attention_head_size = int(config.hidden_size / config.num_attention_heads)
158
+ self.all_head_size = self.num_attention_heads * self.attention_head_size
159
+
160
+ self.query = nn.Linear(config.hidden_size, self.all_head_size)
161
+ if is_cross_attention:
162
+ self.key = nn.Linear(config.encoder_width, self.all_head_size)
163
+ self.value = nn.Linear(config.encoder_width, self.all_head_size)
164
+ else:
165
+ self.key = nn.Linear(config.hidden_size, self.all_head_size)
166
+ self.value = nn.Linear(config.hidden_size, self.all_head_size)
167
+
168
+ self.dropout = nn.Dropout(config.attention_probs_dropout_prob)
169
+ self.position_embedding_type = getattr(config, "position_embedding_type", "absolute")
170
+ if self.position_embedding_type == "relative_key" or self.position_embedding_type == "relative_key_query":
171
+ self.max_position_embeddings = config.max_position_embeddings
172
+ self.distance_embedding = nn.Embedding(2 * config.max_position_embeddings - 1, self.attention_head_size)
173
+ self.save_attention = False
174
+
175
+ def save_attn_gradients(self, attn_gradients):
176
+ self.attn_gradients = attn_gradients
177
+
178
+ def get_attn_gradients(self):
179
+ return self.attn_gradients
180
+
181
+ def save_attention_map(self, attention_map):
182
+ self.attention_map = attention_map
183
+
184
+ def get_attention_map(self):
185
+ return self.attention_map
186
+
187
+ def transpose_for_scores(self, x):
188
+ new_x_shape = x.size()[:-1] + (self.num_attention_heads, self.attention_head_size)
189
+ x = x.view(*new_x_shape)
190
+ return x.permute(0, 2, 1, 3)
191
+
192
+ def forward(
193
+ self,
194
+ hidden_states,
195
+ attention_mask=None,
196
+ head_mask=None,
197
+ encoder_hidden_states=None,
198
+ encoder_attention_mask=None,
199
+ past_key_value=None,
200
+ output_attentions=False,
201
+ ):
202
+ mixed_query_layer = self.query(hidden_states)
203
+
204
+ # If this is instantiated as a cross-attention module, the keys
205
+ # and values come from an encoder; the attention mask needs to be
206
+ # such that the encoder's padding tokens are not attended to.
207
+ is_cross_attention = encoder_hidden_states is not None
208
+
209
+ if is_cross_attention:
210
+ # print(self.key.weight.shape)
211
+ key_layer = self.transpose_for_scores(self.key(encoder_hidden_states))
212
+ value_layer = self.transpose_for_scores(self.value(encoder_hidden_states))
213
+ attention_mask = encoder_attention_mask
214
+ elif past_key_value is not None:
215
+ key_layer = self.transpose_for_scores(self.key(hidden_states))
216
+ value_layer = self.transpose_for_scores(self.value(hidden_states))
217
+ key_layer = torch.cat([past_key_value[0], key_layer], dim=2)
218
+ value_layer = torch.cat([past_key_value[1], value_layer], dim=2)
219
+ else:
220
+ key_layer = self.transpose_for_scores(self.key(hidden_states))
221
+ value_layer = self.transpose_for_scores(self.value(hidden_states))
222
+
223
+ query_layer = self.transpose_for_scores(mixed_query_layer)
224
+
225
+ past_key_value = (key_layer, value_layer)
226
+
227
+ # compatible with higher versions of transformers
228
+ if key_layer.shape[0] > query_layer.shape[0]:
229
+ key_layer = key_layer[:query_layer.shape[0], :, :, :]
230
+ attention_mask = attention_mask[:query_layer.shape[0], :, :]
231
+ value_layer = value_layer[:query_layer.shape[0], :, :, :]
232
+
233
+ # Take the dot product between "query" and "key" to get the raw attention scores.
234
+ attention_scores = torch.matmul(query_layer, key_layer.transpose(-1, -2))
235
+
236
+ if self.position_embedding_type == "relative_key" or self.position_embedding_type == "relative_key_query":
237
+ seq_length = hidden_states.size()[1]
238
+ position_ids_l = torch.arange(seq_length, dtype=torch.long, device=hidden_states.device).view(-1, 1)
239
+ position_ids_r = torch.arange(seq_length, dtype=torch.long, device=hidden_states.device).view(1, -1)
240
+ distance = position_ids_l - position_ids_r
241
+ positional_embedding = self.distance_embedding(distance + self.max_position_embeddings - 1)
242
+ positional_embedding = positional_embedding.to(dtype=query_layer.dtype) # fp16 compatibility
243
+
244
+ if self.position_embedding_type == "relative_key":
245
+ relative_position_scores = torch.einsum("bhld,lrd->bhlr", query_layer, positional_embedding)
246
+ attention_scores = attention_scores + relative_position_scores
247
+ elif self.position_embedding_type == "relative_key_query":
248
+ relative_position_scores_query = torch.einsum("bhld,lrd->bhlr", query_layer, positional_embedding)
249
+ relative_position_scores_key = torch.einsum("bhrd,lrd->bhlr", key_layer, positional_embedding)
250
+ attention_scores = attention_scores + relative_position_scores_query + relative_position_scores_key
251
+
252
+ attention_scores = attention_scores / math.sqrt(self.attention_head_size)
253
+ if attention_mask is not None:
254
+ # Apply the attention mask is (precomputed for all layers in BertModel forward() function)
255
+ attention_scores = attention_scores + attention_mask
256
+
257
+ # Normalize the attention scores to probabilities.
258
+ attention_probs = nn.Softmax(dim=-1)(attention_scores)
259
+
260
+ if is_cross_attention and self.save_attention:
261
+ self.save_attention_map(attention_probs)
262
+ attention_probs.register_hook(self.save_attn_gradients)
263
+
264
+ # This is actually dropping out entire tokens to attend to, which might
265
+ # seem a bit unusual, but is taken from the original Transformer paper.
266
+ attention_probs_dropped = self.dropout(attention_probs)
267
+
268
+ # Mask heads if we want to
269
+ if head_mask is not None:
270
+ attention_probs_dropped = attention_probs_dropped * head_mask
271
+
272
+ context_layer = torch.matmul(attention_probs_dropped, value_layer)
273
+
274
+ context_layer = context_layer.permute(0, 2, 1, 3).contiguous()
275
+ new_context_layer_shape = context_layer.size()[:-2] + (self.all_head_size,)
276
+ context_layer = context_layer.view(*new_context_layer_shape)
277
+
278
+ outputs = (context_layer, attention_probs) if output_attentions else (context_layer,)
279
+
280
+ outputs = outputs + (past_key_value,)
281
+ return outputs
282
+
283
+
284
+ class BertSelfOutput(nn.Module):
285
+ def __init__(self, config):
286
+ super().__init__()
287
+ self.dense = nn.Linear(config.hidden_size, config.hidden_size)
288
+ self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps)
289
+ self.dropout = nn.Dropout(config.hidden_dropout_prob)
290
+
291
+ def forward(self, hidden_states, input_tensor):
292
+ hidden_states = self.dense(hidden_states)
293
+ hidden_states = self.dropout(hidden_states)
294
+ hidden_states = self.LayerNorm(hidden_states + input_tensor)
295
+ return hidden_states
296
+
297
+
298
+ class BertAttention(nn.Module):
299
+ def __init__(self, config, is_cross_attention=False):
300
+ super().__init__()
301
+ self.self = BertSelfAttention(config, is_cross_attention)
302
+ self.output = BertSelfOutput(config)
303
+ self.pruned_heads = set()
304
+
305
+ def prune_heads(self, heads):
306
+ if len(heads) == 0:
307
+ return
308
+ heads, index = find_pruneable_heads_and_indices(
309
+ heads, self.self.num_attention_heads, self.self.attention_head_size, self.pruned_heads
310
+ )
311
+
312
+ # Prune linear layers
313
+ self.self.query = prune_linear_layer(self.self.query, index)
314
+ self.self.key = prune_linear_layer(self.self.key, index)
315
+ self.self.value = prune_linear_layer(self.self.value, index)
316
+ self.output.dense = prune_linear_layer(self.output.dense, index, dim=1)
317
+
318
+ # Update hyper params and store pruned heads
319
+ self.self.num_attention_heads = self.self.num_attention_heads - len(heads)
320
+ self.self.all_head_size = self.self.attention_head_size * self.self.num_attention_heads
321
+ self.pruned_heads = self.pruned_heads.union(heads)
322
+
323
+ def forward(
324
+ self,
325
+ hidden_states,
326
+ attention_mask=None,
327
+ head_mask=None,
328
+ encoder_hidden_states=None,
329
+ encoder_attention_mask=None,
330
+ past_key_value=None,
331
+ output_attentions=False,
332
+ ):
333
+ self_outputs = self.self(
334
+ hidden_states,
335
+ attention_mask,
336
+ head_mask,
337
+ encoder_hidden_states,
338
+ encoder_attention_mask,
339
+ past_key_value,
340
+ output_attentions,
341
+ )
342
+ attention_output = self.output(self_outputs[0], hidden_states)
343
+ outputs = (attention_output,) + self_outputs[1:] # add attentions if we output them
344
+ return outputs
345
+
346
+
347
+ class BertIntermediate(nn.Module):
348
+ def __init__(self, config):
349
+ super().__init__()
350
+ self.dense = nn.Linear(config.hidden_size, config.intermediate_size)
351
+ if isinstance(config.hidden_act, str):
352
+ self.intermediate_act_fn = ACT2FN[config.hidden_act]
353
+ else:
354
+ self.intermediate_act_fn = config.hidden_act
355
+
356
+ def forward(self, hidden_states):
357
+ hidden_states = self.dense(hidden_states)
358
+ hidden_states = self.intermediate_act_fn(hidden_states)
359
+ return hidden_states
360
+
361
+
362
+ class BertOutput(nn.Module):
363
+ def __init__(self, config):
364
+ super().__init__()
365
+ self.dense = nn.Linear(config.intermediate_size, config.hidden_size)
366
+ self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps)
367
+ self.dropout = nn.Dropout(config.hidden_dropout_prob)
368
+
369
+ def forward(self, hidden_states, input_tensor):
370
+ hidden_states = self.dense(hidden_states)
371
+ hidden_states = self.dropout(hidden_states)
372
+ hidden_states = self.LayerNorm(hidden_states + input_tensor)
373
+ return hidden_states
374
+
375
+
376
+ class BertLayer(nn.Module):
377
+ def __init__(self, config, layer_num):
378
+ super().__init__()
379
+ self.config = config
380
+ self.chunk_size_feed_forward = config.chunk_size_feed_forward
381
+ self.seq_len_dim = 1
382
+ self.attention = BertAttention(config)
383
+ self.layer_num = layer_num
384
+ if self.config.add_cross_attention:
385
+ self.crossattention = BertAttention(config, is_cross_attention=self.config.add_cross_attention)
386
+ self.intermediate = BertIntermediate(config)
387
+ self.output = BertOutput(config)
388
+
389
+ def forward(
390
+ self,
391
+ hidden_states,
392
+ attention_mask=None,
393
+ head_mask=None,
394
+ encoder_hidden_states=None,
395
+ encoder_attention_mask=None,
396
+ past_key_value=None,
397
+ output_attentions=False,
398
+ mode=None,
399
+ ):
400
+
401
+ if mode == 'tagging':
402
+
403
+ assert encoder_hidden_states is not None, "encoder_hidden_states must be given for cross-attention layers"
404
+
405
+ cross_attention_outputs = self.crossattention(
406
+ hidden_states,
407
+ attention_mask,
408
+ head_mask,
409
+ encoder_hidden_states,
410
+ encoder_attention_mask,
411
+ output_attentions=output_attentions,
412
+ )
413
+ attention_output = cross_attention_outputs[0]
414
+ outputs = cross_attention_outputs[1:-1] # add cross attentions if we output attention weights
415
+
416
+ present_key_value = cross_attention_outputs[-1]
417
+
418
+ else:
419
+ # decoder uni-directional self-attention cached key/values tuple is at positions 1,2
420
+ self_attn_past_key_value = past_key_value[:2] if past_key_value is not None else None
421
+ self_attention_outputs = self.attention(
422
+ hidden_states,
423
+ attention_mask,
424
+ head_mask,
425
+ output_attentions=output_attentions,
426
+ past_key_value=self_attn_past_key_value,
427
+ )
428
+ attention_output = self_attention_outputs[0]
429
+
430
+ outputs = self_attention_outputs[1:-1]
431
+ present_key_value = self_attention_outputs[-1]
432
+
433
+ if mode=='multimodal':
434
+ assert encoder_hidden_states is not None, "encoder_hidden_states must be given for cross-attention layers"
435
+
436
+ cross_attention_outputs = self.crossattention(
437
+ attention_output,
438
+ attention_mask,
439
+ head_mask,
440
+ encoder_hidden_states,
441
+ encoder_attention_mask,
442
+ output_attentions=output_attentions,
443
+ )
444
+ attention_output = cross_attention_outputs[0]
445
+ outputs = outputs + cross_attention_outputs[1:-1] # add cross attentions if we output attention weights
446
+ layer_output = apply_chunking_to_forward(
447
+ self.feed_forward_chunk, self.chunk_size_feed_forward, self.seq_len_dim, attention_output
448
+ )
449
+ outputs = (layer_output,) + outputs
450
+
451
+ outputs = outputs + (present_key_value,)
452
+
453
+ return outputs
454
+
455
+ def feed_forward_chunk(self, attention_output):
456
+ intermediate_output = self.intermediate(attention_output)
457
+ layer_output = self.output(intermediate_output, attention_output)
458
+ return layer_output
459
+
460
+
461
+ class BertEncoder(nn.Module):
462
+ def __init__(self, config):
463
+ super().__init__()
464
+ self.config = config
465
+ self.layer = nn.ModuleList([BertLayer(config,i) for i in range(config.num_hidden_layers)])
466
+ self.gradient_checkpointing = False
467
+
468
+ def forward(
469
+ self,
470
+ hidden_states,
471
+ attention_mask=None,
472
+ head_mask=None,
473
+ encoder_hidden_states=None,
474
+ encoder_attention_mask=None,
475
+ past_key_values=None,
476
+ use_cache=None,
477
+ output_attentions=False,
478
+ output_hidden_states=False,
479
+ return_dict=True,
480
+ mode='multimodal',
481
+ ):
482
+ all_hidden_states = () if output_hidden_states else None
483
+ all_self_attentions = () if output_attentions else None
484
+ all_cross_attentions = () if output_attentions and self.config.add_cross_attention else None
485
+
486
+ next_decoder_cache = () if use_cache else None
487
+
488
+ for i in range(self.config.num_hidden_layers):
489
+ layer_module = self.layer[i]
490
+ if output_hidden_states:
491
+ all_hidden_states = all_hidden_states + (hidden_states,)
492
+
493
+ layer_head_mask = head_mask[i] if head_mask is not None else None
494
+ past_key_value = past_key_values[i] if past_key_values is not None else None
495
+
496
+ if self.gradient_checkpointing and self.training:
497
+
498
+ if use_cache:
499
+ logger.warn(
500
+ "`use_cache=True` is incompatible with gradient checkpointing. Setting `use_cache=False`..."
501
+ )
502
+ use_cache = False
503
+
504
+ def create_custom_forward(module):
505
+ def custom_forward(*inputs):
506
+ return module(*inputs, past_key_value, output_attentions)
507
+
508
+ return custom_forward
509
+
510
+ layer_outputs = torch.utils.checkpoint.checkpoint(
511
+ create_custom_forward(layer_module),
512
+ hidden_states,
513
+ attention_mask,
514
+ layer_head_mask,
515
+ encoder_hidden_states,
516
+ encoder_attention_mask,
517
+ mode=mode,
518
+ )
519
+ else:
520
+ layer_outputs = layer_module(
521
+ hidden_states,
522
+ attention_mask,
523
+ layer_head_mask,
524
+ encoder_hidden_states,
525
+ encoder_attention_mask,
526
+ past_key_value,
527
+ output_attentions,
528
+ mode=mode,
529
+ )
530
+
531
+ hidden_states = layer_outputs[0]
532
+ if use_cache:
533
+ next_decoder_cache += (layer_outputs[-1],)
534
+ if output_attentions:
535
+ all_self_attentions = all_self_attentions + (layer_outputs[1],)
536
+
537
+ if output_hidden_states:
538
+ all_hidden_states = all_hidden_states + (hidden_states,)
539
+
540
+ if not return_dict:
541
+ return tuple(
542
+ v
543
+ for v in [
544
+ hidden_states,
545
+ next_decoder_cache,
546
+ all_hidden_states,
547
+ all_self_attentions,
548
+ all_cross_attentions,
549
+ ]
550
+ if v is not None
551
+ )
552
+ return BaseModelOutputWithPastAndCrossAttentions(
553
+ last_hidden_state=hidden_states,
554
+ past_key_values=next_decoder_cache,
555
+ hidden_states=all_hidden_states,
556
+ attentions=all_self_attentions,
557
+ cross_attentions=all_cross_attentions,
558
+ )
559
+
560
+
561
+ class BertPooler(nn.Module):
562
+ def __init__(self, config):
563
+ super().__init__()
564
+ self.dense = nn.Linear(config.hidden_size, config.hidden_size)
565
+ self.activation = nn.Tanh()
566
+
567
+ def forward(self, hidden_states):
568
+ # We "pool" the model by simply taking the hidden state corresponding
569
+ # to the first token.
570
+ first_token_tensor = hidden_states[:, 0]
571
+ pooled_output = self.dense(first_token_tensor)
572
+ pooled_output = self.activation(pooled_output)
573
+ return pooled_output
574
+
575
+
576
+ class BertPredictionHeadTransform(nn.Module):
577
+ def __init__(self, config):
578
+ super().__init__()
579
+ self.dense = nn.Linear(config.hidden_size, config.hidden_size)
580
+ if isinstance(config.hidden_act, str):
581
+ self.transform_act_fn = ACT2FN[config.hidden_act]
582
+ else:
583
+ self.transform_act_fn = config.hidden_act
584
+ self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps)
585
+
586
+ def forward(self, hidden_states):
587
+ hidden_states = self.dense(hidden_states)
588
+ hidden_states = self.transform_act_fn(hidden_states)
589
+ hidden_states = self.LayerNorm(hidden_states)
590
+ return hidden_states
591
+
592
+
593
+ class BertLMPredictionHead(nn.Module):
594
+ def __init__(self, config):
595
+ super().__init__()
596
+ self.transform = BertPredictionHeadTransform(config)
597
+
598
+ # The output weights are the same as the input embeddings, but there is
599
+ # an output-only bias for each token.
600
+ self.decoder = nn.Linear(config.hidden_size, config.vocab_size, bias=False)
601
+
602
+ self.bias = nn.Parameter(torch.zeros(config.vocab_size))
603
+
604
+ # Need a link between the two variables so that the bias is correctly resized with `resize_token_embeddings`
605
+ self.decoder.bias = self.bias
606
+
607
+ def forward(self, hidden_states):
608
+ hidden_states = self.transform(hidden_states)
609
+ hidden_states = self.decoder(hidden_states)
610
+ return hidden_states
611
+
612
+
613
+ class BertOnlyMLMHead(nn.Module):
614
+ def __init__(self, config):
615
+ super().__init__()
616
+ self.predictions = BertLMPredictionHead(config)
617
+
618
+ def forward(self, sequence_output):
619
+ prediction_scores = self.predictions(sequence_output)
620
+ return prediction_scores
621
+
622
+
623
+ class BertPreTrainedModel(PreTrainedModel):
624
+ """
625
+ An abstract class to handle weights initialization and a simple interface for downloading and loading pretrained
626
+ models.
627
+ """
628
+
629
+ config_class = BertConfig
630
+ base_model_prefix = "bert"
631
+ _keys_to_ignore_on_load_missing = [r"position_ids"]
632
+
633
+ def _init_weights(self, module):
634
+ """ Initialize the weights """
635
+ if isinstance(module, (nn.Linear, nn.Embedding)):
636
+ # Slightly different from the TF version which uses truncated_normal for initialization
637
+ # cf https://github.com/pytorch/pytorch/pull/5617
638
+ module.weight.data.normal_(mean=0.0, std=self.config.initializer_range)
639
+ elif isinstance(module, nn.LayerNorm):
640
+ module.bias.data.zero_()
641
+ module.weight.data.fill_(1.0)
642
+ if isinstance(module, nn.Linear) and module.bias is not None:
643
+ module.bias.data.zero_()
644
+
645
+
646
+ class BertModel(BertPreTrainedModel):
647
+ """
648
+ The model can behave as an encoder (with only self-attention) as well as a decoder, in which case a layer of
649
+ cross-attention is added between the self-attention layers, following the architecture described in `Attention is
650
+ all you need <https://arxiv.org/abs/1706.03762>`__ by Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit,
651
+ Llion Jones, Aidan N. Gomez, Lukasz Kaiser and Illia Polosukhin.
652
+ argument and :obj:`add_cross_attention` set to :obj:`True`; an :obj:`encoder_hidden_states` is then expected as an
653
+ input to the forward pass.
654
+ """
655
+
656
+ def __init__(self, config, add_pooling_layer=True):
657
+ super().__init__(config)
658
+ self.config = config
659
+
660
+ self.embeddings = BertEmbeddings(config)
661
+
662
+ self.encoder = BertEncoder(config)
663
+
664
+ self.pooler = BertPooler(config) if add_pooling_layer else None
665
+
666
+ self.init_weights()
667
+
668
+
669
+ def get_input_embeddings(self):
670
+ return self.embeddings.word_embeddings
671
+
672
+ def set_input_embeddings(self, value):
673
+ self.embeddings.word_embeddings = value
674
+
675
+ def _prune_heads(self, heads_to_prune):
676
+ """
677
+ Prunes heads of the model. heads_to_prune: dict of {layer_num: list of heads to prune in this layer} See base
678
+ class PreTrainedModel
679
+ """
680
+ for layer, heads in heads_to_prune.items():
681
+ self.encoder.layer[layer].attention.prune_heads(heads)
682
+
683
+
684
+ def get_extended_attention_mask(self, attention_mask: Tensor, input_shape: Tuple[int], device: device, is_decoder: bool) -> Tensor:
685
+ """
686
+ Makes broadcastable attention and causal masks so that future and masked tokens are ignored.
687
+
688
+ Arguments:
689
+ attention_mask (:obj:`torch.Tensor`):
690
+ Mask with ones indicating tokens to attend to, zeros for tokens to ignore.
691
+ input_shape (:obj:`Tuple[int]`):
692
+ The shape of the input to the model.
693
+ device: (:obj:`torch.device`):
694
+ The device of the input to the model.
695
+
696
+ Returns:
697
+ :obj:`torch.Tensor` The extended attention mask, with a the same dtype as :obj:`attention_mask.dtype`.
698
+ """
699
+ # We can provide a self-attention mask of dimensions [batch_size, from_seq_length, to_seq_length]
700
+ # ourselves in which case we just need to make it broadcastable to all heads.
701
+ if attention_mask.dim() == 3:
702
+ extended_attention_mask = attention_mask[:, None, :, :]
703
+ elif attention_mask.dim() == 2:
704
+ # Provided a padding mask of dimensions [batch_size, seq_length]
705
+ # - if the model is a decoder, apply a causal mask in addition to the padding mask
706
+ # - if the model is an encoder, make the mask broadcastable to [batch_size, num_heads, seq_length, seq_length]
707
+ if is_decoder:
708
+ batch_size, seq_length = input_shape
709
+
710
+ seq_ids = torch.arange(seq_length, device=device)
711
+ causal_mask = seq_ids[None, None, :].repeat(batch_size, seq_length, 1) <= seq_ids[None, :, None]
712
+ # in case past_key_values are used we need to add a prefix ones mask to the causal mask
713
+ # causal and attention masks must have same type with pytorch version < 1.3
714
+ causal_mask = causal_mask.to(attention_mask.dtype)
715
+
716
+ if causal_mask.shape[1] < attention_mask.shape[1]:
717
+ prefix_seq_len = attention_mask.shape[1] - causal_mask.shape[1]
718
+ causal_mask = torch.cat(
719
+ [
720
+ torch.ones((batch_size, seq_length, prefix_seq_len), device=device, dtype=causal_mask.dtype),
721
+ causal_mask,
722
+ ],
723
+ axis=-1,
724
+ )
725
+
726
+ extended_attention_mask = causal_mask[:, None, :, :] * attention_mask[:, None, None, :]
727
+ else:
728
+ extended_attention_mask = attention_mask[:, None, None, :]
729
+ else:
730
+ raise ValueError(
731
+ "Wrong shape for input_ids (shape {}) or attention_mask (shape {})".format(
732
+ input_shape, attention_mask.shape
733
+ )
734
+ )
735
+
736
+ # Since attention_mask is 1.0 for positions we want to attend and 0.0 for
737
+ # masked positions, this operation will create a tensor which is 0.0 for
738
+ # positions we want to attend and -10000.0 for masked positions.
739
+ # Since we are adding it to the raw scores before the softmax, this is
740
+ # effectively the same as removing these entirely.
741
+ extended_attention_mask = extended_attention_mask.to(dtype=self.dtype) # fp16 compatibility
742
+ extended_attention_mask = (1.0 - extended_attention_mask) * -10000.0
743
+ return extended_attention_mask
744
+
745
+ def forward(
746
+ self,
747
+ input_ids=None,
748
+ attention_mask=None,
749
+ position_ids=None,
750
+ head_mask=None,
751
+ inputs_embeds=None,
752
+ encoder_embeds=None,
753
+ encoder_hidden_states=None,
754
+ encoder_attention_mask=None,
755
+ past_key_values=None,
756
+ use_cache=None,
757
+ output_attentions=None,
758
+ output_hidden_states=None,
759
+ return_dict=None,
760
+ is_decoder=False,
761
+ mode='multimodal',
762
+ ):
763
+ r"""
764
+ encoder_hidden_states (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length, hidden_size)`, `optional`):
765
+ Sequence of hidden-states at the output of the last layer of the encoder. Used in the cross-attention if
766
+ the model is configured as a decoder.
767
+ encoder_attention_mask (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length)`, `optional`):
768
+ Mask to avoid performing attention on the padding token indices of the encoder input. This mask is used in
769
+ the cross-attention if the model is configured as a decoder. Mask values selected in ``[0, 1]``:
770
+ - 1 for tokens that are **not masked**,
771
+ - 0 for tokens that are **masked**.
772
+ past_key_values (:obj:`tuple(tuple(torch.FloatTensor))` of length :obj:`config.n_layers` with each tuple having 4 tensors of shape :obj:`(batch_size, num_heads, sequence_length - 1, embed_size_per_head)`):
773
+ Contains precomputed key and value hidden states of the attention blocks. Can be used to speed up decoding.
774
+ If :obj:`past_key_values` are used, the user can optionally input only the last :obj:`decoder_input_ids`
775
+ (those that don't have their past key value states given to this model) of shape :obj:`(batch_size, 1)`
776
+ instead of all :obj:`decoder_input_ids` of shape :obj:`(batch_size, sequence_length)`.
777
+ use_cache (:obj:`bool`, `optional`):
778
+ If set to :obj:`True`, :obj:`past_key_values` key value states are returned and can be used to speed up
779
+ decoding (see :obj:`past_key_values`).
780
+ """
781
+ output_attentions = output_attentions if output_attentions is not None else self.config.output_attentions
782
+ output_hidden_states = (
783
+ output_hidden_states if output_hidden_states is not None else self.config.output_hidden_states
784
+ )
785
+ return_dict = return_dict if return_dict is not None else self.config.use_return_dict
786
+
787
+ if is_decoder:
788
+ use_cache = use_cache if use_cache is not None else self.config.use_cache
789
+ else:
790
+ use_cache = False
791
+
792
+ if input_ids is not None and inputs_embeds is not None:
793
+ raise ValueError("You cannot specify both input_ids and inputs_embeds at the same time")
794
+ elif input_ids is not None:
795
+ input_shape = input_ids.size()
796
+ batch_size, seq_length = input_shape
797
+ device = input_ids.device
798
+ elif inputs_embeds is not None:
799
+ input_shape = inputs_embeds.size()[:-1]
800
+ batch_size, seq_length = input_shape
801
+ device = inputs_embeds.device
802
+ elif encoder_embeds is not None:
803
+ input_shape = encoder_embeds.size()[:-1]
804
+ batch_size, seq_length = input_shape
805
+ device = encoder_embeds.device
806
+ else:
807
+ raise ValueError("You have to specify either input_ids or inputs_embeds or encoder_embeds")
808
+
809
+ # past_key_values_length
810
+ past_key_values_length = past_key_values[0][0].shape[2] if past_key_values is not None else 0
811
+
812
+ if attention_mask is None:
813
+ attention_mask = torch.ones(((batch_size, seq_length + past_key_values_length)), device=device)
814
+
815
+ # We can provide a self-attention mask of dimensions [batch_size, from_seq_length, to_seq_length]
816
+ # ourselves in which case we just need to make it broadcastable to all heads.
817
+ extended_attention_mask: torch.Tensor = self.get_extended_attention_mask(attention_mask, input_shape,
818
+ device, is_decoder)
819
+
820
+ # If a 2D or 3D attention mask is provided for the cross-attention
821
+ # we need to make broadcastable to [batch_size, num_heads, seq_length, seq_length]
822
+ if encoder_hidden_states is not None:
823
+ if type(encoder_hidden_states) == list:
824
+ encoder_batch_size, encoder_sequence_length, _ = encoder_hidden_states[0].size()
825
+ else:
826
+ encoder_batch_size, encoder_sequence_length, _ = encoder_hidden_states.size()
827
+ encoder_hidden_shape = (encoder_batch_size, encoder_sequence_length)
828
+
829
+ if type(encoder_attention_mask) == list:
830
+ encoder_extended_attention_mask = [self.invert_attention_mask(mask) for mask in encoder_attention_mask]
831
+ elif encoder_attention_mask is None:
832
+ encoder_attention_mask = torch.ones(encoder_hidden_shape, device=device)
833
+ encoder_extended_attention_mask = self.invert_attention_mask(encoder_attention_mask)
834
+ else:
835
+ encoder_extended_attention_mask = self.invert_attention_mask(encoder_attention_mask)
836
+ else:
837
+ encoder_extended_attention_mask = None
838
+
839
+ # Prepare head mask if needed
840
+ # 1.0 in head_mask indicate we keep the head
841
+ # attention_probs has shape bsz x n_heads x N x N
842
+ # input head_mask has shape [num_heads] or [num_hidden_layers x num_heads]
843
+ # and head_mask is converted to shape [num_hidden_layers x batch x num_heads x seq_length x seq_length]
844
+ head_mask = self.get_head_mask(head_mask, self.config.num_hidden_layers)
845
+
846
+ if encoder_embeds is None:
847
+ embedding_output = self.embeddings(
848
+ input_ids=input_ids,
849
+ position_ids=position_ids,
850
+ inputs_embeds=inputs_embeds,
851
+ past_key_values_length=past_key_values_length,
852
+ )
853
+ else:
854
+ embedding_output = encoder_embeds
855
+
856
+ encoder_outputs = self.encoder(
857
+ embedding_output,
858
+ attention_mask=extended_attention_mask,
859
+ head_mask=head_mask,
860
+ encoder_hidden_states=encoder_hidden_states,
861
+ encoder_attention_mask=encoder_extended_attention_mask,
862
+ past_key_values=past_key_values,
863
+ use_cache=use_cache,
864
+ output_attentions=output_attentions,
865
+ output_hidden_states=output_hidden_states,
866
+ return_dict=return_dict,
867
+ mode=mode,
868
+ )
869
+ sequence_output = encoder_outputs[0]
870
+ pooled_output = self.pooler(sequence_output) if self.pooler is not None else None
871
+
872
+ if not return_dict:
873
+ return (sequence_output, pooled_output) + encoder_outputs[1:]
874
+
875
+ return BaseModelOutputWithPoolingAndCrossAttentions(
876
+ last_hidden_state=sequence_output,
877
+ pooler_output=pooled_output,
878
+ past_key_values=encoder_outputs.past_key_values,
879
+ hidden_states=encoder_outputs.hidden_states,
880
+ attentions=encoder_outputs.attentions,
881
+ cross_attentions=encoder_outputs.cross_attentions,
882
+ )
883
+
884
+
885
+ class BertLMHeadModel(BertPreTrainedModel):
886
+
887
+ _keys_to_ignore_on_load_unexpected = [r"pooler"]
888
+ _keys_to_ignore_on_load_missing = [r"position_ids", r"predictions.decoder.bias"]
889
+
890
+ def __init__(self, config):
891
+ super().__init__(config)
892
+
893
+ self.bert = BertModel(config, add_pooling_layer=False)
894
+ self.cls = BertOnlyMLMHead(config)
895
+
896
+ self.init_weights()
897
+
898
+ def get_output_embeddings(self):
899
+ return self.cls.predictions.decoder
900
+
901
+ def set_output_embeddings(self, new_embeddings):
902
+ self.cls.predictions.decoder = new_embeddings
903
+
904
+ def forward(
905
+ self,
906
+ input_ids=None,
907
+ attention_mask=None,
908
+ position_ids=None,
909
+ head_mask=None,
910
+ inputs_embeds=None,
911
+ encoder_hidden_states=None,
912
+ encoder_attention_mask=None,
913
+ labels=None,
914
+ past_key_values=None,
915
+ use_cache=None,
916
+ output_attentions=None,
917
+ output_hidden_states=None,
918
+ return_dict=None,
919
+ return_logits=False,
920
+ is_decoder=True,
921
+ reduction='mean',
922
+ mode='multimodal',
923
+ ):
924
+ r"""
925
+ encoder_hidden_states (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length, hidden_size)`, `optional`):
926
+ Sequence of hidden-states at the output of the last layer of the encoder. Used in the cross-attention if
927
+ the model is configured as a decoder.
928
+ encoder_attention_mask (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length)`, `optional`):
929
+ Mask to avoid performing attention on the padding token indices of the encoder input. This mask is used in
930
+ the cross-attention if the model is configured as a decoder. Mask values selected in ``[0, 1]``:
931
+ - 1 for tokens that are **not masked**,
932
+ - 0 for tokens that are **masked**.
933
+ labels (:obj:`torch.LongTensor` of shape :obj:`(batch_size, sequence_length)`, `optional`):
934
+ Labels for computing the left-to-right language modeling loss (next word prediction). Indices should be in
935
+ ``[-100, 0, ..., config.vocab_size]`` (see ``input_ids`` docstring) Tokens with indices set to ``-100`` are
936
+ ignored (masked), the loss is only computed for the tokens with labels n ``[0, ..., config.vocab_size]``
937
+ past_key_values (:obj:`tuple(tuple(torch.FloatTensor))` of length :obj:`config.n_layers` with each tuple having 4 tensors of shape :obj:`(batch_size, num_heads, sequence_length - 1, embed_size_per_head)`):
938
+ Contains precomputed key and value hidden states of the attention blocks. Can be used to speed up decoding.
939
+ If :obj:`past_key_values` are used, the user can optionally input only the last :obj:`decoder_input_ids`
940
+ (those that don't have their past key value states given to this model) of shape :obj:`(batch_size, 1)`
941
+ instead of all :obj:`decoder_input_ids` of shape :obj:`(batch_size, sequence_length)`.
942
+ use_cache (:obj:`bool`, `optional`):
943
+ If set to :obj:`True`, :obj:`past_key_values` key value states are returned and can be used to speed up
944
+ decoding (see :obj:`past_key_values`).
945
+ Returns:
946
+ Example::
947
+ >>> from transformers import BertTokenizer, BertLMHeadModel, BertConfig
948
+ >>> import torch
949
+ >>> tokenizer = BertTokenizer.from_pretrained('bert-base-cased')
950
+ >>> config = BertConfig.from_pretrained("bert-base-cased")
951
+ >>> model = BertLMHeadModel.from_pretrained('bert-base-cased', config=config)
952
+ >>> inputs = tokenizer("Hello, my dog is cute", return_tensors="pt")
953
+ >>> outputs = model(**inputs)
954
+ >>> prediction_logits = outputs.logits
955
+ """
956
+ return_dict = return_dict if return_dict is not None else self.config.use_return_dict
957
+ if labels is not None:
958
+ use_cache = False
959
+
960
+ outputs = self.bert(
961
+ input_ids,
962
+ attention_mask=attention_mask,
963
+ position_ids=position_ids,
964
+ head_mask=head_mask,
965
+ inputs_embeds=inputs_embeds,
966
+ encoder_hidden_states=encoder_hidden_states,
967
+ encoder_attention_mask=encoder_attention_mask,
968
+ past_key_values=past_key_values,
969
+ use_cache=use_cache,
970
+ output_attentions=output_attentions,
971
+ output_hidden_states=output_hidden_states,
972
+ return_dict=return_dict,
973
+ is_decoder=is_decoder,
974
+ mode=mode,
975
+ )
976
+
977
+ sequence_output = outputs[0]
978
+ prediction_scores = self.cls(sequence_output)
979
+ # sequence_output.shape torch.Size([85, 30, 768])
980
+ # prediction_scores.shape torch.Size([85, 30, 30524])
981
+ # labels.shape torch.Size([85, 30])
982
+
983
+
984
+ if return_logits:
985
+ return prediction_scores[:, :-1, :].contiguous()
986
+
987
+ lm_loss = None
988
+ if labels is not None:
989
+ # we are doing next-token prediction; shift prediction scores and input ids by one
990
+ shifted_prediction_scores = prediction_scores[:, :-1, :].contiguous()
991
+ labels = labels[:, 1:].contiguous()
992
+ loss_fct = CrossEntropyLoss(reduction=reduction, label_smoothing=0.1)
993
+ lm_loss = loss_fct(shifted_prediction_scores.view(-1, self.config.vocab_size), labels.view(-1))
994
+ if reduction=='none':
995
+ lm_loss = lm_loss.view(prediction_scores.size(0),-1).sum(1)
996
+
997
+ if not return_dict:
998
+ output = (prediction_scores,) + outputs[2:]
999
+ return ((lm_loss,) + output) if lm_loss is not None else output
1000
+
1001
+ return CausalLMOutputWithCrossAttentions(
1002
+ loss=lm_loss,
1003
+ logits=prediction_scores,
1004
+ past_key_values=outputs.past_key_values,
1005
+ hidden_states=outputs.hidden_states,
1006
+ attentions=outputs.attentions,
1007
+ cross_attentions=outputs.cross_attentions,
1008
+ )
1009
+
1010
+ def prepare_inputs_for_generation(self, input_ids, past=None, attention_mask=None, **model_kwargs):
1011
+ input_shape = input_ids.shape
1012
+ # if model is used as a decoder in encoder-decoder model, the decoder attention mask is created on the fly
1013
+ if attention_mask is None:
1014
+ attention_mask = input_ids.new_ones(input_shape)
1015
+
1016
+ # cut decoder_input_ids if past is used
1017
+ if past is not None:
1018
+ input_ids = input_ids[:, -1:]
1019
+
1020
+ return {
1021
+ "input_ids": input_ids,
1022
+ "attention_mask": attention_mask,
1023
+ "past_key_values": past,
1024
+ "encoder_hidden_states": model_kwargs.get("encoder_hidden_states", None),
1025
+ "encoder_attention_mask": model_kwargs.get("encoder_attention_mask", None),
1026
+ "is_decoder": True,
1027
+ }
1028
+
1029
+ def _reorder_cache(self, past, beam_idx):
1030
+ reordered_past = ()
1031
+ for layer_past in past:
1032
+ reordered_past += (tuple(past_state.index_select(0, beam_idx) for past_state in layer_past),)
1033
+ return reordered_past
1034
+
1035
+
ram/models/ram.py ADDED
@@ -0,0 +1,273 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ '''
2
+ * The Recognize Anything Model (RAM)
3
+ * Written by Xinyu Huang
4
+ '''
5
+ import json
6
+ import warnings
7
+
8
+ import numpy as np
9
+ import torch
10
+ from torch import nn
11
+
12
+ from .bert import BertConfig, BertLMHeadModel, BertModel
13
+ from .swin_transformer import SwinTransformer
14
+ from .utils import *
15
+
16
+ warnings.filterwarnings("ignore")
17
+
18
+
19
+
20
+ class RAM(nn.Module):
21
+ def __init__(self,
22
+ med_config=f'{CONFIG_PATH}/configs/med_config.json',
23
+ image_size=384,
24
+ vit='base',
25
+ vit_grad_ckpt=False,
26
+ vit_ckpt_layer=0,
27
+ prompt='a picture of ',
28
+ threshold=0.68,
29
+ delete_tag_index=[],
30
+ tag_list=f'{CONFIG_PATH}/data/ram_tag_list.txt',
31
+ tag_list_chinese=f'{CONFIG_PATH}/data/ram_tag_list_chinese.txt'):
32
+ r""" The Recognize Anything Model (RAM) inference module.
33
+ RAM is a strong image tagging model, which can recognize any common category with high accuracy.
34
+ Described in the paper " Recognize Anything: A Strong Image Tagging Model" https://recognize-anything.github.io/
35
+
36
+ Args:
37
+ med_config (str): path for the mixture of encoder-decoder model's configuration file
38
+ image_size (int): input image size
39
+ vit (str): model size of vision transformer
40
+ threshold (int): tagging threshold
41
+ delete_tag_index (list): delete some tags that may disturb captioning
42
+ """
43
+ super().__init__()
44
+
45
+ # create image encoder
46
+ if vit == 'swin_b':
47
+ if image_size == 224:
48
+ vision_config_path = f'{CONFIG_PATH}/configs/swin/config_swinB_224.json'
49
+ elif image_size == 384:
50
+ vision_config_path = f'{CONFIG_PATH}/configs/swin/config_swinB_384.json'
51
+ vision_config = read_json(vision_config_path)
52
+ assert image_size == vision_config['image_res']
53
+ # assert config['patch_size'] == 32
54
+ vision_width = vision_config['vision_width']
55
+
56
+ self.visual_encoder = SwinTransformer(
57
+ img_size=vision_config['image_res'],
58
+ patch_size=4,
59
+ in_chans=3,
60
+ embed_dim=vision_config['embed_dim'],
61
+ depths=vision_config['depths'],
62
+ num_heads=vision_config['num_heads'],
63
+ window_size=vision_config['window_size'],
64
+ mlp_ratio=4.,
65
+ qkv_bias=True,
66
+ drop_rate=0.0,
67
+ drop_path_rate=0.1,
68
+ ape=False,
69
+ patch_norm=True,
70
+ use_checkpoint=False)
71
+
72
+ elif vit == 'swin_l':
73
+ if image_size == 224:
74
+ vision_config_path = f'{CONFIG_PATH}/configs/swin/config_swinL_224.json'
75
+ elif image_size == 384:
76
+ vision_config_path = f'{CONFIG_PATH}/configs/swin/config_swinL_384.json'
77
+ vision_config = read_json(vision_config_path)
78
+ assert image_size == vision_config['image_res']
79
+ # assert config['patch_size'] == 32
80
+ vision_width = vision_config['vision_width']
81
+
82
+ self.visual_encoder = SwinTransformer(
83
+ img_size=vision_config['image_res'],
84
+ patch_size=4,
85
+ in_chans=3,
86
+ embed_dim=vision_config['embed_dim'],
87
+ depths=vision_config['depths'],
88
+ num_heads=vision_config['num_heads'],
89
+ window_size=vision_config['window_size'],
90
+ mlp_ratio=4.,
91
+ qkv_bias=True,
92
+ drop_rate=0.0,
93
+ drop_path_rate=0.1,
94
+ ape=False,
95
+ patch_norm=True,
96
+ use_checkpoint=False)
97
+
98
+ else:
99
+ self.visual_encoder, vision_width = create_vit(
100
+ vit, image_size, vit_grad_ckpt, vit_ckpt_layer)
101
+
102
+ # create tokenzier
103
+ self.tokenizer = init_tokenizer()
104
+
105
+ # Tag2Text employ encoder-decoder architecture for image-tag-text generation: image-tag interaction encoder and image-tag-text decoder
106
+ # create image-tag interaction encoder
107
+ encoder_config = BertConfig.from_json_file(med_config)
108
+ encoder_config.encoder_width = 512
109
+ self.tag_encoder = BertModel(config=encoder_config,
110
+ add_pooling_layer=False)
111
+
112
+ # create image-tag-text decoder
113
+ decoder_config = BertConfig.from_json_file(med_config)
114
+ self.text_decoder = BertLMHeadModel(config=decoder_config)
115
+
116
+ self.delete_tag_index = delete_tag_index
117
+ self.prompt = prompt
118
+ self.prompt_length = len(self.tokenizer(self.prompt).input_ids) - 1
119
+
120
+ # load tag list
121
+ self.tag_list = self.load_tag_list(tag_list)
122
+ self.tag_list_chinese = self.load_tag_list(tag_list_chinese)
123
+
124
+ # create image-tag recognition decoder
125
+ self.threshold = threshold
126
+ self.num_class = len(self.tag_list)
127
+ q2l_config = BertConfig.from_json_file(f'{CONFIG_PATH}/configs/q2l_config.json')
128
+ q2l_config.encoder_width = 512
129
+ self.tagging_head = BertModel(config=q2l_config,
130
+ add_pooling_layer=False)
131
+ self.tagging_head.resize_token_embeddings(len(self.tokenizer))
132
+ # self.label_embed = nn.Embedding(self.num_class, q2l_config.hidden_size)
133
+ self.label_embed = nn.Parameter(torch.zeros(self.num_class, q2l_config.encoder_width))
134
+
135
+ if q2l_config.hidden_size != 512:
136
+ self.wordvec_proj = nn.Linear(512, q2l_config.hidden_size)
137
+ else:
138
+ self.wordvec_proj = nn.Identity()
139
+
140
+ self.fc = nn.Linear(q2l_config.hidden_size, 1)
141
+
142
+ self.del_selfattention()
143
+
144
+ # share weights of the lowest 2-layer of "image-tag interaction encoder" with the "image-tag recogntion decoder"
145
+ tie_encoder_decoder_weights(self.tag_encoder, self.tagging_head, '',
146
+ ' ')
147
+ self.image_proj = nn.Linear(vision_width, 512)
148
+ # self.label_embed = nn.Parameter(torch.load(f'{CONFIG_PATH}/data/textual_label_embedding.pth',map_location='cpu').float())
149
+
150
+ # adjust thresholds for some tags
151
+ self.class_threshold = torch.ones(self.num_class) * self.threshold
152
+ ram_class_threshold_path = f'{CONFIG_PATH}/data/ram_tag_list_threshold.txt'
153
+ with open(ram_class_threshold_path, 'r', encoding='utf-8') as f:
154
+ ram_class_threshold = [float(s.strip()) for s in f]
155
+ for key,value in enumerate(ram_class_threshold):
156
+ self.class_threshold[key] = value
157
+
158
+ def load_tag_list(self, tag_list_file):
159
+ with open(tag_list_file, 'r', encoding="utf-8") as f:
160
+ tag_list = f.read().splitlines()
161
+ tag_list = np.array(tag_list)
162
+ return tag_list
163
+
164
+ # delete self-attention layer of image-tag recognition decoder to reduce computation, follower Query2Label
165
+ def del_selfattention(self):
166
+ del self.tagging_head.embeddings
167
+ for layer in self.tagging_head.encoder.layer:
168
+ del layer.attention
169
+
170
+ def generate_tag(self,
171
+ image,
172
+ threshold=0.68,
173
+ tag_input=None,
174
+ ):
175
+
176
+ label_embed = torch.nn.functional.relu(self.wordvec_proj(self.label_embed))
177
+
178
+ image_embeds = self.image_proj(self.visual_encoder(image))
179
+ image_atts = torch.ones(image_embeds.size()[:-1],
180
+ dtype=torch.long).to(image.device)
181
+
182
+ # recognized image tags using image-tag recogntiion decoder
183
+ image_cls_embeds = image_embeds[:, 0, :]
184
+ image_spatial_embeds = image_embeds[:, 1:, :]
185
+
186
+ bs = image_spatial_embeds.shape[0]
187
+ label_embed = label_embed.unsqueeze(0).repeat(bs, 1, 1)
188
+ tagging_embed = self.tagging_head(
189
+ encoder_embeds=label_embed,
190
+ encoder_hidden_states=image_embeds,
191
+ encoder_attention_mask=image_atts,
192
+ return_dict=False,
193
+ mode='tagging',
194
+ )
195
+
196
+ logits = self.fc(tagging_embed[0]).squeeze(-1)
197
+
198
+ targets = torch.where(
199
+ torch.sigmoid(logits) > self.class_threshold.to(image.device),
200
+ torch.tensor(1.0).to(image.device),
201
+ torch.zeros(self.num_class).to(image.device))
202
+
203
+ tag = targets.cpu().numpy()
204
+ tag[:,self.delete_tag_index] = 0
205
+ tag_output = []
206
+ tag_output_chinese = []
207
+ for b in range(bs):
208
+ index = np.argwhere(tag[b] == 1)
209
+ token = self.tag_list[index].squeeze(axis=1)
210
+ tag_output.append(' | '.join(token))
211
+ token_chinese = self.tag_list_chinese[index].squeeze(axis=1)
212
+ tag_output_chinese.append(' | '.join(token_chinese))
213
+
214
+
215
+ return tag_output, tag_output_chinese
216
+
217
+ def generate_tag_openset(self,
218
+ image,
219
+ threshold=0.68,
220
+ tag_input=None,
221
+ ):
222
+
223
+ label_embed = torch.nn.functional.relu(self.wordvec_proj(self.label_embed))
224
+
225
+ image_embeds = self.image_proj(self.visual_encoder(image))
226
+ image_atts = torch.ones(image_embeds.size()[:-1],
227
+ dtype=torch.long).to(image.device)
228
+
229
+ # recognized image tags using image-tag recogntiion decoder
230
+ image_cls_embeds = image_embeds[:, 0, :]
231
+ image_spatial_embeds = image_embeds[:, 1:, :]
232
+
233
+ bs = image_spatial_embeds.shape[0]
234
+ label_embed = label_embed.unsqueeze(0).repeat(bs, 1, 1)
235
+ tagging_embed = self.tagging_head(
236
+ encoder_embeds=label_embed,
237
+ encoder_hidden_states=image_embeds,
238
+ encoder_attention_mask=image_atts,
239
+ return_dict=False,
240
+ mode='tagging',
241
+ )
242
+
243
+ logits = self.fc(tagging_embed[0]).squeeze(-1)
244
+
245
+ targets = torch.where(
246
+ torch.sigmoid(logits) > self.class_threshold.to(image.device),
247
+ torch.tensor(1.0).to(image.device),
248
+ torch.zeros(self.num_class).to(image.device))
249
+
250
+ tag = targets.cpu().numpy()
251
+ tag[:,self.delete_tag_index] = 0
252
+ tag_output = []
253
+ for b in range(bs):
254
+ index = np.argwhere(tag[b] == 1)
255
+ token = self.tag_list[index].squeeze(axis=1)
256
+ tag_output.append(' | '.join(token))
257
+
258
+ return tag_output
259
+
260
+
261
+ # load RAM pretrained model parameters
262
+ def ram(pretrained='', **kwargs):
263
+ model = RAM(**kwargs)
264
+ if pretrained:
265
+ if kwargs['vit'] == 'swin_b':
266
+ model, msg = load_checkpoint_swinbase(model, pretrained, kwargs)
267
+ elif kwargs['vit'] == 'swin_l':
268
+ model, msg = load_checkpoint_swinlarge(model, pretrained, kwargs)
269
+ else:
270
+ model, msg = load_checkpoint(model, pretrained)
271
+ print('vit:', kwargs['vit'])
272
+ # print('msg', msg)
273
+ return model
ram/models/swin_transformer.py ADDED
@@ -0,0 +1,654 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # --------------------------------------------------------
2
+ # Swin Transformer
3
+ # Copyright (c) 2021 Microsoft
4
+ # Licensed under The MIT License [see LICENSE for details]
5
+ # Written by Ze Liu
6
+ # --------------------------------------------------------
7
+
8
+ import numpy as np
9
+ from scipy import interpolate
10
+
11
+ import torch
12
+ import torch.nn as nn
13
+ import torch.utils.checkpoint as checkpoint
14
+ from timm.models.layers import DropPath, to_2tuple, trunc_normal_
15
+
16
+
17
+ class Mlp(nn.Module):
18
+ def __init__(self, in_features, hidden_features=None, out_features=None, act_layer=nn.GELU, drop=0.):
19
+ super().__init__()
20
+ out_features = out_features or in_features
21
+ hidden_features = hidden_features or in_features
22
+ self.fc1 = nn.Linear(in_features, hidden_features)
23
+ self.act = act_layer()
24
+ self.fc2 = nn.Linear(hidden_features, out_features)
25
+ self.drop = nn.Dropout(drop)
26
+
27
+ def forward(self, x):
28
+ x = self.fc1(x)
29
+ x = self.act(x)
30
+ x = self.drop(x)
31
+ x = self.fc2(x)
32
+ x = self.drop(x)
33
+ return x
34
+
35
+
36
+ def window_partition(x, window_size):
37
+ """
38
+ Args:
39
+ x: (B, H, W, C)
40
+ window_size (int): window size
41
+
42
+ Returns:
43
+ windows: (num_windows*B, window_size, window_size, C)
44
+ """
45
+ B, H, W, C = x.shape
46
+ x = x.view(B, H // window_size, window_size, W // window_size, window_size, C)
47
+ windows = x.permute(0, 1, 3, 2, 4, 5).contiguous().view(-1, window_size, window_size, C)
48
+ return windows
49
+
50
+
51
+ def window_reverse(windows, window_size, H, W):
52
+ """
53
+ Args:
54
+ windows: (num_windows*B, window_size, window_size, C)
55
+ window_size (int): Window size
56
+ H (int): Height of image
57
+ W (int): Width of image
58
+
59
+ Returns:
60
+ x: (B, H, W, C)
61
+ """
62
+ B = int(windows.shape[0] / (H * W / window_size / window_size))
63
+ x = windows.view(B, H // window_size, W // window_size, window_size, window_size, -1)
64
+ x = x.permute(0, 1, 3, 2, 4, 5).contiguous().view(B, H, W, -1)
65
+ return x
66
+
67
+
68
+ class WindowAttention(nn.Module):
69
+ r""" Window based multi-head self attention (W-MSA) module with relative position bias.
70
+ It supports both of shifted and non-shifted window.
71
+
72
+ Args:
73
+ dim (int): Number of input channels.
74
+ window_size (tuple[int]): The height and width of the window.
75
+ num_heads (int): Number of attention heads.
76
+ qkv_bias (bool, optional): If True, add a learnable bias to query, key, value. Default: True
77
+ qk_scale (float | None, optional): Override default qk scale of head_dim ** -0.5 if set
78
+ attn_drop (float, optional): Dropout ratio of attention weight. Default: 0.0
79
+ proj_drop (float, optional): Dropout ratio of output. Default: 0.0
80
+ """
81
+
82
+ def __init__(self, dim, window_size, num_heads, qkv_bias=True, qk_scale=None, attn_drop=0., proj_drop=0.):
83
+
84
+ super().__init__()
85
+ self.dim = dim
86
+ self.window_size = window_size # Wh, Ww
87
+ self.num_heads = num_heads
88
+ head_dim = dim // num_heads
89
+ self.scale = qk_scale or head_dim ** -0.5
90
+
91
+ # define a parameter table of relative position bias
92
+ self.relative_position_bias_table = nn.Parameter(
93
+ torch.zeros((2 * window_size[0] - 1) * (2 * window_size[1] - 1), num_heads)) # 2*Wh-1 * 2*Ww-1, nH
94
+
95
+ # get pair-wise relative position index for each token inside the window
96
+ coords_h = torch.arange(self.window_size[0])
97
+ coords_w = torch.arange(self.window_size[1])
98
+ coords = torch.stack(torch.meshgrid([coords_h, coords_w])) # 2, Wh, Ww
99
+ coords_flatten = torch.flatten(coords, 1) # 2, Wh*Ww
100
+ relative_coords = coords_flatten[:, :, None] - coords_flatten[:, None, :] # 2, Wh*Ww, Wh*Ww
101
+ relative_coords = relative_coords.permute(1, 2, 0).contiguous() # Wh*Ww, Wh*Ww, 2
102
+ relative_coords[:, :, 0] += self.window_size[0] - 1 # shift to start from 0
103
+ relative_coords[:, :, 1] += self.window_size[1] - 1
104
+ relative_coords[:, :, 0] *= 2 * self.window_size[1] - 1
105
+ relative_position_index = relative_coords.sum(-1) # Wh*Ww, Wh*Ww
106
+ self.register_buffer("relative_position_index", relative_position_index)
107
+
108
+ self.qkv = nn.Linear(dim, dim * 3, bias=qkv_bias)
109
+ self.attn_drop = nn.Dropout(attn_drop)
110
+ self.proj = nn.Linear(dim, dim)
111
+ self.proj_drop = nn.Dropout(proj_drop)
112
+
113
+ trunc_normal_(self.relative_position_bias_table, std=.02)
114
+ self.softmax = nn.Softmax(dim=-1)
115
+
116
+ def forward(self, x, mask=None):
117
+ """
118
+ Args:
119
+ x: input features with shape of (num_windows*B, N, C)
120
+ mask: (0/-inf) mask with shape of (num_windows, Wh*Ww, Wh*Ww) or None
121
+ """
122
+ B_, N, C = x.shape
123
+ qkv = self.qkv(x).reshape(B_, N, 3, self.num_heads, C // self.num_heads).permute(2, 0, 3, 1, 4)
124
+ q, k, v = qkv[0], qkv[1], qkv[2] # make torchscript happy (cannot use tensor as tuple)
125
+
126
+ q = q * self.scale
127
+ attn = (q @ k.transpose(-2, -1))
128
+
129
+ relative_position_bias = self.relative_position_bias_table[self.relative_position_index.view(-1)].view(
130
+ self.window_size[0] * self.window_size[1], self.window_size[0] * self.window_size[1], -1) # Wh*Ww,Wh*Ww,nH
131
+ relative_position_bias = relative_position_bias.permute(2, 0, 1).contiguous() # nH, Wh*Ww, Wh*Ww
132
+ attn = attn + relative_position_bias.unsqueeze(0)
133
+
134
+ if mask is not None:
135
+ nW = mask.shape[0]
136
+ attn = attn.view(B_ // nW, nW, self.num_heads, N, N) + mask.unsqueeze(1).unsqueeze(0)
137
+ attn = attn.view(-1, self.num_heads, N, N)
138
+ attn = self.softmax(attn)
139
+ else:
140
+ attn = self.softmax(attn)
141
+
142
+ attn = self.attn_drop(attn)
143
+
144
+ x = (attn @ v).transpose(1, 2).reshape(B_, N, C)
145
+ x = self.proj(x)
146
+ x = self.proj_drop(x)
147
+ return x
148
+
149
+ def extra_repr(self) -> str:
150
+ return f'dim={self.dim}, window_size={self.window_size}, num_heads={self.num_heads}'
151
+
152
+ def flops(self, N):
153
+ # calculate flops for 1 window with token length of N
154
+ flops = 0
155
+ # qkv = self.qkv(x)
156
+ flops += N * self.dim * 3 * self.dim
157
+ # attn = (q @ k.transpose(-2, -1))
158
+ flops += self.num_heads * N * (self.dim // self.num_heads) * N
159
+ # x = (attn @ v)
160
+ flops += self.num_heads * N * N * (self.dim // self.num_heads)
161
+ # x = self.proj(x)
162
+ flops += N * self.dim * self.dim
163
+ return flops
164
+
165
+
166
+ class SwinTransformerBlock(nn.Module):
167
+ r""" Swin Transformer Block.
168
+
169
+ Args:
170
+ dim (int): Number of input channels.
171
+ input_resolution (tuple[int]): Input resulotion.
172
+ num_heads (int): Number of attention heads.
173
+ window_size (int): Window size.
174
+ shift_size (int): Shift size for SW-MSA.
175
+ mlp_ratio (float): Ratio of mlp hidden dim to embedding dim.
176
+ qkv_bias (bool, optional): If True, add a learnable bias to query, key, value. Default: True
177
+ qk_scale (float | None, optional): Override default qk scale of head_dim ** -0.5 if set.
178
+ drop (float, optional): Dropout rate. Default: 0.0
179
+ attn_drop (float, optional): Attention dropout rate. Default: 0.0
180
+ drop_path (float, optional): Stochastic depth rate. Default: 0.0
181
+ act_layer (nn.Module, optional): Activation layer. Default: nn.GELU
182
+ norm_layer (nn.Module, optional): Normalization layer. Default: nn.LayerNorm
183
+ """
184
+
185
+ def __init__(self, dim, input_resolution, num_heads, window_size=7, shift_size=0,
186
+ mlp_ratio=4., qkv_bias=True, qk_scale=None, drop=0., attn_drop=0., drop_path=0.,
187
+ act_layer=nn.GELU, norm_layer=nn.LayerNorm):
188
+ super().__init__()
189
+ self.dim = dim
190
+ self.input_resolution = input_resolution
191
+ self.num_heads = num_heads
192
+ self.window_size = window_size
193
+ self.shift_size = shift_size
194
+ self.mlp_ratio = mlp_ratio
195
+ if min(self.input_resolution) <= self.window_size:
196
+ # if window size is larger than input resolution, we don't partition windows
197
+ self.shift_size = 0
198
+ self.window_size = min(self.input_resolution)
199
+ assert 0 <= self.shift_size < self.window_size, "shift_size must in 0-window_size"
200
+
201
+ self.norm1 = norm_layer(dim)
202
+ self.attn = WindowAttention(
203
+ dim, window_size=to_2tuple(self.window_size), num_heads=num_heads,
204
+ qkv_bias=qkv_bias, qk_scale=qk_scale, attn_drop=attn_drop, proj_drop=drop)
205
+
206
+ self.drop_path = DropPath(drop_path) if drop_path > 0. else nn.Identity()
207
+ self.norm2 = norm_layer(dim)
208
+ mlp_hidden_dim = int(dim * mlp_ratio)
209
+ self.mlp = Mlp(in_features=dim, hidden_features=mlp_hidden_dim, act_layer=act_layer, drop=drop)
210
+
211
+ if self.shift_size > 0:
212
+ # calculate attention mask for SW-MSA
213
+ H, W = self.input_resolution
214
+ img_mask = torch.zeros((1, H, W, 1)) # 1 H W 1
215
+ h_slices = (slice(0, -self.window_size),
216
+ slice(-self.window_size, -self.shift_size),
217
+ slice(-self.shift_size, None))
218
+ w_slices = (slice(0, -self.window_size),
219
+ slice(-self.window_size, -self.shift_size),
220
+ slice(-self.shift_size, None))
221
+ cnt = 0
222
+ for h in h_slices:
223
+ for w in w_slices:
224
+ img_mask[:, h, w, :] = cnt
225
+ cnt += 1
226
+
227
+ mask_windows = window_partition(img_mask, self.window_size) # nW, window_size, window_size, 1
228
+ mask_windows = mask_windows.view(-1, self.window_size * self.window_size)
229
+ attn_mask = mask_windows.unsqueeze(1) - mask_windows.unsqueeze(2)
230
+ attn_mask = attn_mask.masked_fill(attn_mask != 0, float(-100.0)).masked_fill(attn_mask == 0, float(0.0))
231
+ else:
232
+ attn_mask = None
233
+
234
+ self.register_buffer("attn_mask", attn_mask)
235
+
236
+ def forward(self, x):
237
+ H, W = self.input_resolution
238
+ B, L, C = x.shape
239
+ assert L == H * W, "input feature has wrong size"
240
+
241
+ shortcut = x
242
+ x = self.norm1(x)
243
+ x = x.view(B, H, W, C)
244
+
245
+ # cyclic shift
246
+ if self.shift_size > 0:
247
+ shifted_x = torch.roll(x, shifts=(-self.shift_size, -self.shift_size), dims=(1, 2))
248
+ else:
249
+ shifted_x = x
250
+
251
+ # partition windows
252
+ x_windows = window_partition(shifted_x, self.window_size) # nW*B, window_size, window_size, C
253
+ x_windows = x_windows.view(-1, self.window_size * self.window_size, C) # nW*B, window_size*window_size, C
254
+
255
+ # W-MSA/SW-MSA
256
+ attn_windows = self.attn(x_windows, mask=self.attn_mask) # nW*B, window_size*window_size, C
257
+
258
+ # merge windows
259
+ attn_windows = attn_windows.view(-1, self.window_size, self.window_size, C)
260
+ shifted_x = window_reverse(attn_windows, self.window_size, H, W) # B H' W' C
261
+
262
+ # reverse cyclic shift
263
+ if self.shift_size > 0:
264
+ x = torch.roll(shifted_x, shifts=(self.shift_size, self.shift_size), dims=(1, 2))
265
+ else:
266
+ x = shifted_x
267
+ x = x.view(B, H * W, C)
268
+
269
+ # FFN
270
+ x = shortcut + self.drop_path(x)
271
+ x = x + self.drop_path(self.mlp(self.norm2(x)))
272
+
273
+ return x
274
+
275
+ def extra_repr(self) -> str:
276
+ return f"dim={self.dim}, input_resolution={self.input_resolution}, num_heads={self.num_heads}, " \
277
+ f"window_size={self.window_size}, shift_size={self.shift_size}, mlp_ratio={self.mlp_ratio}"
278
+
279
+ def flops(self):
280
+ flops = 0
281
+ H, W = self.input_resolution
282
+ # norm1
283
+ flops += self.dim * H * W
284
+ # W-MSA/SW-MSA
285
+ nW = H * W / self.window_size / self.window_size
286
+ flops += nW * self.attn.flops(self.window_size * self.window_size)
287
+ # mlp
288
+ flops += 2 * H * W * self.dim * self.dim * self.mlp_ratio
289
+ # norm2
290
+ flops += self.dim * H * W
291
+ return flops
292
+
293
+
294
+ class PatchMerging(nn.Module):
295
+ r""" Patch Merging Layer.
296
+
297
+ Args:
298
+ input_resolution (tuple[int]): Resolution of input feature.
299
+ dim (int): Number of input channels.
300
+ norm_layer (nn.Module, optional): Normalization layer. Default: nn.LayerNorm
301
+ """
302
+
303
+ def __init__(self, input_resolution, dim, norm_layer=nn.LayerNorm):
304
+ super().__init__()
305
+ self.input_resolution = input_resolution
306
+ self.dim = dim
307
+ self.reduction = nn.Linear(4 * dim, 2 * dim, bias=False)
308
+ self.norm = norm_layer(4 * dim)
309
+
310
+ def forward(self, x):
311
+ """
312
+ x: B, H*W, C
313
+ """
314
+ H, W = self.input_resolution
315
+ B, L, C = x.shape
316
+ assert L == H * W, "input feature has wrong size"
317
+ assert H % 2 == 0 and W % 2 == 0, f"x size ({H}*{W}) are not even."
318
+
319
+ x = x.view(B, H, W, C)
320
+
321
+ x0 = x[:, 0::2, 0::2, :] # B H/2 W/2 C
322
+ x1 = x[:, 1::2, 0::2, :] # B H/2 W/2 C
323
+ x2 = x[:, 0::2, 1::2, :] # B H/2 W/2 C
324
+ x3 = x[:, 1::2, 1::2, :] # B H/2 W/2 C
325
+ x = torch.cat([x0, x1, x2, x3], -1) # B H/2 W/2 4*C
326
+ x = x.view(B, -1, 4 * C) # B H/2*W/2 4*C
327
+
328
+ x = self.norm(x)
329
+ x = self.reduction(x)
330
+
331
+ return x
332
+
333
+ def extra_repr(self) -> str:
334
+ return f"input_resolution={self.input_resolution}, dim={self.dim}"
335
+
336
+ def flops(self):
337
+ H, W = self.input_resolution
338
+ flops = H * W * self.dim
339
+ flops += (H // 2) * (W // 2) * 4 * self.dim * 2 * self.dim
340
+ return flops
341
+
342
+
343
+ class BasicLayer(nn.Module):
344
+ """ A basic Swin Transformer layer for one stage.
345
+
346
+ Args:
347
+ dim (int): Number of input channels.
348
+ input_resolution (tuple[int]): Input resolution.
349
+ depth (int): Number of blocks.
350
+ num_heads (int): Number of attention heads.
351
+ window_size (int): Local window size.
352
+ mlp_ratio (float): Ratio of mlp hidden dim to embedding dim.
353
+ qkv_bias (bool, optional): If True, add a learnable bias to query, key, value. Default: True
354
+ qk_scale (float | None, optional): Override default qk scale of head_dim ** -0.5 if set.
355
+ drop (float, optional): Dropout rate. Default: 0.0
356
+ attn_drop (float, optional): Attention dropout rate. Default: 0.0
357
+ drop_path (float | tuple[float], optional): Stochastic depth rate. Default: 0.0
358
+ norm_layer (nn.Module, optional): Normalization layer. Default: nn.LayerNorm
359
+ downsample (nn.Module | None, optional): Downsample layer at the end of the layer. Default: None
360
+ use_checkpoint (bool): Whether to use checkpointing to save memory. Default: False.
361
+ """
362
+
363
+ def __init__(self, dim, input_resolution, depth, num_heads, window_size,
364
+ mlp_ratio=4., qkv_bias=True, qk_scale=None, drop=0., attn_drop=0.,
365
+ drop_path=0., norm_layer=nn.LayerNorm, downsample=None, use_checkpoint=False):
366
+
367
+ super().__init__()
368
+ self.dim = dim
369
+ self.input_resolution = input_resolution
370
+ self.depth = depth
371
+ self.use_checkpoint = use_checkpoint
372
+
373
+ # build blocks
374
+ self.blocks = nn.ModuleList([
375
+ SwinTransformerBlock(dim=dim, input_resolution=input_resolution,
376
+ num_heads=num_heads, window_size=window_size,
377
+ shift_size=0 if (i % 2 == 0) else window_size // 2,
378
+ mlp_ratio=mlp_ratio,
379
+ qkv_bias=qkv_bias, qk_scale=qk_scale,
380
+ drop=drop, attn_drop=attn_drop,
381
+ drop_path=drop_path[i] if isinstance(drop_path, list) else drop_path,
382
+ norm_layer=norm_layer)
383
+ for i in range(depth)])
384
+
385
+ # patch merging layer
386
+ if downsample is not None:
387
+ self.downsample = downsample(input_resolution, dim=dim, norm_layer=norm_layer)
388
+ else:
389
+ self.downsample = None
390
+
391
+ def forward(self, x):
392
+ for blk in self.blocks:
393
+ if self.use_checkpoint:
394
+ x = checkpoint.checkpoint(blk, x)
395
+ else:
396
+ x = blk(x)
397
+ if self.downsample is not None:
398
+ x = self.downsample(x)
399
+ return x
400
+
401
+ def extra_repr(self) -> str:
402
+ return f"dim={self.dim}, input_resolution={self.input_resolution}, depth={self.depth}"
403
+
404
+ def flops(self):
405
+ flops = 0
406
+ for blk in self.blocks:
407
+ flops += blk.flops()
408
+ if self.downsample is not None:
409
+ flops += self.downsample.flops()
410
+ return flops
411
+
412
+
413
+ class PatchEmbed(nn.Module):
414
+ r""" Image to Patch Embedding
415
+
416
+ Args:
417
+ img_size (int): Image size. Default: 224.
418
+ patch_size (int): Patch token size. Default: 4.
419
+ in_chans (int): Number of input image channels. Default: 3.
420
+ embed_dim (int): Number of linear projection output channels. Default: 96.
421
+ norm_layer (nn.Module, optional): Normalization layer. Default: None
422
+ """
423
+
424
+ def __init__(self, img_size=224, patch_size=4, in_chans=3, embed_dim=96, norm_layer=None):
425
+ super().__init__()
426
+ img_size = to_2tuple(img_size)
427
+ patch_size = to_2tuple(patch_size)
428
+ patches_resolution = [img_size[0] // patch_size[0], img_size[1] // patch_size[1]]
429
+ self.img_size = img_size
430
+ self.patch_size = patch_size
431
+ self.patches_resolution = patches_resolution
432
+ self.num_patches = patches_resolution[0] * patches_resolution[1]
433
+
434
+ self.in_chans = in_chans
435
+ self.embed_dim = embed_dim
436
+
437
+ self.proj = nn.Conv2d(in_chans, embed_dim, kernel_size=patch_size, stride=patch_size)
438
+ if norm_layer is not None:
439
+ self.norm = norm_layer(embed_dim)
440
+ else:
441
+ self.norm = None
442
+
443
+ def forward(self, x):
444
+ B, C, H, W = x.shape
445
+ # FIXME look at relaxing size constraints
446
+ assert H == self.img_size[0] and W == self.img_size[1], \
447
+ f"Input image size ({H}*{W}) doesn't match model ({self.img_size[0]}*{self.img_size[1]})."
448
+ x = self.proj(x).flatten(2).transpose(1, 2) # B Ph*Pw C
449
+ if self.norm is not None:
450
+ x = self.norm(x)
451
+ return x
452
+
453
+ def flops(self):
454
+ Ho, Wo = self.patches_resolution
455
+ flops = Ho * Wo * self.embed_dim * self.in_chans * (self.patch_size[0] * self.patch_size[1])
456
+ if self.norm is not None:
457
+ flops += Ho * Wo * self.embed_dim
458
+ return flops
459
+
460
+
461
+ class SwinTransformer(nn.Module):
462
+ r""" Swin Transformer
463
+ A PyTorch impl of : `Swin Transformer: Hierarchical Vision Transformer using Shifted Windows` -
464
+ https://arxiv.org/pdf/2103.14030
465
+
466
+ Args:
467
+ img_size (int | tuple(int)): Input image size. Default 224
468
+ patch_size (int | tuple(int)): Patch size. Default: 4
469
+ in_chans (int): Number of input image channels. Default: 3
470
+ num_classes (int): Number of classes for classification head. Default: 1000
471
+ embed_dim (int): Patch embedding dimension. Default: 96
472
+ depths (tuple(int)): Depth of each Swin Transformer layer.
473
+ num_heads (tuple(int)): Number of attention heads in different layers.
474
+ window_size (int): Window size. Default: 7
475
+ mlp_ratio (float): Ratio of mlp hidden dim to embedding dim. Default: 4
476
+ qkv_bias (bool): If True, add a learnable bias to query, key, value. Default: True
477
+ qk_scale (float): Override default qk scale of head_dim ** -0.5 if set. Default: None
478
+ drop_rate (float): Dropout rate. Default: 0
479
+ attn_drop_rate (float): Attention dropout rate. Default: 0
480
+ drop_path_rate (float): Stochastic depth rate. Default: 0.1
481
+ norm_layer (nn.Module): Normalization layer. Default: nn.LayerNorm.
482
+ ape (bool): If True, add absolute position embedding to the patch embedding. Default: False
483
+ patch_norm (bool): If True, add normalization after patch embedding. Default: True
484
+ use_checkpoint (bool): Whether to use checkpointing to save memory. Default: False
485
+ """
486
+
487
+ def __init__(self, img_size=224, patch_size=4, in_chans=3, num_classes=1000,
488
+ embed_dim=96, depths=[2, 2, 6, 2], num_heads=[3, 6, 12, 24],
489
+ window_size=7, mlp_ratio=4., qkv_bias=True, qk_scale=None,
490
+ drop_rate=0., attn_drop_rate=0., drop_path_rate=0.1,
491
+ norm_layer=nn.LayerNorm, ape=False, patch_norm=True,
492
+ use_checkpoint=False, **kwargs):
493
+ super().__init__()
494
+
495
+ self.num_classes = num_classes
496
+ self.num_layers = len(depths)
497
+ self.embed_dim = embed_dim
498
+ self.ape = ape
499
+ self.patch_norm = patch_norm
500
+ self.num_features = int(embed_dim * 2 ** (self.num_layers - 1))
501
+ self.mlp_ratio = mlp_ratio
502
+
503
+ # split image into non-overlapping patches
504
+ self.patch_embed = PatchEmbed(
505
+ img_size=img_size, patch_size=patch_size, in_chans=in_chans, embed_dim=embed_dim,
506
+ norm_layer=norm_layer if self.patch_norm else None)
507
+ num_patches = self.patch_embed.num_patches
508
+ patches_resolution = self.patch_embed.patches_resolution
509
+ self.patches_resolution = patches_resolution
510
+
511
+ # absolute position embedding
512
+ if self.ape:
513
+ self.absolute_pos_embed = nn.Parameter(torch.zeros(1, num_patches, embed_dim))
514
+ trunc_normal_(self.absolute_pos_embed, std=.02)
515
+
516
+ self.pos_drop = nn.Dropout(p=drop_rate)
517
+
518
+ # stochastic depth
519
+ dpr = [x.item() for x in torch.linspace(0, drop_path_rate, sum(depths))] # stochastic depth decay rule
520
+
521
+ # build layers
522
+ self.layers = nn.ModuleList()
523
+ for i_layer in range(self.num_layers):
524
+ layer = BasicLayer(dim=int(embed_dim * 2 ** i_layer),
525
+ input_resolution=(patches_resolution[0] // (2 ** i_layer),
526
+ patches_resolution[1] // (2 ** i_layer)),
527
+ depth=depths[i_layer],
528
+ num_heads=num_heads[i_layer],
529
+ window_size=window_size,
530
+ mlp_ratio=self.mlp_ratio,
531
+ qkv_bias=qkv_bias, qk_scale=qk_scale,
532
+ drop=drop_rate, attn_drop=attn_drop_rate,
533
+ drop_path=dpr[sum(depths[:i_layer]):sum(depths[:i_layer + 1])],
534
+ norm_layer=norm_layer,
535
+ downsample=PatchMerging if (i_layer < self.num_layers - 1) else None,
536
+ use_checkpoint=use_checkpoint)
537
+ self.layers.append(layer)
538
+
539
+ self.norm = norm_layer(self.num_features)
540
+ self.avgpool = nn.AdaptiveAvgPool1d(1)
541
+ # self.head = nn.Linear(self.num_features, num_classes) if num_classes > 0 else nn.Identity()
542
+
543
+ self.apply(self._init_weights)
544
+
545
+ def _init_weights(self, m):
546
+ if isinstance(m, nn.Linear):
547
+ trunc_normal_(m.weight, std=.02)
548
+ if isinstance(m, nn.Linear) and m.bias is not None:
549
+ nn.init.constant_(m.bias, 0)
550
+ elif isinstance(m, nn.LayerNorm):
551
+ nn.init.constant_(m.bias, 0)
552
+ nn.init.constant_(m.weight, 1.0)
553
+
554
+ @torch.jit.ignore
555
+ def no_weight_decay(self):
556
+ return {'absolute_pos_embed'}
557
+
558
+ @torch.jit.ignore
559
+ def no_weight_decay_keywords(self):
560
+ return {'relative_position_bias_table'}
561
+
562
+ def forward(self, x, idx_to_group_img=None, image_atts=None, **kwargs):
563
+ x = self.patch_embed(x)
564
+ if self.ape:
565
+ x = x + self.absolute_pos_embed
566
+ x = self.pos_drop(x)
567
+
568
+ for layer in self.layers:
569
+ x = layer(x)
570
+
571
+ x = self.norm(x) # B L C
572
+
573
+ x_cls = self.avgpool(x.transpose(1, 2)) # B C 1
574
+
575
+ if idx_to_group_img is None:
576
+ return torch.cat([x_cls.transpose(1, 2), x], dim=1)
577
+ else:
578
+ x_bs = torch.gather(x, dim=0, index=idx_to_group_img.view(-1, 1, 1).expand(-1, x.shape[1], x.shape[2]))
579
+ weights = image_atts[:, 1:].unsqueeze(2) # B L 1
580
+ x_bs_cls = torch.sum((weights * x_bs).transpose(1, 2), dim=-1, keepdim=True) # B C 1
581
+ x_bs_cls = x_bs_cls / torch.sum(weights.transpose(1, 2), dim=-1, keepdim=True) # avgpool
582
+
583
+ return torch.cat([x_bs_cls.transpose(1, 2), x_bs], dim=1), \
584
+ torch.cat([x_cls.transpose(1, 2), x], dim=1)
585
+
586
+ def flops(self):
587
+ flops = 0
588
+ flops += self.patch_embed.flops()
589
+ for i, layer in enumerate(self.layers):
590
+ flops += layer.flops()
591
+ flops += self.num_features * self.patches_resolution[0] * self.patches_resolution[1] // (2 ** self.num_layers)
592
+ flops += self.num_features * self.num_classes
593
+ return flops
594
+
595
+
596
+ def interpolate_relative_pos_embed(rel_pos_bias, dst_num_pos, param_name=''):
597
+ # from: https://github.com/microsoft/unilm/blob/8a0a1c1f4e7326938ea7580a00d56d7f17d65612/beit/run_class_finetuning.py#L348
598
+
599
+ # rel_pos_bias: relative_position_bias_table
600
+ src_num_pos, num_attn_heads = rel_pos_bias.size()
601
+
602
+ num_extra_tokens = 0
603
+ src_size = int((src_num_pos - num_extra_tokens) ** 0.5)
604
+ dst_size = int((dst_num_pos - num_extra_tokens) ** 0.5)
605
+ if src_size != dst_size:
606
+ print("Position interpolate %s from %dx%d to %dx%d" % (param_name, src_size, src_size, dst_size, dst_size))
607
+
608
+ # extra_tokens = rel_pos_bias[-num_extra_tokens:, :]
609
+ # rel_pos_bias = rel_pos_bias[:-num_extra_tokens, :]
610
+
611
+ def geometric_progression(a, r, n):
612
+ return a * (1.0 - r ** n) / (1.0 - r)
613
+
614
+ left, right = 1.01, 1.5
615
+ while right - left > 1e-6:
616
+ q = (left + right) / 2.0
617
+ gp = geometric_progression(1, q, src_size // 2)
618
+ if gp > dst_size // 2:
619
+ right = q
620
+ else:
621
+ left = q
622
+
623
+ # if q > 1.090307:
624
+ # q = 1.090307
625
+
626
+ dis = []
627
+ cur = 1
628
+ for i in range(src_size // 2):
629
+ dis.append(cur)
630
+ cur += q ** (i + 1)
631
+
632
+ r_ids = [-_ for _ in reversed(dis)]
633
+
634
+ x = r_ids + [0] + dis
635
+ y = r_ids + [0] + dis
636
+
637
+ t = dst_size // 2.0
638
+ dx = np.arange(-t, t + 0.1, 1.0)
639
+ dy = np.arange(-t, t + 0.1, 1.0)
640
+
641
+ # print("Original positions = %s" % str(x))
642
+ # print("Target positions = %s" % str(dx))
643
+
644
+ all_rel_pos_bias = []
645
+
646
+ for i in range(num_attn_heads):
647
+ z = rel_pos_bias[:, i].view(src_size, src_size).float().numpy()
648
+ f = interpolate.interp2d(x, y, z, kind='cubic')
649
+ all_rel_pos_bias.append(
650
+ torch.Tensor(f(dx, dy)).contiguous().view(-1, 1).to(rel_pos_bias.device))
651
+
652
+ rel_pos_bias = torch.cat(all_rel_pos_bias, dim=-1)
653
+
654
+ return rel_pos_bias
ram/models/tag2text.py ADDED
@@ -0,0 +1,370 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ '''
2
+ * The Tag2Text Model
3
+ * Written by Xinyu Huang
4
+ '''
5
+ import numpy as np
6
+ import json
7
+ import torch
8
+ import warnings
9
+
10
+ from torch import nn
11
+ from .bert import BertConfig, BertModel, BertLMHeadModel
12
+ from .swin_transformer import SwinTransformer
13
+
14
+ from .utils import *
15
+
16
+ warnings.filterwarnings("ignore")
17
+
18
+
19
+ class Tag2Text(nn.Module):
20
+
21
+ def __init__(self,
22
+ med_config=f'{CONFIG_PATH}/configs/med_config.json',
23
+ image_size=384,
24
+ vit='base',
25
+ vit_grad_ckpt=False,
26
+ vit_ckpt_layer=0,
27
+ prompt='a picture of ',
28
+ threshold=0.68,
29
+ delete_tag_index=[127,2961, 3351, 3265, 3338, 3355, 3359],
30
+ tag_list=f'{CONFIG_PATH}/data/tag_list.txt'):
31
+ r""" Tag2Text inference module, both captioning and tagging are included.
32
+ Tag2Text is an efficient and controllable vision-language pre-training framework.
33
+ Described in the paper "Tag2Text: Guiding Vision-Language Model via Image Tagging" https://arxiv.org/abs/2303.05657
34
+
35
+ Args:
36
+ med_config (str): path for the mixture of encoder-decoder model's configuration file
37
+ image_size (int): input image size
38
+ vit (str): model size of vision transformer
39
+ threshold (int): tagging threshold
40
+ delete_tag_index (list): delete some tags that may disturb captioning
41
+ """
42
+ super().__init__()
43
+
44
+ # create image encoder
45
+ if vit == 'swin_b':
46
+ if image_size == 224:
47
+ vision_config_path = f'{CONFIG_PATH}/configs/swin/config_swinB_224.json'
48
+ elif image_size == 384:
49
+ vision_config_path = f'{CONFIG_PATH}/configs/swin/config_swinB_384.json'
50
+ vision_config = read_json(vision_config_path)
51
+ assert image_size == vision_config['image_res']
52
+ # assert config['patch_size'] == 32
53
+ vision_width = vision_config['vision_width']
54
+
55
+ self.visual_encoder = SwinTransformer(
56
+ img_size=vision_config['image_res'],
57
+ patch_size=4,
58
+ in_chans=3,
59
+ embed_dim=vision_config['embed_dim'],
60
+ depths=vision_config['depths'],
61
+ num_heads=vision_config['num_heads'],
62
+ window_size=vision_config['window_size'],
63
+ mlp_ratio=4.,
64
+ qkv_bias=True,
65
+ drop_rate=0.0,
66
+ drop_path_rate=0.1,
67
+ ape=False,
68
+ patch_norm=True,
69
+ use_checkpoint=False)
70
+
71
+ else:
72
+ self.visual_encoder, vision_width = create_vit(
73
+ vit, image_size, vit_grad_ckpt, vit_ckpt_layer)
74
+
75
+ # create tokenzier
76
+ self.tokenizer = init_tokenizer()
77
+
78
+ # Tag2Text employ encoder-decoder architecture for image-tag-text generation: image-tag interaction encoder and image-tag-text decoder
79
+ # create image-tag interaction encoder
80
+ encoder_config = BertConfig.from_json_file(med_config)
81
+ encoder_config.encoder_width = vision_width
82
+ self.tag_encoder = BertModel(config=encoder_config,
83
+ add_pooling_layer=False)
84
+
85
+ # create image-tag-text decoder
86
+ decoder_config = BertConfig.from_json_file(med_config)
87
+ self.text_decoder = BertLMHeadModel(config=decoder_config)
88
+
89
+ # delete some tags that may disturb captioning
90
+ # 127: "quarter"; 2961: "back"; 3351: "two"; 3265: "three"; 3338: "four"; 3355: "five"; 3359: "one"
91
+ self.delete_tag_index = delete_tag_index
92
+ self.prompt = prompt
93
+ self.prompt_length = len(self.tokenizer(self.prompt).input_ids) - 1
94
+
95
+ # load tag list
96
+ self.tag_list = self.load_tag_list(tag_list)
97
+
98
+ # create image-tag recognition decoder
99
+ self.threshold = threshold
100
+ self.num_class = len(self.tag_list)
101
+ q2l_config = BertConfig.from_json_file(f'{CONFIG_PATH}/configs/q2l_config.json')
102
+ q2l_config.encoder_width = vision_width
103
+ self.tagging_head = BertModel(config=q2l_config,
104
+ add_pooling_layer=False)
105
+ self.tagging_head.resize_token_embeddings(len(self.tokenizer))
106
+ self.label_embed = nn.Embedding(self.num_class, q2l_config.hidden_size)
107
+ self.fc = GroupWiseLinear(self.num_class,
108
+ q2l_config.hidden_size,
109
+ bias=True)
110
+ self.del_selfattention()
111
+
112
+ self.tagging_loss_function = AsymmetricLoss(gamma_neg=7,
113
+ gamma_pos=0,
114
+ clip=0.05)
115
+
116
+ # share weights of the lowest 2-layer of "image-tag interaction encoder" with the "image-tag recogntion decoder"
117
+ tie_encoder_decoder_weights(self.tag_encoder, self.tagging_head, '',
118
+ ' ')
119
+
120
+ # adjust thresholds for some tags
121
+ # default threshold: 0.68
122
+ # 2701: "person"; 2828: "man"; 1167: "woman";
123
+ tag_thrshold = {2701:0.7, 2828: 0.7, 1167: 0.7}
124
+ self.class_threshold = torch.ones(self.num_class) * self.threshold
125
+ for key,value in tag_thrshold.items():
126
+ self.class_threshold[key] = value
127
+
128
+ def load_tag_list(self, tag_list_file):
129
+ with open(tag_list_file, 'r') as f:
130
+ tag_list = f.read().splitlines()
131
+ tag_list = np.array(tag_list)
132
+ return tag_list
133
+
134
+ # delete self-attention layer of image-tag recognition decoder to reduce computation, follower Query2Label
135
+ def del_selfattention(self):
136
+ del self.tagging_head.embeddings
137
+ for layer in self.tagging_head.encoder.layer:
138
+ del layer.attention
139
+
140
+
141
+ def forward(self, image, caption, tag):
142
+ """
143
+ call function as forward
144
+
145
+ Args:
146
+ image: type: torch.Tensor shape: batch_size * 3 * 384 * 384
147
+ caption: type: list[string] len: batch_size
148
+ tag: type: torch.Tensor shape: batch * class_num (e.g. 3429) value: positive sample is 1.0, negative sample is 0.0
149
+
150
+ Returns:
151
+ loss: type: torch.Tensor
152
+ """
153
+
154
+ image_embeds = self.visual_encoder(image)
155
+ image_atts = torch.ones(image_embeds.size()[:-1],
156
+ dtype=torch.long).to(image.device)
157
+
158
+ ##================= Image Tagging ================##
159
+ bs = image_embeds.shape[0]
160
+ label_embed = self.label_embed.weight.unsqueeze(0).repeat(bs, 1, 1)
161
+
162
+ tagging_embed = self.tagging_head(
163
+ encoder_embeds=label_embed,
164
+ encoder_hidden_states=image_embeds,
165
+ encoder_attention_mask=image_atts,
166
+ return_dict=False,
167
+ mode='tagging',
168
+ )
169
+
170
+ logits = self.fc(tagging_embed[0])
171
+
172
+ loss_tag = self.tagging_loss_function(logits, tag)
173
+
174
+ ##================= Image-Tag-Text Generation ================##
175
+ tag = tag.cpu().numpy()
176
+ tag_input = []
177
+ for b in range(bs):
178
+ index = np.argwhere(tag[b] == 1)
179
+ token = self.tag_list[index].squeeze(axis=1)
180
+ tag_input.append(' | '.join(token))
181
+
182
+ # tokenizer input tags
183
+ tag_input_tokenzier = self.tokenizer(tag_input,
184
+ padding='max_length',
185
+ truncation=True,
186
+ max_length=40,
187
+ return_tensors="pt").to(
188
+ image.device)
189
+ encoder_input_ids = tag_input_tokenzier.input_ids
190
+ encoder_input_ids[:, 0] = self.tokenizer.enc_token_id
191
+
192
+ # put input tag into image-tag interaction encoder to interact with image embeddings
193
+ output_tagembedding = self.tag_encoder(
194
+ encoder_input_ids,
195
+ attention_mask=tag_input_tokenzier.attention_mask,
196
+ encoder_hidden_states=image_embeds,
197
+ encoder_attention_mask=image_atts,
198
+ return_dict=True,
199
+ )
200
+
201
+ text = self.tokenizer(caption,
202
+ padding='longest',
203
+ truncation=True,
204
+ max_length=40,
205
+ return_tensors="pt").to(
206
+ image.device)
207
+
208
+ decoder_input_ids = text.input_ids
209
+ decoder_input_ids[:,0] = self.tokenizer.bos_token_id
210
+
211
+ decoder_targets = decoder_input_ids.masked_fill(
212
+ decoder_input_ids == self.tokenizer.pad_token_id, -100)
213
+ decoder_targets[:,:self.prompt_length] = -100
214
+
215
+ decoder_output = self.text_decoder(decoder_input_ids,
216
+ attention_mask = text.attention_mask,
217
+ encoder_hidden_states = output_tagembedding.last_hidden_state,
218
+ encoder_attention_mask = None,
219
+ labels = decoder_targets,
220
+ return_dict = True,
221
+ )
222
+
223
+ loss_t2t = decoder_output.loss
224
+
225
+ # balance loss scale
226
+ loss = loss_t2t + loss_tag/(loss_tag/loss_t2t).detach()
227
+
228
+ return loss
229
+
230
+
231
+ def generate(self,
232
+ image,
233
+ sample=False,
234
+ num_beams=3,
235
+ max_length=30,
236
+ min_length=10,
237
+ top_p=0.9,
238
+ repetition_penalty=1.0,
239
+ tag_input=None,
240
+ return_tag_predict=False):
241
+
242
+ image_embeds = self.visual_encoder(image)
243
+ image_atts = torch.ones(image_embeds.size()[:-1],
244
+ dtype=torch.long).to(image.device)
245
+
246
+ # if not user specified tags, recognized image tags using image-tag recogntiion decoder
247
+ if tag_input == None:
248
+
249
+ bs = image_embeds.shape[0]
250
+ label_embed = self.label_embed.weight.unsqueeze(0).repeat(bs, 1, 1)
251
+ tagging_embed = self.tagging_head(
252
+ encoder_embeds=label_embed,
253
+ encoder_hidden_states=image_embeds,
254
+ encoder_attention_mask=image_atts,
255
+ return_dict=False,
256
+ mode='tagging',
257
+ )
258
+
259
+ logits = self.fc(tagging_embed[0])
260
+
261
+ targets = torch.where(
262
+ torch.sigmoid(logits) > self.class_threshold.to(image.device),
263
+ torch.tensor(1.0).to(image.device),
264
+ torch.zeros(self.num_class).to(image.device))
265
+
266
+ tag = targets.cpu().numpy()
267
+
268
+ # delete some tags that may disturb captioning
269
+ tag[:, self.delete_tag_index] = 0
270
+
271
+ tag_input = []
272
+ for b in range(bs):
273
+ index = np.argwhere(tag[b] == 1)
274
+ token = self.tag_list[index].squeeze(axis=1)
275
+ tag_input.append(' | '.join(token))
276
+
277
+ tag_output = tag_input
278
+
279
+ # beam search for text generation(default)
280
+ if not sample:
281
+ image_embeds = image_embeds.repeat_interleave(num_beams, dim=0)
282
+ tag_input_temp = []
283
+ for tag in tag_input:
284
+ for i in range(num_beams):
285
+ tag_input_temp.append(tag)
286
+ tag_input = tag_input_temp
287
+
288
+ image_atts = torch.ones(image_embeds.size()[:-1],
289
+ dtype=torch.long).to(image.device)
290
+
291
+ # tokenizer input tags
292
+ tag_input_tokenzier = self.tokenizer(tag_input,
293
+ padding='max_length',
294
+ truncation=True,
295
+ max_length=40,
296
+ return_tensors="pt").to(
297
+ image.device)
298
+ encoder_input_ids = tag_input_tokenzier.input_ids
299
+ encoder_input_ids[:, 0] = self.tokenizer.enc_token_id
300
+
301
+ # put input tag into image-tag interaction encoder to interact with image embeddings
302
+ output_tagembedding = self.tag_encoder(
303
+ encoder_input_ids,
304
+ attention_mask=tag_input_tokenzier.attention_mask,
305
+ encoder_hidden_states=image_embeds,
306
+ encoder_attention_mask=image_atts,
307
+ return_dict=True,
308
+ )
309
+
310
+ # prompt trick for better captioning, followed BLIP
311
+ prompt = [self.prompt] * image.size(0)
312
+ input_ids = self.tokenizer(prompt, return_tensors="pt").input_ids.to(
313
+ image.device)
314
+ input_ids[:, 0] = self.tokenizer.bos_token_id
315
+ input_ids = input_ids[:, :-1]
316
+
317
+ if sample:
318
+ # nucleus sampling
319
+ model_kwargs = {
320
+ "encoder_hidden_states": output_tagembedding.last_hidden_state,
321
+ "encoder_attention_mask": None
322
+ }
323
+ outputs = self.text_decoder.generate(
324
+ input_ids=input_ids,
325
+ max_length=max_length,
326
+ min_length=min_length,
327
+ do_sample=True,
328
+ top_p=top_p,
329
+ num_return_sequences=1,
330
+ eos_token_id=self.tokenizer.sep_token_id,
331
+ pad_token_id=self.tokenizer.pad_token_id,
332
+ repetition_penalty=1.1,
333
+ **model_kwargs)
334
+ else:
335
+ # beam search (default)
336
+ model_kwargs = {
337
+ "encoder_hidden_states": output_tagembedding.last_hidden_state,
338
+ "encoder_attention_mask": None
339
+ }
340
+ outputs = self.text_decoder.generate(
341
+ input_ids=input_ids,
342
+ max_length=max_length,
343
+ min_length=min_length,
344
+ num_beams=num_beams,
345
+ eos_token_id=self.tokenizer.sep_token_id,
346
+ pad_token_id=self.tokenizer.pad_token_id,
347
+ repetition_penalty=repetition_penalty,
348
+ **model_kwargs)
349
+
350
+ captions = []
351
+ for output in outputs:
352
+ caption = self.tokenizer.decode(output, skip_special_tokens=True)
353
+ captions.append(caption[len(self.prompt):])
354
+ if return_tag_predict == True:
355
+ return captions, tag_output
356
+ return captions
357
+
358
+
359
+ # load Tag2Text pretrained model parameters
360
+ def tag2text(pretrained='', **kwargs):
361
+ model = Tag2Text(**kwargs)
362
+ if pretrained:
363
+ if kwargs['vit'] == 'swin_b':
364
+ model, msg = load_checkpoint_swinbase(model, pretrained, kwargs)
365
+ else:
366
+ model, msg = load_checkpoint(model, pretrained)
367
+ print('vit:', kwargs['vit'])
368
+ # print('msg', msg)
369
+ return model
370
+
ram/models/utils.py ADDED
@@ -0,0 +1,326 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import json
3
+ import torch
4
+ import math
5
+
6
+ from torch import nn
7
+ from typing import List
8
+ from transformers import BertTokenizer
9
+ from urllib.parse import urlparse
10
+ from timm.models.hub import download_cached_file
11
+ from .vit import interpolate_pos_embed
12
+ from .swin_transformer import interpolate_relative_pos_embed
13
+ from pathlib import Path
14
+ CONFIG_PATH=(Path(__file__).resolve().parents[1])
15
+
16
+ def read_json(rpath):
17
+ with open(rpath, 'r') as f:
18
+ return json.load(f)
19
+
20
+
21
+ def tie_encoder_decoder_weights(encoder: nn.Module, decoder: nn.Module,
22
+ base_model_prefix: str, skip_key: str):
23
+ uninitialized_encoder_weights: List[str] = []
24
+ if decoder.__class__ != encoder.__class__:
25
+ logger.info(
26
+ f"{decoder.__class__} and {encoder.__class__} are not equal. In this case make sure that all encoder weights are correctly initialized."
27
+ )
28
+
29
+ def tie_encoder_to_decoder_recursively(
30
+ decoder_pointer: nn.Module,
31
+ encoder_pointer: nn.Module,
32
+ module_name: str,
33
+ uninitialized_encoder_weights: List[str],
34
+ skip_key: str,
35
+ depth=0,
36
+ ):
37
+ assert isinstance(decoder_pointer, nn.Module) and isinstance(
38
+ encoder_pointer, nn.Module
39
+ ), f"{decoder_pointer} and {encoder_pointer} have to be of type torch.nn.Module"
40
+ if hasattr(decoder_pointer, "weight") and skip_key not in module_name:
41
+ assert hasattr(encoder_pointer, "weight")
42
+ encoder_pointer.weight = decoder_pointer.weight
43
+ if hasattr(decoder_pointer, "bias"):
44
+ assert hasattr(encoder_pointer, "bias")
45
+ encoder_pointer.bias = decoder_pointer.bias
46
+ print(module_name + ' is tied')
47
+ return
48
+
49
+ encoder_modules = encoder_pointer._modules
50
+ decoder_modules = decoder_pointer._modules
51
+ if len(decoder_modules) > 0:
52
+ assert (
53
+ len(encoder_modules) > 0
54
+ ), f"Encoder module {encoder_pointer} does not match decoder module {decoder_pointer}"
55
+
56
+ all_encoder_weights = set([
57
+ module_name + "/" + sub_name
58
+ for sub_name in encoder_modules.keys()
59
+ ])
60
+ encoder_layer_pos = 0
61
+ for name, module in decoder_modules.items():
62
+ if name.isdigit():
63
+ encoder_name = str(int(name) + encoder_layer_pos)
64
+ decoder_name = name
65
+ if not isinstance(
66
+ decoder_modules[decoder_name],
67
+ type(encoder_modules[encoder_name])) and len(
68
+ encoder_modules) != len(decoder_modules):
69
+ # this can happen if the name corresponds to the position in a list module list of layers
70
+ # in this case the decoder has added a cross-attention that the encoder does not have
71
+ # thus skip this step and subtract one layer pos from encoder
72
+ encoder_layer_pos -= 1
73
+ continue
74
+ elif name not in encoder_modules:
75
+ continue
76
+ elif depth > 500:
77
+ raise ValueError(
78
+ "Max depth of recursive function `tie_encoder_to_decoder` reached. It seems that there is a circular dependency between two or more `nn.Modules` of your model."
79
+ )
80
+ else:
81
+ decoder_name = encoder_name = name
82
+ tie_encoder_to_decoder_recursively(
83
+ decoder_modules[decoder_name],
84
+ encoder_modules[encoder_name],
85
+ module_name + "/" + name,
86
+ uninitialized_encoder_weights,
87
+ skip_key,
88
+ depth=depth + 1,
89
+ )
90
+ all_encoder_weights.remove(module_name + "/" + encoder_name)
91
+
92
+ uninitialized_encoder_weights += list(all_encoder_weights)
93
+
94
+ # tie weights recursively
95
+ tie_encoder_to_decoder_recursively(decoder, encoder, base_model_prefix,
96
+ uninitialized_encoder_weights, skip_key)
97
+
98
+
99
+ class GroupWiseLinear(nn.Module):
100
+ # could be changed to:
101
+ # output = torch.einsum('ijk,zjk->ij', x, self.W)
102
+ # or output = torch.einsum('ijk,jk->ij', x, self.W[0])
103
+ def __init__(self, num_class, hidden_dim, bias=True):
104
+ super().__init__()
105
+ self.num_class = num_class
106
+ self.hidden_dim = hidden_dim
107
+ self.bias = bias
108
+
109
+ self.W = nn.Parameter(torch.Tensor(1, num_class, hidden_dim))
110
+ if bias:
111
+ self.b = nn.Parameter(torch.Tensor(1, num_class))
112
+ self.reset_parameters()
113
+
114
+ def reset_parameters(self):
115
+ stdv = 1. / math.sqrt(self.W.size(2))
116
+ for i in range(self.num_class):
117
+ self.W[0][i].data.uniform_(-stdv, stdv)
118
+ if self.bias:
119
+ for i in range(self.num_class):
120
+ self.b[0][i].data.uniform_(-stdv, stdv)
121
+
122
+ def forward(self, x):
123
+ # x: B,K,d
124
+ x = (self.W * x).sum(-1)
125
+ if self.bias:
126
+ x = x + self.b
127
+ return x
128
+
129
+
130
+ def init_tokenizer():
131
+ tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
132
+ tokenizer.add_special_tokens({'bos_token': '[DEC]'})
133
+ tokenizer.add_special_tokens({'additional_special_tokens': ['[ENC]']})
134
+ tokenizer.enc_token_id = tokenizer.additional_special_tokens_ids[0]
135
+ return tokenizer
136
+
137
+
138
+ def create_vit(vit,
139
+ image_size,
140
+ use_grad_checkpointing=False,
141
+ ckpt_layer=0,
142
+ drop_path_rate=0):
143
+
144
+ assert vit in ['base', 'large'], "vit parameter must be base or large"
145
+ if vit == 'base':
146
+ vision_width = 768
147
+ visual_encoder = VisionTransformer(
148
+ img_size=image_size,
149
+ patch_size=16,
150
+ embed_dim=vision_width,
151
+ depth=12,
152
+ num_heads=12,
153
+ use_grad_checkpointing=use_grad_checkpointing,
154
+ ckpt_layer=ckpt_layer,
155
+ drop_path_rate=0 or drop_path_rate)
156
+ elif vit == 'large':
157
+ vision_width = 1024
158
+ visual_encoder = VisionTransformer(
159
+ img_size=image_size,
160
+ patch_size=16,
161
+ embed_dim=vision_width,
162
+ depth=24,
163
+ num_heads=16,
164
+ use_grad_checkpointing=use_grad_checkpointing,
165
+ ckpt_layer=ckpt_layer,
166
+ drop_path_rate=0.1 or drop_path_rate)
167
+ return visual_encoder, vision_width
168
+
169
+
170
+ def is_url(url_or_filename):
171
+ parsed = urlparse(url_or_filename)
172
+ return parsed.scheme in ("http", "https")
173
+
174
+
175
+ def load_checkpoint(model, url_or_filename):
176
+ if is_url(url_or_filename):
177
+ cached_file = download_cached_file(url_or_filename,
178
+ check_hash=False,
179
+ progress=True)
180
+ checkpoint = torch.load(cached_file, map_location='cpu')
181
+ elif os.path.isfile(url_or_filename):
182
+ checkpoint = torch.load(url_or_filename, map_location='cpu')
183
+ else:
184
+ raise RuntimeError('checkpoint url or path is invalid')
185
+
186
+ state_dict = checkpoint['model']
187
+
188
+ state_dict['visual_encoder.pos_embed'] = interpolate_pos_embed(
189
+ state_dict['visual_encoder.pos_embed'], model.visual_encoder)
190
+ if 'visual_encoder_m.pos_embed' in model.state_dict().keys():
191
+ state_dict['visual_encoder_m.pos_embed'] = interpolate_pos_embed(
192
+ state_dict['visual_encoder_m.pos_embed'], model.visual_encoder_m)
193
+ for key in model.state_dict().keys():
194
+ if key in state_dict.keys():
195
+ if state_dict[key].shape != model.state_dict()[key].shape:
196
+ del state_dict[key]
197
+
198
+ msg = model.load_state_dict(state_dict, strict=False)
199
+ print('load checkpoint from %s' % url_or_filename)
200
+ return model, msg
201
+
202
+
203
+ def load_checkpoint_swinbase(model, url_or_filename, kwargs):
204
+ if kwargs['image_size'] == 224:
205
+ vision_config_path = f'{CONFIG_PATH}/configs/swin/config_swinB_224.json'
206
+ elif kwargs['image_size'] == 384:
207
+ vision_config_path = f'{CONFIG_PATH}/configs/swin/config_swinB_384.json'
208
+ window_size = read_json(vision_config_path)['window_size']
209
+ print('--------------')
210
+ print(url_or_filename)
211
+ print('--------------')
212
+ if is_url(url_or_filename):
213
+ cached_file = download_cached_file(url_or_filename,
214
+ check_hash=False,
215
+ progress=True)
216
+ checkpoint = torch.load(cached_file, map_location='cpu')
217
+ elif os.path.isfile(url_or_filename):
218
+ checkpoint = torch.load(url_or_filename, map_location='cpu')
219
+ else:
220
+ raise RuntimeError('checkpoint url or path is invalid')
221
+
222
+ state_dict = checkpoint['model']
223
+
224
+ for k in list(state_dict.keys()):
225
+ if 'relative_position_bias_table' in k:
226
+ dst_num_pos = (2 * window_size - 1)**2
227
+ state_dict[k] = interpolate_relative_pos_embed(state_dict[k],
228
+ dst_num_pos,
229
+ param_name=k)
230
+ elif ('relative_position_index' in k) or ('attn_mask' in k):
231
+ del state_dict[k]
232
+ elif "vision_multi" in k:
233
+ state_dict[k.replace("vision_multi",
234
+ "tagging_head")] = state_dict.pop(k)
235
+
236
+ msg = model.load_state_dict(state_dict, strict=False)
237
+ print('load checkpoint from %s' % url_or_filename)
238
+ return model, msg
239
+
240
+
241
+ def load_checkpoint_swinlarge(model, url_or_filename, kwargs):
242
+ if kwargs['image_size'] == 224:
243
+ vision_config_path = f'{CONFIG_PATH}/configs/swin/config_swinL_224.json'
244
+ elif kwargs['image_size'] == 384:
245
+ vision_config_path = f'{CONFIG_PATH}/configs/swin/config_swinL_384.json'
246
+ window_size = read_json(vision_config_path)['window_size']
247
+ print('--------------')
248
+ print(url_or_filename)
249
+ print('--------------')
250
+ if is_url(url_or_filename):
251
+ cached_file = download_cached_file(url_or_filename,
252
+ check_hash=False,
253
+ progress=True)
254
+ checkpoint = torch.load(cached_file, map_location='cpu')
255
+ elif os.path.isfile(url_or_filename):
256
+ checkpoint = torch.load(url_or_filename, map_location='cpu')
257
+ else:
258
+ raise RuntimeError('checkpoint url or path is invalid')
259
+
260
+ state_dict = checkpoint['model']
261
+
262
+ for k in list(state_dict.keys()):
263
+ if 'relative_position_bias_table' in k:
264
+ dst_num_pos = (2 * window_size - 1)**2
265
+ state_dict[k] = interpolate_relative_pos_embed(state_dict[k],
266
+ dst_num_pos,
267
+ param_name=k)
268
+ elif ('relative_position_index' in k) or ('attn_mask' in k):
269
+ del state_dict[k]
270
+ elif "vision_multi" in k:
271
+ state_dict[k.replace("vision_multi",
272
+ "tagging_head")] = state_dict.pop(k)
273
+
274
+ msg = model.load_state_dict(state_dict, strict=False)
275
+ print('load checkpoint from %s' % url_or_filename)
276
+ return model, msg
277
+
278
+
279
+ # Tagging loss function
280
+ # copy from https://github.com/Alibaba-MIIL/ASL/blob/main/src/loss_functions/losses.py
281
+ class AsymmetricLoss(nn.Module):
282
+ def __init__(self, gamma_neg=4, gamma_pos=1, clip=0.05, eps=1e-8, disable_torch_grad_focal_loss=True):
283
+ super(AsymmetricLoss, self).__init__()
284
+
285
+ self.gamma_neg = gamma_neg
286
+ self.gamma_pos = gamma_pos
287
+ self.clip = clip
288
+ self.disable_torch_grad_focal_loss = disable_torch_grad_focal_loss
289
+ self.eps = eps
290
+
291
+ def forward(self, x, y):
292
+ """"
293
+ Parameters
294
+ ----------
295
+ x: input logits
296
+ y: targets (multi-label binarized vector)
297
+ """
298
+
299
+ # Calculating Probabilities
300
+ x_sigmoid = torch.sigmoid(x)
301
+ xs_pos = x_sigmoid
302
+ xs_neg = 1 - x_sigmoid
303
+
304
+ # Asymmetric Clipping
305
+ if self.clip is not None and self.clip > 0:
306
+ xs_neg = (xs_neg + self.clip).clamp(max=1)
307
+
308
+ # Basic CE calculation
309
+ los_pos = y * torch.log(xs_pos.clamp(min=self.eps))
310
+ los_neg = (1 - y) * torch.log(xs_neg.clamp(min=self.eps))
311
+ loss = los_pos + los_neg
312
+
313
+ # Asymmetric Focusing
314
+ if self.gamma_neg > 0 or self.gamma_pos > 0:
315
+ if self.disable_torch_grad_focal_loss:
316
+ torch.set_grad_enabled(False)
317
+ pt0 = xs_pos * y
318
+ pt1 = xs_neg * (1 - y) # pt = p if t > 0 else 1-p
319
+ pt = pt0 + pt1
320
+ one_sided_gamma = self.gamma_pos * y + self.gamma_neg * (1 - y)
321
+ one_sided_w = torch.pow(1 - pt, one_sided_gamma)
322
+ if self.disable_torch_grad_focal_loss:
323
+ torch.set_grad_enabled(True)
324
+ loss *= one_sided_w
325
+
326
+ return -loss.sum()
ram/models/vit.py ADDED
@@ -0,0 +1,305 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ '''
2
+ * Copyright (c) 2022, salesforce.com, inc.
3
+ * All rights reserved.
4
+ * SPDX-License-Identifier: BSD-3-Clause
5
+ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
6
+ * By Junnan Li
7
+ * Based on timm code base
8
+ * https://github.com/rwightman/pytorch-image-models/tree/master/timm
9
+ '''
10
+
11
+ import torch
12
+ import torch.nn as nn
13
+ import torch.nn.functional as F
14
+ from functools import partial
15
+
16
+ from timm.models.vision_transformer import _cfg, PatchEmbed
17
+ from timm.models.registry import register_model
18
+ from timm.models.layers import trunc_normal_, DropPath
19
+ from timm.models.helpers import named_apply, adapt_input_conv
20
+
21
+ from fairscale.nn.checkpoint.checkpoint_activations import checkpoint_wrapper
22
+
23
+ class Mlp(nn.Module):
24
+ """ MLP as used in Vision Transformer, MLP-Mixer and related networks
25
+ """
26
+ def __init__(self, in_features, hidden_features=None, out_features=None, act_layer=nn.GELU, drop=0.):
27
+ super().__init__()
28
+ out_features = out_features or in_features
29
+ hidden_features = hidden_features or in_features
30
+ self.fc1 = nn.Linear(in_features, hidden_features)
31
+ self.act = act_layer()
32
+ self.fc2 = nn.Linear(hidden_features, out_features)
33
+ self.drop = nn.Dropout(drop)
34
+
35
+ def forward(self, x):
36
+ x = self.fc1(x)
37
+ x = self.act(x)
38
+ x = self.drop(x)
39
+ x = self.fc2(x)
40
+ x = self.drop(x)
41
+ return x
42
+
43
+
44
+ class Attention(nn.Module):
45
+ def __init__(self, dim, num_heads=8, qkv_bias=False, qk_scale=None, attn_drop=0., proj_drop=0.):
46
+ super().__init__()
47
+ self.num_heads = num_heads
48
+ head_dim = dim // num_heads
49
+ # NOTE scale factor was wrong in my original version, can set manually to be compat with prev weights
50
+ self.scale = qk_scale or head_dim ** -0.5
51
+ self.qkv = nn.Linear(dim, dim * 3, bias=qkv_bias)
52
+ self.attn_drop = nn.Dropout(attn_drop)
53
+ self.proj = nn.Linear(dim, dim)
54
+ self.proj_drop = nn.Dropout(proj_drop)
55
+ self.attn_gradients = None
56
+ self.attention_map = None
57
+
58
+ def save_attn_gradients(self, attn_gradients):
59
+ self.attn_gradients = attn_gradients
60
+
61
+ def get_attn_gradients(self):
62
+ return self.attn_gradients
63
+
64
+ def save_attention_map(self, attention_map):
65
+ self.attention_map = attention_map
66
+
67
+ def get_attention_map(self):
68
+ return self.attention_map
69
+
70
+ def forward(self, x, register_hook=False):
71
+ B, N, C = x.shape
72
+ qkv = self.qkv(x).reshape(B, N, 3, self.num_heads, C // self.num_heads).permute(2, 0, 3, 1, 4)
73
+ q, k, v = qkv[0], qkv[1], qkv[2] # make torchscript happy (cannot use tensor as tuple)
74
+
75
+ attn = (q @ k.transpose(-2, -1)) * self.scale
76
+ attn = attn.softmax(dim=-1)
77
+ attn = self.attn_drop(attn)
78
+
79
+ if register_hook:
80
+ self.save_attention_map(attn)
81
+ attn.register_hook(self.save_attn_gradients)
82
+
83
+ x = (attn @ v).transpose(1, 2).reshape(B, N, C)
84
+ x = self.proj(x)
85
+ x = self.proj_drop(x)
86
+ return x
87
+
88
+
89
+ class Block(nn.Module):
90
+
91
+ def __init__(self, dim, num_heads, mlp_ratio=4., qkv_bias=False, qk_scale=None, drop=0., attn_drop=0.,
92
+ drop_path=0., act_layer=nn.GELU, norm_layer=nn.LayerNorm, use_grad_checkpointing=False):
93
+ super().__init__()
94
+ self.norm1 = norm_layer(dim)
95
+ self.attn = Attention(
96
+ dim, num_heads=num_heads, qkv_bias=qkv_bias, qk_scale=qk_scale, attn_drop=attn_drop, proj_drop=drop)
97
+ # NOTE: drop path for stochastic depth, we shall see if this is better than dropout here
98
+ self.drop_path = DropPath(drop_path) if drop_path > 0. else nn.Identity()
99
+ self.norm2 = norm_layer(dim)
100
+ mlp_hidden_dim = int(dim * mlp_ratio)
101
+ self.mlp = Mlp(in_features=dim, hidden_features=mlp_hidden_dim, act_layer=act_layer, drop=drop)
102
+
103
+ if use_grad_checkpointing:
104
+ self.attn = checkpoint_wrapper(self.attn)
105
+ self.mlp = checkpoint_wrapper(self.mlp)
106
+
107
+ def forward(self, x, register_hook=False):
108
+ x = x + self.drop_path(self.attn(self.norm1(x), register_hook=register_hook))
109
+ x = x + self.drop_path(self.mlp(self.norm2(x)))
110
+ return x
111
+
112
+
113
+ class VisionTransformer(nn.Module):
114
+ """ Vision Transformer
115
+ A PyTorch impl of : `An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale` -
116
+ https://arxiv.org/abs/2010.11929
117
+ """
118
+ def __init__(self, img_size=224, patch_size=16, in_chans=3, num_classes=1000, embed_dim=768, depth=12,
119
+ num_heads=12, mlp_ratio=4., qkv_bias=True, qk_scale=None, representation_size=None,
120
+ drop_rate=0., attn_drop_rate=0., drop_path_rate=0., norm_layer=None,
121
+ use_grad_checkpointing=False, ckpt_layer=0):
122
+ """
123
+ Args:
124
+ img_size (int, tuple): input image size
125
+ patch_size (int, tuple): patch size
126
+ in_chans (int): number of input channels
127
+ num_classes (int): number of classes for classification head
128
+ embed_dim (int): embedding dimension
129
+ depth (int): depth of transformer
130
+ num_heads (int): number of attention heads
131
+ mlp_ratio (int): ratio of mlp hidden dim to embedding dim
132
+ qkv_bias (bool): enable bias for qkv if True
133
+ qk_scale (float): override default qk scale of head_dim ** -0.5 if set
134
+ representation_size (Optional[int]): enable and set representation layer (pre-logits) to this value if set
135
+ drop_rate (float): dropout rate
136
+ attn_drop_rate (float): attention dropout rate
137
+ drop_path_rate (float): stochastic depth rate
138
+ norm_layer: (nn.Module): normalization layer
139
+ """
140
+ super().__init__()
141
+ self.num_features = self.embed_dim = embed_dim # num_features for consistency with other models
142
+ norm_layer = norm_layer or partial(nn.LayerNorm, eps=1e-6)
143
+
144
+ self.patch_embed = PatchEmbed(
145
+ img_size=img_size, patch_size=patch_size, in_chans=in_chans, embed_dim=embed_dim)
146
+
147
+ num_patches = self.patch_embed.num_patches
148
+
149
+ self.cls_token = nn.Parameter(torch.zeros(1, 1, embed_dim))
150
+ self.pos_embed = nn.Parameter(torch.zeros(1, num_patches + 1, embed_dim))
151
+ self.pos_drop = nn.Dropout(p=drop_rate)
152
+
153
+ dpr = [x.item() for x in torch.linspace(0, drop_path_rate, depth)] # stochastic depth decay rule
154
+ self.blocks = nn.ModuleList([
155
+ Block(
156
+ dim=embed_dim, num_heads=num_heads, mlp_ratio=mlp_ratio, qkv_bias=qkv_bias, qk_scale=qk_scale,
157
+ drop=drop_rate, attn_drop=attn_drop_rate, drop_path=dpr[i], norm_layer=norm_layer,
158
+ use_grad_checkpointing=(use_grad_checkpointing and i>=depth-ckpt_layer)
159
+ )
160
+ for i in range(depth)])
161
+ self.norm = norm_layer(embed_dim)
162
+
163
+ trunc_normal_(self.pos_embed, std=.02)
164
+ trunc_normal_(self.cls_token, std=.02)
165
+ self.apply(self._init_weights)
166
+
167
+ def _init_weights(self, m):
168
+ if isinstance(m, nn.Linear):
169
+ trunc_normal_(m.weight, std=.02)
170
+ if isinstance(m, nn.Linear) and m.bias is not None:
171
+ nn.init.constant_(m.bias, 0)
172
+ elif isinstance(m, nn.LayerNorm):
173
+ nn.init.constant_(m.bias, 0)
174
+ nn.init.constant_(m.weight, 1.0)
175
+
176
+ @torch.jit.ignore
177
+ def no_weight_decay(self):
178
+ return {'pos_embed', 'cls_token'}
179
+
180
+ def forward(self, x, register_blk=-1):
181
+ B = x.shape[0]
182
+ x = self.patch_embed(x)
183
+
184
+ cls_tokens = self.cls_token.expand(B, -1, -1) # stole cls_tokens impl from Phil Wang, thanks
185
+ x = torch.cat((cls_tokens, x), dim=1)
186
+
187
+ x = x + self.pos_embed[:,:x.size(1),:]
188
+ x = self.pos_drop(x)
189
+
190
+ for i,blk in enumerate(self.blocks):
191
+ x = blk(x, register_blk==i)
192
+ x = self.norm(x)
193
+
194
+ return x
195
+
196
+ @torch.jit.ignore()
197
+ def load_pretrained(self, checkpoint_path, prefix=''):
198
+ _load_weights(self, checkpoint_path, prefix)
199
+
200
+
201
+ @torch.no_grad()
202
+ def _load_weights(model: VisionTransformer, checkpoint_path: str, prefix: str = ''):
203
+ """ Load weights from .npz checkpoints for official Google Brain Flax implementation
204
+ """
205
+ import numpy as np
206
+
207
+ def _n2p(w, t=True):
208
+ if w.ndim == 4 and w.shape[0] == w.shape[1] == w.shape[2] == 1:
209
+ w = w.flatten()
210
+ if t:
211
+ if w.ndim == 4:
212
+ w = w.transpose([3, 2, 0, 1])
213
+ elif w.ndim == 3:
214
+ w = w.transpose([2, 0, 1])
215
+ elif w.ndim == 2:
216
+ w = w.transpose([1, 0])
217
+ return torch.from_numpy(w)
218
+
219
+ w = np.load(checkpoint_path)
220
+ if not prefix and 'opt/target/embedding/kernel' in w:
221
+ prefix = 'opt/target/'
222
+
223
+ if hasattr(model.patch_embed, 'backbone'):
224
+ # hybrid
225
+ backbone = model.patch_embed.backbone
226
+ stem_only = not hasattr(backbone, 'stem')
227
+ stem = backbone if stem_only else backbone.stem
228
+ stem.conv.weight.copy_(adapt_input_conv(stem.conv.weight.shape[1], _n2p(w[f'{prefix}conv_root/kernel'])))
229
+ stem.norm.weight.copy_(_n2p(w[f'{prefix}gn_root/scale']))
230
+ stem.norm.bias.copy_(_n2p(w[f'{prefix}gn_root/bias']))
231
+ if not stem_only:
232
+ for i, stage in enumerate(backbone.stages):
233
+ for j, block in enumerate(stage.blocks):
234
+ bp = f'{prefix}block{i + 1}/unit{j + 1}/'
235
+ for r in range(3):
236
+ getattr(block, f'conv{r + 1}').weight.copy_(_n2p(w[f'{bp}conv{r + 1}/kernel']))
237
+ getattr(block, f'norm{r + 1}').weight.copy_(_n2p(w[f'{bp}gn{r + 1}/scale']))
238
+ getattr(block, f'norm{r + 1}').bias.copy_(_n2p(w[f'{bp}gn{r + 1}/bias']))
239
+ if block.downsample is not None:
240
+ block.downsample.conv.weight.copy_(_n2p(w[f'{bp}conv_proj/kernel']))
241
+ block.downsample.norm.weight.copy_(_n2p(w[f'{bp}gn_proj/scale']))
242
+ block.downsample.norm.bias.copy_(_n2p(w[f'{bp}gn_proj/bias']))
243
+ embed_conv_w = _n2p(w[f'{prefix}embedding/kernel'])
244
+ else:
245
+ embed_conv_w = adapt_input_conv(
246
+ model.patch_embed.proj.weight.shape[1], _n2p(w[f'{prefix}embedding/kernel']))
247
+ model.patch_embed.proj.weight.copy_(embed_conv_w)
248
+ model.patch_embed.proj.bias.copy_(_n2p(w[f'{prefix}embedding/bias']))
249
+ model.cls_token.copy_(_n2p(w[f'{prefix}cls'], t=False))
250
+ pos_embed_w = _n2p(w[f'{prefix}Transformer/posembed_input/pos_embedding'], t=False)
251
+ if pos_embed_w.shape != model.pos_embed.shape:
252
+ pos_embed_w = resize_pos_embed( # resize pos embedding when different size from pretrained weights
253
+ pos_embed_w, model.pos_embed, getattr(model, 'num_tokens', 1), model.patch_embed.grid_size)
254
+ model.pos_embed.copy_(pos_embed_w)
255
+ model.norm.weight.copy_(_n2p(w[f'{prefix}Transformer/encoder_norm/scale']))
256
+ model.norm.bias.copy_(_n2p(w[f'{prefix}Transformer/encoder_norm/bias']))
257
+ # if isinstance(model.head, nn.Linear) and model.head.bias.shape[0] == w[f'{prefix}head/bias'].shape[-1]:
258
+ # model.head.weight.copy_(_n2p(w[f'{prefix}head/kernel']))
259
+ # model.head.bias.copy_(_n2p(w[f'{prefix}head/bias']))
260
+ # if isinstance(getattr(model.pre_logits, 'fc', None), nn.Linear) and f'{prefix}pre_logits/bias' in w:
261
+ # model.pre_logits.fc.weight.copy_(_n2p(w[f'{prefix}pre_logits/kernel']))
262
+ # model.pre_logits.fc.bias.copy_(_n2p(w[f'{prefix}pre_logits/bias']))
263
+ for i, block in enumerate(model.blocks.children()):
264
+ block_prefix = f'{prefix}Transformer/encoderblock_{i}/'
265
+ mha_prefix = block_prefix + 'MultiHeadDotProductAttention_1/'
266
+ block.norm1.weight.copy_(_n2p(w[f'{block_prefix}LayerNorm_0/scale']))
267
+ block.norm1.bias.copy_(_n2p(w[f'{block_prefix}LayerNorm_0/bias']))
268
+ block.attn.qkv.weight.copy_(torch.cat([
269
+ _n2p(w[f'{mha_prefix}{n}/kernel'], t=False).flatten(1).T for n in ('query', 'key', 'value')]))
270
+ block.attn.qkv.bias.copy_(torch.cat([
271
+ _n2p(w[f'{mha_prefix}{n}/bias'], t=False).reshape(-1) for n in ('query', 'key', 'value')]))
272
+ block.attn.proj.weight.copy_(_n2p(w[f'{mha_prefix}out/kernel']).flatten(1))
273
+ block.attn.proj.bias.copy_(_n2p(w[f'{mha_prefix}out/bias']))
274
+ for r in range(2):
275
+ getattr(block.mlp, f'fc{r + 1}').weight.copy_(_n2p(w[f'{block_prefix}MlpBlock_3/Dense_{r}/kernel']))
276
+ getattr(block.mlp, f'fc{r + 1}').bias.copy_(_n2p(w[f'{block_prefix}MlpBlock_3/Dense_{r}/bias']))
277
+ block.norm2.weight.copy_(_n2p(w[f'{block_prefix}LayerNorm_2/scale']))
278
+ block.norm2.bias.copy_(_n2p(w[f'{block_prefix}LayerNorm_2/bias']))
279
+
280
+
281
+ def interpolate_pos_embed(pos_embed_checkpoint, visual_encoder):
282
+ # interpolate position embedding
283
+ embedding_size = pos_embed_checkpoint.shape[-1]
284
+ num_patches = visual_encoder.patch_embed.num_patches
285
+ num_extra_tokens = visual_encoder.pos_embed.shape[-2] - num_patches
286
+ # height (== width) for the checkpoint position embedding
287
+ orig_size = int((pos_embed_checkpoint.shape[-2] - num_extra_tokens) ** 0.5)
288
+ # height (== width) for the new position embedding
289
+ new_size = int(num_patches ** 0.5)
290
+
291
+ if orig_size!=new_size:
292
+ # class_token and dist_token are kept unchanged
293
+ extra_tokens = pos_embed_checkpoint[:, :num_extra_tokens]
294
+ # only the position tokens are interpolated
295
+ pos_tokens = pos_embed_checkpoint[:, num_extra_tokens:]
296
+ pos_tokens = pos_tokens.reshape(-1, orig_size, orig_size, embedding_size).permute(0, 3, 1, 2)
297
+ pos_tokens = torch.nn.functional.interpolate(
298
+ pos_tokens, size=(new_size, new_size), mode='bicubic', align_corners=False)
299
+ pos_tokens = pos_tokens.permute(0, 2, 3, 1).flatten(1, 2)
300
+ new_pos_embed = torch.cat((extra_tokens, pos_tokens), dim=1)
301
+ print('reshape position embedding from %d to %d'%(orig_size ** 2,new_size ** 2))
302
+
303
+ return new_pos_embed
304
+ else:
305
+ return pos_embed_checkpoint
ram/transform.py ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ from torchvision.transforms import Normalize, Compose, Resize, ToTensor
2
+
3
+
4
+ def get_transform(image_size=384):
5
+ return Compose([
6
+ lambda image: image.convert("RGB"),
7
+ Resize((image_size, image_size)),
8
+ ToTensor(),
9
+ Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
10
+ ])
ram/utils/__init__.py ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ from .metrics import get_mAP, get_PR
2
+ from .openset_utils import build_openset_label_embedding
ram/utils/metrics.py ADDED
@@ -0,0 +1,102 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import List, Tuple
2
+
3
+ import numpy as np
4
+ from numpy import ndarray
5
+
6
+
7
+ def get_mAP(
8
+ preds: ndarray,
9
+ gt_file: str,
10
+ taglist: List[str]
11
+ ) -> Tuple[float, ndarray]:
12
+ assert preds.shape[1] == len(taglist)
13
+
14
+ # When mapping categories from test datasets to our system, there might be
15
+ # multiple vs one situation due to different semantic definitions of tags.
16
+ # So there can be duplicate tags in `taglist`. This special case is taken
17
+ # into account.
18
+ tag2idxs = {}
19
+ for idx, tag in enumerate(taglist):
20
+ if tag not in tag2idxs:
21
+ tag2idxs[tag] = []
22
+ tag2idxs[tag].append(idx)
23
+
24
+ # build targets
25
+ targets = np.zeros_like(preds)
26
+ with open(gt_file, "r") as f:
27
+ lines = [line.strip("\n").split(",") for line in f.readlines()]
28
+ assert len(lines) == targets.shape[0]
29
+ for i, line in enumerate(lines):
30
+ for tag in line[1:]:
31
+ targets[i, tag2idxs[tag]] = 1.0
32
+
33
+ # compute average precision for each class
34
+ APs = np.zeros(preds.shape[1])
35
+ for k in range(preds.shape[1]):
36
+ APs[k] = _average_precision(preds[:, k], targets[:, k])
37
+
38
+ return APs.mean(), APs
39
+
40
+
41
+ def _average_precision(output: ndarray, target: ndarray) -> float:
42
+ epsilon = 1e-8
43
+
44
+ # sort examples
45
+ indices = output.argsort()[::-1]
46
+ # Computes prec@i
47
+ total_count_ = np.cumsum(np.ones((len(output), 1)))
48
+
49
+ target_ = target[indices]
50
+ ind = target_ == 1
51
+ pos_count_ = np.cumsum(ind)
52
+ total = pos_count_[-1]
53
+ pos_count_[np.logical_not(ind)] = 0
54
+ pp = pos_count_ / total_count_
55
+ precision_at_i_ = np.sum(pp)
56
+ precision_at_i = precision_at_i_ / (total + epsilon)
57
+
58
+ return precision_at_i
59
+
60
+
61
+ def get_PR(
62
+ pred_file: str,
63
+ gt_file: str,
64
+ taglist: List[str]
65
+ ) -> Tuple[float, float, ndarray, ndarray]:
66
+ # When mapping categories from test datasets to our system, there might be
67
+ # multiple vs one situation due to different semantic definitions of tags.
68
+ # So there can be duplicate tags in `taglist`. This special case is taken
69
+ # into account.
70
+ tag2idxs = {}
71
+ for idx, tag in enumerate(taglist):
72
+ if tag not in tag2idxs:
73
+ tag2idxs[tag] = []
74
+ tag2idxs[tag].append(idx)
75
+
76
+ # build preds
77
+ with open(pred_file, "r", encoding="utf-8") as f:
78
+ lines = [line.strip().split(",") for line in f.readlines()]
79
+ preds = np.zeros((len(lines), len(tag2idxs)), dtype=bool)
80
+ for i, line in enumerate(lines):
81
+ for tag in line[1:]:
82
+ preds[i, tag2idxs[tag]] = True
83
+
84
+ # build targets
85
+ with open(gt_file, "r", encoding="utf-8") as f:
86
+ lines = [line.strip().split(",") for line in f.readlines()]
87
+ targets = np.zeros((len(lines), len(tag2idxs)), dtype=bool)
88
+ for i, line in enumerate(lines):
89
+ for tag in line[1:]:
90
+ targets[i, tag2idxs[tag]] = True
91
+
92
+ assert preds.shape == targets.shape
93
+
94
+ # calculate P and R
95
+ TPs = ( preds & targets).sum(axis=0) # noqa: E201, E222
96
+ FPs = ( preds & ~targets).sum(axis=0) # noqa: E201, E222
97
+ FNs = (~preds & targets).sum(axis=0) # noqa: E201, E222
98
+ eps = 1.e-9
99
+ Ps = TPs / (TPs + FPs + eps)
100
+ Rs = TPs / (TPs + FNs + eps)
101
+
102
+ return Ps.mean(), Rs.mean(), Ps, Rs
ram/utils/openset_utils.py ADDED
@@ -0,0 +1,332 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+
3
+
4
+ import torch
5
+ import torch.nn as nn
6
+ from clip import clip
7
+
8
+
9
+ def article(name):
10
+ return "an" if name[0] in "aeiou" else "a"
11
+
12
+
13
+ def processed_name(name, rm_dot=False):
14
+ # _ for lvis
15
+ # / for obj365
16
+ res = name.replace("_", " ").replace("/", " or ").lower()
17
+ if rm_dot:
18
+ res = res.rstrip(".")
19
+ return res
20
+
21
+
22
+ single_template = ["a photo of a {}."]
23
+
24
+ multiple_templates = [
25
+ "There is {article} {} in the scene.",
26
+ "There is the {} in the scene.",
27
+ "a photo of {article} {} in the scene.",
28
+ "a photo of the {} in the scene.",
29
+ "a photo of one {} in the scene.",
30
+ "itap of {article} {}.",
31
+ "itap of my {}.", # itap: I took a picture of
32
+ "itap of the {}.",
33
+ "a photo of {article} {}.",
34
+ "a photo of my {}.",
35
+ "a photo of the {}.",
36
+ "a photo of one {}.",
37
+ "a photo of many {}.",
38
+ "a good photo of {article} {}.",
39
+ "a good photo of the {}.",
40
+ "a bad photo of {article} {}.",
41
+ "a bad photo of the {}.",
42
+ "a photo of a nice {}.",
43
+ "a photo of the nice {}.",
44
+ "a photo of a cool {}.",
45
+ "a photo of the cool {}.",
46
+ "a photo of a weird {}.",
47
+ "a photo of the weird {}.",
48
+ "a photo of a small {}.",
49
+ "a photo of the small {}.",
50
+ "a photo of a large {}.",
51
+ "a photo of the large {}.",
52
+ "a photo of a clean {}.",
53
+ "a photo of the clean {}.",
54
+ "a photo of a dirty {}.",
55
+ "a photo of the dirty {}.",
56
+ "a bright photo of {article} {}.",
57
+ "a bright photo of the {}.",
58
+ "a dark photo of {article} {}.",
59
+ "a dark photo of the {}.",
60
+ "a photo of a hard to see {}.",
61
+ "a photo of the hard to see {}.",
62
+ "a low resolution photo of {article} {}.",
63
+ "a low resolution photo of the {}.",
64
+ "a cropped photo of {article} {}.",
65
+ "a cropped photo of the {}.",
66
+ "a close-up photo of {article} {}.",
67
+ "a close-up photo of the {}.",
68
+ "a jpeg corrupted photo of {article} {}.",
69
+ "a jpeg corrupted photo of the {}.",
70
+ "a blurry photo of {article} {}.",
71
+ "a blurry photo of the {}.",
72
+ "a pixelated photo of {article} {}.",
73
+ "a pixelated photo of the {}.",
74
+ "a black and white photo of the {}.",
75
+ "a black and white photo of {article} {}.",
76
+ "a plastic {}.",
77
+ "the plastic {}.",
78
+ "a toy {}.",
79
+ "the toy {}.",
80
+ "a plushie {}.",
81
+ "the plushie {}.",
82
+ "a cartoon {}.",
83
+ "the cartoon {}.",
84
+ "an embroidered {}.",
85
+ "the embroidered {}.",
86
+ "a painting of the {}.",
87
+ "a painting of a {}.",
88
+ ]
89
+
90
+
91
+ openimages_rare_unseen = ['Aerial photography',
92
+ 'Aircraft engine',
93
+ 'Ale',
94
+ 'Aloe',
95
+ 'Amphibian',
96
+ 'Angling',
97
+ 'Anole',
98
+ 'Antique car',
99
+ 'Arcade game',
100
+ 'Arthropod',
101
+ 'Assault rifle',
102
+ 'Athletic shoe',
103
+ 'Auto racing',
104
+ 'Backlighting',
105
+ 'Bagpipes',
106
+ 'Ball game',
107
+ 'Barbecue chicken',
108
+ 'Barechested',
109
+ 'Barquentine',
110
+ 'Beef tenderloin',
111
+ 'Billiard room',
112
+ 'Billiards',
113
+ 'Bird of prey',
114
+ 'Black swan',
115
+ 'Black-and-white',
116
+ 'Blond',
117
+ 'Boating',
118
+ 'Bonbon',
119
+ 'Bottled water',
120
+ 'Bouldering',
121
+ 'Bovine',
122
+ 'Bratwurst',
123
+ 'Breadboard',
124
+ 'Briefs',
125
+ 'Brisket',
126
+ 'Brochette',
127
+ 'Calabaza',
128
+ 'Camera operator',
129
+ 'Canola',
130
+ 'Childbirth',
131
+ 'Chordophone',
132
+ 'Church bell',
133
+ 'Classical sculpture',
134
+ 'Close-up',
135
+ 'Cobblestone',
136
+ 'Coca-cola',
137
+ 'Combat sport',
138
+ 'Comics',
139
+ 'Compact car',
140
+ 'Computer speaker',
141
+ 'Cookies and crackers',
142
+ 'Coral reef fish',
143
+ 'Corn on the cob',
144
+ 'Cosmetics',
145
+ 'Crocodilia',
146
+ 'Digital camera',
147
+ 'Dishware',
148
+ 'Divemaster',
149
+ 'Dobermann',
150
+ 'Dog walking',
151
+ 'Domestic rabbit',
152
+ 'Domestic short-haired cat',
153
+ 'Double-decker bus',
154
+ 'Drums',
155
+ 'Electric guitar',
156
+ 'Electric piano',
157
+ 'Electronic instrument',
158
+ 'Equestrianism',
159
+ 'Equitation',
160
+ 'Erinaceidae',
161
+ 'Extreme sport',
162
+ 'Falafel',
163
+ 'Figure skating',
164
+ 'Filling station',
165
+ 'Fire apparatus',
166
+ 'Firearm',
167
+ 'Flatbread',
168
+ 'Floristry',
169
+ 'Forklift truck',
170
+ 'Freight transport',
171
+ 'Fried food',
172
+ 'Fried noodles',
173
+ 'Frigate',
174
+ 'Frozen yogurt',
175
+ 'Frying',
176
+ 'Full moon',
177
+ 'Galleon',
178
+ 'Glacial landform',
179
+ 'Gliding',
180
+ 'Go-kart',
181
+ 'Goats',
182
+ 'Grappling',
183
+ 'Great white shark',
184
+ 'Gumbo',
185
+ 'Gun turret',
186
+ 'Hair coloring',
187
+ 'Halter',
188
+ 'Headphones',
189
+ 'Heavy cruiser',
190
+ 'Herding',
191
+ 'High-speed rail',
192
+ 'Holding hands',
193
+ 'Horse and buggy',
194
+ 'Horse racing',
195
+ 'Hound',
196
+ 'Hunting knife',
197
+ 'Hurdling',
198
+ 'Inflatable',
199
+ 'Jackfruit',
200
+ 'Jeans',
201
+ 'Jiaozi',
202
+ 'Junk food',
203
+ 'Khinkali',
204
+ 'Kitesurfing',
205
+ 'Lawn game',
206
+ 'Leaf vegetable',
207
+ 'Lechon',
208
+ 'Lifebuoy',
209
+ 'Locust',
210
+ 'Lumpia',
211
+ 'Luxury vehicle',
212
+ 'Machine tool',
213
+ 'Medical imaging',
214
+ 'Melee weapon',
215
+ 'Microcontroller',
216
+ 'Middle ages',
217
+ 'Military person',
218
+ 'Military vehicle',
219
+ 'Milky way',
220
+ 'Miniature Poodle',
221
+ 'Modern dance',
222
+ 'Molluscs',
223
+ 'Monoplane',
224
+ 'Motorcycling',
225
+ 'Musical theatre',
226
+ 'Narcissus',
227
+ 'Nest box',
228
+ 'Newsagent\'s shop',
229
+ 'Nile crocodile',
230
+ 'Nordic skiing',
231
+ 'Nuclear power plant',
232
+ 'Orator',
233
+ 'Outdoor shoe',
234
+ 'Parachuting',
235
+ 'Pasta salad',
236
+ 'Peafowl',
237
+ 'Pelmeni',
238
+ 'Perching bird',
239
+ 'Performance car',
240
+ 'Personal water craft',
241
+ 'Pit bull',
242
+ 'Plant stem',
243
+ 'Pork chop',
244
+ 'Portrait photography',
245
+ 'Primate',
246
+ 'Procyonidae',
247
+ 'Prosciutto',
248
+ 'Public speaking',
249
+ 'Racewalking',
250
+ 'Ramen',
251
+ 'Rear-view mirror',
252
+ 'Residential area',
253
+ 'Ribs',
254
+ 'Rice ball',
255
+ 'Road cycling',
256
+ 'Roller skating',
257
+ 'Roman temple',
258
+ 'Rowing',
259
+ 'Rural area',
260
+ 'Sailboat racing',
261
+ 'Scaled reptile',
262
+ 'Scuba diving',
263
+ 'Senior citizen',
264
+ 'Shallot',
265
+ 'Shinto shrine',
266
+ 'Shooting range',
267
+ 'Siberian husky',
268
+ 'Sledding',
269
+ 'Soba',
270
+ 'Solar energy',
271
+ 'Sport climbing',
272
+ 'Sport utility vehicle',
273
+ 'Steamed rice',
274
+ 'Stemware',
275
+ 'Sumo',
276
+ 'Surfing Equipment',
277
+ 'Team sport',
278
+ 'Touring car',
279
+ 'Toy block',
280
+ 'Trampolining',
281
+ 'Underwater diving',
282
+ 'Vegetarian food',
283
+ 'Wallaby',
284
+ 'Water polo',
285
+ 'Watercolor paint',
286
+ 'Whiskers',
287
+ 'Wind wave',
288
+ 'Woodwind instrument',
289
+ 'Yakitori',
290
+ 'Zeppelin']
291
+
292
+
293
+ def build_openset_label_embedding(categories=None):
294
+ if categories is None:
295
+ categories = openimages_rare_unseen
296
+ model, _ = clip.load("ViT-B/16")
297
+ templates = multiple_templates
298
+
299
+ run_on_gpu = torch.cuda.is_available()
300
+
301
+ with torch.no_grad():
302
+ openset_label_embedding = []
303
+ for category in categories:
304
+ texts = [
305
+ template.format(
306
+ processed_name(category, rm_dot=True), article=article(category)
307
+ )
308
+ for template in templates
309
+ ]
310
+ texts = [
311
+ "This is " + text if text.startswith("a") or text.startswith("the") else text
312
+ for text in texts
313
+ ]
314
+ texts = clip.tokenize(texts) # tokenize
315
+ if run_on_gpu:
316
+ texts = texts.cuda()
317
+ model = model.cuda()
318
+ text_embeddings = model.encode_text(texts)
319
+ text_embeddings /= text_embeddings.norm(dim=-1, keepdim=True)
320
+ text_embedding = text_embeddings.mean(dim=0)
321
+ text_embedding /= text_embedding.norm()
322
+ openset_label_embedding.append(text_embedding)
323
+ openset_label_embedding = torch.stack(openset_label_embedding, dim=1)
324
+ if run_on_gpu:
325
+ openset_label_embedding = openset_label_embedding.cuda()
326
+
327
+ openset_label_embedding = openset_label_embedding.t()
328
+ return openset_label_embedding, categories
329
+
330
+
331
+
332
+
requirements.txt ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ timm==0.4.12
2
+ transformers==4.15.0
3
+ fairscale==0.4.4
4
+ pycocoevalcap
5
+ torch
6
+ torchvision
7
+ Pillow
8
+ scipy
9
+ git+https://github.com/openai/CLIP.git
10
+ git+https://github.com/xinyu1205/recognize-anything.git
tag2text.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b5276c154e450ed5276c104d049bb1e1d52a137eeadfd2a281ea460d8c9d8d3a
3
+ size 4478785381