diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..93d8fde --- /dev/null +++ b/.gitignore @@ -0,0 +1,130 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# VS Code +.vscode/ + + +images/ \ No newline at end of file diff --git a/README.md b/README.md index 6894c59..5a02c3f 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,22 @@ # Alfie +## Setup + ```bash conda create --name alfie python==3.11.7 conda activate alfie conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia -y pip install -r requirements.txt -pip install git+https://github.com/openai/CLIP.git -pip install git+https://github.com/SunzeY/AlphaCLIP.git ``` +## Example usage: + +```python +python generate_prompt.py --setting centering-rgba-alfie --fg_prompt 'A photo of a cat with a hat' + +``` + + -Code inspired by [DAAM](https://github.com/castorini/daam) and [DAAMI2I](https://github.com/RishiDarkDevil/daam-i2i) +Code inspired by [DAAM](https://github.com/castorini/daam) and [DAAMI2I](https://github.com/RishiDarkDevil/daam-i2i) \ No newline at end of file diff --git a/generate_prompt.py b/generate_prompt.py new file mode 100644 index 0000000..1e5de4b --- /dev/null +++ b/generate_prompt.py @@ -0,0 +1,131 @@ +from pathlib import Path +from settings import parse_setting +import json + +from sam_aclip_pixart_sigma.generate import get_pipe, base_arg_parser, parse_bool_args + +from transformers import VitMatteImageProcessor, VitMatteForImageMatting + +import logging +from accelerate import PartialState +from accelerate.logging import get_logger +from accelerate.utils import set_seed + +from sam_aclip_pixart_sigma.grabcut import grabcut, save_rgba + +import torch +from sam_aclip_pixart_sigma.trimap import compute_trimap +from sam_aclip_pixart_sigma.utils import normalize_masks + +torch.backends.cuda.matmul.allow_tf32 = True + +logging.basicConfig( + format="%(asctime)s - %(levelname)s - %(name)s - %(message)s", + datefmt="%m/%d/%Y %H:%M:%S", + level=logging.INFO, +) +logger = get_logger(__name__) + + +def main(): + parser = base_arg_parser() + parser.add_argument("--setting_name", type=str, default='centering-rgba-alfie') + parser.add_argument("--fg_prompt", type=str, required=True) + args = parser.parse_args() + settings_dict = parse_setting(args.setting_name) + vars(args).update(settings_dict) + args = parse_bool_args(args) + + distributed_state = PartialState() + args.device = distributed_state.device + + args.save_folder = args.save_folder / 'prompts' + args.save_folder.mkdir(parents=True, exist_ok=True) + + pipe = get_pipe( + image_size=args.image_size, + scheduler=args.scheduler, + device=args.device) + + suffix = ' on a white background' + prompt_complete = ["A white background", args.fg_prompt] + prompt_full = ' '.join(prompt_complete[1].split()) + negative_prompt = ["Blurry, shadow, low-resolution, low-quality"] if args.use_neg_prompt else None + prompt = prompt_complete if args.centering else prompt_complete[1] + if args.use_suffix: + prompt += suffix + + if args.cutout_model == 'vit-matte': + vit_matte_processor = VitMatteImageProcessor.from_pretrained(args.vit_matte_key) + vit_matte_model = VitMatteForImageMatting.from_pretrained(args.vit_matte_key) + vit_matte_model = vit_matte_model.eval() + + base_name = '_'.join([ + prompt_full, + 'centering' if args.centering else '', + 'sz_256' if args.image_size == 256 else 'sz_512' + ]) + + config = vars(args).copy() + del config['device'] + del config['save_folder'] + del config['seed'] + del config['num_images'] + with open(args.save_folder / f'{base_name}.json', 'w') as f: + json.dump(config, f, indent=4) + + for seed in range(args.seed, args.seed + args.num_images): + set_seed(seed) + generator = torch.Generator(device="cuda").manual_seed(seed) + name = f'{base_name}_seed_{seed}' + + images, heatmaps = pipe( + prompt=prompt, negative_prompt=negative_prompt, nouns_to_exclude=args.nouns_to_exclude, + keep_cross_attention_maps=True, return_dict=False, num_inference_steps=args.steps, + centering=args.centering, generator=generator) + + image = images[0] + rgb_image_filename = Path(args.save_folder / f"{name}.png") + if not rgb_image_filename.exists(): + rgb_image_filename.parent.mkdir(parents=True, exist_ok=True) + image.save(rgb_image_filename) + + torch.cuda.empty_cache() + + if args.cutout_model == 'grabcut': + alpha_mask = grabcut( + image=image, attention_maps=list(heatmaps['cross_heatmaps_fg_nouns'].values()), image_size=args.image_size, + sure_fg_threshold=args.sure_fg_threshold, maybe_fg_threshold=args.maybe_fg_threshold, + maybe_bg_threshold=args.maybe_bg_threshold) + + alfie_rgba_image_filename = Path(args.save_folder / f"{name}-rgba-alfie.png") + alfie_rgba_image_filename.parent.mkdir(parents=True, exist_ok=True) + alpha_mask_alfie = torch.tensor(alpha_mask) + alpha_mask_alfie = torch.where(alpha_mask_alfie == 1, normalize_masks(heatmaps['ff_heatmap'] + 1 * heatmaps['cross_heatmap_fg']), 0.) + save_rgba(image, alpha_mask_alfie, alfie_rgba_image_filename) + + elif args.cutout_model == 'vit-matte': + trimap = compute_trimap(attention_maps=[list(heatmaps['cross_heatmaps_fg_nouns'].values())], + image_size=args.image_size, + sure_fg_threshold=args.sure_fg_threshold, + maybe_bg_threshold=args.maybe_bg_threshold) + + vit_matte_inputs = vit_matte_processor(images=image, trimaps=trimap, return_tensors="pt").to(args.device) + vit_matte_model = vit_matte_model.to(args.device) + with torch.no_grad(): + alpha_mask = vit_matte_model(**vit_matte_inputs).alphas[0, 0] + alpha_mask = 1 - alpha_mask.cpu().numpy() + save_rgba(image, alpha_mask, args.save_folder / f"{name}-rgba-vit_matte.png") + else: + raise ValueError(f'Invalid cutout model: {args.cutout_model}') + + + + del heatmaps + torch.cuda.empty_cache() + + logger.info("***** Done *****") + + +if __name__ == '__main__': + main() diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..8775e09 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,15 @@ +einops~=0.7.0 +nltk~=3.8.1 +accelerate~=0.33.0 +diffusers~=0.29.2 +transformers~=4.43.3 +tqdm~=4.66.2 +pillow~=10.2.0 +SentencePiece~=0.2.0 +ftfy~=6.2.0 +beautifulsoup4~=4.12.3 +opencv-contrib-python~=4.9.0.80 +scikit-image~=0.23.1 +matplotlib~=3.8.4 +loralib~=0.1.2 +spacy~=3.7.5 \ No newline at end of file diff --git a/sam_aclip_pixart_sigma/__init__.py b/sam_aclip_pixart_sigma/__init__.py new file mode 100644 index 0000000..459e44d --- /dev/null +++ b/sam_aclip_pixart_sigma/__init__.py @@ -0,0 +1 @@ +from .transformer_2d import Transformer2DModel \ No newline at end of file diff --git a/sam_aclip_pixart_sigma/attn_processor.py b/sam_aclip_pixart_sigma/attn_processor.py new file mode 100644 index 0000000..f4c6011 --- /dev/null +++ b/sam_aclip_pixart_sigma/attn_processor.py @@ -0,0 +1,185 @@ +from typing import Optional, List + +import torch +import torch.nn.functional as F +from einops import rearrange + +from .cross_heatmap import CrossRawHeatMapCollection, CrossGlobalHeatMap +from .self_heatmap import SelfRawHeatMapCollection, SelfGlobalHeatMap +from .utils import auto_autocast + +from diffusers.utils import deprecate, logging +from diffusers.models.attention import Attention + +logger = logging.get_logger(__name__) # pylint: disable=invalid-name + + +class AttnProcessor2_0: + r""" + Processor for implementing scaled dot-product attention (enabled by default if you're using PyTorch 2.0). + """ + + def __init__(self, keep_cross_attn_maps: bool = True, keep_self_attn_maps: bool = True, tokenizer = None): + self.keep_cross_attn_maps = keep_cross_attn_maps + self.ca_maps_fg = CrossRawHeatMapCollection() + self.keep_self_attn_maps = keep_self_attn_maps + self.sa_maps_fg = SelfRawHeatMapCollection() + + self.h = self.w = 32 + self.num_prompt_tokens = None + self.l_iteration_ca = 0 + self.l_iteration_sa = 0 + self.t = 0 + + self.tokenizer = tokenizer + + def __call__( + self, + attn: Attention, + hidden_states: torch.FloatTensor, + encoder_hidden_states: Optional[torch.FloatTensor] = None, + attention_mask: Optional[torch.FloatTensor] = None, + temb: Optional[torch.FloatTensor] = None, + *args, + **kwargs, + ) -> torch.FloatTensor: + if len(args) > 0 or kwargs.get("scale", None) is not None: + deprecation_message = "The `scale` argument is deprecated and will be ignored. Please remove it, as passing it will raise an error in the future. `scale` should directly be passed while calling the underlying pipeline component i.e., via `cross_attention_kwargs`." + deprecate("scale", "1.0.0", deprecation_message) + + residual = hidden_states + if attn.spatial_norm is not None: + hidden_states = attn.spatial_norm(hidden_states, temb) + + input_ndim = hidden_states.ndim + + if input_ndim == 4: + batch_size, channel, height, width = hidden_states.shape + hidden_states = hidden_states.view(batch_size, channel, height * width).transpose(1, 2) + + batch_size, sequence_length, _ = ( + hidden_states.shape if encoder_hidden_states is None else encoder_hidden_states.shape + ) + + if attention_mask is not None: + attention_mask = attn.prepare_attention_mask(attention_mask, sequence_length, batch_size) + # scaled_dot_product_attention expects attention_mask shape to be + # (batch, heads, source_length, target_length) + # attention_mask = attention_mask.view(batch_size, attn.heads, -1, attention_mask.shape[-1]) + + if attn.group_norm is not None: + hidden_states = attn.group_norm(hidden_states.transpose(1, 2)).transpose(1, 2) + + query = attn.to_q(hidden_states) + + if encoder_hidden_states is None: + encoder_hidden_states = hidden_states + elif attn.norm_cross: + encoder_hidden_states = attn.norm_encoder_hidden_states(encoder_hidden_states) + + key = attn.to_k(encoder_hidden_states) + value = attn.to_v(encoder_hidden_states) + + query = attn.head_to_batch_dim(query) + key = attn.head_to_batch_dim(key) + value = attn.head_to_batch_dim(value) + attention_scores = attn.get_attention_scores(query, key, attention_mask=attention_mask) + + if attn.is_cross_attention and self.keep_cross_attn_maps and self.t > 20: + maps = rearrange(attention_scores[:, :, :self.num_prompt_tokens], "(b heads) (h w) l -> b heads l h w", b=batch_size, h=self.h) + maps_fg = maps[-1] # filter out uncoditionals and background prompt + self.ca_maps_fg.update(self.l_iteration_ca, maps_fg) + self.l_iteration_ca += 1 + if not attn.is_cross_attention and self.keep_self_attn_maps and self.t > 20: + maps = rearrange(attention_scores, '(b n) (h1 w1) (h2 w2) -> b n (h1 w1) h2 w2', b=batch_size, h1=self.h, h2=self.h) + maps_fg = maps[-1] # filter out uncoditionals and background prompt + self.sa_maps_fg.update(self.l_iteration_sa, maps_fg) + self.l_iteration_sa += 1 + + hidden_states = attention_scores @ value + hidden_states = attn.batch_to_head_dim(hidden_states).to(query.dtype) + + # linear proj + hidden_states = attn.to_out[0](hidden_states) + # dropout + hidden_states = attn.to_out[1](hidden_states) + + if input_ndim == 4: + hidden_states = hidden_states.transpose(-1, -2).reshape(batch_size, channel, height, width) + + if attn.residual_connection: + hidden_states = hidden_states + residual + + hidden_states = hidden_states / attn.rescale_output_factor + + return hidden_states + + + def compute_global_cross_heat_map(self, prompt: str, layers: List[int] = None, normalize: bool=False) -> CrossGlobalHeatMap: + """ + Compute the global heat map for the given prompt, aggregating across time (inference steps) and space (different + spatial transformer block heat maps). + + Args: + prompt: The prompt to compute the heat map for. If none, uses the last prompt that was used for generation. + layers: Restrict the application to heat maps with this layers indexes in this set. If `None`, use all layers. + normalize: Whether to normalize the heat map to sum to 1. + + Returns: + A heat map object for computing word-level heat maps. + """ + heat_maps = self.ca_maps_fg + layers = set(range(28)) if layers is None else set(layers) + + all_merges = [] + + with auto_autocast(device_type=heat_maps.device_type, dtype=torch.float32): + for (layer), heat_map in heat_maps: + if layer in layers: + # The clamping fixes undershoot. + all_merges.append(F.interpolate(heat_map, size=(self.h, self.w), mode='bicubic').clamp_(min=0)) + + try: + maps = torch.stack(all_merges, dim=0) + except RuntimeError: + raise RuntimeError('No heat maps found.') + + maps = maps.mean(dim=(0, 1)) + if normalize: + maps = maps / (maps[:-1].sum(0, keepdim=True) + 1e-6) # drop out[PAD] for proper probabilities + + return CrossGlobalHeatMap(self.tokenizer, prompt, maps) + + + def compute_global_self_heat_map(self, layers: List[int] = None, normalize: bool =False) -> SelfGlobalHeatMap: + """ + Compute the global heat map for each latent pixel, aggregating across time (inference steps) and space (different + spatial transformer block heat maps). + + Args: + layers: Restrict the application to heat maps with layers indexed in this set. If `None`, use all sizes. + normalize: Whether to normalize the heat map to sum to 1. + + Returns: + A heat map object for computing latent pixel-level heat maps. + """ + heat_maps = self.sa_maps_fg + layers = set(range(28)) if layers is None else set(layers) + + all_merges = [] + + with auto_autocast(device_type=heat_maps.device_type, dtype=torch.float32): + for (layer), heat_map in heat_maps: + if layer in layers: + # The clamping fixes undershoot. + all_merges.append(F.interpolate(heat_map, size=(self.h, self.w), mode='bicubic').clamp_(min=0)) + try: + maps = torch.stack(all_merges, dim=0) + except RuntimeError: + raise RuntimeError('No heat maps found.') + + maps = maps.mean(dim=(0, 1)) + if normalize: + maps = maps / (maps.sum(0, keepdim=True) + 1e-6) # drop out [SOS] and [PAD] for proper probabilities + + return SelfGlobalHeatMap(maps, maps.shape[0]) \ No newline at end of file diff --git a/sam_aclip_pixart_sigma/cross_heatmap.py b/sam_aclip_pixart_sigma/cross_heatmap.py new file mode 100644 index 0000000..161c561 --- /dev/null +++ b/sam_aclip_pixart_sigma/cross_heatmap.py @@ -0,0 +1,170 @@ +from collections import defaultdict +from dataclasses import dataclass +from functools import lru_cache +from pathlib import Path +from typing import List, Any, Dict, Tuple, Set, Iterable + +from matplotlib import pyplot as plt +import numpy as np +import PIL.Image +import spacy.tokens +import torch +import torch.nn.functional as F + +from .utils import compute_token_merge_indices, cached_nlp, auto_autocast + +__all__ = ['CrossGlobalHeatMap', 'CrossRawHeatMapCollection', 'CrossWordHeatMap', 'CrossParsedHeatMap', 'CrossSyntacticHeatMapPair'] + + +def plot_overlay_heat_map(im, heat_map, word=None, out_file=None, crop=None, color_normalize=True, ax=None): + # type: (PIL.Image.Image | np.ndarray, torch.Tensor, str, Path, int, bool, plt.Axes) -> None + if ax is None: + plt.clf() + plt.rcParams.update({'font.size': 24}) + plt_ = plt + else: + plt_ = ax + + with auto_autocast(dtype=torch.float32): + im = np.array(im) + + if crop is not None: + heat_map = heat_map.squeeze()[crop:-crop, crop:-crop] + im = im[crop:-crop, crop:-crop] + + if color_normalize: + plt_.imshow(heat_map.squeeze().cpu().numpy(), cmap='jet') + else: + heat_map = heat_map.clamp_(min=0, max=1) + plt_.imshow(heat_map.squeeze().cpu().numpy(), cmap='jet', vmin=0.0, vmax=1.0) + + im = torch.from_numpy(im).float() / 255 + im = torch.cat((im, (1 - heat_map.unsqueeze(-1))), dim=-1) + plt_.imshow(im) + + if word is not None: + if ax is None: + plt.title(word) + else: + ax.set_title(word) + + if out_file is not None: + plt.savefig(out_file) + + +class CrossWordHeatMap: + def __init__(self, heatmap: torch.Tensor, word: str = None): + self.word = word + self.heatmap = heatmap + + @property + def value(self): + return self.heatmap + + def plot_overlay(self, image, out_file=None, color_normalize=True, ax=None, **expand_kwargs): + # type: (PIL.Image.Image | np.ndarray, Path, bool, plt.Axes, Dict[str, Any]) -> None + plot_overlay_heat_map( + image, + self.expand_as(image, **expand_kwargs), + word=self.word, + out_file=out_file, + color_normalize=color_normalize, + ax=ax + ) + + def expand_as(self, image, absolute=False, threshold=None, plot=False, **plot_kwargs): + # type: (PIL.Image.Image, bool, float, bool, Dict[str, Any]) -> torch.Tensor + im = self.heatmap.unsqueeze(0).unsqueeze(0) + im = F.interpolate(im.float().detach(), size=(image.size[0], image.size[1]), mode='bicubic') + + if not absolute: + im = (im - im.min()) / (im.max() - im.min() + 1e-8) + + if threshold: + im = (im > threshold).float() + + im = im.cpu().detach().squeeze() + + if plot: + self.plot_overlay(image, **plot_kwargs) + + return im + + +@dataclass +class CrossSyntacticHeatMapPair: + head_heat_map: CrossWordHeatMap + dep_heat_map: CrossWordHeatMap + head_text: str + dep_text: str + relation: str + + +@dataclass +class CrossParsedHeatMap: + word_heat_map: CrossWordHeatMap + token: spacy.tokens.Token + + +class CrossGlobalHeatMap: + def __init__(self, tokenizer: Any, prompt: str, heat_maps: torch.Tensor): + self.tokenizer = tokenizer + self.heat_maps = heat_maps + self.prompt = prompt + self.compute_word_heat_map = lru_cache(maxsize=50)(self.compute_word_heat_map) + + def compute_word_heat_map(self, word: str) -> CrossWordHeatMap: + merge_idxs = compute_token_merge_indices(self.tokenizer, self.prompt, word) + return CrossWordHeatMap(self.heat_maps[merge_idxs].mean(0), word) + + def parsed_heat_maps(self) -> Iterable[CrossParsedHeatMap]: + for token in cached_nlp(self.prompt): + try: + heat_map = self.compute_word_heat_map(token.text) + yield CrossParsedHeatMap(heat_map, token) + except ValueError: + pass + + def dependency_relations(self) -> Iterable[CrossSyntacticHeatMapPair]: + for token in cached_nlp(self.prompt): + if token.dep_ != 'ROOT': + try: + dep_heat_map = self.compute_word_heat_map(token.text) + head_heat_map = self.compute_word_heat_map(token.head.text) + + yield CrossSyntacticHeatMapPair(head_heat_map, dep_heat_map, token.head.text, token.text, token.dep_) + except ValueError: + pass + + +RawHeatMapKey = Tuple[int] # layer + + +class CrossRawHeatMapCollection: + def __init__(self): + self.ids_to_heatmaps: Dict[RawHeatMapKey, torch.Tensor] = defaultdict(lambda: 0.0) + self.ids_to_num_maps: Dict[RawHeatMapKey, int] = defaultdict(lambda: 0) + self.device_type = None + + def update(self, layer_idx: int, heatmap: torch.Tensor): + if self.device_type is None: + self.device_type = heatmap.device.type + with auto_autocast(device_type=self.device_type, dtype=torch.float32): + key = (layer_idx) + self.ids_to_heatmaps[key] = self.ids_to_heatmaps[key] + heatmap + + def factors(self) -> Set[int]: + return set(key[0] for key in self.ids_to_heatmaps.keys()) + + def layers(self) -> Set[int]: + return set(key[1] for key in self.ids_to_heatmaps.keys()) + + def heads(self) -> Set[int]: + return set(key[2] for key in self.ids_to_heatmaps.keys()) + + def __iter__(self): + return iter(self.ids_to_heatmaps.items()) + + def clear(self): + self.ids_to_heatmaps.clear() + self.ids_to_num_maps.clear() \ No newline at end of file diff --git a/sam_aclip_pixart_sigma/generate.py b/sam_aclip_pixart_sigma/generate.py new file mode 100644 index 0000000..2dc693c --- /dev/null +++ b/sam_aclip_pixart_sigma/generate.py @@ -0,0 +1,137 @@ +from pathlib import Path + +from .pipeline_pixart_sigma import PixArtSigmaPipeline +from .transformer_2d import Transformer2DModel +from transformers import T5EncoderModel, T5Tokenizer +from diffusers.models import AutoencoderKL +from diffusers.schedulers import DPMSolverMultistepScheduler, EulerAncestralDiscreteScheduler, EulerDiscreteScheduler +import nltk + +import argparse +import logging +from accelerate.logging import get_logger + +import numpy as np +import torch + +torch.backends.cuda.matmul.allow_tf32 = True + +logging.basicConfig( + format="%(asctime)s - %(levelname)s - %(name)s - %(message)s", + datefmt="%m/%d/%Y %H:%M:%S", + level=logging.INFO, +) +logger = get_logger(__name__) + + +def download_nltk_data(): + try: + nltk.data.find('tokenizers/punkt') + except LookupError: + nltk.download('punkt') + + try: + nltk.data.find('taggers/averaged_perceptron_tagger') + except LookupError: + nltk.download('averaged_perceptron_tagger') + + +def get_pipe(image_size, scheduler, device): + download_nltk_data() + if image_size == 256: + model_key = "PixArt-alpha/PixArt-Sigma-XL-2-256x256" + elif image_size == 512: + model_key = "PixArt-alpha/PixArt-Sigma-XL-2-512-MS" + else: + raise ValueError(f"Invalid image size: {image_size}") + pipeline_key = "PixArt-alpha/PixArt-Sigma-XL-2-1024-MS" + + text_encoder = T5EncoderModel.from_pretrained( + pipeline_key, + subfolder="text_encoder", + use_safetensors=True, + torch_dtype=torch.float16) + + tokenizer = T5Tokenizer.from_pretrained(pipeline_key, subfolder="tokenizer") + + vae = AutoencoderKL.from_pretrained( + pipeline_key, + subfolder="vae", + use_safetensors=True, + torch_dtype=torch.float16) + + model = Transformer2DModel.from_pretrained( + model_key, + subfolder="transformer", + use_safetensors=True, + torch_dtype=torch.float16) + + for param in text_encoder.parameters(): + param.requires_grad = False + for param in vae.parameters(): + param.requires_grad = False + for param in model.parameters(): + param.requires_grad = False + + text_encoder.eval() + vae.eval() + model.eval() + dpm_scheduler = DPMSolverMultistepScheduler.from_pretrained(pipeline_key, subfolder="scheduler") + if scheduler == 'euler': + eul_scheduler = EulerDiscreteScheduler.from_config(dpm_scheduler.config) + elif scheduler == 'euler_ancestral': + eul_scheduler = EulerAncestralDiscreteScheduler.from_config(dpm_scheduler.config) + else: + raise ValueError(f"Invalid scheduler: {scheduler}") + + pipe = PixArtSigmaPipeline.from_pretrained( + pipeline_key, transformer=model, text_encoder=text_encoder, vae=vae, tokenizer=tokenizer, + scheduler=eul_scheduler).to(device) + + return pipe + + +def base_arg_parser(): + parser = argparse.ArgumentParser() + parser.add_argument("--centering", type=str, default='True') + parser.add_argument("--resample", type=str, default='True') + parser.add_argument("--scheduler", type=str, default='euler', choices=['euler', 'euler_ancestral']) + parser.add_argument("--use_neg_prompt", type=str, default='True') + parser.add_argument("--save_folder", type=str, default='images') + parser.add_argument("--exclude_generic_nouns", type=str, default='True') + parser.add_argument("--image_size", type=int, default=512) + parser.add_argument("--steps", type=int, default=30) + parser.add_argument("--cutout_model", type=str, default='grabcut', choices=['grabcut', 'vit-matte', 'sam']) + parser.add_argument("--sure_fg_threshold", type=int, default=0.8) + parser.add_argument("--maybe_fg_threshold", type=int, default=0.3) + parser.add_argument("--maybe_bg_threshold", type=int, default=0.1) + parser.add_argument("--num_images", type=int, default=3) + parser.add_argument("--use_suffix", type=str, default='False', help='Add the suffix on a white background') + parser.add_argument("--seed", type=int, default=2024, help="random seed") + parser.add_argument("--vit_matte_key", type=str, default='hustvl/vitmatte-base-composition-1k') + parser.add_argument("--nouns_to_exclude", nargs='+', default=[ + 'image', 'images', 'picture', 'pictures', 'photo', 'photograph', 'photographs', 'illustration', + 'paintings', 'drawing', 'drawings', 'sketch', 'sketches', 'art', 'arts', 'artwork', 'artworks', + 'poster', 'posters', 'cover', 'covers', 'collage', 'collages', 'design', 'designs', 'graphic', 'graphics', + 'logo', 'logos', 'icon', 'icons', 'symbol', 'symbols', 'emblem', 'emblems', 'badge', 'badges', 'stamp', + 'stamps', 'img', 'video', 'videos', 'clip', 'clips', 'film', 'films', 'movie', 'movies', 'meme', 'grand', + 'sticker', 'stickers', 'banner', 'banners', 'billboard', 'billboards', 'label', 'labels', 'scene', 'art', + 'png', 'jpg', 'jpeg', 'gif', 'www', 'com', 'net', 'org', 'http', 'https', 'html', 'css', 'js', 'php', + 'scene', 'view', 'm3']) + + return parser + + +def parse_bool_args(args): + args.centering = args.centering.lower() == 'true' + args.exclude_generic_nouns = args.exclude_generic_nouns.lower() == 'true' + args.use_neg_prompt = args.use_neg_prompt.lower() == 'true' + args.resample = args.resample.lower() == 'true' + args.use_suffix = args.use_suffix.lower() == 'true' + args.nouns_to_exclude = args.nouns_to_exclude if args.exclude_generic_nouns else None + args.save_folder = Path(args.save_folder) + args.save_folder.mkdir(exist_ok=True) + + if args.use_suffix: + args.use_md = False + return args diff --git a/sam_aclip_pixart_sigma/grabcut.py b/sam_aclip_pixart_sigma/grabcut.py new file mode 100644 index 0000000..b722823 --- /dev/null +++ b/sam_aclip_pixart_sigma/grabcut.py @@ -0,0 +1,68 @@ +import cv2 +import torch.nn.functional as F +import logging +from accelerate.logging import get_logger +import numpy as np +import torch +from PIL import Image + +torch.backends.cuda.matmul.allow_tf32 = True + +logging.basicConfig( + format="%(asctime)s - %(levelname)s - %(name)s - %(message)s", + datefmt="%m/%d/%Y %H:%M:%S", + level=logging.INFO, +) +logger = get_logger(__name__) + + +def grabcut(image, attention_maps, image_size, sure_fg_threshold, maybe_fg_threshold, maybe_bg_threshold): + + sure_fg_full_mask = torch.zeros((image_size, image_size), dtype=torch.uint8) + maybe_fg_full_mask = torch.zeros((image_size, image_size), dtype=torch.uint8) + maybe_bg_full_mask = torch.zeros((image_size, image_size), dtype=torch.uint8) + sure_bg_full_mask = torch.zeros((image_size, image_size), dtype=torch.uint8) + for attention_map in attention_maps: + attention_map = F.interpolate( + attention_map[None, None, :, :].float(), size=(image_size, image_size), mode='bicubic')[0, 0] + + threshold_sure_fg = sure_fg_threshold * attention_map.max() + threshold_maybe_fg = maybe_fg_threshold * attention_map.max() + threshold_maybe_bg = maybe_bg_threshold * attention_map.max() + sure_fg_full_mask += (attention_map > threshold_sure_fg).to(torch.uint8) + maybe_fg_full_mask += ((attention_map > threshold_maybe_fg) & (attention_map <= threshold_sure_fg)).to(torch.uint8) + maybe_bg_full_mask += ((attention_map > threshold_maybe_bg) & (attention_map <= threshold_maybe_fg)).to(torch.uint8) + sure_bg_full_mask += (attention_map <= threshold_maybe_bg).to(torch.uint8) + + mask = torch.zeros((image_size, image_size), dtype=torch.uint8) + mask = torch.where(sure_bg_full_mask.bool(), cv2.GC_BGD, mask) + mask = torch.where(maybe_bg_full_mask.bool(), cv2.GC_PR_BGD, mask) + mask = torch.where(maybe_fg_full_mask.bool(), cv2.GC_PR_FGD, mask) + mask = torch.where(sure_fg_full_mask.bool(), cv2.GC_FGD, mask) + + bgdModel = np.zeros((1, 65), np.float64) + fgdModel = np.zeros((1, 65), np.float64) + mask = mask.numpy().astype(np.uint8) + try: + mask, bgdModel, fgdModel = cv2.grabCut(np.array(image), mask, None, bgdModel, fgdModel, 5, cv2.GC_INIT_WITH_MASK) + except: + Warning(f'Grabcut failed, using default mask and mode={cv2.GC_INIT_WITH_MASK}') + mask = np.zeros_like(mask) + center_rect = (128, 128, 384, 384) + mask, bgdModel, fgdModel = cv2.grabCut(np.array(image), mask, center_rect, bgdModel, fgdModel, 5, cv2.GC_INIT_WITH_RECT) + + alpha = np.where((mask == 2) | (mask == 0), 0, 1).astype('uint8') + + return alpha + + +def save_rgba(rgb, alpha, path): + alpha = alpha * 255 + if isinstance(alpha, torch.Tensor): + alpha = np.array(alpha.cpu()) + alpha = alpha.clip(0, 255).astype(np.uint8) + alpha = Image.fromarray(alpha, mode='L') + rgb = rgb.copy() + rgb.putalpha(alpha) + rgb.save(path) + diff --git a/sam_aclip_pixart_sigma/pipeline_pixart_sigma.py b/sam_aclip_pixart_sigma/pipeline_pixart_sigma.py new file mode 100644 index 0000000..1503262 --- /dev/null +++ b/sam_aclip_pixart_sigma/pipeline_pixart_sigma.py @@ -0,0 +1,979 @@ +# Copyright 2024 PixArt-Sigma Authors and The HuggingFace Team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import html +import inspect +import re +import urllib.parse as ul +from typing import Callable, List, Optional, Tuple, Union + +import torch +import numpy as np +from transformers import T5EncoderModel, T5Tokenizer +from PIL import Image +from transformers.image_transforms import rescale, normalize, to_channel_dimension_format +from transformers.image_utils import ChannelDimension +from diffusers import AutoencoderKL + +from diffusers.image_processor import PixArtImageProcessor +from .transformer_2d import Transformer2DModel +from .attn_processor import AttnProcessor2_0 +import torch.nn.functional as F +import nltk +from torch.autograd import grad +from diffusers.models import AutoencoderKL +from diffusers.schedulers import DPMSolverMultistepScheduler +from diffusers.utils import ( + BACKENDS_MAPPING, + deprecate, + is_bs4_available, + is_ftfy_available, + logging, + replace_example_docstring, +) +from diffusers.utils.torch_utils import randn_tensor +from diffusers.pipelines.pipeline_utils import DiffusionPipeline, ImagePipelineOutput +from diffusers.pipelines.pixart_alpha.pipeline_pixart_alpha import ( + ASPECT_RATIO_256_BIN, + ASPECT_RATIO_512_BIN, + ASPECT_RATIO_1024_BIN, +) + +from .utils import normalize_masks + +logger = logging.get_logger(__name__) # pylint: disable=invalid-name + +if is_bs4_available(): + from bs4 import BeautifulSoup + +if is_ftfy_available(): + import ftfy + +ASPECT_RATIO_2048_BIN = { + "0.25": [1024.0, 4096.0], + "0.26": [1024.0, 3968.0], + "0.27": [1024.0, 3840.0], + "0.28": [1024.0, 3712.0], + "0.32": [1152.0, 3584.0], + "0.33": [1152.0, 3456.0], + "0.35": [1152.0, 3328.0], + "0.4": [1280.0, 3200.0], + "0.42": [1280.0, 3072.0], + "0.48": [1408.0, 2944.0], + "0.5": [1408.0, 2816.0], + "0.52": [1408.0, 2688.0], + "0.57": [1536.0, 2688.0], + "0.6": [1536.0, 2560.0], + "0.68": [1664.0, 2432.0], + "0.72": [1664.0, 2304.0], + "0.78": [1792.0, 2304.0], + "0.82": [1792.0, 2176.0], + "0.88": [1920.0, 2176.0], + "0.94": [1920.0, 2048.0], + "1.0": [2048.0, 2048.0], + "1.07": [2048.0, 1920.0], + "1.13": [2176.0, 1920.0], + "1.21": [2176.0, 1792.0], + "1.29": [2304.0, 1792.0], + "1.38": [2304.0, 1664.0], + "1.46": [2432.0, 1664.0], + "1.67": [2560.0, 1536.0], + "1.75": [2688.0, 1536.0], + "2.0": [2816.0, 1408.0], + "2.09": [2944.0, 1408.0], + "2.4": [3072.0, 1280.0], + "2.5": [3200.0, 1280.0], + "2.89": [3328.0, 1152.0], + "3.0": [3456.0, 1152.0], + "3.11": [3584.0, 1152.0], + "3.62": [3712.0, 1024.0], + "3.75": [3840.0, 1024.0], + "3.88": [3968.0, 1024.0], + "4.0": [4096.0, 1024.0], +} + +EXAMPLE_DOC_STRING = """ + Examples: + ```py + >>> import torch + >>> from diffusers import PixArtSigmaPipeline + + >>> # You can replace the checkpoint id with "PixArt-alpha/PixArt-Sigma-XL-2-512-MS" too. + >>> pipe = PixArtSigmaPipeline.from_pretrained( + ... "PixArt-alpha/PixArt-Sigma-XL-2-1024-MS", torch_dtype=torch.float16 + ... ) + >>> # Enable memory optimizations. + >>> # pipe.enable_model_cpu_offload() + + >>> prompt = "A small cactus with a happy face in the Sahara desert." + >>> image = pipe(prompt).images[0] + ``` +""" + + +# Copied from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion.retrieve_timesteps +def retrieve_timesteps( + scheduler, + num_inference_steps: Optional[int] = None, + device: Optional[Union[str, torch.device]] = None, + timesteps: Optional[List[int]] = None, + **kwargs, +): + """ + Calls the scheduler's `set_timesteps` method and retrieves timesteps from the scheduler after the call. Handles + custom timesteps. Any kwargs will be supplied to `scheduler.set_timesteps`. + + Args: + scheduler (`SchedulerMixin`): + The scheduler to get timesteps from. + num_inference_steps (`int`): + The number of diffusion steps used when generating samples with a pre-trained model. If used, `timesteps` + must be `None`. + device (`str` or `torch.device`, *optional*): + The device to which the timesteps should be moved to. If `None`, the timesteps are not moved. + timesteps (`List[int]`, *optional*): + Custom timesteps used to support arbitrary spacing between timesteps. If `None`, then the default + timestep spacing strategy of the scheduler is used. If `timesteps` is passed, `num_inference_steps` + must be `None`. + + Returns: + `Tuple[torch.Tensor, int]`: A tuple where the first element is the timestep schedule from the scheduler and the + second element is the number of inference steps. + """ + if timesteps is not None: + accepts_timesteps = "timesteps" in set(inspect.signature(scheduler.set_timesteps).parameters.keys()) + if not accepts_timesteps: + raise ValueError( + f"The current scheduler class {scheduler.__class__}'s `set_timesteps` does not support custom" + f" timestep schedules. Please check whether you are using the correct scheduler." + ) + scheduler.set_timesteps(timesteps=timesteps, device=device, **kwargs) + timesteps = scheduler.timesteps + num_inference_steps = len(timesteps) + else: + scheduler.set_timesteps(num_inference_steps, device=device, **kwargs) + timesteps = scheduler.timesteps + return timesteps, num_inference_steps + + +class PixArtSigmaPipeline(DiffusionPipeline): + r""" + Pipeline for text-to-image generation using PixArt-Sigma. + """ + + bad_punct_regex = re.compile( + r"[" + + "#®•©™&@·º½¾¿¡§~" + + r"\)" + + r"\(" + + r"\]" + + r"\[" + + r"\}" + + r"\{" + + r"\|" + + "\\" + + r"\/" + + r"\*" + + r"]{1,}" + ) # noqa + + _optional_components = ["tokenizer", "text_encoder"] + model_cpu_offload_seq = "text_encoder->transformer->vae" + + def __init__( + self, + tokenizer: T5Tokenizer, + text_encoder: T5EncoderModel, + vae: AutoencoderKL, + transformer: Transformer2DModel, + scheduler: DPMSolverMultistepScheduler, + ): + super().__init__() + + self.register_modules( + tokenizer=tokenizer, text_encoder=text_encoder, vae=vae, transformer=transformer, scheduler=scheduler + ) + + self.vae_scale_factor = 2 ** (len(self.vae.config.block_out_channels) - 1) + self.image_processor = PixArtImageProcessor(vae_scale_factor=self.vae_scale_factor) + + # Copied from diffusers.pipelines.pixart_alpha.pipeline_pixart_alpha.PixArtAlphaPipeline.encode_prompt + def encode_prompt( + self, + prompt: Union[str, List[str]], + do_classifier_free_guidance: bool = True, + negative_prompt: str = "", + num_images_per_prompt: int = 1, + device: Optional[torch.device] = None, + prompt_embeds: Optional[torch.FloatTensor] = None, + negative_prompt_embeds: Optional[torch.FloatTensor] = None, + prompt_attention_mask: Optional[torch.FloatTensor] = None, + negative_prompt_attention_mask: Optional[torch.FloatTensor] = None, + clean_caption: bool = False, + max_sequence_length: int = 120, + **kwargs, + ): + r""" + Encodes the prompt into text encoder hidden states. + + Args: + prompt (`str` or `List[str]`, *optional*): + prompt to be encoded + negative_prompt (`str` or `List[str]`, *optional*): + The prompt not to guide the image generation. If not defined, one has to pass `negative_prompt_embeds` + instead. Ignored when not using guidance (i.e., ignored if `guidance_scale` is less than `1`). For + PixArt-Alpha, this should be "". + do_classifier_free_guidance (`bool`, *optional*, defaults to `True`): + whether to use classifier free guidance or not + num_images_per_prompt (`int`, *optional*, defaults to 1): + number of images that should be generated per prompt + device: (`torch.device`, *optional*): + torch device to place the resulting embeddings on + prompt_embeds (`torch.FloatTensor`, *optional*): + Pre-generated text embeddings. Can be used to easily tweak text inputs, *e.g.* prompt weighting. If not + provided, text embeddings will be generated from `prompt` input argument. + negative_prompt_embeds (`torch.FloatTensor`, *optional*): + Pre-generated negative text embeddings. For PixArt-Alpha, it's should be the embeddings of the "" + string. + clean_caption (`bool`, defaults to `False`): + If `True`, the function will preprocess and clean the provided caption before encoding. + max_sequence_length (`int`, defaults to 120): Maximum sequence length to use for the prompt. + """ + + if "mask_feature" in kwargs: + deprecation_message = "The use of `mask_feature` is deprecated. It is no longer used in any computation and that doesn't affect the end results. It will be removed in a future version." + deprecate("mask_feature", "1.0.0", deprecation_message, standard_warn=False) + + if device is None: + device = self._execution_device + + if prompt is not None and isinstance(prompt, str): + batch_size = 1 + elif prompt is not None and isinstance(prompt, list): + batch_size = len(prompt) + else: + batch_size = prompt_embeds.shape[0] + + # See Section 3.1. of the paper. + max_length = max_sequence_length + + if prompt_embeds is None: + prompt = self._text_preprocessing(prompt, clean_caption=clean_caption) + text_inputs = self.tokenizer( + prompt, + padding='max_length', + max_length=max_length, + truncation=True, + add_special_tokens=True, + return_tensors="pt", + ) + text_input_ids = text_inputs.input_ids + untruncated_ids = self.tokenizer(prompt, padding="longest", return_tensors="pt").input_ids + + if untruncated_ids.shape[-1] >= text_input_ids.shape[-1] and not torch.equal( + text_input_ids, untruncated_ids + ): + removed_text = self.tokenizer.batch_decode(untruncated_ids[:, max_length - 1: -1]) + logger.warning( + "The following part of your input was truncated because CLIP can only handle sequences up to" + f" {max_length} tokens: {removed_text}" + ) + + prompt_attention_mask = text_inputs.attention_mask + prompt_attention_mask = prompt_attention_mask.to(device) + + prompt_embeds = self.text_encoder(text_input_ids.to(device), attention_mask=prompt_attention_mask) + prompt_embeds = prompt_embeds[0] + + if self.text_encoder is not None: + dtype = self.text_encoder.dtype + elif self.transformer is not None: + dtype = self.transformer.dtype + else: + dtype = None + + prompt_embeds = prompt_embeds.to(dtype=dtype, device=device) + + bs_embed, seq_len, _ = prompt_embeds.shape + # duplicate text embeddings and attention mask for each generation per prompt, using mps friendly method + prompt_embeds = prompt_embeds.repeat(1, num_images_per_prompt, 1) + prompt_embeds = prompt_embeds.view(bs_embed * num_images_per_prompt, seq_len, -1) + prompt_attention_mask = prompt_attention_mask.view(bs_embed, -1) + prompt_attention_mask = prompt_attention_mask.repeat(num_images_per_prompt, 1) + + # get unconditional embeddings for classifier free guidance + if do_classifier_free_guidance and negative_prompt_embeds is None: + uncond_tokens = [negative_prompt] * batch_size + uncond_tokens = self._text_preprocessing(uncond_tokens, clean_caption=clean_caption) + max_length = prompt_embeds.shape[1] + uncond_input = self.tokenizer( + uncond_tokens, + padding="max_length", + max_length=max_length, + truncation=True, + return_attention_mask=True, + add_special_tokens=True, + return_tensors="pt", + ) + negative_prompt_attention_mask = uncond_input.attention_mask + negative_prompt_attention_mask = negative_prompt_attention_mask.to(device) + + negative_prompt_embeds = self.text_encoder( + uncond_input.input_ids.to(device), attention_mask=negative_prompt_attention_mask + ) + negative_prompt_embeds = negative_prompt_embeds[0] + + if do_classifier_free_guidance: + # duplicate unconditional embeddings for each generation per prompt, using mps friendly method + seq_len = negative_prompt_embeds.shape[1] + + negative_prompt_embeds = negative_prompt_embeds.to(dtype=dtype, device=device) + + negative_prompt_embeds = negative_prompt_embeds.repeat(1, num_images_per_prompt, 1) + negative_prompt_embeds = negative_prompt_embeds.view(batch_size * num_images_per_prompt, seq_len, -1) + + negative_prompt_attention_mask = negative_prompt_attention_mask.view(bs_embed, -1) + negative_prompt_attention_mask = negative_prompt_attention_mask.repeat(num_images_per_prompt, 1) + else: + negative_prompt_embeds = None + negative_prompt_attention_mask = None + + return prompt_embeds, prompt_attention_mask, negative_prompt_embeds, negative_prompt_attention_mask + + # Copied from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion.StableDiffusionPipeline.prepare_extra_step_kwargs + def prepare_extra_step_kwargs(self, generator, eta): + # prepare extra kwargs for the scheduler step, since not all schedulers have the same signature + # eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers. + # eta corresponds to η in DDIM paper: https://arxiv.org/abs/2010.02502 + # and should be between [0, 1] + + accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys()) + extra_step_kwargs = {} + if accepts_eta: + extra_step_kwargs["eta"] = eta + + # check if the scheduler accepts generator + accepts_generator = "generator" in set(inspect.signature(self.scheduler.step).parameters.keys()) + if accepts_generator: + extra_step_kwargs["generator"] = generator + return extra_step_kwargs + + # Copied from diffusers.pipelines.pixart_alpha.pipeline_pixart_alpha.PixArtAlphaPipeline.check_inputs + def check_inputs( + self, + prompt, + height, + width, + negative_prompt, + callback_steps, + prompt_embeds=None, + negative_prompt_embeds=None, + prompt_attention_mask=None, + negative_prompt_attention_mask=None, + ): + if height % 8 != 0 or width % 8 != 0: + raise ValueError(f"`height` and `width` have to be divisible by 8 but are {height} and {width}.") + + if (callback_steps is None) or ( + callback_steps is not None and (not isinstance(callback_steps, int) or callback_steps <= 0) + ): + raise ValueError( + f"`callback_steps` has to be a positive integer but is {callback_steps} of type" + f" {type(callback_steps)}." + ) + + if prompt is not None and prompt_embeds is not None: + raise ValueError( + f"Cannot forward both `prompt`: {prompt} and `prompt_embeds`: {prompt_embeds}. Please make sure to" + " only forward one of the two." + ) + elif prompt is None and prompt_embeds is None: + raise ValueError( + "Provide either `prompt` or `prompt_embeds`. Cannot leave both `prompt` and `prompt_embeds` undefined." + ) + elif prompt is not None and (not isinstance(prompt, str) and not isinstance(prompt, list)): + raise ValueError(f"`prompt` has to be of type `str` or `list` but is {type(prompt)}") + + if prompt is not None and negative_prompt_embeds is not None: + raise ValueError( + f"Cannot forward both `prompt`: {prompt} and `negative_prompt_embeds`:" + f" {negative_prompt_embeds}. Please make sure to only forward one of the two." + ) + + if negative_prompt is not None and negative_prompt_embeds is not None: + raise ValueError( + f"Cannot forward both `negative_prompt`: {negative_prompt} and `negative_prompt_embeds`:" + f" {negative_prompt_embeds}. Please make sure to only forward one of the two." + ) + + if prompt_embeds is not None and prompt_attention_mask is None: + raise ValueError("Must provide `prompt_attention_mask` when specifying `prompt_embeds`.") + + if negative_prompt_embeds is not None and negative_prompt_attention_mask is None: + raise ValueError("Must provide `negative_prompt_attention_mask` when specifying `negative_prompt_embeds`.") + + if prompt_embeds is not None and negative_prompt_embeds is not None: + if prompt_embeds.shape != negative_prompt_embeds.shape: + raise ValueError( + "`prompt_embeds` and `negative_prompt_embeds` must have the same shape when passed directly, but" + f" got: `prompt_embeds` {prompt_embeds.shape} != `negative_prompt_embeds`" + f" {negative_prompt_embeds.shape}." + ) + if prompt_attention_mask.shape != negative_prompt_attention_mask.shape: + raise ValueError( + "`prompt_attention_mask` and `negative_prompt_attention_mask` must have the same shape when passed directly, but" + f" got: `prompt_attention_mask` {prompt_attention_mask.shape} != `negative_prompt_attention_mask`" + f" {negative_prompt_attention_mask.shape}." + ) + + # Copied from diffusers.pipelines.deepfloyd_if.pipeline_if.IFPipeline._text_preprocessing + def _text_preprocessing(self, text, clean_caption=False): + if clean_caption and not is_bs4_available(): + logger.warning(BACKENDS_MAPPING["bs4"][-1].format("Setting `clean_caption=True`")) + logger.warning("Setting `clean_caption` to False...") + clean_caption = False + + if clean_caption and not is_ftfy_available(): + logger.warning(BACKENDS_MAPPING["ftfy"][-1].format("Setting `clean_caption=True`")) + logger.warning("Setting `clean_caption` to False...") + clean_caption = False + + if not isinstance(text, (tuple, list)): + text = [text] + + def process(text: str): + if clean_caption: + text = self._clean_caption(text) + text = self._clean_caption(text) + else: + text = text.lower().strip() + return text + + return [process(t) for t in text] + + # Copied from diffusers.pipelines.deepfloyd_if.pipeline_if.IFPipeline._clean_caption + def _clean_caption(self, caption): + caption = str(caption) + caption = ul.unquote_plus(caption) + caption = caption.strip().lower() + caption = re.sub("", "person", caption) + # urls: + caption = re.sub( + r"\b((?:https?:(?:\/{1,3}|[a-zA-Z0-9%])|[a-zA-Z0-9.\-]+[.](?:com|co|ru|net|org|edu|gov|it)[\w/-]*\b\/?(?!@)))", + # noqa + "", + caption, + ) # regex for urls + caption = re.sub( + r"\b((?:www:(?:\/{1,3}|[a-zA-Z0-9%])|[a-zA-Z0-9.\-]+[.](?:com|co|ru|net|org|edu|gov|it)[\w/-]*\b\/?(?!@)))", + # noqa + "", + caption, + ) # regex for urls + # html: + caption = BeautifulSoup(caption, features="html.parser").text + + # @ + caption = re.sub(r"@[\w\d]+\b", "", caption) + + # 31C0—31EF CJK Strokes + # 31F0—31FF Katakana Phonetic Extensions + # 3200—32FF Enclosed CJK Letters and Months + # 3300—33FF CJK Compatibility + # 3400—4DBF CJK Unified Ideographs Extension A + # 4DC0—4DFF Yijing Hexagram Symbols + # 4E00—9FFF CJK Unified Ideographs + caption = re.sub(r"[\u31c0-\u31ef]+", "", caption) + caption = re.sub(r"[\u31f0-\u31ff]+", "", caption) + caption = re.sub(r"[\u3200-\u32ff]+", "", caption) + caption = re.sub(r"[\u3300-\u33ff]+", "", caption) + caption = re.sub(r"[\u3400-\u4dbf]+", "", caption) + caption = re.sub(r"[\u4dc0-\u4dff]+", "", caption) + caption = re.sub(r"[\u4e00-\u9fff]+", "", caption) + ####################################################### + + # все виды тире / all types of dash --> "-" + caption = re.sub( + r"[\u002D\u058A\u05BE\u1400\u1806\u2010-\u2015\u2E17\u2E1A\u2E3A\u2E3B\u2E40\u301C\u3030\u30A0\uFE31\uFE32\uFE58\uFE63\uFF0D]+", + # noqa + "-", + caption, + ) + + # кавычки к одному стандарту + caption = re.sub(r"[`´«»“”¨]", '"', caption) + caption = re.sub(r"[‘’]", "'", caption) + + # " + caption = re.sub(r""?", "", caption) + # & + caption = re.sub(r"&", "", caption) + + # ip adresses: + caption = re.sub(r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}", " ", caption) + + # article ids: + caption = re.sub(r"\d:\d\d\s+$", "", caption) + + # \n + caption = re.sub(r"\\n", " ", caption) + + # "#123" + caption = re.sub(r"#\d{1,3}\b", "", caption) + # "#12345.." + caption = re.sub(r"#\d{5,}\b", "", caption) + # "123456.." + caption = re.sub(r"\b\d{6,}\b", "", caption) + # filenames: + caption = re.sub(r"[\S]+\.(?:png|jpg|jpeg|bmp|webp|eps|pdf|apk|mp4)", "", caption) + + # + caption = re.sub(r"[\"\']{2,}", r'"', caption) # """AUSVERKAUFT""" + caption = re.sub(r"[\.]{2,}", r" ", caption) # """AUSVERKAUFT""" + + caption = re.sub(self.bad_punct_regex, r" ", caption) # ***AUSVERKAUFT***, #AUSVERKAUFT + caption = re.sub(r"\s+\.\s+", r" ", caption) # " . " + + # this-is-my-cute-cat / this_is_my_cute_cat + regex2 = re.compile(r"(?:\-|\_)") + if len(re.findall(regex2, caption)) > 3: + caption = re.sub(regex2, " ", caption) + + caption = ftfy.fix_text(caption) + caption = html.unescape(html.unescape(caption)) + + caption = re.sub(r"\b[a-zA-Z]{1,3}\d{3,15}\b", "", caption) # jc6640 + caption = re.sub(r"\b[a-zA-Z]+\d+[a-zA-Z]+\b", "", caption) # jc6640vc + caption = re.sub(r"\b\d+[a-zA-Z]+\d+\b", "", caption) # 6640vc231 + + caption = re.sub(r"(worldwide\s+)?(free\s+)?shipping", "", caption) + caption = re.sub(r"(free\s)?download(\sfree)?", "", caption) + caption = re.sub(r"\bclick\b\s(?:for|on)\s\w+", "", caption) + caption = re.sub(r"\b(?:png|jpg|jpeg|bmp|webp|eps|pdf|apk|mp4)(\simage[s]?)?", "", caption) + caption = re.sub(r"\bpage\s+\d+\b", "", caption) + + caption = re.sub(r"\b\d*[a-zA-Z]+\d+[a-zA-Z]+\d+[a-zA-Z\d]*\b", r" ", caption) # j2d1a2a... + + caption = re.sub(r"\b\d+\.?\d*[xх×]\d+\.?\d*\b", "", caption) + + caption = re.sub(r"\b\s+\:\s+", r": ", caption) + caption = re.sub(r"(\D[,\./])\b", r"\1 ", caption) + caption = re.sub(r"\s+", " ", caption) + + caption.strip() + + caption = re.sub(r"^[\"\']([\w\W]+)[\"\']$", r"\1", caption) + caption = re.sub(r"^[\'\_,\-\:;]", r"", caption) + caption = re.sub(r"[\'\_,\-\:\-\+]$", r"", caption) + caption = re.sub(r"^\.\S+$", "", caption) + + return caption.strip() + + # Copied from diffusers.pipelines.stable_diffusion.pipeline_stable_diffusion.StableDiffusionPipeline.prepare_latents + def prepare_latents(self, batch_size, num_channels_latents, height, width, dtype, device, generator, latents=None): + shape = ( + batch_size, + num_channels_latents, + int(height) // self.vae_scale_factor, + int(width) // self.vae_scale_factor, + ) + if isinstance(generator, list) and len(generator) != batch_size: + raise ValueError( + f"You have passed a list of generators of length {len(generator)}, but requested an effective batch" + f" size of {batch_size}. Make sure the batch size matches the length of the generators." + ) + + if latents is None: + latents = randn_tensor(shape, generator=generator, device=device, dtype=dtype) + else: + latents = latents.to(device) + + # scale the initial noise by the standard deviation required by the scheduler + latents = latents * self.scheduler.init_noise_sigma + return latents + + @staticmethod + def create_generation_mask(latent_h: int, latent_w: int, mask_type: str, dtype: torch.dtype, + beta: float = 0.00, border_h: int = None, border_w: int = None) -> torch.Tensor: + border_size_h = latent_h // 4 if border_h is None else border_h + border_size_w = latent_w // 4 if border_w is None else border_w + mask = torch.full((latent_h, latent_w), fill_value=beta).to(dtype) + if mask_type == "center": + mask[border_size_h:-border_size_h, border_size_w:-border_size_w] = 1 + elif mask_type == "bottom": + mask[border_size_h * 2:, border_size_w:-border_size_w] = 1 + elif mask_type == "top": + mask[:-border_size_h * 2, border_size_w:-border_size_w] = 1 + elif mask_type == "right": + mask[border_size_h:-border_size_h, border_size_w * 2:] = 1 + elif mask_type == "left": + mask[border_size_h:-border_size_h, :-border_size_w * 2] = 1 + elif mask_type == "top_right": + mask[:-border_size_h * 2, border_size_w * 2:] = 1 + elif mask_type == "top_left": + mask[:-border_size_h * 2, :-border_size_w * 2] = 1 + elif mask_type == "bottom_right": + mask[border_size_h * 2:, border_size_w * 2:] = 1 + elif mask_type == "bottom_left": + mask[border_size_h * 2:, :-border_size_w * 2] = 1 + elif mask_type == 'full': + mask = torch.ones((latent_h, latent_w)).to(dtype) + else: + raise ValueError(f"Invalid mask type: {mask_type}") + return mask + + + def parse_nouns(self, prompt: str, nouns_to_exclude=None): + if nouns_to_exclude is None: + nouns_to_exclude = [] + prompt = prompt.lower() + words = nltk.word_tokenize(prompt) + nouns = [word for word, pos in nltk.pos_tag(words) if pos[:2] == 'NN' and word not in nouns_to_exclude] + tokens = self.tokenizer.tokenize(prompt) + num_prompt_tokens = len(tokens) + 1 + nouns_indexes = [] + for noun in nouns: + search_tokens = self.tokenizer.tokenize(noun.lower()) + start_indexes = [x for x in range(len(tokens)) if tokens[x:x + len(search_tokens)] == search_tokens] + merge_indexes = [] + for index in start_indexes: + merge_indexes += [i + index for i in range(0, len(search_tokens))] + nouns_indexes.append(merge_indexes) + return nouns, nouns_indexes, num_prompt_tokens + + @replace_example_docstring(EXAMPLE_DOC_STRING) + def __call__( + self, + prompt: Union[str, List[str]] = None, + negative_prompt: str = "", + num_inference_steps: int = 20, + timesteps: List[int] = None, + guidance_scale: float = 4.5, + num_images_per_prompt: Optional[int] = 1, + height: Optional[int] = None, + width: Optional[int] = None, + eta: float = 0.0, + generator: Optional[Union[torch.Generator, List[torch.Generator]]] = None, + latents: Optional[torch.FloatTensor] = None, + prompt_embeds: Optional[torch.FloatTensor] = None, + prompt_attention_mask: Optional[torch.FloatTensor] = None, + negative_prompt_embeds: Optional[torch.FloatTensor] = None, + negative_prompt_attention_mask: Optional[torch.FloatTensor] = None, + output_type: Optional[str] = "pil", + return_dict: bool = True, + callback: Optional[Callable[[int, int, torch.FloatTensor], None]] = None, + callback_steps: int = 1, + clean_caption: bool = True, + use_resolution_binning: bool = True, + max_sequence_length: int = 300, + keep_cross_attention_maps: bool = True, + keep_self_attention_maps: bool = True, + centering: bool = False, + nouns_to_exclude=None, + disable_tqdm: bool = False, + **kwargs, + ) -> Union[ImagePipelineOutput, Tuple]: + """ + Function invoked when calling the pipeline for generation. + + Args: + prompt (`str` or `List[str]`, *optional*): + The prompt or prompts to guide the image generation. If not defined, one has to pass `prompt_embeds`. + instead. + negative_prompt (`str` or `List[str]`, *optional*): + The prompt or prompts not to guide the image generation. If not defined, one has to pass + `negative_prompt_embeds` instead. Ignored when not using guidance (i.e., ignored if `guidance_scale` is + less than `1`). + num_inference_steps (`int`, *optional*, defaults to 100): + The number of denoising steps. More denoising steps usually lead to a higher quality image at the + expense of slower inference. + timesteps (`List[int]`, *optional*): + Custom timesteps to use for the denoising process. If not defined, equal spaced `num_inference_steps` + timesteps are used. Must be in descending order. + guidance_scale (`float`, *optional*, defaults to 4.5): + Guidance scale as defined in [Classifier-Free Diffusion Guidance](https://arxiv.org/abs/2207.12598). + `guidance_scale` is defined as `w` of equation 2. of [Imagen + Paper](https://arxiv.org/pdf/2205.11487.pdf). Guidance scale is enabled by setting `guidance_scale > + 1`. Higher guidance scale encourages to generate images that are closely linked to the text `prompt`, + usually at the expense of lower image quality. + num_images_per_prompt (`int`, *optional*, defaults to 1): + The number of images to generate per prompt. + height (`int`, *optional*, defaults to self.unet.config.sample_size): + The height in pixels of the generated image. + width (`int`, *optional*, defaults to self.unet.config.sample_size): + The width in pixels of the generated image. + eta (`float`, *optional*, defaults to 0.0): + Corresponds to parameter eta (η) in the DDIM paper: https://arxiv.org/abs/2010.02502. Only applies to + [`schedulers.DDIMScheduler`], will be ignored for others. + generator (`torch.Generator` or `List[torch.Generator]`, *optional*): + One or a list of [torch generator(s)](https://pytorch.org/docs/stable/generated/torch.Generator.html) + to make generation deterministic. + latents (`torch.FloatTensor`, *optional*): + Pre-generated noisy latents, sampled from a Gaussian distribution, to be used as inputs for image + generation. Can be used to tweak the same generation with different prompts. If not provided, a latents + tensor will ge generated by sampling using the supplied random `generator`. + prompt_embeds (`torch.FloatTensor`, *optional*): + Pre-generated text embeddings. Can be used to easily tweak text inputs, *e.g.* prompt weighting. If not + provided, text embeddings will be generated from `prompt` input argument. + prompt_attention_mask (`torch.FloatTensor`, *optional*): Pre-generated attention mask for text embeddings. + negative_prompt_embeds (`torch.FloatTensor`, *optional*): + Pre-generated negative text embeddings. For PixArt-Sigma this negative prompt should be "". If not + provided, negative_prompt_embeds will be generated from `negative_prompt` input argument. + negative_prompt_attention_mask (`torch.FloatTensor`, *optional*): + Pre-generated attention mask for negative text embeddings. + output_type (`str`, *optional*, defaults to `"pil"`): + The output format of the generate image. Choose between + [PIL](https://pillow.readthedocs.io/en/stable/): `PIL.Image.Image` or `np.array`. + return_dict (`bool`, *optional*, defaults to `True`): + Whether or not to return a [`~pipelines.stable_diffusion.IFPipelineOutput`] instead of a plain tuple. + callback (`Callable`, *optional*): + A function that will be called every `callback_steps` steps during inference. The function will be + called with the following arguments: `callback(step: int, timestep: int, latents: torch.FloatTensor)`. + callback_steps (`int`, *optional*, defaults to 1): + The frequency at which the `callback` function will be called. If not specified, the callback will be + called at every step. + clean_caption (`bool`, *optional*, defaults to `True`): + Whether or not to clean the caption before creating embeddings. Requires `beautifulsoup4` and `ftfy` to + be installed. If the dependencies are not installed, the embeddings will be created from the raw + prompt. + use_resolution_binning (`bool` defaults to `True`): + If set to `True`, the requested height and width are first mapped to the closest resolutions using + `ASPECT_RATIO_1024_BIN`. After the produced latents are decoded into images, they are resized back to + the requested resolution. Useful for generating non-square images. + max_sequence_length (`int` defaults to 120): Maximum sequence length to use with the `prompt`. + + Examples: + + Returns: + [`~pipelines.ImagePipelineOutput`] or `tuple`: + If `return_dict` is `True`, [`~pipelines.ImagePipelineOutput`] is returned, otherwise a `tuple` is + returned where the first element is a list with the generated images + """ + # 1. Check inputs. Raise error if not correct + height = height or self.transformer.config.sample_size * self.vae_scale_factor + width = width or self.transformer.config.sample_size * self.vae_scale_factor + if use_resolution_binning: + if self.transformer.config.sample_size == 256: + aspect_ratio_bin = ASPECT_RATIO_2048_BIN + elif self.transformer.config.sample_size == 128: + aspect_ratio_bin = ASPECT_RATIO_1024_BIN + elif self.transformer.config.sample_size == 64: + aspect_ratio_bin = ASPECT_RATIO_512_BIN + elif self.transformer.config.sample_size == 32: + aspect_ratio_bin = ASPECT_RATIO_256_BIN + else: + raise ValueError("Invalid sample size") + orig_height, orig_width = height, width + height, width = self.image_processor.classify_height_width_bin(height, width, ratios=aspect_ratio_bin) + + self.check_inputs( + prompt, + height, + width, + negative_prompt, + callback_steps, + prompt_embeds, + negative_prompt_embeds, + prompt_attention_mask, + negative_prompt_attention_mask, + ) + + # 2. Default height and width to transformer + if prompt is not None and isinstance(prompt, str): + batch_size = 1 + elif prompt is not None and isinstance(prompt, list): + batch_size = len(prompt) + else: + batch_size = prompt_embeds.shape[0] + + device = self._execution_device # THIS AUTOMATICALLY CHANGES TO CPU + device = torch.device('cuda') + + # here `guidance_scale` is defined analog to the guidance weight `w` of equation (2) + # of the Imagen paper: https://arxiv.org/pdf/2205.11487.pdf . `guidance_scale = 1` + # corresponds to doing no classifier free guidance. + do_classifier_free_guidance = guidance_scale > 1.0 + self.text_encoder = self.text_encoder.to(device) + + # 3. Encode input prompt + ( + prompt_embeds, + prompt_attention_mask, + negative_prompt_embeds, + negative_prompt_attention_mask, + ) = self.encode_prompt( + prompt, + do_classifier_free_guidance, + negative_prompt=negative_prompt, + num_images_per_prompt=num_images_per_prompt, + device=device, + prompt_embeds=prompt_embeds, + negative_prompt_embeds=negative_prompt_embeds, + prompt_attention_mask=prompt_attention_mask, + negative_prompt_attention_mask=negative_prompt_attention_mask, + clean_caption=clean_caption, + max_sequence_length=max_sequence_length, + ) + + prompt_embeds = torch.cat([negative_prompt_embeds, prompt_embeds], dim=0) + prompt_attention_mask = torch.cat([negative_prompt_attention_mask, prompt_attention_mask], dim=0) + + foreground_prompt = prompt[1] if centering else prompt + prompt_clean = self._text_preprocessing(foreground_prompt, clean_caption=clean_caption)[0] + + # 4. Prepare timesteps + timesteps, num_inference_steps = retrieve_timesteps(self.scheduler, num_inference_steps, device, timesteps) + + # 5. Prepare latents. + latent_channels = self.transformer.config.in_channels + latents = self.prepare_latents( + 1 * num_images_per_prompt, # Modified + latent_channels, + height, + width, + prompt_embeds.dtype, + device, + generator, + latents, + ) + + # 6. Prepare extra step kwargs. TODO: Logic should ideally just be moved out of the pipeline + extra_step_kwargs = self.prepare_extra_step_kwargs(generator, eta) + + # 6.1 Prepare micro-conditions. + added_cond_kwargs = {"resolution": None, "aspect_ratio": None} + # 6.2 Modified + latent_h, latent_w = latents.shape[-2:] + mask_md = self.create_generation_mask( + latent_h=latent_h, latent_w=latent_w, mask_type='center', dtype=prompt_embeds.dtype, + beta=0.0, border_h=latent_h // 8, border_w=latent_w // 8) + + processor = AttnProcessor2_0(keep_cross_attn_maps=keep_cross_attention_maps, keep_self_attn_maps=keep_self_attention_maps, tokenizer=self.tokenizer) + self.transformer.set_attn_processor(processor) + nouns, nouns_indexes, num_prompt_tokens = self.parse_nouns(prompt_clean, nouns_to_exclude=nouns_to_exclude) + if len(nouns_indexes) == 0: + logger.warning(f"No nouns found in the prompt {prompt_clean}. Returning None and skipping the generation.") + return None, None, None + + self.text_encoder = self.text_encoder.to('cpu') + # 7. Denoising loop + num_warmup_steps = max(len(timesteps) - num_inference_steps * self.scheduler.order, 0) + + self.set_progress_bar_config(disable=disable_tqdm) + with self.progress_bar(total=num_inference_steps) as progress_bar: + processor.num_prompt_tokens = num_prompt_tokens + for i, t in enumerate(timesteps): + processor.t = t + processor.l_iteration_ca = 0 + processor.l_iteration_sa = 0 + + with torch.no_grad(): + latents = latents.repeat(batch_size, 1, 1, 1) if centering else latents + latent_model_input = torch.cat([latents] * 2) if do_classifier_free_guidance else latents + latent_model_input = self.scheduler.scale_model_input(latent_model_input, t) + + current_timestep = t.clone() + if not torch.is_tensor(current_timestep): + # TODO: this requires sync between CPU and GPU. So try to pass timesteps as tensors if you can + # This would be a good case for the `match` statement (Python 3.10+) + is_mps = latent_model_input.device.type == "mps" + if isinstance(current_timestep, float): + dtype = torch.float32 if is_mps else torch.float64 + else: + dtype = torch.int32 if is_mps else torch.int64 + current_timestep = torch.tensor([current_timestep], dtype=dtype, + device=latent_model_input.device) + elif len(current_timestep.shape) == 0: + current_timestep = current_timestep[None].to(latent_model_input.device) + # broadcast to batch dimension in a way that's compatible with ONNX/Core ML + current_timestep = current_timestep.expand(latent_model_input.shape[0]) + + # predict noise model_output + noise_pred = self.transformer( + latent_model_input, + encoder_hidden_states=prompt_embeds, + encoder_attention_mask=prompt_attention_mask, + timestep=current_timestep, + added_cond_kwargs=added_cond_kwargs, + return_dict=False, + )[0] + + # perform guidance + if do_classifier_free_guidance: + noise_pred_uncond, noise_pred_text = noise_pred.chunk(2) + noise_pred = noise_pred_uncond + guidance_scale * (noise_pred_text - noise_pred_uncond) + + # learned sigma + if self.transformer.config.out_channels // 2 == latent_channels: + noise_pred = noise_pred.chunk(2, dim=1)[0] + else: + noise_pred = noise_pred + + # compute previous image: x_t -> x_t-1 + pred = self.scheduler.step(noise_pred, t, latents, **extra_step_kwargs, return_dict=True) + latents = pred['prev_sample'] + if centering: + latents = (latents[0] * (1 - mask_md.cuda()) + latents[1] * mask_md.cuda()).unsqueeze(0) + + if i == len(timesteps) - 1: + latents_pred_x0 = pred['pred_original_sample'].to(torch.float16) + decoded_x0 = self.vae.decode(latents_pred_x0 / self.vae.config.scaling_factor, return_dict=False)[0] + decoded_x0 = (decoded_x0 / 2 + 0.5).clamp(0, 1) + + # call the callback, if provided + if i == len(timesteps) - 1 or ((i + 1) > num_warmup_steps and (i + 1) % self.scheduler.order == 0): + progress_bar.update() + if callback is not None and i % callback_steps == 0: + step_idx = i // getattr(self.scheduler, "order", 1) + callback(step_idx, t, latents) + + if not output_type == "latent": + image = self.vae.decode(latents / self.vae.config.scaling_factor, return_dict=False)[0] + if use_resolution_binning: + image = self.image_processor.resize_and_crop_tensor(image, orig_width, orig_height) + else: + image = latents + + if not output_type == "latent": + image = self.image_processor.postprocess(image, output_type=output_type) + + # Offload all models + self.maybe_free_model_hooks() + + heatmaps = { + 'cross_heatmaps_fg_nouns': {}, + 'self_heatmaps_fg_nouns': {} + } + + # Compute foreground maps + self_heatmap_fg = processor.compute_global_self_heat_map() + cross_heatmap_fg = processor.compute_global_cross_heat_map(prompt=prompt_clean) + cross_heatmaps_fg = [] + for noun in nouns: + cross_heatmap_noun = cross_heatmap_fg.compute_word_heat_map(noun) + self_heatmap_noun = self_heatmap_fg.compute_guided_heat_map(normalize_masks(cross_heatmap_noun.heatmap)) + heatmaps['cross_heatmaps_fg_nouns'][noun] = normalize_masks(cross_heatmap_noun.expand_as(image[0])) + heatmaps['self_heatmaps_fg_nouns'][noun] = normalize_masks(self_heatmap_noun.expand_as(image[0])) + cross_heatmaps_fg.append(cross_heatmap_noun) + + cross_heatmaps_for_ff = normalize_masks(torch.stack([ca.heatmap for ca in cross_heatmaps_fg], dim=0).mean(dim=0)) + ff = normalize_masks(self_heatmap_fg.compute_guided_heat_map(cross_heatmaps_for_ff).expand_as(image[0])) + cross_heatmaps_fg = normalize_masks(torch.stack([ca.expand_as(image[0]) for ca in cross_heatmaps_fg], dim=0).mean(dim=0)) + heatmaps['cross_heatmap_fg'] = cross_heatmaps_fg + heatmaps['ff_heatmap'] = ff + + if not return_dict: + return image, heatmaps + + return ImagePipelineOutput(images=image) \ No newline at end of file diff --git a/sam_aclip_pixart_sigma/self_heatmap.py b/sam_aclip_pixart_sigma/self_heatmap.py new file mode 100644 index 0000000..a13ea71 --- /dev/null +++ b/sam_aclip_pixart_sigma/self_heatmap.py @@ -0,0 +1,349 @@ +from collections import defaultdict +from dataclasses import dataclass +from functools import lru_cache +from pathlib import Path +from typing import List, Any, Dict, Tuple, Set, Iterable, Union, Optional +from tqdm import tqdm + +from matplotlib import pyplot as plt +import numpy as np +import math +import PIL.Image +import cv2 +import torch +import torch.nn.functional as F + +from .utils import auto_autocast + +__all__ = ['SelfGlobalHeatMap', 'SelfRawHeatMapCollection', 'SelfPixelHeatMap', 'SelfParsedHeatMap', 'SelfSyntacticHeatMapPair'] + + +def plot_overlay_heat_map(im: PIL.Image.Image | np.ndarray, heat_map: torch.Tensor, figsize: Tuple[int, int] = (10,10)): + with auto_autocast(dtype=torch.float32): + plt.figure(figsize=figsize) + plt.axis('off') + im = np.array(im) + plt.imshow(heat_map.squeeze().cpu().numpy(), cmap='jet') + + im = torch.from_numpy(im).float() / 255 + im = torch.cat((im, (1 - heat_map.unsqueeze(-1))), dim=-1) + plt.imshow(im) + + +class SelfPixelHeatMap: + def __init__(self, heatmap: torch.Tensor): + self.heatmap = heatmap + + @property + def value(self): + return self.heatmap + + def plot_overlay(self, image, figsize: Tuple[int, int] = (10,10)): + # type: (PIL.Image.Image | np.ndarray, Path, bool, plt.Axes, Dict[str, Any]) -> None + plot_overlay_heat_map(image, self.expand_as(image), figsize) + + def expand_as(self, image): + # type: (PIL.Image.Image, bool, float, bool, Dict[str, Any]) -> torch.Tensor + + im = self.heatmap.unsqueeze(0).unsqueeze(0) + im = F.interpolate(im.float().detach(), size=(image.size[0], image.size[1]), mode='bicubic') + im = im[0,0] + im = (im - im.min()) / (im.max() - im.min() + 1e-8) + im = im.cpu().detach().squeeze() + + return im + + +@dataclass +class SelfSyntacticHeatMapPair: + head_heat_map: SelfPixelHeatMap + dep_heat_map: SelfPixelHeatMap + head_text: str + dep_text: str + relation: str + + +@dataclass +class SelfParsedHeatMap: + word_heat_map: SelfPixelHeatMap + +class SelfGlobalHeatMap: + def __init__(self, heat_maps: torch.Tensor, latent_hw: int): + self.heat_maps = heat_maps.cpu() + # The dimensions of the latent image on which the heatmap is generated + self.latent_h = self.latent_w = int(math.sqrt(latent_hw)) + # The pixels for which the heatmap is generated (It can be condensed form and thus smaller compared to self.latent_h and latent_w) + self.inner_latent_h = self.inner_latent_w = int(math.sqrt(heat_maps.shape[0])) + # Scale Factor + self.scale_factor = self.latent_h // self.inner_latent_h + + def scale_correction(self, pixel_ids): + """ + scales the pixel ids according to the pixels of the inner latent image dim i.e. self.inner_latent_h and self.inner_latent_w + """ + pixel_ids_2d = [(p_id // self.latent_w, p_id % self.latent_w) for p_id in pixel_ids] + inner_pixel_ids_2d = [(x // self.scale_factor, y // self.scale_factor) for x, y in pixel_ids_2d] + scaled_pixel_ids = [x * self.inner_latent_w + y for x, y in inner_pixel_ids_2d] + return scaled_pixel_ids + + def compute_pixel_heat_map(self, latent_pixels: Union[List[int], int]) -> SelfPixelHeatMap: + """ + Given a list of pixels or pixel id it returns the heatmap for that pixel or mean of all the heatmaps corresponding + to those pixels. + The pixel ids should adhere to row-major latent image representation i.e. + 0 1 ... 63 + .......... + 4032...4095 + for SDV2 + """ + if isinstance(latent_pixels, list): + # scale correction + merge_idxs = self.scale_correction(latent_pixels) + + return SelfPixelHeatMap(self.heat_maps[merge_idxs].mean(0)) + else: + merge_idx = self.scale_correction([latent_pixels]) + return SelfPixelHeatMap(self.heat_maps[merge_idx].mean(0)) + + def compute_bbox_heat_map(self, x1: int, y1: int, x2: int, y2: int) -> SelfPixelHeatMap: + """ + Given the top-left coordinates (x1,y1) and bottom-right coordinates (x2,y2) it returns the heatmap for the + mean of all the pixels lying inside this bbox. + These coordinates should be for the latent image + """ + if x2 < x1 or y2 < y1: + raise Exception('Enter valid bounding box! (x1,y1) is the top-left corner and (x2,y2) is the bottom-right corner.') + pix_ids = [x for y in range(y1, y2+1) for x in range((self.latent_w * y) + x1, (self.latent_w * y) + x2 + 1) if x < (self.latent_h * self.latent_w)] + # scale correction + pix_ids = self.scale_correction(pix_ids) + return SelfPixelHeatMap(self.heat_maps[pix_ids].mean(0)) + + def inner_pixel_ids(self, + pts: Union[List[List[int]], List[int]], + image_h: int, image_w: int) -> List: + """ + Given a contour pts in the it finds the latent image pixels which lie inside this contour + pts should be a represent a single polygon multi-piece polygon is not handled by this function, check out `segmentation_heat_map` + pts should be be a list of [x,y] coordinates of the contour + or a list of [x1,y1,x2,y2,...,xn,yn] (i.e. same as [[x1,y1], [x2.y2], ...] just the inner lists are unravelled) + image_h and image_w is the image height and width respectively of the original image from which contour is taken + """ + if isinstance(pts[0], int): + pts = [[pts[i], pts[i+1]] for i in range(0, len(pts), 2)] + + if image_h != image_w: + raise Exception('Non-Square images not supported yet! `image_h` should be equal to `image_w') + + pts = np.array(np.array(pts) * self.latent_h / image_h, np.int32) + pts = pts.reshape((-1,1,2)) + inner_pixs = list() + for i in range(self.latent_h): + for j in range(self.latent_w): + dist = cv2.pointPolygonTest(pts, (i, j), False) + if dist == 1.0: + inner_pixs.append((j*self.latent_w) + i) + + return inner_pixs # It returns the inner_pixs according to self.latent_h and self.latent_w needs to be scale corrected for use + + def compute_contour_heat_map(self, + pts: Union[List[List[int]], List[int]], + image_h: int, image_w: int, + guide_heatmap: Optional[torch.tensor] = None) -> SelfPixelHeatMap: + """ + pts should be a represent a single polygon multi-piece polygon is not handled by this function, check out `segmentation_heat_map` + pts should be be a list of [x,y] coordinates of the contour + or a list of [x1,y1,x2,y2,...,xn,yn] (i.e. same as [[x1,y1], [x2.y2], ...] just the inner lists are unravelled) + image_h and image_w is the image height and width respectively of the original image from which contour is taken + guide_heatmap is the same as described in `compute_guided_heat_map`, in this case only the pixels of the `guide_heatmap` will be considered which are + contained inside the contour + returns the heatmap for the mean of the pixels lying inside this contour + """ + + # get the latent pixel ids lying inside the contour + inner_pixs = self.inner_pixel_ids(pts, image_h, image_w) + # scale correction + inner_pixs = self.scale_correction(inner_pixs) + + if guide_heatmap is None: + return SelfPixelHeatMap(self.heat_maps[inner_pixs].mean(0)) + else: + # Finding out the inner_pixs' each pixel's weight as obtained from `guide_heatmap` + pix_weights = torch.tensor([guide_heatmap[pix_id // self.latent_w, pix_id % self.latent_w] for pix_id in inner_pixs])[:,None,None] + pix_weights = pix_weights.cpu() + heatmap = torch.zeros((self.latent_h, self.latent_w)).cpu() + for idx, pix_id in enumerate(inner_pixs): + heatmap += (self.heat_maps[pix_id] * pix_weights[idx]) + heatmap /= pix_weights.sum().item() + # return the weighted heatmap + return SelfPixelHeatMap(heatmap) + + def compute_segmentation_heat_map(self, + segments: Union[List[List[List[int]]], List[List[int]]], + image_h: int, image_w: int, + guide_heatmap: Optional[torch.tensor] = None) -> SelfPixelHeatMap: + """ + Pass in the list of contours like this [[x1,y1,x2,y2,....], [p1,q1,p2,q2,...], ..] or [[[x1,y1],[x2,y2],....], [[p1,q1],[p2,q2],...], ..] + This finds the mean heatmap for all the pixel heatmaps for the pixels lying inside each of these contours together. + segments: list of contours in the format explained above + image_h: the height of the image according to which the `segments` is provided + image_w: the width of the image according to which the `segments` is provided + guide_heatmap: the weighing scheme for all the pixels in the latent image while merging pixel heat maps + """ + segments_inner_pixs = list() + for segment in segments: + # Compute heatmap for inner pixels for contour boundary specified + segment_inner_pixs = self.inner_pixel_ids(segment, image_h, image_w) + + segments_inner_pixs.extend(segment_inner_pixs) + + # scale correction + segments_inner_pixs = self.scale_correction(segments_inner_pixs) + + if guide_heatmap is None: + return SelfPixelHeatMap(self.heat_maps[segments_inner_pixs].mean(0)) + else: + # Finding out the inner_pixs' each pixel's weight as obtained from `guide_heatmap` + pix_weights = torch.tensor([guide_heatmap[pix_id // self.latent_w, pix_id % self.latent_w] for pix_id in segments_inner_pixs])[:,None,None] + pix_weights = pix_weights.cpu() + heatmap = torch.zeros((self.latent_h, self.latent_w)).cpu() + for idx, pix_id in enumerate(segments_inner_pixs): + heatmap += (self.heat_maps[pix_id] * pix_weights[idx]) + heatmap /= pix_weights.sum().item() + # return the weighted heatmap + return SelfPixelHeatMap(heatmap) + + def compute_guided_heat_map(self, guide_heatmap: torch.tensor): + """ + For each pixel in the latent image we have one heatmap. Now, with a guiding heatmap + we can merge all these pixel heatmaps with a weighted average according to the weights + given to each pixel in the guiding heatmap. + + guide_heatmap: A guiding heatmap of the dimension of the latent image. It should be a 2D torch.tensor + """ + + # convert the latent 2d image from height.width x height x width to 1 x height.weight x height x width + # i.e. we add the batch dim + heat_maps2d = self.heat_maps[None, :].clone() + + # weight of the convolution layer that performs attention diffusion (making a copy to prevent changing the heatmap) + conv_weight = guide_heatmap.to(heat_maps2d.device).view(-1, self.latent_h * self.latent_w).clone()[:, :, None, None] + + # For getting weighted average after 1x1 Kernel convolution below + conv_weight /= conv_weight.sum(1, keepdims=True) + + # Since `Half` is not supported on cpu, if the dtype is `Half` we do the computation is cuda + if heat_maps2d.dtype == torch.float16 or conv_weight.dtype == torch.float16: + # Aggregating all the heatmaps using convolution operation i.e. weighted average using `guide_heatmap` weights + guided_heatmap = F.conv2d(heat_maps2d.cuda(), conv_weight.cuda())[0,0].cpu() + else: + # Aggregating all the heatmaps using convolution operation i.e. weighted average using `guide_heatmap` weights + guided_heatmap = F.conv2d(heat_maps2d, conv_weight)[0,0] + + return SelfPixelHeatMap(guided_heatmap.cpu() * guide_heatmap.cpu()) + + def compute_pixel_diffused_heat_map(self, + latent_pixel_id: int, + method: str = 'thresholding', + n_iter: int = 20, thresh: int = 0.02, + plot_intermediate: bool = False): + """ + For the given latent_pixel it iteratively reweights all the pixels of the image + based on the attention heatmap of this latent pixel. Now, for this updated + heatmap we use it to reweight again to generate refined heatmap. This is done for + `n_iter` number of iterations + latent_pixel_id: The latent pixel id from which the heatmap will be diffused throughout the latent image + method: Currently only has `thresholding` where at each step to remove the misguiding/noisy pixels to + prevent them from focussing/enhancing wrong heatmaps, we use simple thresholding + n_iter: For how many interations to refine the heatmap as described above + plot_itermediate: If the intermediate heatmaps need to plotted to show the evolutation + + """ + # epicenter is the start of the attention heatmap diffusion + epicenter = self.compute_pixel_heat_map(latent_pixel_id).heatmap + if plot_intermediate: + plt.imshow(epicenter) # Initial Pixel Heatmap + plt.show() + + if method == 'thresholding': + # We remove noisy pixels based on a threshold compared to the minimum attention weight + # By setting them to 0 + epicenter[epicenter < epicenter.min()+thresh] = 0 + # Iterating + for _ in range(n_iter): + epicenter = self.compute_guided_heat_map(epicenter).heatmap + if plot_intermediate: + plt.imshow(epicenter) + plt.show() + epicenter[epicenter < epicenter.min()+thresh] = 0 + + return SelfPixelHeatMap(epicenter) + + def compute_diffused_heat_map(self, + method: str = 'thresholding', + n_iter: int = 20, thresh: int = 0.02): + """ + For the entire latent image it iteratively reweights all the pixels of the image + based on the attention heatmap of each pixel. Now, for this updated + heatmaps we use it to reweight again to generate refined heatmaps. This is done for + `n_iter` number of iterations. Returns a SelfGlobalHeatMap collection of the attention diffused heatmaps for all pixels + method: Currently only has `thresholding` where at each step to remove the misguiding/noisy pixels to + prevent them from focussing/enhancing wrong heatmaps, we use simple thresholding + n_iter: For how many interations to refine the heatmap as described above + + """ + # convert the latent 2d image from height.width x height x weight to 1 x height.weight x height x weight + heat_maps2d = self.heat_maps[None, :].clone() + + # weight of the convolution layer that performs attention diffusion (making a copy to prevent changing the heatmap) + conv_weight = self.heat_maps.view(-1, self.latent_h * self.latent_w).clone()[:, :, None, None] + + if method == 'thresholding': + # We remove noisy pixels based on a threshold compared to the minimum attention weight + # By setting them to 0 + conv_weight[conv_weight < (torch.min(conv_weight, 1, keepdims=True)[0] + thresh)] = 0 + + # Iterating + for _ in tqdm(range(n_iter)): + # For getting weighted average after 1x1 Kernel convolution below + conv_weight /= conv_weight.sum(1, keepdims=True) + # Aggregating all the heatmaps (Maybe conv_weight as input image instead of heat_maps2d could give faster convergence? + # Need to use conv_weight corresponding to the updated heatmaps then) + conv_weight = F.conv2d(heat_maps2d, conv_weight)[0].view(self.heat_maps.shape[0], self.heat_maps.shape[0])[:, :, None, None] + # Cut off noisy values based on threshold + conv_weight[conv_weight < (torch.min(conv_weight, 1, keepdims=True)[0] + thresh)] = 0 + + return SelfGlobalHeatMap(conv_weight.view(self.heat_maps.shape[0], self.latent_h, self.latent_w), self.latent_h*self.latent_w) + + +RawHeatMapKey = Tuple[int] # layer + + +class SelfRawHeatMapCollection: + def __init__(self): + self.ids_to_heatmaps: Dict[RawHeatMapKey, torch.Tensor] = defaultdict(lambda: 0.0) + self.ids_to_num_maps: Dict[RawHeatMapKey, int] = defaultdict(lambda: 0) + self.device_type = None + + def update(self, layer_idx: int, heatmap: torch.Tensor): + if self.device_type is None: + self.device_type = heatmap.device.type + with auto_autocast(device_type=self.device_type, dtype=torch.float32): + key = (layer_idx) + # Instead of simple addition can we do something better ??? + self.ids_to_heatmaps[key] = self.ids_to_heatmaps[key] + heatmap + + def factors(self) -> Set[int]: + return set(key[0] for key in self.ids_to_heatmaps.keys()) + + def layers(self) -> Set[int]: + return set(key[1] for key in self.ids_to_heatmaps.keys()) + + def heads(self) -> Set[int]: + return set(key[2] for key in self.ids_to_heatmaps.keys()) + + def __iter__(self): + return iter(self.ids_to_heatmaps.items()) + + def clear(self): + self.ids_to_heatmaps.clear() + self.ids_to_num_maps.clear() \ No newline at end of file diff --git a/sam_aclip_pixart_sigma/transformer_2d.py b/sam_aclip_pixart_sigma/transformer_2d.py new file mode 100644 index 0000000..7873f01 --- /dev/null +++ b/sam_aclip_pixart_sigma/transformer_2d.py @@ -0,0 +1,635 @@ +# Copyright 2024 The HuggingFace Team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +from dataclasses import dataclass +from typing import Any, Dict, Optional, Union + +import torch +import torch.nn.functional as F +from torch import nn + +from diffusers.configuration_utils import ConfigMixin, register_to_config +from diffusers.utils import BaseOutput, deprecate, is_torch_version, logging + +from diffusers.models.attention import BasicTransformerBlock +from diffusers.models.embeddings import ImagePositionalEmbeddings, PatchEmbed, PixArtAlphaTextProjection +from diffusers.models.modeling_utils import ModelMixin +from diffusers.models.normalization import AdaLayerNormSingle + +from diffusers.models.attention_processor import AttentionProcessor + +logger = logging.get_logger(__name__) # pylint: disable=invalid-name # pylint: disable=invalid-name + + +@dataclass +class Transformer2DModelOutput(BaseOutput): + """ + The output of [`Transformer2DModel`]. + + Args: + sample (`torch.FloatTensor` of shape `(batch_size, num_channels, height, width)` or `(batch size, num_vector_embeds - 1, num_latent_pixels)` if [`Transformer2DModel`] is discrete): + The hidden states output conditioned on the `encoder_hidden_states` input. If discrete, returns probability + distributions for the unnoised latent pixels. + """ + + sample: torch.FloatTensor + + +class Transformer2DModel(ModelMixin, ConfigMixin): + """ + A 2D Transformer model for image-like data. + + Parameters: + num_attention_heads (`int`, *optional*, defaults to 16): The number of heads to use for multi-head attention. + attention_head_dim (`int`, *optional*, defaults to 88): The number of channels in each head. + in_channels (`int`, *optional*): + The number of channels in the input and output (specify if the input is **continuous**). + num_layers (`int`, *optional*, defaults to 1): The number of layers of Transformer blocks to use. + dropout (`float`, *optional*, defaults to 0.0): The dropout probability to use. + cross_attention_dim (`int`, *optional*): The number of `encoder_hidden_states` dimensions to use. + sample_size (`int`, *optional*): The width of the latent images (specify if the input is **discrete**). + This is fixed during training since it is used to learn a number of position embeddings. + num_vector_embeds (`int`, *optional*): + The number of classes of the vector embeddings of the latent pixels (specify if the input is **discrete**). + Includes the class for the masked latent pixel. + activation_fn (`str`, *optional*, defaults to `"geglu"`): Activation function to use in feed-forward. + num_embeds_ada_norm ( `int`, *optional*): + The number of diffusion steps used during training. Pass if at least one of the norm_layers is + `AdaLayerNorm`. This is fixed during training since it is used to learn a number of embeddings that are + added to the hidden states. + + During inference, you can denoise for up to but not more steps than `num_embeds_ada_norm`. + attention_bias (`bool`, *optional*): + Configure if the `TransformerBlocks` attention should contain a bias parameter. + """ + + _supports_gradient_checkpointing = True + _no_split_modules = ["BasicTransformerBlock"] + + @register_to_config + def __init__( + self, + num_attention_heads: int = 16, + attention_head_dim: int = 88, + in_channels: Optional[int] = None, + out_channels: Optional[int] = None, + num_layers: int = 1, + dropout: float = 0.0, + norm_num_groups: int = 32, + cross_attention_dim: Optional[int] = None, + attention_bias: bool = False, + sample_size: Optional[int] = None, + num_vector_embeds: Optional[int] = None, + patch_size: Optional[int] = None, + activation_fn: str = "geglu", + num_embeds_ada_norm: Optional[int] = None, + use_linear_projection: bool = False, + only_cross_attention: bool = False, + double_self_attention: bool = False, + upcast_attention: bool = False, + norm_type: str = "layer_norm", # 'layer_norm', 'ada_norm', 'ada_norm_zero', 'ada_norm_single', 'ada_norm_continuous', 'layer_norm_i2vgen' + norm_elementwise_affine: bool = True, + norm_eps: float = 1e-5, + attention_type: str = "default", + caption_channels: int = None, + interpolation_scale: float = None, + use_additional_conditions: Optional[bool] = None, + ): + super().__init__() + + # Validate inputs. + if patch_size is not None: + if norm_type not in ["ada_norm", "ada_norm_zero", "ada_norm_single"]: + raise NotImplementedError( + f"Forward pass is not implemented when `patch_size` is not None and `norm_type` is '{norm_type}'." + ) + elif norm_type in ["ada_norm", "ada_norm_zero"] and num_embeds_ada_norm is None: + raise ValueError( + f"When using a `patch_size` and this `norm_type` ({norm_type}), `num_embeds_ada_norm` cannot be None." + ) + + # Set some common variables used across the board. + self.use_linear_projection = use_linear_projection + self.interpolation_scale = interpolation_scale + self.caption_channels = caption_channels + self.num_attention_heads = num_attention_heads + self.attention_head_dim = attention_head_dim + self.inner_dim = self.config.num_attention_heads * self.config.attention_head_dim + self.in_channels = in_channels + self.out_channels = in_channels if out_channels is None else out_channels + self.gradient_checkpointing = False + if use_additional_conditions is None: + if norm_type == "ada_norm_single" and sample_size == 128: + use_additional_conditions = True + else: + use_additional_conditions = False + self.use_additional_conditions = use_additional_conditions + + # 1. Transformer2DModel can process both standard continuous images of shape `(batch_size, num_channels, width, height)` as well as quantized image embeddings of shape `(batch_size, num_image_vectors)` + # Define whether input is continuous or discrete depending on configuration + self.is_input_continuous = (in_channels is not None) and (patch_size is None) + self.is_input_vectorized = num_vector_embeds is not None + self.is_input_patches = in_channels is not None and patch_size is not None + + if norm_type == "layer_norm" and num_embeds_ada_norm is not None: + deprecation_message = ( + f"The configuration file of this model: {self.__class__} is outdated. `norm_type` is either not set or" + " incorrectly set to `'layer_norm'`. Make sure to set `norm_type` to `'ada_norm'` in the config." + " Please make sure to update the config accordingly as leaving `norm_type` might led to incorrect" + " results in future versions. If you have downloaded this checkpoint from the Hugging Face Hub, it" + " would be very nice if you could open a Pull request for the `transformer/config.json` file" + ) + deprecate("norm_type!=num_embeds_ada_norm", "1.0.0", deprecation_message, standard_warn=False) + norm_type = "ada_norm" + + if self.is_input_continuous and self.is_input_vectorized: + raise ValueError( + f"Cannot define both `in_channels`: {in_channels} and `num_vector_embeds`: {num_vector_embeds}. Make" + " sure that either `in_channels` or `num_vector_embeds` is None." + ) + elif self.is_input_vectorized and self.is_input_patches: + raise ValueError( + f"Cannot define both `num_vector_embeds`: {num_vector_embeds} and `patch_size`: {patch_size}. Make" + " sure that either `num_vector_embeds` or `num_patches` is None." + ) + elif not self.is_input_continuous and not self.is_input_vectorized and not self.is_input_patches: + raise ValueError( + f"Has to define `in_channels`: {in_channels}, `num_vector_embeds`: {num_vector_embeds}, or patch_size:" + f" {patch_size}. Make sure that `in_channels`, `num_vector_embeds` or `num_patches` is not None." + ) + + # 2. Initialize the right blocks. + # These functions follow a common structure: + # a. Initialize the input blocks. b. Initialize the transformer blocks. + # c. Initialize the output blocks and other projection blocks when necessary. + if self.is_input_continuous: + self._init_continuous_input(norm_type=norm_type) + elif self.is_input_vectorized: + self._init_vectorized_inputs(norm_type=norm_type) + elif self.is_input_patches: + self._init_patched_inputs(norm_type=norm_type) + + def _init_continuous_input(self, norm_type): + self.norm = torch.nn.GroupNorm( + num_groups=self.config.norm_num_groups, num_channels=self.in_channels, eps=1e-6, affine=True + ) + if self.use_linear_projection: + self.proj_in = torch.nn.Linear(self.in_channels, self.inner_dim) + else: + self.proj_in = torch.nn.Conv2d(self.in_channels, self.inner_dim, kernel_size=1, stride=1, padding=0) + + self.transformer_blocks = nn.ModuleList( + [ + BasicTransformerBlock( + self.inner_dim, + self.config.num_attention_heads, + self.config.attention_head_dim, + dropout=self.config.dropout, + cross_attention_dim=self.config.cross_attention_dim, + activation_fn=self.config.activation_fn, + num_embeds_ada_norm=self.config.num_embeds_ada_norm, + attention_bias=self.config.attention_bias, + only_cross_attention=self.config.only_cross_attention, + double_self_attention=self.config.double_self_attention, + upcast_attention=self.config.upcast_attention, + norm_type=norm_type, + norm_elementwise_affine=self.config.norm_elementwise_affine, + norm_eps=self.config.norm_eps, + attention_type=self.config.attention_type, + ) + for _ in range(self.config.num_layers) + ] + ) + + if self.use_linear_projection: + self.proj_out = torch.nn.Linear(self.inner_dim, self.out_channels) + else: + self.proj_out = torch.nn.Conv2d(self.inner_dim, self.out_channels, kernel_size=1, stride=1, padding=0) + + def _init_vectorized_inputs(self, norm_type): + assert self.config.sample_size is not None, "Transformer2DModel over discrete input must provide sample_size" + assert ( + self.config.num_vector_embeds is not None + ), "Transformer2DModel over discrete input must provide num_embed" + + self.height = self.config.sample_size + self.width = self.config.sample_size + self.num_latent_pixels = self.height * self.width + + self.latent_image_embedding = ImagePositionalEmbeddings( + num_embed=self.config.num_vector_embeds, embed_dim=self.inner_dim, height=self.height, width=self.width + ) + + self.transformer_blocks = nn.ModuleList( + [ + BasicTransformerBlock( + self.inner_dim, + self.config.num_attention_heads, + self.config.attention_head_dim, + dropout=self.config.dropout, + cross_attention_dim=self.config.cross_attention_dim, + activation_fn=self.config.activation_fn, + num_embeds_ada_norm=self.config.num_embeds_ada_norm, + attention_bias=self.config.attention_bias, + only_cross_attention=self.config.only_cross_attention, + double_self_attention=self.config.double_self_attention, + upcast_attention=self.config.upcast_attention, + norm_type=norm_type, + norm_elementwise_affine=self.config.norm_elementwise_affine, + norm_eps=self.config.norm_eps, + attention_type=self.config.attention_type, + ) + for _ in range(self.config.num_layers) + ] + ) + + self.norm_out = nn.LayerNorm(self.inner_dim) + self.out = nn.Linear(self.inner_dim, self.config.num_vector_embeds - 1) + + def _init_patched_inputs(self, norm_type): + assert self.config.sample_size is not None, "Transformer2DModel over patched input must provide sample_size" + + self.height = self.config.sample_size + self.width = self.config.sample_size + + self.patch_size = self.config.patch_size + interpolation_scale = ( + self.config.interpolation_scale + if self.config.interpolation_scale is not None + else max(self.config.sample_size // 64, 1) + ) + self.pos_embed = PatchEmbed( + height=self.config.sample_size, + width=self.config.sample_size, + patch_size=self.config.patch_size, + in_channels=self.in_channels, + embed_dim=self.inner_dim, + interpolation_scale=interpolation_scale, + ) + + self.transformer_blocks = nn.ModuleList( + [ + BasicTransformerBlock( + self.inner_dim, + self.config.num_attention_heads, + self.config.attention_head_dim, + dropout=self.config.dropout, + cross_attention_dim=self.config.cross_attention_dim, + activation_fn=self.config.activation_fn, + num_embeds_ada_norm=self.config.num_embeds_ada_norm, + attention_bias=self.config.attention_bias, + only_cross_attention=self.config.only_cross_attention, + double_self_attention=self.config.double_self_attention, + upcast_attention=self.config.upcast_attention, + norm_type=norm_type, + norm_elementwise_affine=self.config.norm_elementwise_affine, + norm_eps=self.config.norm_eps, + attention_type=self.config.attention_type, + ) + for _ in range(self.config.num_layers) + ] + ) + + if self.config.norm_type != "ada_norm_single": + self.norm_out = nn.LayerNorm(self.inner_dim, elementwise_affine=False, eps=1e-6) + self.proj_out_1 = nn.Linear(self.inner_dim, 2 * self.inner_dim) + self.proj_out_2 = nn.Linear( + self.inner_dim, self.config.patch_size * self.config.patch_size * self.out_channels + ) + elif self.config.norm_type == "ada_norm_single": + self.norm_out = nn.LayerNorm(self.inner_dim, elementwise_affine=False, eps=1e-6) + self.scale_shift_table = nn.Parameter(torch.randn(2, self.inner_dim) / self.inner_dim**0.5) + self.proj_out = nn.Linear( + self.inner_dim, self.config.patch_size * self.config.patch_size * self.out_channels + ) + + # PixArt-Alpha blocks. + self.adaln_single = None + if self.config.norm_type == "ada_norm_single": + # TODO(Sayak, PVP) clean this, for now we use sample size to determine whether to use + # additional conditions until we find better name + self.adaln_single = AdaLayerNormSingle( + self.inner_dim, use_additional_conditions=self.use_additional_conditions + ) + + self.caption_projection = None + if self.caption_channels is not None: + self.caption_projection = PixArtAlphaTextProjection( + in_features=self.caption_channels, hidden_size=self.inner_dim + ) + + def _set_gradient_checkpointing(self, module, value=False): + if hasattr(module, "gradient_checkpointing"): + module.gradient_checkpointing = value + + # from https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/unets/unet_2d_condition.py#L693 + @property + def attn_processors(self) -> Dict[str, AttentionProcessor]: + r""" + Returns: + `dict` of attention processors: A dictionary containing all attention processors used in the model with + indexed by its weight name. + """ + # set recursively + processors = {} + + def fn_recursive_add_processors(name: str, module: torch.nn.Module, + processors: Dict[str, AttentionProcessor]): + if hasattr(module, "get_processor"): + processors[f"{name}.processor"] = module.get_processor(return_deprecated_lora=True) + + for sub_name, child in module.named_children(): + fn_recursive_add_processors(f"{name}.{sub_name}", child, processors) + + return processors + + for name, module in self.named_children(): + fn_recursive_add_processors(name, module, processors) + + return processors + + # from https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/unets/unet_2d_condition.py#L716 + def set_attn_processor(self, processor: Union[AttentionProcessor, Dict[str, AttentionProcessor]]): + r""" + Sets the attention processor to use to compute attention. + + Parameters: + processor (`dict` of `AttentionProcessor` or only `AttentionProcessor`): + The instantiated processor class or a dictionary of processor classes that will be set as the processor + for **all** `Attention` layers. + + If `processor` is a dict, the key needs to define the path to the corresponding cross attention + processor. This is strongly recommended when setting trainable attention processors. + + """ + count = len(self.attn_processors.keys()) + + if isinstance(processor, dict) and len(processor) != count: + raise ValueError( + f"A dict of processors was passed, but the number of processors {len(processor)} does not match the" + f" number of attention layers: {count}. Please make sure to pass {count} processor classes." + ) + + def fn_recursive_attn_processor(name: str, module: torch.nn.Module, processor): + if hasattr(module, "set_processor"): + if not isinstance(processor, dict): + module.set_processor(processor) + else: + module.set_processor(processor.pop(f"{name}.processor")) + + for sub_name, child in module.named_children(): + fn_recursive_attn_processor(f"{name}.{sub_name}", child, processor) + + for name, module in self.named_children(): + fn_recursive_attn_processor(name, module, processor) + + def forward( + self, + hidden_states: torch.Tensor, + encoder_hidden_states: Optional[torch.Tensor] = None, + timestep: Optional[torch.LongTensor] = None, + added_cond_kwargs: Dict[str, torch.Tensor] = None, + class_labels: Optional[torch.LongTensor] = None, + cross_attention_kwargs: Dict[str, Any] = None, + attention_mask: Optional[torch.Tensor] = None, + encoder_attention_mask: Optional[torch.Tensor] = None, + return_dict: bool = True, + ): + """ + The [`Transformer2DModel`] forward method. + + Args: + hidden_states (`torch.LongTensor` of shape `(batch size, num latent pixels)` if discrete, `torch.FloatTensor` of shape `(batch size, channel, height, width)` if continuous): + Input `hidden_states`. + encoder_hidden_states ( `torch.FloatTensor` of shape `(batch size, sequence len, embed dims)`, *optional*): + Conditional embeddings for cross attention layer. If not given, cross-attention defaults to + self-attention. + timestep ( `torch.LongTensor`, *optional*): + Used to indicate denoising step. Optional timestep to be applied as an embedding in `AdaLayerNorm`. + class_labels ( `torch.LongTensor` of shape `(batch size, num classes)`, *optional*): + Used to indicate class labels conditioning. Optional class labels to be applied as an embedding in + `AdaLayerZeroNorm`. + cross_attention_kwargs ( `Dict[str, Any]`, *optional*): + A kwargs dictionary that if specified is passed along to the `AttentionProcessor` as defined under + `self.processor` in + [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py). + attention_mask ( `torch.Tensor`, *optional*): + An attention mask of shape `(batch, key_tokens)` is applied to `encoder_hidden_states`. If `1` the mask + is kept, otherwise if `0` it is discarded. Mask will be converted into a bias, which adds large + negative values to the attention scores corresponding to "discard" tokens. + encoder_attention_mask ( `torch.Tensor`, *optional*): + Cross-attention mask applied to `encoder_hidden_states`. Two formats supported: + + * Mask `(batch, sequence_length)` True = keep, False = discard. + * Bias `(batch, 1, sequence_length)` 0 = keep, -10000 = discard. + + If `ndim == 2`: will be interpreted as a mask, then converted into a bias consistent with the format + above. This bias will be added to the cross-attention scores. + return_dict (`bool`, *optional*, defaults to `True`): + Whether or not to return a [`~models.unets.unet_2d_condition.UNet2DConditionOutput`] instead of a plain + tuple. + + Returns: + If `return_dict` is True, an [`~models.transformer_2d.Transformer2DModelOutput`] is returned, otherwise a + `tuple` where the first element is the sample tensor. + """ + if cross_attention_kwargs is not None: + if cross_attention_kwargs.get("scale", None) is not None: + logger.warning("Passing `scale` to `cross_attention_kwargs` is deprecated. `scale` will be ignored.") + # ensure attention_mask is a bias, and give it a singleton query_tokens dimension. + # we may have done this conversion already, e.g. if we came here via UNet2DConditionModel#forward. + # we can tell by counting dims; if ndim == 2: it's a mask rather than a bias. + # expects mask of shape: + # [batch, key_tokens] + # adds singleton query_tokens dimension: + # [batch, 1, key_tokens] + # this helps to broadcast it as a bias over attention scores, which will be in one of the following shapes: + # [batch, heads, query_tokens, key_tokens] (e.g. torch sdp attn) + # [batch * heads, query_tokens, key_tokens] (e.g. xformers or classic attn) + if attention_mask is not None and attention_mask.ndim == 2: + # assume that mask is expressed as: + # (1 = keep, 0 = discard) + # convert mask into a bias that can be added to attention scores: + # (keep = +0, discard = -10000.0) + attention_mask = (1 - attention_mask.to(hidden_states.dtype)) * -10000.0 + attention_mask = attention_mask.unsqueeze(1) + + # convert encoder_attention_mask to a bias the same way we do for attention_mask + if encoder_attention_mask is not None and encoder_attention_mask.ndim == 2: + encoder_attention_mask = (1 - encoder_attention_mask.to(hidden_states.dtype)) * -10000.0 + encoder_attention_mask = encoder_attention_mask.unsqueeze(1) + + # 1. Input + if self.is_input_continuous: + batch_size, _, height, width = hidden_states.shape + residual = hidden_states + hidden_states, inner_dim = self._operate_on_continuous_inputs(hidden_states) + elif self.is_input_vectorized: + hidden_states = self.latent_image_embedding(hidden_states) + elif self.is_input_patches: + height, width = hidden_states.shape[-2] // self.patch_size, hidden_states.shape[-1] // self.patch_size + hidden_states, encoder_hidden_states, timestep, embedded_timestep = self._operate_on_patched_inputs( + hidden_states, encoder_hidden_states, timestep, added_cond_kwargs + ) + + # 2. Blocks + for block in self.transformer_blocks: + if self.training and self.gradient_checkpointing: + + def create_custom_forward(module, return_dict=None): + def custom_forward(*inputs): + if return_dict is not None: + return module(*inputs, return_dict=return_dict) + else: + return module(*inputs) + + return custom_forward + + ckpt_kwargs: Dict[str, Any] = {"use_reentrant": False} if is_torch_version(">=", "1.11.0") else {} + hidden_states = torch.utils.checkpoint.checkpoint( + create_custom_forward(block), + hidden_states, + attention_mask, + encoder_hidden_states, + encoder_attention_mask, + timestep, + cross_attention_kwargs, + class_labels, + **ckpt_kwargs, + ) + else: + hidden_states = block( + hidden_states, + attention_mask=attention_mask, + encoder_hidden_states=encoder_hidden_states, + encoder_attention_mask=encoder_attention_mask, + timestep=timestep, + cross_attention_kwargs=cross_attention_kwargs, + class_labels=class_labels, + ) + + # 3. Output + if self.is_input_continuous: + output = self._get_output_for_continuous_inputs( + hidden_states=hidden_states, + residual=residual, + batch_size=batch_size, + height=height, + width=width, + inner_dim=inner_dim, + ) + elif self.is_input_vectorized: + output = self._get_output_for_vectorized_inputs(hidden_states) + elif self.is_input_patches: + output = self._get_output_for_patched_inputs( + hidden_states=hidden_states, + timestep=timestep, + class_labels=class_labels, + embedded_timestep=embedded_timestep, + height=height, + width=width, + ) + + if not return_dict: + return (output,) + + return Transformer2DModelOutput(sample=output) + + def _operate_on_continuous_inputs(self, hidden_states): + batch, _, height, width = hidden_states.shape + hidden_states = self.norm(hidden_states) + + if not self.use_linear_projection: + hidden_states = self.proj_in(hidden_states) + inner_dim = hidden_states.shape[1] + hidden_states = hidden_states.permute(0, 2, 3, 1).reshape(batch, height * width, inner_dim) + else: + inner_dim = hidden_states.shape[1] + hidden_states = hidden_states.permute(0, 2, 3, 1).reshape(batch, height * width, inner_dim) + hidden_states = self.proj_in(hidden_states) + + return hidden_states, inner_dim + + def _operate_on_patched_inputs(self, hidden_states, encoder_hidden_states, timestep, added_cond_kwargs): + batch_size = hidden_states.shape[0] + hidden_states = self.pos_embed(hidden_states) + embedded_timestep = None + + if self.adaln_single is not None: + if self.use_additional_conditions and added_cond_kwargs is None: + raise ValueError( + "`added_cond_kwargs` cannot be None when using additional conditions for `adaln_single`." + ) + timestep, embedded_timestep = self.adaln_single( + timestep, added_cond_kwargs, batch_size=batch_size, hidden_dtype=hidden_states.dtype + ) + + if self.caption_projection is not None: + encoder_hidden_states = self.caption_projection(encoder_hidden_states) + encoder_hidden_states = encoder_hidden_states.view(batch_size, -1, hidden_states.shape[-1]) + + return hidden_states, encoder_hidden_states, timestep, embedded_timestep + + def _get_output_for_continuous_inputs(self, hidden_states, residual, batch_size, height, width, inner_dim): + if not self.use_linear_projection: + hidden_states = ( + hidden_states.reshape(batch_size, height, width, inner_dim).permute(0, 3, 1, 2).contiguous() + ) + hidden_states = self.proj_out(hidden_states) + else: + hidden_states = self.proj_out(hidden_states) + hidden_states = ( + hidden_states.reshape(batch_size, height, width, inner_dim).permute(0, 3, 1, 2).contiguous() + ) + + output = hidden_states + residual + return output + + def _get_output_for_vectorized_inputs(self, hidden_states): + hidden_states = self.norm_out(hidden_states) + logits = self.out(hidden_states) + # (batch, self.num_vector_embeds - 1, self.num_latent_pixels) + logits = logits.permute(0, 2, 1) + # log(p(x_0)) + output = F.log_softmax(logits.double(), dim=1).float() + return output + + def _get_output_for_patched_inputs( + self, hidden_states, timestep, class_labels, embedded_timestep, height=None, width=None + ): + if self.config.norm_type != "ada_norm_single": + conditioning = self.transformer_blocks[0].norm1.emb( + timestep, class_labels, hidden_dtype=hidden_states.dtype + ) + shift, scale = self.proj_out_1(F.silu(conditioning)).chunk(2, dim=1) + hidden_states = self.norm_out(hidden_states) * (1 + scale[:, None]) + shift[:, None] + hidden_states = self.proj_out_2(hidden_states) + elif self.config.norm_type == "ada_norm_single": + shift, scale = (self.scale_shift_table[None] + embedded_timestep[:, None]).chunk(2, dim=1) + hidden_states = self.norm_out(hidden_states) + # Modulation + hidden_states = hidden_states * (1 + scale) + shift + hidden_states = self.proj_out(hidden_states) + hidden_states = hidden_states.squeeze(1) + + # unpatchify + if self.adaln_single is None: + height = width = int(hidden_states.shape[1] ** 0.5) + hidden_states = hidden_states.reshape( + shape=(-1, height, width, self.patch_size, self.patch_size, self.out_channels) + ) + hidden_states = torch.einsum("nhwpqc->nchpwq", hidden_states) + output = hidden_states.reshape( + shape=(-1, self.out_channels, height * self.patch_size, width * self.patch_size) + ) + return output \ No newline at end of file diff --git a/sam_aclip_pixart_sigma/trimap.py b/sam_aclip_pixart_sigma/trimap.py new file mode 100644 index 0000000..b987e9c --- /dev/null +++ b/sam_aclip_pixart_sigma/trimap.py @@ -0,0 +1,34 @@ +import numpy as np +import torch +import torch.nn.functional as F + + +def compute_trimap_(attention_maps, image_size, sure_fg_threshold, maybe_bg_threshold): + sure_fg_full_mask = torch.zeros((image_size, image_size), dtype=torch.uint8) + unsure = torch.zeros((image_size, image_size), dtype=torch.uint8) + sure_bg_full_mask = torch.zeros((image_size, image_size), dtype=torch.uint8) + for attention_map in attention_maps: + attention_map = F.interpolate( + attention_map[None, None, :, :].float(), size=(image_size, image_size), mode='bicubic')[0, 0] + + threshold_sure_fg = sure_fg_threshold * attention_map.max() + threshold_maybe_bg = maybe_bg_threshold * attention_map.max() + sure_fg_full_mask += (attention_map > threshold_sure_fg) + unsure += ((attention_map > maybe_bg_threshold) & (attention_map <= threshold_sure_fg)) + sure_bg_full_mask += (attention_map <= threshold_maybe_bg) + + mask = torch.zeros((image_size, image_size), dtype=torch.uint8) + mask = torch.where(sure_bg_full_mask, 255, mask) + mask = torch.where(unsure, 128, mask) + mask = torch.where(sure_fg_full_mask, 0, mask) + return mask + + +def compute_trimap(attention_maps, image_size, sure_fg_threshold, maybe_bg_threshold): + if isinstance(attention_maps, list): + masks = [ + compute_trimap_(attention_map, image_size, sure_fg_threshold, maybe_bg_threshold) for attention_map in + attention_maps] + return torch.stack(masks) + else: + return compute_trimap_(attention_maps, image_size, sure_fg_threshold, maybe_bg_threshold)[None] diff --git a/sam_aclip_pixart_sigma/utils.py b/sam_aclip_pixart_sigma/utils.py new file mode 100644 index 0000000..ca09a89 --- /dev/null +++ b/sam_aclip_pixart_sigma/utils.py @@ -0,0 +1,120 @@ +from functools import lru_cache +from pathlib import Path +import os +import sys +import random +from typing import TypeVar + +import PIL.Image +import matplotlib.pyplot as plt +import numpy as np +import torch +import torch.nn.functional as F + + +__all__ = ['set_seed', 'plot_mask_heat_map', 'auto_device', 'auto_autocast'] + + +T = TypeVar('T') + + +from functools import lru_cache +from pathlib import Path +import os +import sys +import random +from typing import TypeVar + +import PIL.Image +import matplotlib.pyplot as plt +import numpy as np +import spacy +import torch +import torch.nn.functional as F + + +__all__ = ['set_seed', 'compute_token_merge_indices', 'plot_mask_heat_map', 'cached_nlp', 'auto_device', 'auto_autocast'] + + +T = TypeVar('T') + + +def auto_device(obj: T = torch.device('cpu')) -> T: + if isinstance(obj, torch.device): + return torch.device('cuda' if torch.cuda.is_available() else 'cpu') + + if torch.cuda.is_available(): + return obj.to('cuda') + + return obj + + +def auto_autocast(*args, **kwargs): + if not torch.cuda.is_available(): + kwargs['enabled'] = False + + return torch.autocast(*args, **kwargs) + + +def plot_mask_heat_map(im: PIL.Image.Image, heat_map: torch.Tensor, threshold: float = 0.4): + im = torch.from_numpy(np.array(im)).float() / 255 + mask = (heat_map.squeeze() > threshold).float() + im = im * mask.unsqueeze(-1) + plt.imshow(im) + + +def normalize_masks(x: torch.Tensor): + return (x - x.min()) / (x.max() - x.min()) + + +def set_seed(seed: int) -> torch.Generator: + random.seed(seed) + np.random.seed(seed) + torch.manual_seed(seed) + torch.cuda.manual_seed_all(seed) + + gen = torch.Generator(device=auto_device()) + gen.manual_seed(seed) + + return gen + + +def compute_token_merge_indices(tokenizer, prompt: str, word: str): + merge_idxs = [] + tokens = tokenizer.tokenize(prompt.lower()) + tokens = [x.replace('', '') for x in tokens] # New tokenizer uses wordpiece markers. + + search_tokens = [x.replace('', '') for x in tokenizer.tokenize(word.lower())] # New tokenizer uses wordpiece markers. + start_indices = [x for x in range(len(tokens)) if tokens[x:x + len(search_tokens)] == search_tokens] + + for indice in start_indices: + merge_idxs += [i + indice for i in range(0, len(search_tokens))] + + if not merge_idxs: + prompt = prompt.replace('"', '') + tokens = [x.replace('', '') for x in tokenizer.tokenize(prompt.lower())] # New tokenizer uses wordpiece markers. + start_indices = [x for x in range(len(tokens)) if tokens[x:x + len(search_tokens)] == search_tokens] + for indice in start_indices: + merge_idxs += [i + indice for i in range(0, len(search_tokens))] + if not merge_idxs: + raise ValueError(f'Search word {word} not found in prompt!') + + return [x for x in merge_idxs] + + +nlp = None + + +@lru_cache(maxsize=100000) +def cached_nlp(prompt: str, type='en_core_web_md'): + global nlp + + if nlp is None: + try: + nlp = spacy.load(type) + except OSError: + import os + os.system(f'python -m spacy download {type}') + nlp = spacy.load(type) + + return nlp(prompt) diff --git a/sam_llava/filtered_nouns_sam_llava_len3000.json b/sam_llava/filtered_nouns_sam_llava_len3000.json new file mode 100644 index 0000000..b83c750 --- /dev/null +++ b/sam_llava/filtered_nouns_sam_llava_len3000.json @@ -0,0 +1,12002 @@ +[ + { + "__key__": "sa_6074665", + "txt": "a beach scene with a large crowd of people gathered on the sand" + }, + { + "__key__": "sa_5542627", + "txt": "a black and white photograph featuring a row of old wooden benches" + }, + { + "__key__": "sa_4638391", + "txt": "a storefront with a red and white striped awning, giving it a festive and charming appearance" + }, + { + "__key__": "sa_703235", + "txt": "a pair of large white and red trucks parked next to each other in a parking lot" + }, + { + "__key__": "sa_4563386", + "txt": "a tall building, likely a skyscraper, with a palm tree in front of it" + }, + { + "__key__": "sa_175416", + "txt": "a large, open-air theater with a large crowd of people gathered outside" + }, + { + "__key__": "sa_6992949", + "txt": "a close-up of several Canadian twenty-dollar bills, each with a portrait of Queen Elizabeth II on them" + }, + { + "__key__": "sa_8101484", + "txt": "a cluttered and colorful closet filled with various items, including clothes, shoes, and accessories" + }, + { + "__key__": "sa_7162768", + "txt": "a busy street scene with a group of people walking down the street, surrounded by various items and objects" + }, + { + "__key__": "sa_1352655", + "txt": "a large statue of the Statue of Liberty, which is a famous symbol of freedom and democracy" + }, + { + "__key__": "sa_616394", + "txt": "a large group of people swimming in the ocean, with many of them carrying surfboards" + }, + { + "__key__": "sa_4815221", + "txt": "two men standing next to each other on a street, with one of them wearing a helmet" + }, + { + "__key__": "sa_544993", + "txt": "a large building with a tower, which is a cell tower" + }, + { + "__key__": "sa_6141470", + "txt": "a well-organized and neatly arranged display of men's clothing, including ties, socks, and other accessories" + }, + { + "__key__": "sa_7176344", + "txt": "two boats docked at a marina, with one boat being a large fishing boat and the other being a smaller boat" + }, + { + "__key__": "sa_441575", + "txt": "a black and white photograph of a parking lot filled with cars, taken from an aerial perspective" + }, + { + "__key__": "sa_7206839", + "txt": "a black and white photograph of a large, ornate golden temple with a dome and a steeple" + }, + { + "__key__": "sa_5722662", + "txt": "a small, old-fashioned postage stamp with a purple and gold design" + }, + { + "__key__": "sa_7431957", + "txt": "a large, old, and abandoned stone building with a tall tower, which appears to be a castle" + }, + { + "__key__": "sa_7739985", + "txt": "a large building with a red and white sign on its side, which is a Rogers Centre" + }, + { + "__key__": "sa_7517951", + "txt": "a black and white photograph of a cemetery, featuring rows of white crosses on a grassy field" + }, + { + "__key__": "sa_4994559", + "txt": "two women wearing colorful outfits and holding colorful umbrellas" + }, + { + "__key__": "sa_7037433", + "txt": "a close-up view of a tree with lit candles placed around its branches" + }, + { + "__key__": "sa_4375922", + "txt": "a large white balloon with the words \"Yes I Will\" written on it, which is being flown in the sky" + }, + { + "__key__": "sa_4682967", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_5349065", + "txt": "a man singing into a microphone, with a crowd of people watching him" + }, + { + "__key__": "sa_6063661", + "txt": "a lush green forest with a stream running through it" + }, + { + "__key__": "sa_5502929", + "txt": "a large crowd of people gathered in a field, standing and holding up signs" + }, + { + "__key__": "sa_5494198", + "txt": "a black and white photograph of a harbor filled with boats, including sailboats and yachts" + }, + { + "__key__": "sa_6482871", + "txt": "a close-up of a post or a pole with a sign attached to it" + }, + { + "__key__": "sa_1400095", + "txt": "a large outdoor restaurant with a patio area, where people are seated at tables and enjoying their meals" + }, + { + "__key__": "sa_489097", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_6729758", + "txt": "a lush green bush with lots of small green berries, which are likely to be edible" + }, + { + "__key__": "sa_1716492", + "txt": "a large crowd of people gathered together in a public area, with many of them holding signs" + }, + { + "__key__": "sa_7937781", + "txt": "a woman dressed as Spider-Man, wearing a black and white costume and a mask" + }, + { + "__key__": "sa_5241819", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_1248748", + "txt": "an old, abandoned building with a distinctive architectural style" + }, + { + "__key__": "sa_5791306", + "txt": "a close-up of a display of red and gold-colored Japanese dolls or masks, which are placed on a red cloth" + }, + { + "__key__": "sa_1138719", + "txt": "a large Christmas tree with a lit-up star on top, surrounded by a crowd of people" + }, + { + "__key__": "sa_5653319", + "txt": "a large, open storefront with a sign that reads \"Sears" + }, + { + "__key__": "sa_5543257", + "txt": "two men standing under a blue and white canopy, with one of them wearing a hat" + }, + { + "__key__": "sa_5078822", + "txt": "a black and white photograph featuring a group of people sitting on a train" + }, + { + "__key__": "sa_6729638", + "txt": "a large garden with a variety of vases and pots, some of which are placed on a stone pedestal" + }, + { + "__key__": "sa_6482978", + "txt": "a stone sign with the words \"Forest Hills Gardens\" written on it" + }, + { + "__key__": "sa_5767944", + "txt": "a jar of Vlasic Sweet Relish, which is a condiment made from pickles" + }, + { + "__key__": "sa_1284351", + "txt": "a large, ornate cathedral with a red carpeted floor" + }, + { + "__key__": "sa_7701118", + "txt": "a large, ornate, and green sign with a green and white design" + }, + { + "__key__": "sa_6618443", + "txt": "a large crowd of people gathered in a public square, with many of them holding up signs" + }, + { + "__key__": "sa_4353357", + "txt": "a large pile of cheese, with various types and sizes of cheese stacked on top of each other" + }, + { + "__key__": "sa_5069757", + "txt": "a painting of two women standing next to each other, with one of them holding a cat" + }, + { + "__key__": "sa_7129504", + "txt": "a large, two-story house with a white exterior and a black roof" + }, + { + "__key__": "sa_478856", + "txt": "a man sitting at a table, surrounded by various items such as books, magazines, and a laptop" + }, + { + "__key__": "sa_4729412", + "txt": "a close-up view of a subway station sign, which is painted in red and white colors" + }, + { + "__key__": "sa_4303866", + "txt": "a man holding a sign that reads \"Stop Killing People\" while standing in a crowd of people" + }, + { + "__key__": "sa_6703090", + "txt": "a storefront with a large sign that reads \"Aldo" + }, + { + "__key__": "sa_7211937", + "txt": "a large metal rack filled with clothing, including various types of shirts and dresses" + }, + { + "__key__": "sa_5427534", + "txt": "a large sign with the words \"Courtyard by Marriott\" displayed on it" + }, + { + "__key__": "sa_6503494", + "txt": "a tree with a lot of dead branches, which have been stripped of their leaves" + }, + { + "__key__": "sa_6852505", + "txt": "a close-up of a large American flag, which is waving in the wind" + }, + { + "__key__": "sa_5910252", + "txt": "a large crowd of people gathered in a public area, holding signs and banners" + }, + { + "__key__": "sa_4283973", + "txt": "a black and white photograph of a busy street filled with cars, buses, and other vehicles" + }, + { + "__key__": "sa_5961439", + "txt": "a large group of people gathered in a public square, wearing national costumes and waving flags" + }, + { + "__key__": "sa_7712638", + "txt": "a picturesque harbor filled with many boats, including sailboats and yachts, docked in a marina" + }, + { + "__key__": "sa_6132051", + "txt": "a group of people running down a sidewalk, with some of them wearing numbers" + }, + { + "__key__": "sa_7737067", + "txt": "a large crowd of people gathered in a public space, with some of them holding signs and placards" + }, + { + "__key__": "sa_1373195", + "txt": "a black and white photo of a group of people on a snowy mountain, with some of them wearing bikinis" + }, + { + "__key__": "sa_5460898", + "txt": "a group of people sitting around a dining table, which is covered with a blue tablecloth" + }, + { + "__key__": "sa_1531556", + "txt": "two women, one of whom is holding a Louis Vuitton bag, and they are hugging each other" + }, + { + "__key__": "sa_6031304", + "txt": "a modern and stylish kitchen with a clean and minimalist design" + }, + { + "__key__": "sa_4782305", + "txt": "a storefront with a large sign that reads \"Coop Market" + }, + { + "__key__": "sa_4578173", + "txt": "a group of people gathered on a pier, with some of them playing musical instruments" + }, + { + "__key__": "sa_1161769", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_7721126", + "txt": "a train traveling down the tracks in a rural countryside setting" + }, + { + "__key__": "sa_4936380", + "txt": "a large, two-story building with a white exterior, a black roof, and a balcony" + }, + { + "__key__": "sa_7446063", + "txt": "a woman wearing a red, white, and blue dress, which is a patriotic outfit" + }, + { + "__key__": "sa_7115454", + "txt": "a group of people, including children, dressed in traditional costumes and holding musical instruments" + }, + { + "__key__": "sa_475752", + "txt": "a storefront with a green awning, which is the front of a store" + }, + { + "__key__": "sa_4764770", + "txt": "two men, one wearing a blue uniform and the other wearing a black uniform, riding horses in a park" + }, + { + "__key__": "sa_5494000", + "txt": "a beach scene with a row of small boats, including canoes and rowboats, lined up on the sand" + }, + { + "__key__": "sa_74381", + "txt": "a close-up of two green tomatoes hanging from a vine, with a focus on their details and textures" + }, + { + "__key__": "sa_5180844", + "txt": "a cemetery with many gravestones, some of which are covered in grass" + }, + { + "__key__": "sa_8080096", + "txt": "a large flag with a blue background, which is waving in the wind" + }, + { + "__key__": "sa_488404", + "txt": "a large crowd of people gathered together, celebrating and enjoying a festive event" + }, + { + "__key__": "sa_7566343", + "txt": "a red car parked next to a tall, long-necked bird, specifically an ostrich" + }, + { + "__key__": "sa_5750486", + "txt": "a black car with two seats inside, and it is parked in a parking lot" + }, + { + "__key__": "sa_5273498", + "txt": "a large, colorful flag with the words \"Spectrum Miami\" on it, which is hanging from a pole" + }, + { + "__key__": "sa_6335502", + "txt": "a busy highway with multiple lanes, surrounded by trees and a forest" + }, + { + "__key__": "sa_6042897", + "txt": "a group of people playing on a playground, specifically on a swing set" + }, + { + "__key__": "sa_1525345", + "txt": "a large golden statue of Buddha, which is a religious symbol in Buddhism" + }, + { + "__key__": "sa_7713004", + "txt": "a green trash can with a sign attached to it, which is located on a sidewalk" + }, + { + "__key__": "sa_604572", + "txt": "a group of people walking down a sidewalk, with some of them carrying handbags" + }, + { + "__key__": "sa_5265128", + "txt": "a busy city square filled with people walking around and interacting with each other" + }, + { + "__key__": "sa_7842713", + "txt": "a pair of Nike sneakers, specifically a pair of Nike Air Max sneakers, sitting on a white rug" + }, + { + "__key__": "sa_7149666", + "txt": "a close-up of three small, round pastries on a white plate" + }, + { + "__key__": "sa_4626894", + "txt": "a large group of people holding signs and protest banners, with some of them wearing bandanas" + }, + { + "__key__": "sa_6831213", + "txt": "a group of people gathered around two horses, which are harnessed to a cart" + }, + { + "__key__": "sa_5179664", + "txt": "a blue and white sign with the words \"Emergency\" and \"Hospital Complex\" written on it" + }, + { + "__key__": "sa_704357", + "txt": "a train station with a yellow train parked on the tracks" + }, + { + "__key__": "sa_7052380", + "txt": "a red Volkswagen SUV parked in a parking lot, surrounded by other cars" + }, + { + "__key__": "sa_6687937", + "txt": "a crowded subway train filled with people, with some standing and others sitting" + }, + { + "__key__": "sa_7836383", + "txt": "a small bag filled with white cotton swabs, which are used for cleaning and grooming purposes" + }, + { + "__key__": "sa_5687125", + "txt": "a harbor filled with several large boats, including a white yacht and a couple of other boats" + }, + { + "__key__": "sa_513422", + "txt": "a large sign with a black and white design, which is mounted on a brick wall" + }, + { + "__key__": "sa_1368179", + "txt": "a cemetery with a large number of gravestones, some of which are broken or cracked" + }, + { + "__key__": "sa_7547352", + "txt": "a large statue of people, possibly soldiers, sitting on a bench in a snowy city" + }, + { + "__key__": "sa_1149800", + "txt": "a close-up of a man's feet, specifically his sneakers, sitting on a chair" + }, + { + "__key__": "sa_6217467", + "txt": "a wedding celebration, with a bride and groom standing next to each other" + }, + { + "__key__": "sa_531650", + "txt": "a large building with a red and black sign on its side, which reads \"The Amsterdam Dungeon" + }, + { + "__key__": "sa_7597753", + "txt": "a bicycle with a basket filled with various items, including flowers, candles, and other small objects" + }, + { + "__key__": "sa_5771660", + "txt": "a large commercial airplane, specifically a green and white Citibank airplane, flying through the sky" + }, + { + "__key__": "sa_6519859", + "txt": "a bird, specifically a seagull, sitting on a roof with its two babies" + }, + { + "__key__": "sa_8074381", + "txt": "a black and white photograph of a museum sign, which is located outside of the Van Gogh Museum in Amsterdam" + }, + { + "__key__": "sa_5232524", + "txt": "a small jar of Vaseline Intensive Care, which is a petroleum jelly-based product" + }, + { + "__key__": "sa_1713276", + "txt": "a black and white photograph of a small village with a river running through it" + }, + { + "__key__": "sa_8102108", + "txt": "two women running down a street while holding balloons" + }, + { + "__key__": "sa_6144139", + "txt": "a shirt with a large, bold, and black-and-white design of mustaches" + }, + { + "__key__": "sa_6337427", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_6896079", + "txt": "a group of people dressed in red and white uniforms, wearing hats, and holding flags" + }, + { + "__key__": "sa_4712125", + "txt": "a large, illuminated sign for a store called \"Cinnabon" + }, + { + "__key__": "sa_5633648", + "txt": "a train traveling down the tracks at night, with its lights on" + }, + { + "__key__": "sa_1621668", + "txt": "a large outdoor swimming pool filled with people, some of whom are holding surfboards" + }, + { + "__key__": "sa_4561814", + "txt": "a tall building with a large sign on its side, which reads \"The Way We Shop" + }, + { + "__key__": "sa_7280244", + "txt": "a young boy sitting on a bench and looking at a table filled with various books" + }, + { + "__key__": "sa_6193982", + "txt": "a small, old-fashioned storefront with a green door and a sign above it" + }, + { + "__key__": "sa_5194941", + "txt": "a large city with a beautiful lake in the middle of it" + }, + { + "__key__": "sa_7135028", + "txt": "a large building with a prominent sign on its side, which reads \"Tokyo Big Sight" + }, + { + "__key__": "sa_51260", + "txt": "a collection of boats docked at a marina, with several boats of different sizes and designs" + }, + { + "__key__": "sa_7038078", + "txt": "a statue of a man standing in front of two flags, which are the flags of Turkey and the United States" + }, + { + "__key__": "sa_4464855", + "txt": "a train station with a red and black train parked on the tracks" + }, + { + "__key__": "sa_5565182", + "txt": "a large white boat, which is docked at a marina filled with other boats" + }, + { + "__key__": "sa_6151287", + "txt": "a display of various types of cigars, showcasing a wide variety of shapes, sizes, and flavors" + }, + { + "__key__": "sa_815647", + "txt": "a row of parked cars, including a black SUV, on a city street" + }, + { + "__key__": "sa_7928074", + "txt": "a large stack of neatly folded and stacked white sheets, which are piled on top of each other in a room" + }, + { + "__key__": "sa_4618832", + "txt": "a black and white photograph of a man working on a haircut in a barber shop" + }, + { + "__key__": "sa_6956175", + "txt": "two women dressed in white nurse uniforms, sitting on a bench" + }, + { + "__key__": "sa_6993464", + "txt": "a black and white photograph of a busy highway with cars, trucks, and a train on the tracks" + }, + { + "__key__": "sa_5625127", + "txt": "a cemetery with many gravestones, some of which are inscribed with names" + }, + { + "__key__": "sa_8012491", + "txt": "a close-up view of a pile of bagels, which are stacked on top of each other" + }, + { + "__key__": "sa_6506991", + "txt": "a large room filled with various gauges, dials, and meters, which are connected to pipes and valves" + }, + { + "__key__": "sa_7120986", + "txt": "a lush green field with tall grass, bushes, and trees, creating a serene and natural setting" + }, + { + "__key__": "sa_4647964", + "txt": "a large building with a prominent sign on its side, which reads \"ZOBO" + }, + { + "__key__": "sa_1383439", + "txt": "a wall covered with various photographs, showcasing cars and racing events" + }, + { + "__key__": "sa_4305668", + "txt": "a large sign with the words \"Zoo Zagreb\" written on it, which is located on a building" + }, + { + "__key__": "sa_8025072", + "txt": "a close-up view of three gold-colored, shiny, and smooth coins, each with a different design on them" + }, + { + "__key__": "sa_5018794", + "txt": "a crowded public square with a large group of people sitting on chairs and benches" + }, + { + "__key__": "sa_1600946", + "txt": "a white airplane, possibly a small jet, flying in the sky" + }, + { + "__key__": "sa_4607360", + "txt": "a large, empty courtyard with a stone walkway, surrounded by trees and bushes" + }, + { + "__key__": "sa_5875927", + "txt": "a busy airport terminal with multiple cars and buses parked outside" + }, + { + "__key__": "sa_1562670", + "txt": "a group of people dressed in white, wearing white robes and holding white objects" + }, + { + "__key__": "sa_6834307", + "txt": "a large, colorful sign with a Native American-inspired design, located in a desert-like setting" + }, + { + "__key__": "sa_5845502", + "txt": "a street sign with a picture of a soldier on it, which is mounted on a pole" + }, + { + "__key__": "sa_8008006", + "txt": "a large, stately building with a fountain and a lush green lawn in front of it" + }, + { + "__key__": "sa_148339", + "txt": "a large crowd of people gathered in a public area, with many of them holding flags" + }, + { + "__key__": "sa_7730632", + "txt": "two young boys walking down a sidewalk, with one of them holding a backpack" + }, + { + "__key__": "sa_5075108", + "txt": "a large crowd of people gathered in a public space, with many of them holding balloons" + }, + { + "__key__": "sa_7461977", + "txt": "a row of tall, red brick buildings with white trim, which are located on a city street" + }, + { + "__key__": "sa_1574479", + "txt": "a large dining room with a long wooden table filled with numerous chairs" + }, + { + "__key__": "sa_5135678", + "txt": "two young women jumping into the air, holding hands and embracing each other" + }, + { + "__key__": "sa_6725812", + "txt": "a lively outdoor gathering where people are standing around and engaging with each other" + }, + { + "__key__": "sa_7088566", + "txt": "a large crowd of people gathered in a public area, with many of them wearing red and white clothing" + }, + { + "__key__": "sa_7696193", + "txt": "a neon sign with the word \"open\" written in green letters" + }, + { + "__key__": "sa_5121621", + "txt": "a harbor filled with numerous boats, including several fishing boats, docked at a pier" + }, + { + "__key__": "sa_7654855", + "txt": "a display of various types of flowers, including roses, in vases and pots, arranged on a table" + }, + { + "__key__": "sa_581798", + "txt": "a large building with a unique and eye-catching design" + }, + { + "__key__": "sa_1505155", + "txt": "a storefront with a blue and white sign, which is covered in snow" + }, + { + "__key__": "sa_7291084", + "txt": "a picturesque scene of a canal filled with numerous gondolas, some of which are docked at a pier" + }, + { + "__key__": "sa_1353632", + "txt": "a group of men in military uniforms standing in a row, with their hands on their hips" + }, + { + "__key__": "sa_1361078", + "txt": "a busy highway with a large number of cars, trucks, and other vehicles driving on it" + }, + { + "__key__": "sa_576765", + "txt": "a large crowd of people gathered in a courtyard, with some of them wearing medieval-style clothing" + }, + { + "__key__": "sa_7124180", + "txt": "a purple postage stamp with the words \"Annie Brown\" written on it" + }, + { + "__key__": "sa_7060966", + "txt": "a close-up of a padlock with the initials \"M" + }, + { + "__key__": "sa_4703178", + "txt": "two women sitting at a table, eating food together" + }, + { + "__key__": "sa_6304860", + "txt": "a cemetery with several headstones, each with a unique design and inscription" + }, + { + "__key__": "sa_5773347", + "txt": "a beautiful, illuminated archway with white lights and intricate metalwork" + }, + { + "__key__": "sa_7199778", + "txt": "a green and white train on a train platform, with people waiting nearby" + }, + { + "__key__": "sa_4552605", + "txt": "a large airplane flying through the sky, with a clear blue sky as its backdrop" + }, + { + "__key__": "sa_7927073", + "txt": "two large jet airplanes flying in the sky, with one airplane positioned above the other" + }, + { + "__key__": "sa_7015550", + "txt": "two black iPhones, one sitting on top of the other, sitting on a white table" + }, + { + "__key__": "sa_1618315", + "txt": "a large body of water with numerous boats docked in the harbor" + }, + { + "__key__": "sa_5776518", + "txt": "a vending machine filled with various types of beverages and snacks" + }, + { + "__key__": "sa_6316908", + "txt": "a group of men wearing military uniforms and sitting on the ground, with some of them holding guns" + }, + { + "__key__": "sa_527970", + "txt": "a large, open, and empty airport terminal with numerous benches and chairs arranged in rows" + }, + { + "__key__": "sa_136625", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_7037763", + "txt": "a black and white photograph of a cityscape with a mountain in the background" + }, + { + "__key__": "sa_6287649", + "txt": "a black and white photograph of a cityscape with tall buildings, including a large skyscraper" + }, + { + "__key__": "sa_6496125", + "txt": "a large room filled with gold-colored statues, which are likely Buddhist statues" + }, + { + "__key__": "sa_760786", + "txt": "a large Christmas tree made of white plates, which is placed in a store window" + }, + { + "__key__": "sa_1393217", + "txt": "a group of young girls dressed in white and blue, wearing colorful hats and holding flowers in their hands" + }, + { + "__key__": "sa_6064945", + "txt": "a collection of various bottles filled with different colored liquids, which are placed on a white table" + }, + { + "__key__": "sa_1297760", + "txt": "a large greenhouse filled with many potted plants, including small plants and flowers" + }, + { + "__key__": "sa_6576764", + "txt": "two white appliances, specifically two washing machines, sitting side by side in a store" + }, + { + "__key__": "sa_6895008", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_627215", + "txt": "a tall, white building with a clock tower, which is situated next to a smaller building" + }, + { + "__key__": "sa_69492", + "txt": "a large, industrial-looking building with a brick exterior" + }, + { + "__key__": "sa_5478471", + "txt": "a large building with a unique and eye-catching design" + }, + { + "__key__": "sa_6549491", + "txt": "a large crowd of people gathered in a public space, with a sign prominently displayed among them" + }, + { + "__key__": "sa_573642", + "txt": "a large airport terminal with a modern and sleek design" + }, + { + "__key__": "sa_4692359", + "txt": "a young boy holding a sign that reads \"You can change climate change" + }, + { + "__key__": "sa_5043697", + "txt": "two large ships docked next to each other in a harbor" + }, + { + "__key__": "sa_5526861", + "txt": "a row of ambulances parked in a parking lot, lined up next to each other" + }, + { + "__key__": "sa_1337266", + "txt": "a large building with a red and white logo on its side, which is likely a corporate or commercial building" + }, + { + "__key__": "sa_7572229", + "txt": "two llamas standing next to each other in a large, open area" + }, + { + "__key__": "sa_8006538", + "txt": "a large, ancient Roman-style archway or gate, situated in a park or a field" + }, + { + "__key__": "sa_7832309", + "txt": "a black and white photograph of a long, narrow hallway or tunnel with a tiled floor" + }, + { + "__key__": "sa_6203875", + "txt": "a wooden boardwalk or pier, with a crowd of people walking along it" + }, + { + "__key__": "sa_4536297", + "txt": "a postage stamp with a building depicted on it" + }, + { + "__key__": "sa_73190", + "txt": "a large, colorful building with a unique architectural design" + }, + { + "__key__": "sa_7253081", + "txt": "a close-up view of two stone sculptures or statues, which are carved into the wall" + }, + { + "__key__": "sa_6563083", + "txt": "a large group of people gathered in a courtyard, with some of them holding long poles" + }, + { + "__key__": "sa_6411302", + "txt": "a large room filled with numerous busts and statues, all displayed on pedestals" + }, + { + "__key__": "sa_7149645", + "txt": "a busy city street with a mix of vehicles, including cars and trucks, parked along the sides of the street" + }, + { + "__key__": "sa_1478583", + "txt": "a large crowd of people gathered outside, with some holding signs and banners" + }, + { + "__key__": "sa_6822040", + "txt": "a man standing in a crowd of people, with a large crowd of people surrounding him" + }, + { + "__key__": "sa_5764958", + "txt": "two young men walking down a train platform with their backpacks and handbags" + }, + { + "__key__": "sa_1656516", + "txt": "a close-up of a storefront with a large sign that reads \"Loves" + }, + { + "__key__": "sa_783352", + "txt": "a train station with a long, open hallway filled with people walking around and waiting for their trains" + }, + { + "__key__": "sa_7367877", + "txt": "a train traveling down the tracks, with mountains in the background and a sky filled with clouds" + }, + { + "__key__": "sa_4439578", + "txt": "a close-up of a large, ornate trophy or statue, which is sitting on a table" + }, + { + "__key__": "sa_8067422", + "txt": "a harbor filled with numerous boats, including sailboats and yachts, docked in a marina" + }, + { + "__key__": "sa_7327182", + "txt": "a large, yellow and white building with a unique architectural design" + }, + { + "__key__": "sa_1515372", + "txt": "a Japanese-style building with a steeply sloping roof and a wooden structure" + }, + { + "__key__": "sa_4766351", + "txt": "a large sign with the words \"Ammanemebun\" written on it, which is situated in a lush green forest" + }, + { + "__key__": "sa_5354868", + "txt": "two men in military uniforms, standing in front of a black curtain" + }, + { + "__key__": "sa_7252885", + "txt": "a large outdoor swimming pool filled with people, some of whom are laying on towels and chairs" + }, + { + "__key__": "sa_7945076", + "txt": "a group of people riding bicycles on a trail, with some of them carrying backpacks" + }, + { + "__key__": "sa_4950815", + "txt": "a tree with many leaves, surrounded by a blue sky" + }, + { + "__key__": "sa_1607498", + "txt": "a long hallway filled with bookshelves, with many books stacked on them" + }, + { + "__key__": "sa_6504841", + "txt": "a group of people standing on a dock, with some of them wearing masks" + }, + { + "__key__": "sa_1205648", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_806542", + "txt": "a busy street with various vehicles, including cars and buses, traveling on a highway" + }, + { + "__key__": "sa_7485543", + "txt": "a pair of skyscrapers, which are tall buildings with a modern architectural design" + }, + { + "__key__": "sa_790735", + "txt": "a close-up view of a sign with the name \"Kamae Jewelry\" written on it" + }, + { + "__key__": "sa_7180033", + "txt": "a black and white photograph of a small town with a hillside and a mountain in the background" + }, + { + "__key__": "sa_494025", + "txt": "a canal filled with boats, including gondolas and other watercraft, surrounded by buildings and people" + }, + { + "__key__": "sa_1244555", + "txt": "a bicycle parked next to a mailbox on a sidewalk" + }, + { + "__key__": "sa_7356619", + "txt": "a white plate with various food items and condiments arranged on it, placed on a table" + }, + { + "__key__": "sa_5055287", + "txt": "a young boy and a young girl sitting at a table with laptops, surrounded by several books" + }, + { + "__key__": "sa_8111353", + "txt": "a group of people gathered around a large statue of Jesus Christ, taking pictures and enjoying the view" + }, + { + "__key__": "sa_4572635", + "txt": "a black bird perched on a pole, with a sign below it" + }, + { + "__key__": "sa_7162839", + "txt": "a black and white photograph featuring a cityscape with tall buildings, a train, and a tree" + }, + { + "__key__": "sa_72335", + "txt": "an open refrigerator filled with various types of fresh produce, including vegetables and possibly fruits" + }, + { + "__key__": "sa_6911186", + "txt": "a black and white photograph featuring a group of men and camels" + }, + { + "__key__": "sa_1428227", + "txt": "a large, ornate, and white building with a steeple, which appears to be a church" + }, + { + "__key__": "sa_5590853", + "txt": "a large harbor filled with numerous boats, including sailboats and yachts" + }, + { + "__key__": "sa_5139724", + "txt": "a close-up view of a window with a large bouquet of red roses hanging from it" + }, + { + "__key__": "sa_4505294", + "txt": "a large floral arrangement, likely a centerpiece, sitting on a table" + }, + { + "__key__": "sa_1263596", + "txt": "a white and green sports car, possibly a Nissan, driving on a track" + }, + { + "__key__": "sa_7251832", + "txt": "a large commercial airplane parked on the runway at an airport, with several cars and trucks nearby" + }, + { + "__key__": "sa_6937182", + "txt": "a box of six white dental flossers, sitting on top of a table" + }, + { + "__key__": "sa_4909938", + "txt": "a yellow SUV parked in a forest, surrounded by trees and bushes" + }, + { + "__key__": "sa_4607299", + "txt": "a group of people, including women and children, gathered around a table" + }, + { + "__key__": "sa_7854902", + "txt": "a black and white photograph featuring a harbor with boats and a city in the background" + }, + { + "__key__": "sa_5583394", + "txt": "a large pile of cardboard boxes, which are stacked on top of each other" + }, + { + "__key__": "sa_4676118", + "txt": "a large room filled with numerous bookshelves, each containing many books" + }, + { + "__key__": "sa_1214118", + "txt": "a busy river scene with numerous boats, including long boats and canoes, floating down the river" + }, + { + "__key__": "sa_1686497", + "txt": "a harbor filled with numerous boats, including a large white boat and several smaller boats" + }, + { + "__key__": "sa_4337518", + "txt": "a busy street with a large crowd of people, cars, and trucks" + }, + { + "__key__": "sa_4603164", + "txt": "a large, modern building with a prominent sign on its side" + }, + { + "__key__": "sa_5679743", + "txt": "a small airplane flying over a snow-covered runway" + }, + { + "__key__": "sa_785261", + "txt": "a close-up view of three Christmas ornaments, each depicting a different dog" + }, + { + "__key__": "sa_1273375", + "txt": "a large, open dining area with numerous white chairs and tables arranged in rows" + }, + { + "__key__": "sa_7041175", + "txt": "a large airport terminal with a modern, sleek design" + }, + { + "__key__": "sa_713146", + "txt": "a large, grassy field with a small airplane sitting on top of it" + }, + { + "__key__": "sa_5769103", + "txt": "three men standing next to each other on a street, with one of them holding a bike" + }, + { + "__key__": "sa_7122152", + "txt": "a large statue of the Statue of Liberty, which is a famous symbol of freedom and democracy" + }, + { + "__key__": "sa_6388577", + "txt": "a large, white building with a unique architectural design" + }, + { + "__key__": "sa_5426602", + "txt": "a train traveling down the tracks, with a person standing next to it" + }, + { + "__key__": "sa_615445", + "txt": "a close-up of a bouquet of flowers, including roses, placed on a sidewalk near a Hollywood Walk of Fame star" + }, + { + "__key__": "sa_6130270", + "txt": "a black and white photograph of a large waterfall with a dam in the background" + }, + { + "__key__": "sa_7081044", + "txt": "a large crowd of people gathered in a public space, with some wearing masks" + }, + { + "__key__": "sa_5747348", + "txt": "a man holding a sign that reads \"End Racism in Medical Care" + }, + { + "__key__": "sa_7575253", + "txt": "a train traveling down the tracks, with snow covering the ground and surrounding the train" + }, + { + "__key__": "sa_4679899", + "txt": "a man working on a surfboard in a small shop, surrounded by various surfboards and other surf-related items" + }, + { + "__key__": "sa_7613803", + "txt": "a dining table filled with various food items, including bowls, plates, and utensils" + }, + { + "__key__": "sa_5664463", + "txt": "a large building with a dome, which is likely a cathedral or a historical monument" + }, + { + "__key__": "sa_5306155", + "txt": "a heart-shaped sign with the word \"Gman\" written underneath it, which is situated in a park" + }, + { + "__key__": "sa_7254979", + "txt": "a table with a black and gold design, surrounded by four black chairs" + }, + { + "__key__": "sa_752156", + "txt": "a storefront with a blue awning, which is decorated with a logo and a sign" + }, + { + "__key__": "sa_7406176", + "txt": "a large marina filled with many boats, including sailboats and yachts, docked at the pier" + }, + { + "__key__": "sa_4608939", + "txt": "a dock with several small boats, including a red and white one, parked on it" + }, + { + "__key__": "sa_65070", + "txt": "a large, colorful Christmas tree in a mall, surrounded by various decorations and lights" + }, + { + "__key__": "sa_5345147", + "txt": "a train traveling down the tracks, with several cars and a red engine" + }, + { + "__key__": "sa_4906639", + "txt": "a crowd of people in a stadium, with some of them holding up signs" + }, + { + "__key__": "sa_5357239", + "txt": "a close-up view of a window with bars, which is located in a white building" + }, + { + "__key__": "sa_6413450", + "txt": "a postage stamp with a picture of a rooster on it" + }, + { + "__key__": "sa_5114227", + "txt": "a group of people, including skiers and snowboarders, gathered at the top of a ski slope" + }, + { + "__key__": "sa_587707", + "txt": "a harbor filled with many boats, including motorboats and sailboats, docked at a pier" + }, + { + "__key__": "sa_1241603", + "txt": "a harbor filled with various boats, including a large white boat and several smaller boats" + }, + { + "__key__": "sa_4839672", + "txt": "a large, ornate stone archway with a walkway leading to it" + }, + { + "__key__": "sa_4373458", + "txt": "a group of women sitting at a table, surrounded by various electronic devices and tools" + }, + { + "__key__": "sa_7256368", + "txt": "a train parked on the tracks, with a red and white train car visible" + }, + { + "__key__": "sa_6295708", + "txt": "a group of people gathered around a table, playing musical instruments" + }, + { + "__key__": "sa_628515", + "txt": "two young men walking down a set of stairs, with one of them holding a cell phone" + }, + { + "__key__": "sa_1608982", + "txt": "a group of people sitting at outdoor tables in a restaurant, enjoying their meals and conversations" + }, + { + "__key__": "sa_7601814", + "txt": "a residential street with several houses, including a row of identical houses with white roofs" + }, + { + "__key__": "sa_6120986", + "txt": "a large wall with a sign that reads \"Lift to Shop" + }, + { + "__key__": "sa_5585788", + "txt": "a golden statue of Buddha, which is a large and intricate piece of art" + }, + { + "__key__": "sa_5872325", + "txt": "a wall with a large number of red Chinese lanterns hanging from it" + }, + { + "__key__": "sa_6402035", + "txt": "a small bookstore with a French-themed sign, which is located on a street corner" + }, + { + "__key__": "sa_7350418", + "txt": "a young boy walking up a flight of stairs that lead to an airplane" + }, + { + "__key__": "sa_5303447", + "txt": "a harbor filled with boats, including several small boats and a large boat, all docked at a pier" + }, + { + "__key__": "sa_4688943", + "txt": "a large commercial airplane flying through the sky, with a clear blue sky as its backdrop" + }, + { + "__key__": "sa_6306400", + "txt": "a man working on a tall tree, possibly trimming or pruning it" + }, + { + "__key__": "sa_7110308", + "txt": "a group of people sitting around a table, engaging in a social gathering" + }, + { + "__key__": "sa_5285048", + "txt": "a postage stamp with a picture of a lighthouse on it, depicting a lighthouse in the Netherlands" + }, + { + "__key__": "sa_5594226", + "txt": "a row of three aluminum cans, each with a different color and design" + }, + { + "__key__": "sa_5335416", + "txt": "a harbor filled with numerous boats, including sailboats, yachts, and other vessels" + }, + { + "__key__": "sa_6476223", + "txt": "a storefront with a large neon sign, which is the main focus of the scene" + }, + { + "__key__": "sa_5187912", + "txt": "a group of four wine bottles, each with a different label, sitting on a table" + }, + { + "__key__": "sa_5017638", + "txt": "a group of people gathered in a courtyard, with some wearing white dresses and others wearing white shirts" + }, + { + "__key__": "sa_1231280", + "txt": "a black and white photograph of a city with a river in the background" + }, + { + "__key__": "sa_4503822", + "txt": "a large, red, and white structure with a unique design" + }, + { + "__key__": "sa_5389475", + "txt": "a close-up of a plate filled with a variety of pastries, including doughnuts, on a dining table" + }, + { + "__key__": "sa_7277160", + "txt": "a black and white photograph featuring a busy street scene with people riding motorcycles and scooters" + }, + { + "__key__": "sa_7393072", + "txt": "a large blue and white sign with the words \"Seville\" written on it" + }, + { + "__key__": "sa_687725", + "txt": "a red and white postage stamp with a church depicted on it" + }, + { + "__key__": "sa_5023712", + "txt": "a collection of potted plants, including cacti, sitting in various baskets and pots" + }, + { + "__key__": "sa_4479526", + "txt": "two cell phones, one of which is an iPhone, placed side by side on a table" + }, + { + "__key__": "sa_5727378", + "txt": "a box filled with various food items, including vegetables, fruits, and other ingredients" + }, + { + "__key__": "sa_4410680", + "txt": "a close-up view of a black car, specifically a Ferrari, parked on a street" + }, + { + "__key__": "sa_8085978", + "txt": "a collection of old barrels, which are stacked on top of each other" + }, + { + "__key__": "sa_7293664", + "txt": "a barber shop sign with a unique and artistic design" + }, + { + "__key__": "sa_5225679", + "txt": "a large sign with the words \"Kroger\" written on it, which is mounted on a pole" + }, + { + "__key__": "sa_7881862", + "txt": "a colorful and eye-catching sign with a large letter \"C\" on top of it" + }, + { + "__key__": "sa_7190309", + "txt": "a large outdoor dining area with several tables and chairs, lit up by a tree full of lights" + }, + { + "__key__": "sa_4558320", + "txt": "a train station with a train parked on the tracks, and people are walking around the station" + }, + { + "__key__": "sa_573201", + "txt": "a man wearing a green and yellow costume, resembling the Joker from Batman" + }, + { + "__key__": "sa_5588265", + "txt": "two women standing next to each other, both dressed in blue and white clothing" + }, + { + "__key__": "sa_1468123", + "txt": "a group of people gathered on a staircase, with some of them wearing orange robes" + }, + { + "__key__": "sa_5670642", + "txt": "a large city square filled with people walking around and enjoying the festive atmosphere" + }, + { + "__key__": "sa_6051057", + "txt": "a colorful and whimsical hat, which is a purple and yellow striped hat with a purple bow on it" + }, + { + "__key__": "sa_7707351", + "txt": "a large, ornate building with a gold-colored exterior, which is a Buddhist temple" + }, + { + "__key__": "sa_169774", + "txt": "a large pile of oranges, with many of them being green and unripe" + }, + { + "__key__": "sa_5945534", + "txt": "a marina filled with numerous boats, including sailboats and motorboats, docked at a pier" + }, + { + "__key__": "sa_7288287", + "txt": "a black and white photograph of a small, green, grass-covered house with a thatched roof" + }, + { + "__key__": "sa_1354857", + "txt": "a large sign with the words \"Siemens\" written on it, which is illuminated by a bright light" + }, + { + "__key__": "sa_770757", + "txt": "a sandy beach with a row of beach chairs and umbrellas, some of which are open" + }, + { + "__key__": "sa_5667405", + "txt": "a large building with a blue and white sign, which is the logo of Emirates NBD Bank" + }, + { + "__key__": "sa_4978045", + "txt": "a small, old-fashioned storefront with a wooden fence and a sign" + }, + { + "__key__": "sa_6926290", + "txt": "a large marina filled with boats, including sailboats and motorboats, docked at a pier" + }, + { + "__key__": "sa_1565677", + "txt": "a large crowd of people gathered in a public area, with some of them holding flags" + }, + { + "__key__": "sa_8055929", + "txt": "a large store filled with wine bottles, with a focus on the bottles themselves" + }, + { + "__key__": "sa_7681729", + "txt": "a large field of red flowers, with some of them being tall and others being shorter" + }, + { + "__key__": "sa_7735251", + "txt": "a close-up of a wallpaper with a floral pattern, which is designed to resemble a painting" + }, + { + "__key__": "sa_6532652", + "txt": "a group of people running in a marathon, with some of them wearing numbered shirts" + }, + { + "__key__": "sa_1651363", + "txt": "a large pile of chocolate bars, specifically Kinder bars, on a table" + }, + { + "__key__": "sa_1730700", + "txt": "a black and white photograph of a harbor filled with large boats, including yachts and other vessels" + }, + { + "__key__": "sa_5071375", + "txt": "a large room filled with various electrical panels, switches, and meters" + }, + { + "__key__": "sa_6554921", + "txt": "a large room filled with tables, chairs, and bookshelves" + }, + { + "__key__": "sa_599478", + "txt": "a man pushing a cart filled with various items, including bottles, cans, and cups" + }, + { + "__key__": "sa_6340296", + "txt": "a large, modern-looking tower situated in a lush green forest, surrounded by trees and bushes" + }, + { + "__key__": "sa_4701189", + "txt": "a large crowd of people gathered in a stadium, holding up various banners and flags" + }, + { + "__key__": "sa_5062635", + "txt": "a black and white photograph of a city harbor with boats docked along the waterfront" + }, + { + "__key__": "sa_4394030", + "txt": "a large harbor filled with various boats, including a large ship and several smaller boats" + }, + { + "__key__": "sa_8050409", + "txt": "a black and white photograph of a harbor filled with boats, including sailboats, yachts, and other vessels" + }, + { + "__key__": "sa_6883902", + "txt": "a large building, likely a store, with a sign that reads \"B&Q" + }, + { + "__key__": "sa_6046690", + "txt": "a train station with a red and white train parked on the tracks" + }, + { + "__key__": "sa_6797913", + "txt": "a well-lit room with a large bookshelf filled with numerous books" + }, + { + "__key__": "sa_4691", + "txt": "a group of women playing drums in a colorful and vibrant setting" + }, + { + "__key__": "sa_8079255", + "txt": "two identical cups of coffee, each with a different topping" + }, + { + "__key__": "sa_1473855", + "txt": "a large poster or banner, possibly a protest sign, with a collage of faces on it" + }, + { + "__key__": "sa_7761585", + "txt": "a large building with a red sign on its side, which is illuminated by a bright light" + }, + { + "__key__": "sa_6652450", + "txt": "a black and white photograph of a rocky landscape with a snow-covered mountain in the background" + }, + { + "__key__": "sa_1591860", + "txt": "a busy train station with a large crowd of people walking across the platform" + }, + { + "__key__": "sa_8036383", + "txt": "a large fountain in a public square, with a waterfall pouring out of it" + }, + { + "__key__": "sa_6269124", + "txt": "a large crowd of people gathered in a city square, with many of them holding signs" + }, + { + "__key__": "sa_5047108", + "txt": "a group of men sitting on the grass, with one of them holding a sign" + }, + { + "__key__": "sa_4610765", + "txt": "a large, old-fashioned building with a steeple, which appears to be a church" + }, + { + "__key__": "sa_6321524", + "txt": "a harbor filled with numerous small boats, including canoes and rowboats, docked at the shore" + }, + { + "__key__": "sa_7236393", + "txt": "a group of people gathered around a large sign, which is a signpost with a sign attached to it" + }, + { + "__key__": "sa_4525325", + "txt": "a group of people, including children and adults, dressed in costumes and holding balloons" + }, + { + "__key__": "sa_5841343", + "txt": "a busy train station filled with people, with a train pulling into the station" + }, + { + "__key__": "sa_1309744", + "txt": "a red barn with a large red sign on top of it, which reads \"Old McDonald's Farm" + }, + { + "__key__": "sa_172758", + "txt": "a painting that depicts a large group of angels and saints, surrounded by a beautiful and colorful sky" + }, + { + "__key__": "sa_5549492", + "txt": "a display of six cans of beer, each with a different label design" + }, + { + "__key__": "sa_5457576", + "txt": "a collection of various spices and seasonings in jars, arranged on a table" + }, + { + "__key__": "sa_5809058", + "txt": "a lush green garden filled with various plants, flowers, and insects" + }, + { + "__key__": "sa_5578646", + "txt": "a large building with a prominent sign on its side, which is a hospital" + }, + { + "__key__": "sa_6601263", + "txt": "a protest sign with the words \"Transgender Women Unite,\" which is displayed on a pole" + }, + { + "__key__": "sa_6528495", + "txt": "a group of people sitting on a stone wall, with some of them wearing costumes" + }, + { + "__key__": "sa_7701351", + "txt": "a display of various lamps and lanterns, showcasing a diverse collection of designs and styles" + }, + { + "__key__": "sa_4768480", + "txt": "a street scene with a large archway or gate, which is adorned with Chinese writing and red decorations" + }, + { + "__key__": "sa_6639705", + "txt": "a group of young women posing together in front of a building, with some of them wearing dresses" + }, + { + "__key__": "sa_7948976", + "txt": "a postage stamp with a portrait of Queen Elizabeth II on it" + }, + { + "__key__": "sa_4368444", + "txt": "a young woman standing on a sidewalk, wearing a red shirt and jeans" + }, + { + "__key__": "sa_4531139", + "txt": "a large group of people sitting in rows of chairs, with some of them wearing masks" + }, + { + "__key__": "sa_5468323", + "txt": "a beach scene with a large group of people flying kites on the shore" + }, + { + "__key__": "sa_517330", + "txt": "a close-up view of a large tree with a red roof in the background, likely a Japanese temple" + }, + { + "__key__": "sa_4488736", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_4867909", + "txt": "a black and white photograph of a harbor filled with boats, including sailboats and motorboats" + }, + { + "__key__": "sa_5588946", + "txt": "a group of people gathered around a cow, with some of them holding the cow's ears and others looking at it" + }, + { + "__key__": "sa_1698411", + "txt": "a large, open room with a long dining table surrounded by chairs" + }, + { + "__key__": "sa_5008677", + "txt": "a black and white photograph of a group of people sitting on a train" + }, + { + "__key__": "sa_6553366", + "txt": "a large parking lot filled with many cars, some of which are parked in the shade" + }, + { + "__key__": "sa_7970595", + "txt": "a large cityscape with tall buildings and a busy street" + }, + { + "__key__": "sa_537807", + "txt": "a large sign with the words \"HENRY SAMUEL SCHOOL OF ENGINEERING\" written on it" + }, + { + "__key__": "sa_5365216", + "txt": "a postage stamp with a dragon design on it" + }, + { + "__key__": "sa_5054390", + "txt": "two women sitting on the ground, with one of them wearing a sari" + }, + { + "__key__": "sa_7518667", + "txt": "a large, two-story building with a distinctive architectural design" + }, + { + "__key__": "sa_669140", + "txt": "a train with several cargo cars, traveling down the tracks" + }, + { + "__key__": "sa_6982870", + "txt": "a postage stamp with a snowman on it, which is a winter-themed design" + }, + { + "__key__": "sa_8056097", + "txt": "a close-up of a blue and white logo, which is the logo for the company \"OPPO" + }, + { + "__key__": "sa_6688667", + "txt": "a large field of grapevines, with many of them growing in the dirt" + }, + { + "__key__": "sa_4314061", + "txt": "a large red and white airplane flying through the sky, with a clear blue sky as its backdrop" + }, + { + "__key__": "sa_4314536", + "txt": "a large library filled with numerous books, arranged in a row on shelves" + }, + { + "__key__": "sa_6572281", + "txt": "a small cafe or coffee shop with a wooden exterior and a black awning" + }, + { + "__key__": "sa_5002298", + "txt": "a red building with a large sign on the front, which reads \"Conqueror" + }, + { + "__key__": "sa_1312254", + "txt": "a sleek and modern sports car on display at a car show" + }, + { + "__key__": "sa_1272728", + "txt": "a painting or a drawing that depicts a scene of people and animals in a village setting" + }, + { + "__key__": "sa_4828786", + "txt": "a black and white photograph of a man walking down a long, narrow hallway or walkway" + }, + { + "__key__": "sa_7268337", + "txt": "a large display of shoes, with a variety of styles and colors" + }, + { + "__key__": "sa_1149489", + "txt": "a drummer performing on stage, holding a large black drum set" + }, + { + "__key__": "sa_4720578", + "txt": "a large, colorful Christmas tree inside a building, surrounded by a festive atmosphere" + }, + { + "__key__": "sa_7162484", + "txt": "a subway station with a unique and artistic design" + }, + { + "__key__": "sa_4783339", + "txt": "a storefront display with a large sign that reads \"Calzedonia" + }, + { + "__key__": "sa_5129932", + "txt": "a yellow and white train traveling down the tracks, with its doors open" + }, + { + "__key__": "sa_4732860", + "txt": "a young child with a tooth being pulled out by a dentist" + }, + { + "__key__": "sa_7762504", + "txt": "a close-up view of two different types of desserts, each sitting on a plate" + }, + { + "__key__": "sa_668196", + "txt": "a crowded public pool filled with people enjoying their time" + }, + { + "__key__": "sa_1297883", + "txt": "a lively outdoor gathering of people, with a crowd of people standing around and enjoying themselves" + }, + { + "__key__": "sa_656483", + "txt": "a train traveling down the tracks, with a blue and white design on its side" + }, + { + "__key__": "sa_609944", + "txt": "a large, open dining area with a long table and numerous chairs" + }, + { + "__key__": "sa_522491", + "txt": "a group of people dressed in traditional costumes, with one of them wearing a large hat" + }, + { + "__key__": "sa_5968801", + "txt": "a restaurant with a large dining area, filled with tables and chairs" + }, + { + "__key__": "sa_1235191", + "txt": "a cemetery with a large number of gravestones, some of which are broken" + }, + { + "__key__": "sa_478705", + "txt": "a group of men in military uniforms, standing in a row in front of a building" + }, + { + "__key__": "sa_5012358", + "txt": "a large group of people holding signs and standing on a street" + }, + { + "__key__": "sa_5007507", + "txt": "a large painting on a wall, which is a mural" + }, + { + "__key__": "sa_7330300", + "txt": "a well-maintained backyard with a wooden deck, a dining table, and chairs" + }, + { + "__key__": "sa_803527", + "txt": "a large, modern building with a unique and artistic design" + }, + { + "__key__": "sa_5279600", + "txt": "a close-up view of a smartphone, specifically a Samsung Galaxy S10, with a blue back cover" + }, + { + "__key__": "sa_4479461", + "txt": "a lush green park filled with colorful flowers, trees, and people" + }, + { + "__key__": "sa_4777760", + "txt": "a close-up of a military uniform, specifically a U" + }, + { + "__key__": "sa_5617354", + "txt": "a European Bank, which is a bank with a European-style design" + }, + { + "__key__": "sa_1542515", + "txt": "a black and white photograph of a large group of people gathered together, with some of them holding hands" + }, + { + "__key__": "sa_1609734", + "txt": "a large, industrial-style building with a prominent sign on its side" + }, + { + "__key__": "sa_7705391", + "txt": "a table filled with various food items, including canned goods, vegetables, and other packaged goods" + }, + { + "__key__": "sa_1430094", + "txt": "a large crowd of people gathered in a public space, holding signs and protesting" + }, + { + "__key__": "sa_4388921", + "txt": "a postage stamp with a picture of a bunch of lobsters on it" + }, + { + "__key__": "sa_6297177", + "txt": "a large airport tarmac with several airplanes parked on it" + }, + { + "__key__": "sa_5184230", + "txt": "a lush, colorful forest with a large group of people walking through it" + }, + { + "__key__": "sa_7641406", + "txt": "a group of people posing for a photo, with some of them wearing masks" + }, + { + "__key__": "sa_4931094", + "txt": "a signpost with a blue and white sign attached to it, located in a park-like setting" + }, + { + "__key__": "sa_6220696", + "txt": "a stack of five pairs of jeans, each with a label on the back" + }, + { + "__key__": "sa_6236731", + "txt": "a close-up of a chessboard with multiple chess pieces on it" + }, + { + "__key__": "sa_6694143", + "txt": "a harbor filled with numerous boats, including sailboats and yachts, docked in a marina" + }, + { + "__key__": "sa_4920320", + "txt": "a large airport terminal with a blue and white sign that reads \"UK Border" + }, + { + "__key__": "sa_506562", + "txt": "a large, empty room with white walls, marble floors, and white pillars" + }, + { + "__key__": "sa_5047173", + "txt": "a large, open-air restaurant with a long dining table and chairs" + }, + { + "__key__": "sa_4506664", + "txt": "a close-up of a cell phone, specifically the screen, which displays the Instagram app" + }, + { + "__key__": "sa_7572890", + "txt": "a narrow street lined with several small shops, cafes, and restaurants" + }, + { + "__key__": "sa_590700", + "txt": "a postage stamp with a stylized, futuristic design" + }, + { + "__key__": "sa_7875039", + "txt": "a busy outdoor market with several people sitting at tables under umbrellas, enjoying their meals" + }, + { + "__key__": "sa_1359845", + "txt": "a colorful and vibrant display of various scarves hanging on a clothesline" + }, + { + "__key__": "sa_1601899", + "txt": "a street sign with the name \"LOVE LOCKWALLOW\" written on it" + }, + { + "__key__": "sa_1203313", + "txt": "a large crowd of people gathered in a public area, with many of them wearing hats" + }, + { + "__key__": "sa_4925937", + "txt": "a large stone archway with a sign on it, which is located in a park" + }, + { + "__key__": "sa_4395929", + "txt": "a large, old-fashioned bell mounted on a pole in a courtyard" + }, + { + "__key__": "sa_7793855", + "txt": "a can of 7-Up soda, which is a popular citrus-flavored soft drink" + }, + { + "__key__": "sa_8026825", + "txt": "a man standing behind a cart filled with various fruits, including oranges and onions" + }, + { + "__key__": "sa_6883843", + "txt": "a man sitting on a train, wearing a black hoodie and a black hat" + }, + { + "__key__": "sa_7602974", + "txt": "a large field of sunflowers, with people walking through the field and taking pictures" + }, + { + "__key__": "sa_682422", + "txt": "a display of statues and sculptures, showcasing a variety of artistic pieces" + }, + { + "__key__": "sa_7766268", + "txt": "a young boy sitting at a table, using a pencil and a notebook to write or draw" + }, + { + "__key__": "sa_5620858", + "txt": "a close-up of a Christmas tree with golden balls on it, surrounded by a garland of golden balls" + }, + { + "__key__": "sa_67322", + "txt": "a group of men in military uniforms, standing in a row and holding their rifles" + }, + { + "__key__": "sa_173082", + "txt": "a painting depicting a large group of people gathered in a courtyard, with some individuals flying kites" + }, + { + "__key__": "sa_5526180", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_5515853", + "txt": "a group of women sitting on a blue tarp, surrounded by various items such as backpacks, books, and a laptop" + }, + { + "__key__": "sa_814655", + "txt": "a black and white photograph featuring a cityscape with a river running through it" + }, + { + "__key__": "sa_1587547", + "txt": "a large pile of old electronic devices, including computers, keyboards, and mice, sitting on the ground" + }, + { + "__key__": "sa_555254", + "txt": "a harbor filled with boats, including a large boat and several smaller boats, docked at a pier" + }, + { + "__key__": "sa_5905673", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_5354654", + "txt": "a person standing on a large, colorful, and striped fabric, which appears to be a rainbow-colored parachute" + }, + { + "__key__": "sa_4736239", + "txt": "a group of children gathered around a table, painting and decorating a large white balloon" + }, + { + "__key__": "sa_1325147", + "txt": "a pair of white sneakers lying on a black and white checkered sidewalk" + }, + { + "__key__": "sa_7520553", + "txt": "two bicycles parked on a sandy beach next to the ocean" + }, + { + "__key__": "sa_8101742", + "txt": "a large, old-fashioned electrical panel with many switches and knobs" + }, + { + "__key__": "sa_621974", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_6273481", + "txt": "a close-up view of a store sign, specifically for \"Bite Stop" + }, + { + "__key__": "sa_5314112", + "txt": "a train traveling down the tracks, with a person standing next to it" + }, + { + "__key__": "sa_7923818", + "txt": "a large room filled with numerous bookshelves, where people are sitting at tables and working" + }, + { + "__key__": "sa_4483180", + "txt": "a harbor filled with numerous boats, including sailboats and motorboats, docked in a marina" + }, + { + "__key__": "sa_7849531", + "txt": "a cemetery with a large number of white headstones, some of which are broken" + }, + { + "__key__": "sa_7294172", + "txt": "two women wearing colorful, festive hats with skulls on them" + }, + { + "__key__": "sa_6307572", + "txt": "a group of men dressed in costumes, wearing hats and holding large drums" + }, + { + "__key__": "sa_7300596", + "txt": "a large crowd of people gathered in a public space, with many of them holding flags" + }, + { + "__key__": "sa_1196186", + "txt": "a large, modern building with a prominent sign that reads \"Vox Cinemas Front" + }, + { + "__key__": "sa_5504145", + "txt": "a black and white photograph of a building with a large sign on it" + }, + { + "__key__": "sa_4387738", + "txt": "a row of three buildings, each with a distinct architectural style" + }, + { + "__key__": "sa_705039", + "txt": "a close-up view of a bunch of five different types of cookies, each with a different flavor" + }, + { + "__key__": "sa_4931266", + "txt": "a snowy road with two people riding bicycles on it" + }, + { + "__key__": "sa_6138213", + "txt": "a large, modern building with a unique, futuristic design" + }, + { + "__key__": "sa_117396", + "txt": "a person holding a sign with the words \"Stand Together Resist Hate\" written on it" + }, + { + "__key__": "sa_4273970", + "txt": "a busy train station with a train parked on the tracks, and people walking around" + }, + { + "__key__": "sa_6360089", + "txt": "a large, open-air bridge or walkway, with people walking on it" + }, + { + "__key__": "sa_5591092", + "txt": "a nighttime scene of a large cathedral, likely St" + }, + { + "__key__": "sa_5497140", + "txt": "a large crowd of people gathered outside a building, with some of them wearing safety vests" + }, + { + "__key__": "sa_1279928", + "txt": "a large, multi-story building with a modern and stylish design" + }, + { + "__key__": "sa_4641562", + "txt": "a wooden signpost with a sign attached to it, located in a forested area" + }, + { + "__key__": "sa_1327611", + "txt": "a busy train station with a yellow and black building, which is the station itself" + }, + { + "__key__": "sa_5869394", + "txt": "a colorful display of various handbags and wallets, showcasing a wide range of styles and colors" + }, + { + "__key__": "sa_7147233", + "txt": "two women standing on a street holding signs, with one of them holding a sign that says \"Kentoro KEN HOB" + }, + { + "__key__": "sa_4912870", + "txt": "a marina with several boats docked in it, surrounded by a lush green hillside" + }, + { + "__key__": "sa_1285631", + "txt": "a large airplane flying in the sky, with a snow-covered mountain in the background" + }, + { + "__key__": "sa_6725674", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_5627826", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_7723359", + "txt": "a wooden building with a porch and a car parked outside" + }, + { + "__key__": "sa_8411", + "txt": "a street sign with a modern design, featuring two signs pointing in opposite directions" + }, + { + "__key__": "sa_6385667", + "txt": "two women sitting on a street, surrounded by various baskets filled with fruits and vegetables" + }, + { + "__key__": "sa_6526462", + "txt": "a group of people dressed in colorful costumes, wearing traditional Asian clothing" + }, + { + "__key__": "sa_1597442", + "txt": "a postage stamp with a portrait of Queen Elizabeth II, the Queen of the United Kingdom" + }, + { + "__key__": "sa_803250", + "txt": "a yellow road sign with the words \"Road Closed\" written on it" + }, + { + "__key__": "sa_7608866", + "txt": "a large ship docked at a pier, with a nighttime setting" + }, + { + "__key__": "sa_7409693", + "txt": "a narrow, cobblestone street lined with shops and buildings" + }, + { + "__key__": "sa_7432961", + "txt": "a group of people standing in a row, holding drums in their hands" + }, + { + "__key__": "sa_637275", + "txt": "a group of people on two boats, each filled with various items, such as fruits, vegetables, and other goods" + }, + { + "__key__": "sa_1680882", + "txt": "a harbor filled with many boats, including sailboats and yachts, docked at the marina" + }, + { + "__key__": "sa_7661505", + "txt": "a black and white photograph featuring a busy outdoor dining area with several tables and chairs" + }, + { + "__key__": "sa_7361411", + "txt": "a tall, modern building with a unique and artistic design" + }, + { + "__key__": "sa_1648672", + "txt": "a large, empty parking lot with a few cars parked in it" + }, + { + "__key__": "sa_7000285", + "txt": "a large group of people gathered together, holding up signs and banners" + }, + { + "__key__": "sa_1729509", + "txt": "a large, modern building with a unique architectural design, resembling a skyscraper" + }, + { + "__key__": "sa_1248776", + "txt": "a statue of the Statue of Liberty, a famous symbol of freedom and democracy" + }, + { + "__key__": "sa_7373801", + "txt": "a large, ornate building with a dome, which is a cathedral" + }, + { + "__key__": "sa_4999856", + "txt": "a large dragon-shaped light display, which is a creative and visually appealing decoration" + }, + { + "__key__": "sa_6797713", + "txt": "a black and white photograph of a sidewalk with a large sign in front of a building" + }, + { + "__key__": "sa_6880512", + "txt": "a large statue of Buddha sitting on a throne, surrounded by intricate and ornate decorations" + }, + { + "__key__": "sa_5589076", + "txt": "a large crowd of people gathered together in a public space, with many of them holding red and white flags" + }, + { + "__key__": "sa_7871605", + "txt": "a cluttered bookshelf filled with numerous books, both hardcover and paperback, stacked on top of each other" + }, + { + "__key__": "sa_1351741", + "txt": "a narrow street lined with old buildings, where people are walking and riding bicycles" + }, + { + "__key__": "sa_4789967", + "txt": "a group of people standing outside a building, with some wearing masks and others without" + }, + { + "__key__": "sa_4334461", + "txt": "a group of women dressed in military uniforms, holding large drums and marching in a parade" + }, + { + "__key__": "sa_4374458", + "txt": "a close-up view of a stone wall with intricate carvings and decorations" + }, + { + "__key__": "sa_1233447", + "txt": "a large crowd of people gathered around a fountain in a city square" + }, + { + "__key__": "sa_6524025", + "txt": "a close-up of a red and white logo, which is a depiction of a sports team's emblem" + }, + { + "__key__": "sa_6204519", + "txt": "a white and blue box containing a vial of medicine, which is a clear glass bottle" + }, + { + "__key__": "sa_5291859", + "txt": "a large room filled with numerous bookshelves, tables, and chairs" + }, + { + "__key__": "sa_4932745", + "txt": "a cityscape with a variety of buildings, including skyscrapers and other structures, set against a blue sky" + }, + { + "__key__": "sa_1272034", + "txt": "a large, colorful building with a unique architectural design" + }, + { + "__key__": "sa_8014902", + "txt": "a large commercial airplane flying through the sky, with a clear blue sky as its backdrop" + }, + { + "__key__": "sa_7562542", + "txt": "a large crowd of people gathered in a public square or plaza, with many of them standing around and walking" + }, + { + "__key__": "sa_5563959", + "txt": "a black and white photograph featuring a parking lot filled with buses" + }, + { + "__key__": "sa_7342552", + "txt": "a small, compact living space with a white table and a white chair" + }, + { + "__key__": "sa_5307716", + "txt": "a black and white photograph of a sign on a tree, which reads \"Save Lives VOTE Biden" + }, + { + "__key__": "sa_5757433", + "txt": "a close-up of a neon sign, which is a large sign with white letters on a black background" + }, + { + "__key__": "sa_7838687", + "txt": "a group of people dressed in Christmas-themed costumes, including a Santa Claus, a Mrs" + }, + { + "__key__": "sa_6599259", + "txt": "two fighter jets flying in the sky, with one jet flying above the other" + }, + { + "__key__": "sa_6854638", + "txt": "a large warehouse with a long aisle filled with shelves and boxes" + }, + { + "__key__": "sa_6217984", + "txt": "a street sign with the name \"Las Vegas Strip\" written on it" + }, + { + "__key__": "sa_812013", + "txt": "a large, ornate library filled with bookshelves and bookcases" + }, + { + "__key__": "sa_6955369", + "txt": "two baskets, one filled with a variety of colored pencils and the other with a collection of crayons" + }, + { + "__key__": "sa_7508783", + "txt": "a busy train station with a train on the tracks, surrounded by numerous people and vehicles" + }, + { + "__key__": "sa_636629", + "txt": "a storefront window with a sign that reads \"Half Price Books" + }, + { + "__key__": "sa_7284521", + "txt": "a large, empty swimming pool surrounded by numerous chairs and umbrellas" + }, + { + "__key__": "sa_5405517", + "txt": "a close-up view of a storefront, with a sign hanging above it" + }, + { + "__key__": "sa_1193015", + "txt": "a group of people standing on a pier or dock, with some of them holding fishing rods" + }, + { + "__key__": "sa_4865292", + "txt": "a variety of items, including a bottle of medicine, a small plastic bag, and a small plastic vial" + }, + { + "__key__": "sa_173472", + "txt": "a close-up of a store filled with various items, including bicycles, toys, and other merchandise" + }, + { + "__key__": "sa_1571908", + "txt": "a large marina filled with numerous boats, including motorboats and sailboats, docked at a pier" + }, + { + "__key__": "sa_1124018", + "txt": "a street sign with multiple directions, including a street sign for Khao Kheow Road in Thailand" + }, + { + "__key__": "sa_1490797", + "txt": "a sandy beach with a long pier extending into the ocean" + }, + { + "__key__": "sa_7106210", + "txt": "a bookstore with a large open display of books, magazines, and newspapers" + }, + { + "__key__": "sa_5787146", + "txt": "a blue and white building with a sign that reads \"Pit Stop" + }, + { + "__key__": "sa_5945967", + "txt": "a large, red and white sign with the word \"H&M\" displayed prominently on it" + }, + { + "__key__": "sa_7982645", + "txt": "a woman standing on a pier, holding a yellow paddle and a yellow kayak" + }, + { + "__key__": "sa_5751457", + "txt": "a large building with a distinctive and eye-catching design" + }, + { + "__key__": "sa_4421830", + "txt": "a close-up shot of a sign with the word \"Kodok\" written on it" + }, + { + "__key__": "sa_7835609", + "txt": "a crowd of people gathered in a park, with some holding signs and banners" + }, + { + "__key__": "sa_6632830", + "txt": "two men sitting at a table, with one of them holding a microphone" + }, + { + "__key__": "sa_1685174", + "txt": "a group of people, including children, marching in a parade while holding sticks" + }, + { + "__key__": "sa_6623327", + "txt": "a large building with a sign on the side, which reads \"Regis" + }, + { + "__key__": "sa_1580089", + "txt": "a classroom filled with students sitting at desks, working on their assignments" + }, + { + "__key__": "sa_7158975", + "txt": "a group of people, including children and adults, sitting on a bed" + }, + { + "__key__": "sa_7595691", + "txt": "a group of people flying kites in the sky" + }, + { + "__key__": "sa_478052", + "txt": "a wall filled with shoe displays, showcasing a variety of shoes in different colors and styles" + }, + { + "__key__": "sa_1266895", + "txt": "a large pile of green apples, with some of them being green and others being yellow" + }, + { + "__key__": "sa_4588165", + "txt": "a wall with a graffiti-style design, featuring a large flower painted in bright colors" + }, + { + "__key__": "sa_1353834", + "txt": "a group of people sitting in a bus, with some of them holding cell phones" + }, + { + "__key__": "sa_7130169", + "txt": "a large stone structure with two pillars, which are topped with stone balls" + }, + { + "__key__": "sa_5815966", + "txt": "a group of soldiers sitting in the grass, with one of them holding a can of dynamite" + }, + { + "__key__": "sa_4746882", + "txt": "a black and white photograph featuring a harbor filled with numerous boats, including large yachts" + }, + { + "__key__": "sa_6166768", + "txt": "a large, open area with a crowd of people gathered around a red gate" + }, + { + "__key__": "sa_7263678", + "txt": "a white wall with a sign on it, displaying various rules and regulations" + }, + { + "__key__": "sa_1300304", + "txt": "a large airport terminal with a modern and sleek design" + }, + { + "__key__": "sa_7243716", + "txt": "a cemetery with a large number of gravestones, many of which are white" + }, + { + "__key__": "sa_5224731", + "txt": "a pile of nuts, specifically walnuts, on a white cloth" + }, + { + "__key__": "sa_7692241", + "txt": "a box of red and white sticks, which are likely toothbrushes" + }, + { + "__key__": "sa_7620469", + "txt": "a large jetliner, specifically a Boeing 747, flying high in the sky" + }, + { + "__key__": "sa_5227892", + "txt": "a black and white photograph featuring a group of people skiing down a snowy slope" + }, + { + "__key__": "sa_8033556", + "txt": "a beach scene with a group of people flying kites" + }, + { + "__key__": "sa_6677883", + "txt": "a close-up of pink flowers with green leaves, possibly roses, lying on a white background" + }, + { + "__key__": "sa_1720516", + "txt": "a group of young girls dressed in white, holding roses in their hands" + }, + { + "__key__": "sa_6964303", + "txt": "a harbor filled with numerous boats, including sailboats and motorboats, docked at a pier" + }, + { + "__key__": "sa_7945372", + "txt": "three women in a swimming pool, with one of them holding a surfboard" + }, + { + "__key__": "sa_5735530", + "txt": "a group of young women standing around a table with two laptops on it" + }, + { + "__key__": "sa_6893389", + "txt": "a long hallway with many doors, each with a different design and color" + }, + { + "__key__": "sa_7748763", + "txt": "a black and white photograph of a cityscape with a river in the foreground" + }, + { + "__key__": "sa_7300558", + "txt": "a close-up of a tree branch with a cluster of green leaves" + }, + { + "__key__": "sa_5327723", + "txt": "a sign on a pole, which is attached to a tree" + }, + { + "__key__": "sa_6360677", + "txt": "a lush green forest with a small stream running through it" + }, + { + "__key__": "sa_7955583", + "txt": "a man standing on a train, surrounded by several other passengers who are seated" + }, + { + "__key__": "sa_5099007", + "txt": "a marina with a large boat docked at a pier" + }, + { + "__key__": "sa_1570696", + "txt": "a group of people gathered around a row of parked motorcycles, with some of them standing on the motorcycles" + }, + { + "__key__": "sa_7054240", + "txt": "a group of people sitting at outdoor tables, enjoying their meals and drinks in a park-like setting" + }, + { + "__key__": "sa_438908", + "txt": "a crowded street scene with people walking and standing around, engaging in various activities" + }, + { + "__key__": "sa_5005831", + "txt": "a black and white photograph that captures a cityscape from above" + }, + { + "__key__": "sa_7020079", + "txt": "a path surrounded by trees and gravestones, with people walking along the path" + }, + { + "__key__": "sa_582315", + "txt": "a person wearing a snowsuit and riding a snowboard down a snow-covered slope" + }, + { + "__key__": "sa_5197637", + "txt": "a close-up of a white flower with yellow centers, surrounded by green leaves" + }, + { + "__key__": "sa_4870692", + "txt": "a large white and red airplane flying through the sky, with a clear blue sky as its backdrop" + }, + { + "__key__": "sa_7960695", + "txt": "a postage stamp with a picture of a satellite dish on it" + }, + { + "__key__": "sa_542764", + "txt": "a close-up view of a pair of sneakers, specifically a pair of Air Jordan sneakers, sitting on a chair" + }, + { + "__key__": "sa_6645351", + "txt": "a group of soldiers in military uniforms, standing in a row and holding their rifles" + }, + { + "__key__": "sa_1261547", + "txt": "a tree with many green leaves and a large number of nuts, such as walnuts, hanging from its branches" + }, + { + "__key__": "sa_6237980", + "txt": "a black and white photograph of a large building with a lit-up sign on it" + }, + { + "__key__": "sa_6725544", + "txt": "a cemetery with numerous gravestones, some of which are tall and have crosses on them" + }, + { + "__key__": "sa_6155153", + "txt": "a group of people gathered together, with some of them wearing colorful outfits and holding paintbrushes" + }, + { + "__key__": "sa_5710173", + "txt": "a large, open public square with a fountain in the middle" + }, + { + "__key__": "sa_5078215", + "txt": "a group of young people, likely students, gathered together in a classroom" + }, + { + "__key__": "sa_7736467", + "txt": "a black and white photograph featuring a canal in Venice, Italy" + }, + { + "__key__": "sa_1183058", + "txt": "a close-up view of a tile floor, which is covered with various types of tiles" + }, + { + "__key__": "sa_4430924", + "txt": "a beach scene with a large crowd of people gathered near the water" + }, + { + "__key__": "sa_4920007", + "txt": "a marina filled with many boats, including a large white boat and several smaller boats" + }, + { + "__key__": "sa_7804931", + "txt": "a black and white photograph featuring a bridge over a river, with people walking on it" + }, + { + "__key__": "sa_1688689", + "txt": "a harbor filled with numerous small boats, including several colorful ones, docked at a pier" + }, + { + "__key__": "sa_6177018", + "txt": "a large digital sign displaying a message that reads \"Handling Safe Flights Every Day" + }, + { + "__key__": "sa_7748602", + "txt": "a close-up view of a small white flower growing in the dirt, surrounded by leaves" + }, + { + "__key__": "sa_6375578", + "txt": "a black bag with a logo on it, which appears to be a backpack" + }, + { + "__key__": "sa_454966", + "txt": "two people wearing scuba diving gear, including wetsuits, masks, and fins" + }, + { + "__key__": "sa_146282", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_4642917", + "txt": "a black and white photograph featuring a cityscape with a river running through it" + }, + { + "__key__": "sa_1599407", + "txt": "a group of people standing in front of a red building, which appears to be a traditional Japanese building" + }, + { + "__key__": "sa_503403", + "txt": "a close-up of a neon sign that reads \"I Love NY\" in a stylized font" + }, + { + "__key__": "sa_6085016", + "txt": "a young boy standing on a sidewalk, holding a blue bucket" + }, + { + "__key__": "sa_5333125", + "txt": "a group of people gathered in a public square, standing around and engaging in various activities" + }, + { + "__key__": "sa_7644543", + "txt": "a red and white train with a unique and eye-catching design on its side" + }, + { + "__key__": "sa_4286790", + "txt": "a red fire extinguisher with a white label on it, placed on a table" + }, + { + "__key__": "sa_4970331", + "txt": "a large greenhouse filled with various types of cacti and other plants, including a large cactus tree" + }, + { + "__key__": "sa_5444166", + "txt": "a woman standing in front of a large, colorful Christmas tree made of ornaments" + }, + { + "__key__": "sa_6103923", + "txt": "a group of people gathered in a courtyard, with some of them carrying bags and others standing around" + }, + { + "__key__": "sa_17529", + "txt": "a large Ferris wheel with a colorful design, surrounded by a crowd of people" + }, + { + "__key__": "sa_445777", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_5663119", + "txt": "a large marina with several boats docked in the harbor" + }, + { + "__key__": "sa_5108460", + "txt": "a wide, empty street lined with parked cars and a row of American flags" + }, + { + "__key__": "sa_456050", + "txt": "a large crowd of people gathered in a public area, with some holding signs and protesting" + }, + { + "__key__": "sa_5285646", + "txt": "a red postage stamp with the number \"500\" on it, which is a French stamp" + }, + { + "__key__": "sa_5721230", + "txt": "a large jetliner, specifically a Germanwings airplane, flying through the sky" + }, + { + "__key__": "sa_7832348", + "txt": "a black and white Volkswagen Beetle parked in a parking lot, surrounded by other cars" + }, + { + "__key__": "sa_7919702", + "txt": "a large collection of newspapers stacked on top of each other, with a few magazines also present" + }, + { + "__key__": "sa_6972761", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_7880690", + "txt": "a group of people dancing in a public square, with some of them wearing costumes" + }, + { + "__key__": "sa_150173", + "txt": "a large group of people gathered in a courtyard, with a cathedral in the background" + }, + { + "__key__": "sa_6842600", + "txt": "a group of people dressed in red and white costumes, with some wearing hats and holding flags" + }, + { + "__key__": "sa_7224127", + "txt": "a person's feet, specifically their shoes, which are brown and have a hiking-like design" + }, + { + "__key__": "sa_6551748", + "txt": "a group of men in military uniforms sitting in a classroom, with some of them wearing beards" + }, + { + "__key__": "sa_538735", + "txt": "a large building with a prominent sign on its side, which reads \"Palamalai" + }, + { + "__key__": "sa_4500575", + "txt": "a group of people standing on a pier or a dock, with some of them carrying handbags" + }, + { + "__key__": "sa_7892956", + "txt": "a large airplane flying in the sky, with a clear blue sky as the backdrop" + }, + { + "__key__": "sa_5841108", + "txt": "a large building with a white and gray exterior, which is situated next to a street" + }, + { + "__key__": "sa_8115428", + "txt": "a large greenhouse filled with plants, including tomatoes and other vegetables" + }, + { + "__key__": "sa_7305804", + "txt": "three women dressed in traditional costumes, likely representing a culture or ethnicity" + }, + { + "__key__": "sa_6833868", + "txt": "a large stone staircase leading up to a temple, which is adorned with colorful flags and banners" + }, + { + "__key__": "sa_7451430", + "txt": "a group of people standing on a dock, holding blue barrels" + }, + { + "__key__": "sa_5501476", + "txt": "a group of people gathered together, with some of them holding hands and others standing around" + }, + { + "__key__": "sa_4724916", + "txt": "a large body of water with several boats docked in the harbor" + }, + { + "__key__": "sa_7681851", + "txt": "a tall building with a large sign on the side, which reads \"Martini" + }, + { + "__key__": "sa_7731931", + "txt": "a large group of people gathered in a courtyard in front of a large, old building" + }, + { + "__key__": "sa_584111", + "txt": "a large, modern home with a clean, minimalist design" + }, + { + "__key__": "sa_64634", + "txt": "a black and white photograph of a store or market, likely taken in the 1950s" + }, + { + "__key__": "sa_1406055", + "txt": "a busy street scene with several people walking and riding bicycles" + }, + { + "__key__": "sa_1212795", + "txt": "a group of people dressed in costumes, with some wearing blue robes and others wearing white robes" + }, + { + "__key__": "sa_5138938", + "txt": "a lush green forest with a small stream running through it" + }, + { + "__key__": "sa_7999666", + "txt": "a large airport terminal with a modern and sleek design" + }, + { + "__key__": "sa_6775233", + "txt": "a row of old-fashioned, vintage-style vehicles parked along a street" + }, + { + "__key__": "sa_1162389", + "txt": "a stack of newspapers with various advertisements and articles, placed on a table" + }, + { + "__key__": "sa_6917939", + "txt": "a scenic view of a city with a large lake in the background" + }, + { + "__key__": "sa_4780577", + "txt": "a busy train station with a crowd of people walking around and waiting for the train" + }, + { + "__key__": "sa_6824375", + "txt": "a group of people posing with statues, specifically, a group of people dressed in armor and wearing helmets" + }, + { + "__key__": "sa_1292012", + "txt": "a black and white photograph featuring a narrow alleyway in a small town" + }, + { + "__key__": "sa_155786", + "txt": "a large group of people gathered on a bridge, with some of them holding signs" + }, + { + "__key__": "sa_7161806", + "txt": "a busy street scene with several people and vehicles, including cars and buses" + }, + { + "__key__": "sa_5764526", + "txt": "a train track with several train tracks running parallel to each other" + }, + { + "__key__": "sa_7329033", + "txt": "a train traveling down the tracks, with a forest in the background" + }, + { + "__key__": "sa_5076104", + "txt": "a large, white building with a red Porsche dealership sign on it" + }, + { + "__key__": "sa_5598701", + "txt": "a large harbor filled with numerous boats, including sailboats and other vessels" + }, + { + "__key__": "sa_7084818", + "txt": "a green sports car driving down a busy highway, surrounded by other vehicles such as cars, trucks, and buses" + }, + { + "__key__": "sa_4489052", + "txt": "a black and white photograph of a modern kitchen with a circular design" + }, + { + "__key__": "sa_6161530", + "txt": "a group of people standing on a staircase, holding up various flags, and displaying signs" + }, + { + "__key__": "sa_6413710", + "txt": "a stack of old, worn, and yellowed papers, which appear to be ancient or historical documents" + }, + { + "__key__": "sa_1177316", + "txt": "a black and white photograph of a harbor filled with boats, including a large boat and several smaller ones" + }, + { + "__key__": "sa_4996260", + "txt": "a group of people dressed in costumes, standing on a street and interacting with each other" + }, + { + "__key__": "sa_592885", + "txt": "a close-up of a Wiener Insurance Group sign, which is located on a building" + }, + { + "__key__": "sa_7187072", + "txt": "a group of people dressed in black robes, wearing hoods and carrying poles" + }, + { + "__key__": "sa_6529377", + "txt": "a large commercial airplane parked on the tarmac at an airport, with its landing gear down" + }, + { + "__key__": "sa_7963062", + "txt": "a group of people sitting on the grass, holding up signs with various messages" + }, + { + "__key__": "sa_6179527", + "txt": "a Hollywood sign, which is a famous landmark in Los Angeles, California" + }, + { + "__key__": "sa_6552401", + "txt": "a group of people gathered around a large statue, which is a statue of Buddha" + }, + { + "__key__": "sa_1498173", + "txt": "a large, industrial-style electrical panel with numerous wires and switches" + }, + { + "__key__": "sa_7343935", + "txt": "a busy shopping mall filled with people walking around, shopping, and interacting with each other" + }, + { + "__key__": "sa_6955032", + "txt": "a close-up of a row of six different cans of Coca-Cola, each with a distinct color and design" + }, + { + "__key__": "sa_569836", + "txt": "a postage stamp with a picture of a large elephant on it" + }, + { + "__key__": "sa_643002", + "txt": "a Coca-Cola can and a glass of Coca-Cola, both placed on a white background" + }, + { + "__key__": "sa_566862", + "txt": "a display of various types of noodles, including a row of packages of instant noodles and a box of noodles" + }, + { + "__key__": "sa_7817504", + "txt": "a large, modern building with a unique and artistic design" + }, + { + "__key__": "sa_4454200", + "txt": "a couple of people on a small boat floating down a narrow river surrounded by trees" + }, + { + "__key__": "sa_6547370", + "txt": "a blue and white storefront with a sign that reads \"Tuesday Morning" + }, + { + "__key__": "sa_5223509", + "txt": "a cemetery with a large number of gravestones, some of which are decorated with flowers" + }, + { + "__key__": "sa_4364226", + "txt": "a group of people gathered around a long table, sitting in chairs" + }, + { + "__key__": "sa_5747868", + "txt": "a cemetery with a large, old tree in the middle of it" + }, + { + "__key__": "sa_5837818", + "txt": "a train traveling down the tracks in a snowy mountainous region" + }, + { + "__key__": "sa_4382003", + "txt": "two red and black scooters parked next to each other on a brick road" + }, + { + "__key__": "sa_5377359", + "txt": "a young boy standing next to a yellow submarine parked on a street" + }, + { + "__key__": "sa_6129821", + "txt": "a vintage postage stamp with a red and green floral design on it" + }, + { + "__key__": "sa_5229360", + "txt": "a close-up of a field of yellow flowers, specifically daffodils, with a green background" + }, + { + "__key__": "sa_6105416", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_5362460", + "txt": "a large dining area with a long table, chairs, and various dining tables" + }, + { + "__key__": "sa_7264350", + "txt": "a postage stamp with a red and white design, depicting two men fighting each other" + }, + { + "__key__": "sa_4281086", + "txt": "a large crowd of people gathered on a street, walking together and holding up signs" + }, + { + "__key__": "sa_742200", + "txt": "a large group of helicopters flying in the sky, with some of them flying in formation" + }, + { + "__key__": "sa_1373294", + "txt": "a close-up of a sign with the words \"Abu Garcia for life" + }, + { + "__key__": "sa_7548595", + "txt": "a busy street scene with people walking and standing on a snowy sidewalk" + }, + { + "__key__": "sa_7984576", + "txt": "a close-up of a plant with green leaves and yellow flowers, which are surrounded by other green leaves" + }, + { + "__key__": "sa_5123613", + "txt": "a close-up view of a large collection of colorful Lego blocks, showcasing their various shapes and sizes" + }, + { + "__key__": "sa_7074893", + "txt": "a large white building with a black and white sign on top of it" + }, + { + "__key__": "sa_6170539", + "txt": "a postage stamp with a picture of a windmill on it" + }, + { + "__key__": "sa_4495027", + "txt": "a harbor filled with many sailboats, some of which are docked and others are sailing in the water" + }, + { + "__key__": "sa_4907076", + "txt": "a large crowd of people gathered in a public area, with some holding signs and others standing around" + }, + { + "__key__": "sa_6394240", + "txt": "a large, old-fashioned building with a sign that reads \"Chinese Restaurant" + }, + { + "__key__": "sa_1418990", + "txt": "a table with a variety of potted plants, including flowers and herbs, displayed in small pots" + }, + { + "__key__": "sa_7937471", + "txt": "a cemetery with many white headstones, some of which are decorated with intricate carvings" + }, + { + "__key__": "sa_4675265", + "txt": "a black and white photograph of a narrow street with a building and a tree" + }, + { + "__key__": "sa_7027679", + "txt": "a close-up view of three large, aged, and rustic-looking wooden cigar boxes, each containing a cigar" + }, + { + "__key__": "sa_4603599", + "txt": "a woman wearing a red glove and cutting fish on a table" + }, + { + "__key__": "sa_59021", + "txt": "a close-up of a shoe, specifically a black and white sneaker, sitting on a black surface" + }, + { + "__key__": "sa_7123016", + "txt": "a group of young people dressed in matching shirts and ties, wearing white and green outfits" + }, + { + "__key__": "sa_7920086", + "txt": "a large, ornate building with a red roof, which appears to be a castle or a palace" + }, + { + "__key__": "sa_7919645", + "txt": "a large table filled with numerous books, some of which are stacked on top of each other" + }, + { + "__key__": "sa_6381501", + "txt": "a snow-covered street with two snow-laden evergreen trees standing tall in the background" + }, + { + "__key__": "sa_6904077", + "txt": "a dining table with a white tablecloth, set with a variety of utensils, such as forks, knives, and spoons" + }, + { + "__key__": "sa_5503847", + "txt": "a large, modern building with a unique and futuristic design" + }, + { + "__key__": "sa_6582108", + "txt": "a black and white photograph featuring a large, open, and dimly lit room with many pillars and arches" + }, + { + "__key__": "sa_7901417", + "txt": "a large, multi-story building with a unique architectural design" + }, + { + "__key__": "sa_518662", + "txt": "a group of statues or sculptures of people, standing in a row and facing the viewer" + }, + { + "__key__": "sa_6428832", + "txt": "a wooden table and several wooden benches, all situated in a garden setting" + }, + { + "__key__": "sa_7272345", + "txt": "a cemetery with rows of headstones, some of which are decorated with red flowers" + }, + { + "__key__": "sa_5779705", + "txt": "two young children standing on a beach, holding hands and looking out into the ocean" + }, + { + "__key__": "sa_7343281", + "txt": "a large, ornate wooden plaque or carving, which is mounted on a wall" + }, + { + "__key__": "sa_5850167", + "txt": "two trash cans, one red and one yellow, sitting next to each other on a sidewalk" + }, + { + "__key__": "sa_5104258", + "txt": "two women, likely sisters, standing next to each other and holding a large balloon" + }, + { + "__key__": "sa_4526575", + "txt": "a group of people wearing medieval-style clothing, including knights, and holding swords" + }, + { + "__key__": "sa_7654853", + "txt": "a large parking lot filled with numerous motorcycles parked in rows" + }, + { + "__key__": "sa_5685840", + "txt": "a large harbor filled with numerous boats, including sailboats and yachts" + }, + { + "__key__": "sa_4662537", + "txt": "a large wooden building with a slanted roof and a large wooden door" + }, + { + "__key__": "sa_7081998", + "txt": "a large jetliner, specifically a purple and white airplane, flying high in the sky" + }, + { + "__key__": "sa_7207217", + "txt": "a large, open, and modern building with a slanted roof, which is situated in a park-like setting" + }, + { + "__key__": "sa_801525", + "txt": "a black and white photograph featuring a cityscape at sunset" + }, + { + "__key__": "sa_6715670", + "txt": "a large crowd of people gathered on a pier, watching boats and ships passing by in the water" + }, + { + "__key__": "sa_4975829", + "txt": "a storefront with a large window, displaying a sign for \"China Town" + }, + { + "__key__": "sa_5366036", + "txt": "a large crowd of people gathered in a public space, holding signs and banners" + }, + { + "__key__": "sa_7191455", + "txt": "a collection of intricately designed and painted wooden dolls, or matryoshka dolls, displayed on a table" + }, + { + "__key__": "sa_5546370", + "txt": "a large jetliner, likely a Germanwings airplane, flying through the sky" + }, + { + "__key__": "sa_6512053", + "txt": "a sign on a building, which is located on a street corner" + }, + { + "__key__": "sa_7697647", + "txt": "a postage stamp depicting a brown bear walking through a forest" + }, + { + "__key__": "sa_5523203", + "txt": "two women walking on a beach, each holding a handbag" + }, + { + "__key__": "sa_1582158", + "txt": "two women standing on a sidewalk, holding a map and looking at it" + }, + { + "__key__": "sa_1469636", + "txt": "a close-up of a large, flowering tree with pink flowers" + }, + { + "__key__": "sa_5949945", + "txt": "a long dock filled with various boats, including small and large vessels, lined up next to each other" + }, + { + "__key__": "sa_6192028", + "txt": "a beautiful, lush green hillside with a castle in the background, surrounded by a forest of trees and bushes" + }, + { + "__key__": "sa_5481342", + "txt": "a close-up view of a large, colorful, and intricate painting" + }, + { + "__key__": "sa_6778905", + "txt": "a close-up of a camera lens, with a view of the lens's inner workings" + }, + { + "__key__": "sa_7337121", + "txt": "a busy street scene with people walking and standing around, engaging in various activities" + }, + { + "__key__": "sa_6490248", + "txt": "a group of people gathered around a table, with some wearing blue uniforms and others wearing masks" + }, + { + "__key__": "sa_6692880", + "txt": "a crowded bookstore filled with people browsing and reading books" + }, + { + "__key__": "sa_7513066", + "txt": "a black and white photograph of a large church with a tall steeple and a green roof" + }, + { + "__key__": "sa_7446992", + "txt": "a lush green garden with a large building in the background, surrounded by trees and rocks" + }, + { + "__key__": "sa_7858211", + "txt": "a large, stone-faced building with a sign that reads \"National Cowboy & Western Heritage Museum" + }, + { + "__key__": "sa_6948326", + "txt": "a large, open, and empty stadium filled with people" + }, + { + "__key__": "sa_7172971", + "txt": "a large airplane flying through the sky, with a clear blue sky as its backdrop" + }, + { + "__key__": "sa_5786806", + "txt": "a large crowd of people gathered in a public square, standing and sitting around a statue of two men" + }, + { + "__key__": "sa_7516482", + "txt": "a harbor filled with several large boats, including sailboats and yachts, docked in the water" + }, + { + "__key__": "sa_5173643", + "txt": "two fighter jets flying in the sky, with one jet trailing the other" + }, + { + "__key__": "sa_5895137", + "txt": "two young girls sitting next to each other, both wearing sports uniforms and holding sports equipment" + }, + { + "__key__": "sa_7952949", + "txt": "a row of electric scooters parked next to each other, with a few of them being green" + }, + { + "__key__": "sa_732914", + "txt": "a close-up view of a blue and white bottle, which is a can of soda" + }, + { + "__key__": "sa_5417314", + "txt": "a collection of children's books, specifically Disney Frozen books, which are designed for young readers" + }, + { + "__key__": "sa_6976779", + "txt": "a green Land Rover parked on the side of a street, next to a building" + }, + { + "__key__": "sa_5492736", + "txt": "a large blue and white airplane with a propeller on its wing" + }, + { + "__key__": "sa_7274198", + "txt": "a large, modern building with a unique, artistic design" + }, + { + "__key__": "sa_7609730", + "txt": "a large group of people gathered together, with some wearing costumes and holding umbrellas" + }, + { + "__key__": "sa_7365156", + "txt": "a close-up view of a large metal fence with numerous locks attached to it" + }, + { + "__key__": "sa_5236488", + "txt": "a narrow, stone staircase that leads up to a stone building" + }, + { + "__key__": "sa_127704", + "txt": "a group of people standing together, with some of them holding rifles" + }, + { + "__key__": "sa_4362228", + "txt": "a large building with a sign that reads \"Papa John's" + }, + { + "__key__": "sa_7319879", + "txt": "a group of people dressed in red robes, wearing red veils, and riding bikes" + }, + { + "__key__": "sa_523638", + "txt": "a large, modern-looking building with a unique architectural design" + }, + { + "__key__": "sa_74360", + "txt": "a train traveling down the tracks, with a red and white train car visible" + }, + { + "__key__": "sa_7384117", + "txt": "a large, industrial-looking building with a fence surrounding it" + }, + { + "__key__": "sa_1242073", + "txt": "a pair of grey and blue Adidas sneakers, which are sitting inside a box" + }, + { + "__key__": "sa_7079152", + "txt": "a crowded street with people walking around, some holding umbrellas" + }, + { + "__key__": "sa_5886700", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_6054423", + "txt": "a black and white photograph of a large sign, which is mounted on a pole" + }, + { + "__key__": "sa_7007008", + "txt": "a close-up view of a tire with a unique and artistic design" + }, + { + "__key__": "sa_6765278", + "txt": "a display of various souvenirs and travel-related items, including postcards, magnets, and other small items" + }, + { + "__key__": "sa_4953291", + "txt": "a young child, likely a toddler or a small child, playing on a beach" + }, + { + "__key__": "sa_6529853", + "txt": "a lush green field filled with many different types of flowers, including lilies and other plants" + }, + { + "__key__": "sa_1678997", + "txt": "a group of people on a boat, with some of them holding drinks in their hands" + }, + { + "__key__": "sa_6418965", + "txt": "a large, ornate building with a dome, which is likely a palace or a castle" + }, + { + "__key__": "sa_5473204", + "txt": "three stone lions sitting on a stone pedestal, with two of them facing each other" + }, + { + "__key__": "sa_5819384", + "txt": "a living room with a modern and stylish design" + }, + { + "__key__": "sa_4838381", + "txt": "a large, ornate building with a dome, which is likely a cathedral or a historical building" + }, + { + "__key__": "sa_7360963", + "txt": "a large crowd of people gathered around a neon green sign, which is likely a Glo sign" + }, + { + "__key__": "sa_4555394", + "txt": "a large, white building with a dome, situated in a park-like setting with many trees" + }, + { + "__key__": "sa_7882788", + "txt": "a white sports car, specifically a Bentley, parked on a street" + }, + { + "__key__": "sa_431296", + "txt": "a large crowd of people gathered in a public space, holding up signs and protesting" + }, + { + "__key__": "sa_5302303", + "txt": "a close-up of a blue and green sign with the words \"Bloom Energy\" written on it" + }, + { + "__key__": "sa_5004628", + "txt": "a group of men working together in a small, cramped workshop" + }, + { + "__key__": "sa_5042578", + "txt": "a large crowd of people gathered in a public space, holding up signs and banners" + }, + { + "__key__": "sa_7921205", + "txt": "a blue box with a label on it, which is sitting on a table" + }, + { + "__key__": "sa_7052092", + "txt": "a close-up of a red sign with white lettering, which is displayed on a wall" + }, + { + "__key__": "sa_6978086", + "txt": "a large, two-story building with a white exterior and a black top" + }, + { + "__key__": "sa_476375", + "txt": "a close-up of a hand holding a blue and white logo, which is the Allstate logo" + }, + { + "__key__": "sa_7571006", + "txt": "a black and white photograph of a city skyline, featuring a large city with many tall buildings" + }, + { + "__key__": "sa_5337699", + "txt": "a large crowd of people gathered in a public space, holding up signs and banners" + }, + { + "__key__": "sa_4327527", + "txt": "a large crowd of people gathered in a stadium, cheering and waving their hands" + }, + { + "__key__": "sa_7406883", + "txt": "a large group of people gathered together, holding signs and protesting" + }, + { + "__key__": "sa_7672857", + "txt": "two bicycles parked next to each other on a brick sidewalk" + }, + { + "__key__": "sa_4819341", + "txt": "a large, yellow and white building with a unique architectural design" + }, + { + "__key__": "sa_4298582", + "txt": "a large, open dining area with several tables and chairs, surrounded by colorful umbrellas" + }, + { + "__key__": "sa_5811911", + "txt": "two flags, one blue and white, and the other red and white, placed next to each other on a table" + }, + { + "__key__": "sa_427693", + "txt": "a black and white photograph featuring a cityscape at sunset" + }, + { + "__key__": "sa_8040941", + "txt": "a large room filled with numerous potted plants, flowers, and vases" + }, + { + "__key__": "sa_6703558", + "txt": "a pair of sneakers, specifically a black and purple pair of sneakers, sitting on a chair" + }, + { + "__key__": "sa_5518535", + "txt": "a large indoor space filled with various items, including clothes, shoes, and accessories" + }, + { + "__key__": "sa_4286731", + "txt": "a tall, green building with a large number of windows" + }, + { + "__key__": "sa_4285422", + "txt": "two red train cars parked next to each other on a train platform" + }, + { + "__key__": "sa_4747313", + "txt": "a train traveling down the tracks in a small town, surrounded by houses and buildings" + }, + { + "__key__": "sa_6742969", + "txt": "a large, open cathedral with a high ceiling and a dome" + }, + { + "__key__": "sa_7038260", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_7043162", + "txt": "a small airplane flying through the sky, captured in a black and white style" + }, + { + "__key__": "sa_4808454", + "txt": "a storefront with a unique and eye-catching design" + }, + { + "__key__": "sa_615712", + "txt": "a large wooden structure or tower, which is filled with numerous books" + }, + { + "__key__": "sa_8017236", + "txt": "a black and white photograph of a large crowd of people gathered in a park, with a lake in the background" + }, + { + "__key__": "sa_5175430", + "txt": "a group of people gathered in a workshop, with some of them working on woodworking projects" + }, + { + "__key__": "sa_4894502", + "txt": "a large, wooden building with a distinctive architectural design, resembling a church or a castle" + }, + { + "__key__": "sa_5824729", + "txt": "a red heart-shaped sign, which is a symbol of love and affection" + }, + { + "__key__": "sa_760550", + "txt": "a stack of five different colored bills, each with a unique design, sitting on top of a table" + }, + { + "__key__": "sa_1176662", + "txt": "a large statue of a group of people, possibly soldiers, standing together and holding hands" + }, + { + "__key__": "sa_5617214", + "txt": "a row of ambulances parked in a parking lot, lined up next to each other" + }, + { + "__key__": "sa_4814536", + "txt": "a black and white photograph of a harbor filled with boats, including sailboats and yachts" + }, + { + "__key__": "sa_5305713", + "txt": "a large cemetery with numerous headstones, each adorned with flowers" + }, + { + "__key__": "sa_6966234", + "txt": "a large crowd of people walking down a street, with many of them wearing white shirts" + }, + { + "__key__": "sa_1508750", + "txt": "a large group of people gathered around a statue, with some of them standing under a white sheet" + }, + { + "__key__": "sa_7486013", + "txt": "a large, ornate building with a prominent sign that reads \"HARRIS" + }, + { + "__key__": "sa_7120608", + "txt": "a black and white photograph of a river with a large boat traveling down it" + }, + { + "__key__": "sa_6592016", + "txt": "a large, grassy field with a small, white building in the middle of it" + }, + { + "__key__": "sa_4530204", + "txt": "a close-up view of a leafy branch with many leaves, hanging from a tree" + }, + { + "__key__": "sa_6747357", + "txt": "a large group of people gathered together, wearing matching black outfits and holding musical instruments" + }, + { + "__key__": "sa_5460489", + "txt": "a large, modern building with a distinct architectural design, resembling a skyscraper" + }, + { + "__key__": "sa_6917677", + "txt": "a group of men dressed in traditional clothing, including white shirts and black hats, riding horses" + }, + { + "__key__": "sa_4701037", + "txt": "a large jetliner, specifically a Lufthansa airplane, flying in the sky" + }, + { + "__key__": "sa_4382686", + "txt": "a large, old, and ornate building with a pointed roof, which appears to be a castle" + }, + { + "__key__": "sa_7412671", + "txt": "a pair of colorful kites flying high in the sky, with a blue sky background" + }, + { + "__key__": "sa_1191517", + "txt": "a woman holding a baby in her arms, with both of them wearing masks" + }, + { + "__key__": "sa_1329642", + "txt": "a group of people, including women and children, gathered together in a colorful and lively setting" + }, + { + "__key__": "sa_4832919", + "txt": "a black and white photograph featuring a group of people riding motorcycles in a dirt lot" + }, + { + "__key__": "sa_5060494", + "txt": "a close-up of three different bottles of shampoo, each with a distinct color and design" + }, + { + "__key__": "sa_7381495", + "txt": "a woman wearing a straw hat, which is a traditional Asian-style hat" + }, + { + "__key__": "sa_5902585", + "txt": "a black and white photograph of an airport runway with multiple airplanes parked on it" + }, + { + "__key__": "sa_7142909", + "txt": "a black and white photograph of the United States Capitol dome, which is a prominent landmark in Washington, D" + }, + { + "__key__": "sa_5180900", + "txt": "a group of people running in a marathon, with one of them wearing a costume" + }, + { + "__key__": "sa_6543624", + "txt": "a large outdoor dining area with a wooden table, benches, and umbrellas" + }, + { + "__key__": "sa_6580966", + "txt": "a busy subway station filled with people, with a train pulling into the station" + }, + { + "__key__": "sa_6458213", + "txt": "a narrow street lined with tall brick buildings, some of which have red doors" + }, + { + "__key__": "sa_4526369", + "txt": "a black and white photograph featuring a group of people surfing on a wave-filled ocean" + }, + { + "__key__": "sa_5751037", + "txt": "a row of three trash cans, each with different colored labels on them" + }, + { + "__key__": "sa_7852651", + "txt": "a harbor filled with boats, including a large boat and several smaller boats, docked at a pier" + }, + { + "__key__": "sa_7828967", + "txt": "a large collection of airplanes on display, showcasing various types and sizes of aircraft" + }, + { + "__key__": "sa_7151413", + "txt": "a woman wearing a large, ornate, and colorful costume, which is adorned with feathers and flowers" + }, + { + "__key__": "sa_5232870", + "txt": "a large sign with a mountain design and the words \"Machu Picchu\" written on it" + }, + { + "__key__": "sa_7657874", + "txt": "a large, old-fashioned house with a steep, wooden staircase leading up to it" + }, + { + "__key__": "sa_6016242", + "txt": "a harbor filled with boats, including several small boats and a large boat, all docked at a pier" + }, + { + "__key__": "sa_7111798", + "txt": "a large group of people gathered together, with many of them wearing white clothing" + }, + { + "__key__": "sa_6826862", + "txt": "a row of military tanks parked on a dirt field, with some of them being camouflaged" + }, + { + "__key__": "sa_4544886", + "txt": "a crucifixion scene, which is a religious art depicting the crucifixion of Jesus Christ" + }, + { + "__key__": "sa_1505459", + "txt": "a large, modern, and colorful building with a unique design" + }, + { + "__key__": "sa_8081625", + "txt": "a display of shoes in a store, showcasing various styles and colors" + }, + { + "__key__": "sa_4534168", + "txt": "a large crowd of people gathered in a stadium, with many flags and banners flying in the air" + }, + { + "__key__": "sa_8094187", + "txt": "a couple walking down a street while holding umbrellas" + }, + { + "__key__": "sa_4734101", + "txt": "a train traveling down the tracks, with a view of the train's interior through a window" + }, + { + "__key__": "sa_6147465", + "txt": "a large stack of boxes filled with packages of noodles, specifically Cup Noodles" + }, + { + "__key__": "sa_4737262", + "txt": "a collection of five different colored envelopes, each with a different design or picture on them" + }, + { + "__key__": "sa_1595083", + "txt": "a group of people holding up a sign that reads \"Together We Rise" + }, + { + "__key__": "sa_5543908", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_5082186", + "txt": "a group of people, including a baby, sitting on a staircase or a set of steps" + }, + { + "__key__": "sa_4904134", + "txt": "a close-up view of a stone wall with intricate carvings and decorations" + }, + { + "__key__": "sa_795334", + "txt": "a large boat docked at a pier, surrounded by several smaller boats and people" + }, + { + "__key__": "sa_6416099", + "txt": "a black and green sneaker, which is a pair of Asics sneakers" + }, + { + "__key__": "sa_7299194", + "txt": "a large bank sign with the words \"Sberbank\" written in green letters" + }, + { + "__key__": "sa_7101370", + "txt": "a crowded train car filled with passengers, with many people standing and sitting inside" + }, + { + "__key__": "sa_4661810", + "txt": "two young girls sitting at a table, each using a laptop computer" + }, + { + "__key__": "sa_7243658", + "txt": "a long, narrow hallway lined with red wooden pillars, creating a visually striking and unique space" + }, + { + "__key__": "sa_6858413", + "txt": "a busy shopping mall with a large atrium, featuring a long hallway filled with people" + }, + { + "__key__": "sa_687926", + "txt": "a group of airplanes flying in the sky, with some of them being fighter jets" + }, + { + "__key__": "sa_176703", + "txt": "a black and white photograph featuring a cityscape with a river running through it" + }, + { + "__key__": "sa_6744749", + "txt": "a close-up of a sign on a building, which reads \"Folkens Kulturkultur" + }, + { + "__key__": "sa_152797", + "txt": "a black and white photograph of a woman standing in a park-like setting" + }, + { + "__key__": "sa_5091608", + "txt": "a large Ferris wheel with multiple people riding it, and it is situated in a park" + }, + { + "__key__": "sa_5192832", + "txt": "a harbor filled with boats, including several sailboats, docked at a pier" + }, + { + "__key__": "sa_6761329", + "txt": "two men riding bicycles in a wooded area, with one of them holding a cup" + }, + { + "__key__": "sa_4285981", + "txt": "a group of people gathered around a table, with some wearing uniforms and others wearing masks" + }, + { + "__key__": "sa_1544162", + "txt": "a train traveling down the tracks, with two trains on the same track" + }, + { + "__key__": "sa_1641588", + "txt": "a tall, white building with a unique, multi-layered design" + }, + { + "__key__": "sa_6879016", + "txt": "a black and white photograph of a river flowing through a lush green forest" + }, + { + "__key__": "sa_5790883", + "txt": "a graffiti-style wall with the words \"MECO\" written in blue and purple spray paint" + }, + { + "__key__": "sa_6945884", + "txt": "a busy street filled with cars, both stopped and moving, as well as pedestrians walking along the sidewalk" + }, + { + "__key__": "sa_7826804", + "txt": "two men dressed in military uniforms, standing next to each other in a field" + }, + { + "__key__": "sa_5657804", + "txt": "a postage stamp with a picture of two astronauts on the moon" + }, + { + "__key__": "sa_5556036", + "txt": "two men walking side by side in the rain, each holding an umbrella" + }, + { + "__key__": "sa_6329738", + "txt": "a group of people running in a marathon, with some of them wearing numbered shirts" + }, + { + "__key__": "sa_1623723", + "txt": "a stunning view of a city skyline with a rainbow-colored sky in the background" + }, + { + "__key__": "sa_719851", + "txt": "a woman standing next to a wooden table with various bottles and a cup on it" + }, + { + "__key__": "sa_5204926", + "txt": "a woman holding a bouquet of flowers, specifically roses, in her hands" + }, + { + "__key__": "sa_5238864", + "txt": "a train traveling down the tracks, with a row of train cars carrying coal" + }, + { + "__key__": "sa_1358348", + "txt": "a large open-air market with a wooden roof, where various vendors are selling their products" + }, + { + "__key__": "sa_7957068", + "txt": "a black and white photograph featuring a group of people standing next to a row of horse-drawn carriages" + }, + { + "__key__": "sa_7551185", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_5928066", + "txt": "a black and white photograph of a busy street with cars, motorcycles, and pedestrians" + }, + { + "__key__": "sa_5410898", + "txt": "a large, flat-screen television displaying a movie poster" + }, + { + "__key__": "sa_622138", + "txt": "a large group of people, including elderly individuals, gathered together on a sidewalk" + }, + { + "__key__": "sa_4313041", + "txt": "a large building with a prominent sign on it, which reads \"Loblaw Companies Limited" + }, + { + "__key__": "sa_1724651", + "txt": "a large hotel sign with the name \"Grand Orr Hotel\" written on it" + }, + { + "__key__": "sa_1565458", + "txt": "a statue of two men riding horses, with one of them holding a sword" + }, + { + "__key__": "sa_6804551", + "txt": "a large crowd of people gathered in a parking lot, walking around and interacting with each other" + }, + { + "__key__": "sa_6141263", + "txt": "a large, ornate wooden door with intricate carvings and decorations" + }, + { + "__key__": "sa_5514202", + "txt": "a black and white photograph featuring a residential neighborhood with a mix of old and new buildings" + }, + { + "__key__": "sa_4806732", + "txt": "a large storefront with a green and white sign, which is a McDonald's restaurant" + }, + { + "__key__": "sa_5673114", + "txt": "a group of people dressed in traditional costumes, holding large, colorful umbrellas" + }, + { + "__key__": "sa_1204013", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_5846674", + "txt": "a close-up of a large, pink tree with many branches, blooming with pink flowers" + }, + { + "__key__": "sa_4524041", + "txt": "a large sign with the words \"Save Canadian Aviation\" written on it, accompanied by a picture of a plane" + }, + { + "__key__": "sa_7698231", + "txt": "two young women, both wearing black and red outfits, standing next to each other" + }, + { + "__key__": "sa_5009282", + "txt": "a large, open space filled with numerous artworks and people walking around" + }, + { + "__key__": "sa_7441124", + "txt": "a black and white photograph featuring a harbor with a lighthouse, boats, and people" + }, + { + "__key__": "sa_665587", + "txt": "a large commercial airplane, specifically a Korean Air plane, flying through the sky" + }, + { + "__key__": "sa_8072647", + "txt": "a large group of people gathered around a military airplane parked on the tarmac" + }, + { + "__key__": "sa_7273276", + "txt": "a close-up view of three small sandwiches, each placed on a white plate" + }, + { + "__key__": "sa_5482806", + "txt": "a crowded outdoor market, where people are walking around and engaging with various vendors" + }, + { + "__key__": "sa_1381516", + "txt": "a large store filled with various toys, including dolls and other playthings" + }, + { + "__key__": "sa_7307729", + "txt": "a black and white photograph of a swimming pool with a white fence surrounding it" + }, + { + "__key__": "sa_1334444", + "txt": "a busy subway station filled with people walking and standing around" + }, + { + "__key__": "sa_5510635", + "txt": "a train station with a train on the tracks and another train approaching" + }, + { + "__key__": "sa_7119532", + "txt": "a postage stamp with a picture of a boat on it" + }, + { + "__key__": "sa_679959", + "txt": "a well-lit, large, and well-organized display of handbags, showcasing a variety of styles and colors" + }, + { + "__key__": "sa_6117485", + "txt": "a statue of two men, likely soldiers, standing next to each other" + }, + { + "__key__": "sa_5070014", + "txt": "a group of men standing together, each wearing a different colored suit" + }, + { + "__key__": "sa_7604174", + "txt": "a close-up view of a pile of assorted Skittles candy, which are brightly colored and individually wrapped" + }, + { + "__key__": "sa_1578472", + "txt": "a close-up view of a white container with a black lid, which is sitting on a shelf" + }, + { + "__key__": "sa_1309230", + "txt": "a large city with several tall buildings situated along a waterfront" + }, + { + "__key__": "sa_7067085", + "txt": "a large, ornate, and colorful building, which appears to be a church, possibly a cathedral" + }, + { + "__key__": "sa_6048799", + "txt": "a brown SUV parked inside a large, well-lit showroom" + }, + { + "__key__": "sa_5858982", + "txt": "a group of people wearing traditional Japanese clothing, specifically kimonos, and standing in a row" + }, + { + "__key__": "sa_6230641", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_4387974", + "txt": "a marina filled with various boats, including motorboats and sailboats, docked at the pier" + }, + { + "__key__": "sa_1126505", + "txt": "a large white boat docked at a marina, surrounded by several other boats" + }, + { + "__key__": "sa_6885653", + "txt": "a busy city square filled with people, with a large crowd gathered around a Christmas tree" + }, + { + "__key__": "sa_5148437", + "txt": "a sign with a smiling face and two children, possibly a boy and a girl, holding hands" + }, + { + "__key__": "sa_171018", + "txt": "a large group of people gathered together, with some of them holding balloons" + }, + { + "__key__": "sa_6206530", + "txt": "a close-up view of a neon sign hanging outside a restaurant, which is named \"Caf\u00e9 Vergnano 1832" + }, + { + "__key__": "sa_5841230", + "txt": "a close-up of a sign with the word \"three\" written on it" + }, + { + "__key__": "sa_4877922", + "txt": "a group of men in uniforms, possibly Indian soldiers, standing in a row in front of a building" + }, + { + "__key__": "sa_6315085", + "txt": "a large airport terminal with a crowd of people walking around, some of whom are holding luggage" + }, + { + "__key__": "sa_4737135", + "txt": "a group of people dressed in costumes, wearing white suits and green suits" + }, + { + "__key__": "sa_4598997", + "txt": "a scene of a large gathering of people standing in a field, with some of them holding umbrellas" + }, + { + "__key__": "sa_7669248", + "txt": "a row of small boats docked in a harbor, with a beautiful blue sky in the background" + }, + { + "__key__": "sa_5271701", + "txt": "a large red and white building with a sign that reads \"Jollibee" + }, + { + "__key__": "sa_4284033", + "txt": "a large building with a sign on top, which is a Cisco building" + }, + { + "__key__": "sa_4510226", + "txt": "a close-up of a pair of old-fashioned glasses, which are placed on a stone or concrete surface" + }, + { + "__key__": "sa_6539769", + "txt": "a close-up view of a string of Christmas lights hanging from a wire" + }, + { + "__key__": "sa_8103019", + "txt": "a cityscape with a large cathedral in the foreground, towering above the surrounding buildings" + }, + { + "__key__": "sa_5709336", + "txt": "a storefront with a large sign on the front, displaying various travel destinations and activities" + }, + { + "__key__": "sa_1319105", + "txt": "a large, empty, and well-maintained cemetery with a long row of headstones" + }, + { + "__key__": "sa_6626722", + "txt": "a large crowd of people gathered in a public space, with many of them wearing uniforms" + }, + { + "__key__": "sa_6094628", + "txt": "a large crowd of people gathered on a street, with some of them holding signs" + }, + { + "__key__": "sa_4655375", + "txt": "a person holding a booklet or a pamphlet with a floral design on it" + }, + { + "__key__": "sa_799358", + "txt": "a group of people gathered around a fence, with some of them holding sheep" + }, + { + "__key__": "sa_7568050", + "txt": "a large, modern building with a unique architectural design" + }, + { + "__key__": "sa_7438972", + "txt": "a marina filled with boats, including sailboats and yachts, docked at a pier" + }, + { + "__key__": "sa_6684541", + "txt": "a group of people gathered outside a building, holding up signs and banners" + }, + { + "__key__": "sa_614747", + "txt": "a black and white photograph of a large castle situated in a valley" + }, + { + "__key__": "sa_7297892", + "txt": "a group of people dressed in traditional Japanese costumes, standing in front of a red curtain" + }, + { + "__key__": "sa_643885", + "txt": "a postage stamp with a bird depicted on it" + }, + { + "__key__": "sa_5414295", + "txt": "a large group of people gathered on a grassy hill in front of a beautiful cathedral" + }, + { + "__key__": "sa_5265864", + "txt": "a large bridge with a train on it, and there is a gun on the bridge" + }, + { + "__key__": "sa_1545949", + "txt": "two men standing on a bridge, looking down at a busy highway filled with cars" + }, + { + "__key__": "sa_1492580", + "txt": "a large parking lot with several buses parked in it" + }, + { + "__key__": "sa_1583223", + "txt": "a group of people holding protest signs and chanting slogans, with some of them wearing masks" + }, + { + "__key__": "sa_5276794", + "txt": "a cluttered desk in a room, with various items and objects scattered around" + }, + { + "__key__": "sa_7748373", + "txt": "a large warehouse or factory filled with various items, including boxes, crates, and bags" + }, + { + "__key__": "sa_5349720", + "txt": "a close-up view of a white flower with green leaves, which is attached to a branch" + }, + { + "__key__": "sa_680545", + "txt": "a black and white photograph featuring a tree-lined street with people walking down the sidewalk" + }, + { + "__key__": "sa_6024567", + "txt": "a green and white building with a unique and modern design" + }, + { + "__key__": "sa_4847640", + "txt": "a storefront with a display window filled with various items, including shoes" + }, + { + "__key__": "sa_7527741", + "txt": "a woman wearing a white dress and holding a shopping cart filled with various fruits and vegetables" + }, + { + "__key__": "sa_4736055", + "txt": "a grey and black box or container, which appears to be a storage container or a box for a camera" + }, + { + "__key__": "sa_762256", + "txt": "a group of people walking on a grassy field near a row of wooden houses" + }, + { + "__key__": "sa_88500", + "txt": "a large white truck driving down a street, with a trailer attached to it" + }, + { + "__key__": "sa_4269380", + "txt": "a crowded street with a lot of people walking around, some carrying backpacks" + }, + { + "__key__": "sa_6824575", + "txt": "a group of people in Venice, Italy, engaging in a leisurely activity of riding in gondolas on a canal" + }, + { + "__key__": "sa_5095679", + "txt": "a group of people standing in a park, holding up signs and protesting" + }, + { + "__key__": "sa_5800136", + "txt": "a group of motorcycles parked on a city street, with people standing around them" + }, + { + "__key__": "sa_6801872", + "txt": "a group of people dressed in colorful costumes, likely representing a parade or a cultural event" + }, + { + "__key__": "sa_793262", + "txt": "a large group of people, including men and women, standing in a line with their hands on their hips" + }, + { + "__key__": "sa_452820", + "txt": "a group of young men standing around a large machine, which appears to be a metal lathe" + }, + { + "__key__": "sa_7876952", + "txt": "a black and white photograph that captures a busy street scene in a small town" + }, + { + "__key__": "sa_630703", + "txt": "a group of people, including children and adults, standing in a field with a flag" + }, + { + "__key__": "sa_5323739", + "txt": "a man driving a sled with three husky dogs attached to it, traveling down a snow-covered slope" + }, + { + "__key__": "sa_7651018", + "txt": "a train station with two trains parked on the tracks, and a third train pulling into the station" + }, + { + "__key__": "sa_4505896", + "txt": "a group of sailboats on the water, with people on them and others on the shore" + }, + { + "__key__": "sa_4909752", + "txt": "a black and white photograph depicting a busy subway station, where people are walking around and using escalators" + }, + { + "__key__": "sa_5764950", + "txt": "a herd of cows standing together in a pen, with a fence separating them from the viewer" + }, + { + "__key__": "sa_70164", + "txt": "a group of soldiers in military uniforms, standing in a row and talking to each other" + }, + { + "__key__": "sa_5959905", + "txt": "a man, likely an older gentleman, who is tending to his lawn" + }, + { + "__key__": "sa_5961308", + "txt": "a close-up of a white rabbit logo on a white background" + }, + { + "__key__": "sa_7246173", + "txt": "a group of people walking down a street, with some of them wearing costumes and makeup to resemble zombies" + }, + { + "__key__": "sa_4337152", + "txt": "a large, iconic building with a distinctive architectural style, resembling a skyscraper" + }, + { + "__key__": "sa_5072916", + "txt": "a street sign with a green background and a white sign that reads \"Nicaragua le da la la" + }, + { + "__key__": "sa_1592565", + "txt": "a group of people sitting on a green grass-covered floor, posing for a photo" + }, + { + "__key__": "sa_5620699", + "txt": "a large industrial facility with several large storage tanks, some of which are white and others are gray" + }, + { + "__key__": "sa_1287442", + "txt": "a crowded outdoor dining area with several tables and chairs set up for people to sit and enjoy their meals" + }, + { + "__key__": "sa_6344794", + "txt": "a large group of people walking down a street, carrying signs and banners" + }, + { + "__key__": "sa_1163385", + "txt": "a busy city street with a large crowd of people walking around, some of whom are carrying handbags" + }, + { + "__key__": "sa_6183878", + "txt": "two small white ceramic birds sitting next to each other on a black surface" + }, + { + "__key__": "sa_6021246", + "txt": "a large crowd of people gathered on a city street, with some holding signs and banners" + }, + { + "__key__": "sa_5423983", + "txt": "a man and a woman standing close to each other, embracing and holding hands" + }, + { + "__key__": "sa_1597971", + "txt": "a large crowd of people gathered in a city square, with some of them wearing hard hats and carrying backpacks" + }, + { + "__key__": "sa_7249731", + "txt": "a large, modern, and concrete sculpture of two stone pillars, which are located in a parking lot" + }, + { + "__key__": "sa_6331909", + "txt": "a close-up of a red flower with white petals, sitting on a leafy branch" + }, + { + "__key__": "sa_1340259", + "txt": "a large, ornate castle-like building with a steeple, which is situated near a river" + }, + { + "__key__": "sa_1449231", + "txt": "a large airport terminal with multiple airplanes parked on the tarmac" + }, + { + "__key__": "sa_53897", + "txt": "a military vehicle, specifically a tank, parked on a street" + }, + { + "__key__": "sa_5436218", + "txt": "a postage stamp with a portrait of a man on it" + }, + { + "__key__": "sa_7781732", + "txt": "a green and white bus driving down a rural road, surrounded by several cows" + }, + { + "__key__": "sa_499776", + "txt": "a large building with a sign on the side, which reads \"The Beatles Story Exhibition" + }, + { + "__key__": "sa_4975893", + "txt": "a group of people dressed in white, standing on a beach, and holding colorful flags" + }, + { + "__key__": "sa_4412366", + "txt": "a large, white, and intricately designed sculpture or statue of a deer, which is located in a mall" + }, + { + "__key__": "sa_1550974", + "txt": "a large wooden door with intricate carvings and a sign above it, which is located in front of a building" + }, + { + "__key__": "sa_7868590", + "txt": "a close-up of a green apple with a red stem, sitting on top of a pile of other apples" + }, + { + "__key__": "sa_5864742", + "txt": "a group of people riding bicycles down a street, with a crowd of people following behind them" + }, + { + "__key__": "sa_7278626", + "txt": "a group of people gathered around a fire, with some of them sitting on the ground and others standing" + }, + { + "__key__": "sa_7412960", + "txt": "a white BMW car, specifically a BMW suv, parked on a red carpet" + }, + { + "__key__": "sa_6502677", + "txt": "a man wearing a hat and holding a rope, possibly a fishing rope, while standing on a boat" + }, + { + "__key__": "sa_4375539", + "txt": "a large group of people gathered in a crowded area, with many of them sitting on motorcycles" + }, + { + "__key__": "sa_6589194", + "txt": "a large stadium with a crowd of people gathered around it, likely attending a soccer game" + }, + { + "__key__": "sa_6799227", + "txt": "a large pile of metal sheets, specifically steel plates, stacked on top of each other" + }, + { + "__key__": "sa_4300591", + "txt": "a large, life-sized statue of a man holding a movie camera, standing on a sidewalk" + }, + { + "__key__": "sa_5929185", + "txt": "a large crowd of people gathered in front of a building, with many of them standing on a sidewalk" + }, + { + "__key__": "sa_6659041", + "txt": "a group of people running in a race, with a few of them wearing numbers on their shirts" + }, + { + "__key__": "sa_514610", + "txt": "a large statue of Buddha, towering over a crowd of people" + }, + { + "__key__": "sa_4774842", + "txt": "a man working on a tall Christmas tree, which is located in a city" + }, + { + "__key__": "sa_1179173", + "txt": "a busy city street with a mix of vehicles, including cars and trucks, driving down the road" + }, + { + "__key__": "sa_5256014", + "txt": "a large SUV parked in a dirt lot, surrounded by rocks and plants" + }, + { + "__key__": "sa_7742360", + "txt": "a group of people standing in a dirt lot, with some of them holding cameras" + }, + { + "__key__": "sa_4929096", + "txt": "a large, modern building with a tall, glass-fronted structure" + }, + { + "__key__": "sa_5007736", + "txt": "a large collection of colorful backpacks, stacked on top of each other in a room" + }, + { + "__key__": "sa_5953160", + "txt": "a large body of water, with several sailboats floating on it" + }, + { + "__key__": "sa_160638", + "txt": "a large group of people standing in a courtyard, wearing uniforms and holding flags" + }, + { + "__key__": "sa_5568530", + "txt": "a busy city street with cars, trucks, and pedestrians" + }, + { + "__key__": "sa_5068162", + "txt": "a black and white photograph of a busy city street with cars, buses, and pedestrians" + }, + { + "__key__": "sa_6308588", + "txt": "a busy city street with several people walking around, some of whom are carrying handbags" + }, + { + "__key__": "sa_5679756", + "txt": "a large group of people marching in a parade, wearing military uniforms and carrying rifles" + }, + { + "__key__": "sa_7056353", + "txt": "a young girl holding a sign that reads \"I'm Not Immunity, No Police,\" while sitting on a bench" + }, + { + "__key__": "sa_6695119", + "txt": "a large room filled with people, most of whom are standing around a long table" + }, + { + "__key__": "sa_6686042", + "txt": "a group of people running in a race, with one of them wearing a backpack" + }, + { + "__key__": "sa_5660337", + "txt": "a scene where a man is holding a large wooden cross, and there are people surrounding him" + }, + { + "__key__": "sa_7801033", + "txt": "a group of people gathered in a room, sitting in chairs and standing around a table" + }, + { + "__key__": "sa_4842840", + "txt": "a large white sailboat docked at a pier, surrounded by a crowd of people" + }, + { + "__key__": "sa_1723578", + "txt": "a red Mercedes-Benz GLC SUV parked next to a small red toy car, which is a toy Mercedes-Benz GLC" + }, + { + "__key__": "sa_5555255", + "txt": "a white backpack hanging on a wall, with a brown leather tag attached to it" + }, + { + "__key__": "sa_7524501", + "txt": "a group of children, some of whom are wearing uniforms, standing in a line and holding flowers" + }, + { + "__key__": "sa_7680001", + "txt": "a group of people holding a large, colorful, and artistic sign" + }, + { + "__key__": "sa_1515121", + "txt": "a beach scene with a large group of people gathered on the shore" + }, + { + "__key__": "sa_6209923", + "txt": "a large metal door with intricate carvings and decorations, possibly depicting scenes from the Bible" + }, + { + "__key__": "sa_5373699", + "txt": "a close-up view of a person's feet, with the person's feet being massaged by another person" + }, + { + "__key__": "sa_4291617", + "txt": "a large airport runway with multiple airplanes parked on it, along with a few cars and trucks" + }, + { + "__key__": "sa_1163276", + "txt": "a room with two beds, a window, and a door" + }, + { + "__key__": "sa_6900436", + "txt": "a group of people sitting at a long dining table, enjoying a meal together" + }, + { + "__key__": "sa_5657884", + "txt": "a group of people standing in a subway station, waiting for the train to arrive" + }, + { + "__key__": "sa_6316446", + "txt": "a small pond with a waterfall, surrounded by plants and greenery" + }, + { + "__key__": "sa_7286665", + "txt": "a small pill bottle and a needle, both placed on a table" + }, + { + "__key__": "sa_5603612", + "txt": "a busy city street with tall buildings, cars, and pedestrians" + }, + { + "__key__": "sa_6820472", + "txt": "a group of people walking through a grassy field, with some of them carrying backpacks" + }, + { + "__key__": "sa_7052196", + "txt": "a large, modern building with a glass facade, which houses a bank" + }, + { + "__key__": "sa_7476784", + "txt": "a street sign mounted on a pole, with a map displayed underneath it" + }, + { + "__key__": "sa_4962660", + "txt": "a large group of boats docked at a pier, with some of them sitting on the water" + }, + { + "__key__": "sa_6164409", + "txt": "a busy city street with a large building in the background, which is covered in red and white tiles" + }, + { + "__key__": "sa_4738106", + "txt": "a busy city street with tall buildings, cars, and pedestrians" + }, + { + "__key__": "sa_7957134", + "txt": "a crowded street scene with people walking around and interacting with each other" + }, + { + "__key__": "sa_6880483", + "txt": "a large bus, possibly a tour bus, parked at a bus stop or terminal" + }, + { + "__key__": "sa_5591120", + "txt": "a large castle-like structure, possibly a Roman ruin, situated near a river" + }, + { + "__key__": "sa_7785879", + "txt": "a large body of water with numerous boats docked at the shore" + }, + { + "__key__": "sa_4627500", + "txt": "a postage stamp with a black and white photograph of a man's face on it" + }, + { + "__key__": "sa_7646237", + "txt": "a group of people standing on a sidewalk in front of a building, with a green tree in the background" + }, + { + "__key__": "sa_4614433", + "txt": "a narrow hallway with a red door and a white door, leading to a brightly lit room" + }, + { + "__key__": "sa_6042029", + "txt": "a large outdoor dining area with a wooden deck, tables, chairs, and umbrellas" + }, + { + "__key__": "sa_6806763", + "txt": "a Mexican restaurant with a large sign, a red awning, and a parking lot" + }, + { + "__key__": "sa_4817288", + "txt": "a group of men in military uniforms, walking across a grassy field" + }, + { + "__key__": "sa_7552708", + "txt": "a large crowd of people participating in a marathon or running event" + }, + { + "__key__": "sa_768994", + "txt": "a white SUV driving through a muddy, snow-covered field" + }, + { + "__key__": "sa_6146060", + "txt": "a group of people, including children, gathered in a village setting, standing in front of a hut" + }, + { + "__key__": "sa_7274284", + "txt": "a white, three-bladed fan mounted on a wall, with a close-up view of the fan blades" + }, + { + "__key__": "sa_7774815", + "txt": "a red and black staircase with a metal railing, leading up to a platform" + }, + { + "__key__": "sa_4861681", + "txt": "a close-up of a piece of paper with the words \"HM Revenue & Customs\" written on it" + }, + { + "__key__": "sa_4317748", + "txt": "a large parking lot with a variety of cars parked in it, including both cars and trucks" + }, + { + "__key__": "sa_4415362", + "txt": "a young boy and a young girl, both wearing traditional costumes, standing in front of a crowd" + }, + { + "__key__": "sa_5356682", + "txt": "a group of people wearing graduation caps and gowns, posing together for a photo" + }, + { + "__key__": "sa_489733", + "txt": "a cityscape with a tall building, likely a church, and a smaller building next to it" + }, + { + "__key__": "sa_6467930", + "txt": "a group of people walking down a street, with one of them wearing a green shirt and a white hat" + }, + { + "__key__": "sa_7397652", + "txt": "a large commercial airplane, specifically a Southwest Airlines jet, flying through the sky" + }, + { + "__key__": "sa_6440107", + "txt": "a large, ornate, and intricately designed temple with a golden roof and a white exterior" + }, + { + "__key__": "sa_5431662", + "txt": "a large red and white airplane, specifically a Lufthansa jet, flying through the sky" + }, + { + "__key__": "sa_5493726", + "txt": "a large store, specifically a Target store, with a yellow truck parked in front of it" + }, + { + "__key__": "sa_1595497", + "txt": "a large crowd of people gathered in a city square, holding signs and protesting" + }, + { + "__key__": "sa_7727609", + "txt": "a busy street scene with a row of shops and a tall building in the background" + }, + { + "__key__": "sa_554710", + "txt": "a large store with a glass front, displaying various types of shoes, including Adidas shoes" + }, + { + "__key__": "sa_6399236", + "txt": "a group of people walking down a street, with some of them riding in a horse-drawn carriage" + }, + { + "__key__": "sa_7967240", + "txt": "a beautiful woman wearing a long, flowing, and elegant black dress" + }, + { + "__key__": "sa_4268964", + "txt": "a large, empty airport terminal with a long, empty hallway" + }, + { + "__key__": "sa_4274598", + "txt": "a train traveling down the tracks in a snowy landscape" + }, + { + "__key__": "sa_6264598", + "txt": "a busy city street with cars, buses, and pedestrians" + }, + { + "__key__": "sa_7763110", + "txt": "a busy city street with a large crowd of people walking around, some carrying handbags and backpacks" + }, + { + "__key__": "sa_7699646", + "txt": "a group of people running across a grassy field, with some of them carrying backpacks" + }, + { + "__key__": "sa_4942848", + "txt": "a close-up of a person's legs, specifically their red boots, standing in the rain" + }, + { + "__key__": "sa_7004002", + "txt": "a rocky cliff with trees growing on it, and it is a black and white photograph" + }, + { + "__key__": "sa_6351784", + "txt": "a storefront with a sign that reads \"Cattalya,\" which is a unique and creative name for a business" + }, + { + "__key__": "sa_7845850", + "txt": "a large, modern building with a unique, eye-catching design" + }, + { + "__key__": "sa_4727845", + "txt": "a group of people running across a bridge, with some of them wearing yellow shirts" + }, + { + "__key__": "sa_7638688", + "txt": "a large, ornate, and intricately decorated room with a gold-colored ceiling and walls" + }, + { + "__key__": "sa_6342033", + "txt": "a bride in a white wedding dress, standing in front of a group of people" + }, + { + "__key__": "sa_7040131", + "txt": "a busy city street with a large sign hanging over a walkway" + }, + { + "__key__": "sa_5643471", + "txt": "a group of people skiing and snowboarding down a snow-covered slope" + }, + { + "__key__": "sa_4256089", + "txt": "a black and white photograph of a busy city street, featuring a mix of vehicles, pedestrians, and buildings" + }, + { + "__key__": "sa_7644862", + "txt": "a large clock tower with a clock face on the side of it" + }, + { + "__key__": "sa_6984908", + "txt": "a large building with a prominent sign displaying the words \"Panoramic International" + }, + { + "__key__": "sa_733418", + "txt": "a large, ornate cathedral with a high, vaulted ceiling" + }, + { + "__key__": "sa_4328930", + "txt": "a woman wearing a white dress and a gold crown, standing in a crowd of people" + }, + { + "__key__": "sa_71716", + "txt": "a tall building with a large sign on top, which is the headquarters of the Canadian Life Insurance Company" + }, + { + "__key__": "sa_1350077", + "txt": "a harbor filled with small boats, including a red and white boat, a blue boat, and a white boat" + }, + { + "__key__": "sa_7371936", + "txt": "a black and white photograph featuring a cityscape at night" + }, + { + "__key__": "sa_7479999", + "txt": "a black and white photograph featuring a city street with a river running through it" + }, + { + "__key__": "sa_6960299", + "txt": "a car trunk with a black cover on it, which is open and empty" + }, + { + "__key__": "sa_158539", + "txt": "an old, rusted car sitting on top of a pile of boxes or crates" + }, + { + "__key__": "sa_604086", + "txt": "a busy airport terminal with a large crowd of people walking around and waiting for their flights" + }, + { + "__key__": "sa_7349620", + "txt": "a metal shelf filled with various jars of food, including pickles, jams, and other condiments" + }, + { + "__key__": "sa_6262709", + "txt": "a group of people, including monks and children, gathered in a courtyard" + }, + { + "__key__": "sa_4917391", + "txt": "a large group of people gathered on a beach, with some of them holding hands" + }, + { + "__key__": "sa_5387699", + "txt": "a large glass window with a row of hanging lights, creating a visually appealing and inviting atmosphere" + }, + { + "__key__": "sa_5992385", + "txt": "a close-up of a tall, modern building with a glass exterior" + }, + { + "__key__": "sa_1393558", + "txt": "a mountainous landscape with a ski lift, a chairlift, and a ski slope" + }, + { + "__key__": "sa_6889169", + "txt": "a close-up of a decorative wall, which is adorned with gold and red flowers" + }, + { + "__key__": "sa_4717797", + "txt": "a group of young girls wearing headscarves, standing together in front of a building" + }, + { + "__key__": "sa_1556009", + "txt": "a Formula One race car, specifically a white and black car, driving on a track" + }, + { + "__key__": "sa_7922716", + "txt": "a park filled with people and trees, with a large tree towering over the scene" + }, + { + "__key__": "sa_7340370", + "txt": "a close-up view of a large, ornate, and intricately designed temple with a gold-colored roof" + }, + { + "__key__": "sa_724277", + "txt": "a close-up of a Toyota dealership sign, which is prominently displayed on a white building" + }, + { + "__key__": "sa_7816452", + "txt": "a large, ornate building with a gold dome, which is part of a cathedral" + }, + { + "__key__": "sa_1710033", + "txt": "a busy street with multiple vehicles, including cars and trucks, driving on a highway" + }, + { + "__key__": "sa_6331848", + "txt": "a group of people gathered in a parking lot, with a red and white sign in the foreground" + }, + { + "__key__": "sa_8056908", + "txt": "a young girl running down a street, wearing a green shirt and a pink hat" + }, + { + "__key__": "sa_4568704", + "txt": "a black metal cart filled with numerous books, which are stacked on top of each other" + }, + { + "__key__": "sa_8027816", + "txt": "a group of children sitting on the ground, surrounded by adults" + }, + { + "__key__": "sa_5024480", + "txt": "a large, ornate building with a green lawn in front of it" + }, + { + "__key__": "sa_5770036", + "txt": "a large, open-air space with a dome-shaped ceiling, which is adorned with intricate designs and decorations" + }, + { + "__key__": "sa_7931826", + "txt": "a pair of white sneakers with the word \"Gucci\" written on the side of them" + }, + { + "__key__": "sa_532760", + "txt": "a tall building with a large number of windows, which is situated in a city" + }, + { + "__key__": "sa_7294149", + "txt": "a group of people, including children and adults, gathered in a lush green forest" + }, + { + "__key__": "sa_1224330", + "txt": "a black and white photograph of a busy city street with cars and trees" + }, + { + "__key__": "sa_784331", + "txt": "a large, old-fashioned clock tower with a steeple and a clock face on it" + }, + { + "__key__": "sa_5233189", + "txt": "a group of people walking down a street, with some of them holding signs" + }, + { + "__key__": "sa_1305884", + "txt": "a table with a variety of fish displayed on it, including several fish heads and tails" + }, + { + "__key__": "sa_809981", + "txt": "a large group of people gathered on a hill overlooking a harbor filled with boats" + }, + { + "__key__": "sa_5396897", + "txt": "a black leather interior of a car, specifically the back seats" + }, + { + "__key__": "sa_4755958", + "txt": "a snowy street with a car driving down it, surrounded by snow-covered trees and buildings" + }, + { + "__key__": "sa_80552", + "txt": "two belts, one black and one blue, sitting side by side on a white surface" + }, + { + "__key__": "sa_1560839", + "txt": "a large, colorful, and well-maintained building with a distinct Art Deco style" + }, + { + "__key__": "sa_7487565", + "txt": "a group of people dressed in religious garb, wearing traditional clothing and holding wooden sticks" + }, + { + "__key__": "sa_6083656", + "txt": "a large, ornate, and brightly lit hallway with a vaulted ceiling" + }, + { + "__key__": "sa_5493504", + "txt": "a group of people, including women and a man, standing in a row and holding hands" + }, + { + "__key__": "sa_4678748", + "txt": "a large train station with a long platform, where people are waiting for their trains" + }, + { + "__key__": "sa_1314029", + "txt": "a snow-covered castle, likely a castle ruin, situated on a hill" + }, + { + "__key__": "sa_7937891", + "txt": "a postage stamp with a flower design on it, which is likely to be a flower stamp" + }, + { + "__key__": "sa_7540494", + "txt": "a large flag display with many different flags of various countries, arranged in a row" + }, + { + "__key__": "sa_5189634", + "txt": "a black and white photograph featuring a busy train station with a large, modern building in the background" + }, + { + "__key__": "sa_490098", + "txt": "a large crowd of people gathered in a city street, holding up various signs and banners" + }, + { + "__key__": "sa_6071930", + "txt": "a group of people standing in the water at a beach, with boats in the background" + }, + { + "__key__": "sa_4893832", + "txt": "a black and white photograph featuring a group of people walking across a snowy street" + }, + { + "__key__": "sa_1232961", + "txt": "a large, old, and colorful building, which is a church, located in a mountainous area" + }, + { + "__key__": "sa_4457605", + "txt": "a large, two-story white house with a red roof, situated on a hillside" + }, + { + "__key__": "sa_489361", + "txt": "a close-up view of a chain-link fence with many colorful locks attached to it" + }, + { + "__key__": "sa_6204175", + "txt": "a red double-decker bus parked in a parking lot, surrounded by other vehicles, including cars and trucks" + }, + { + "__key__": "sa_1335600", + "txt": "a woman skiing down a snow-covered slope, wearing a red jacket and holding ski poles" + }, + { + "__key__": "sa_7656657", + "txt": "a cityscape with tall buildings and a blue sky in the background" + }, + { + "__key__": "sa_7671012", + "txt": "a red wooden fence with a long line of white wooden tags hanging from it" + }, + { + "__key__": "sa_6326829", + "txt": "an old-fashioned bicycle with a large front wheel and a small back wheel" + }, + { + "__key__": "sa_7771152", + "txt": "a harbor filled with various boats, including a large white ship and a gray ship, docked next to each other" + }, + { + "__key__": "sa_7132943", + "txt": "a large building with a prominent sign on its side, which reads \"Stadium" + }, + { + "__key__": "sa_5871473", + "txt": "a group of people working together to create a large, colorful fabric banner" + }, + { + "__key__": "sa_6814201", + "txt": "a car driving down a street, with a sign in the background that reads \"Tampon in Automat" + }, + { + "__key__": "sa_6779388", + "txt": "a large, long blue and white bus parked in front of a building" + }, + { + "__key__": "sa_775279", + "txt": "a large, ornate, and well-decorated room with a long window" + }, + { + "__key__": "sa_6309288", + "txt": "a group of people running through a park, with a clock visible in the background" + }, + { + "__key__": "sa_4896221", + "txt": "a close-up view of a storefront with a sign that reads \"EMV" + }, + { + "__key__": "sa_6194173", + "txt": "a woman wearing a black dress and standing on a red carpet" + }, + { + "__key__": "sa_581487", + "txt": "a woman and a man standing next to each other, both holding a large box filled with oranges" + }, + { + "__key__": "sa_7942178", + "txt": "a close-up of a red and black logo, which is a stylized representation of the RedTube logo" + }, + { + "__key__": "sa_484952", + "txt": "a large fountain with a statue of a fish or a dragon, surrounded by a crowd of people" + }, + { + "__key__": "sa_6095829", + "txt": "a close-up of a tiled wall with a unique and visually striking design" + }, + { + "__key__": "sa_5758243", + "txt": "a black and white postage stamp with a dog's face on it" + }, + { + "__key__": "sa_5196306", + "txt": "a large statue of a person, possibly Buddha, surrounded by a crowd of people" + }, + { + "__key__": "sa_5766825", + "txt": "a busy street scene with people walking and sitting on the sidewalk" + }, + { + "__key__": "sa_718267", + "txt": "a large, stately building with a clock tower, surrounded by a snow-covered landscape" + }, + { + "__key__": "sa_5480629", + "txt": "a large semi-truck driving down a highway, with a clear blue sky in the background" + }, + { + "__key__": "sa_6399320", + "txt": "a close-up view of a pair of sneakers, specifically a black and purple Nike Air Max shoe, sitting on a chair" + }, + { + "__key__": "sa_1279874", + "txt": "a large jetliner, specifically a Concorde, flying through the sky" + }, + { + "__key__": "sa_5117874", + "txt": "a lush green field with a row of trees, including a large tree with many yellow flowers" + }, + { + "__key__": "sa_4492866", + "txt": "a black and white photograph of a city street with a canal running through it" + }, + { + "__key__": "sa_7927947", + "txt": "a crowded subway station filled with people, some of whom are waiting on the escalator" + }, + { + "__key__": "sa_6993131", + "txt": "a close-up view of a large, colorful wall made of many different-colored tiles" + }, + { + "__key__": "sa_6964007", + "txt": "a large jetliner, specifically a Lufthansa airplane, flying through the sky" + }, + { + "__key__": "sa_6776021", + "txt": "a woman taking a picture of herself using a camera" + }, + { + "__key__": "sa_6079708", + "txt": "a man walking down a train platform, with a purple and white train parked nearby" + }, + { + "__key__": "sa_6458935", + "txt": "a large, ornate, and colorful building with a unique architectural design" + }, + { + "__key__": "sa_7154214", + "txt": "a woman sitting at a table outdoors, wearing a red hat and a blue shirt" + }, + { + "__key__": "sa_8047962", + "txt": "a large blue and yellow metal sculpture of a Euro sign, which is a symbol of the European Union" + }, + { + "__key__": "sa_5707216", + "txt": "a red building with a Chinese-style design, likely a Chinese restaurant or a Chinese cultural center" + }, + { + "__key__": "sa_493945", + "txt": "a painting on a wall, depicting a group of people sitting on a bench" + }, + { + "__key__": "sa_7019938", + "txt": "a street scene with a flower stand, a flower cart, and a flower shop" + }, + { + "__key__": "sa_7753867", + "txt": "a table filled with various types of fish, including several whole fish and a bucket of fish" + }, + { + "__key__": "sa_5691248", + "txt": "a large city square with a long row of wooden chairs lined up along the sides of the square" + }, + { + "__key__": "sa_6117225", + "txt": "a black and white photograph of a street map, which is mounted on a wall" + }, + { + "__key__": "sa_5750325", + "txt": "a large, empty church with a red carpet leading to the altar" + }, + { + "__key__": "sa_7228249", + "txt": "a small town with a mix of old and new architectural styles" + }, + { + "__key__": "sa_5578878", + "txt": "a large Christmas tree in a city square, surrounded by people and tents" + }, + { + "__key__": "sa_5337755", + "txt": "a pier with a large Ferris wheel, a carousel, and a boardwalk" + }, + { + "__key__": "sa_1278477", + "txt": "a group of people walking down a street, carrying flags and signs, and riding motorcycles" + }, + { + "__key__": "sa_4684875", + "txt": "a group of young women sitting at computer desks, each with a laptop computer in front of them" + }, + { + "__key__": "sa_5822799", + "txt": "a close-up of a pair of white tractors, which are large farm machines designed for agricultural tasks" + }, + { + "__key__": "sa_7959899", + "txt": "a group of people standing in front of a large building, with some of them holding flags" + }, + { + "__key__": "sa_8100940", + "txt": "a large parking lot with a variety of cars parked in it" + }, + { + "__key__": "sa_1712335", + "txt": "a busy city street with a large crowd of people walking around, some of whom are riding bicycles" + }, + { + "__key__": "sa_5361626", + "txt": "a busy train station with a large, pink and white sign that reads \"KLIA Transit" + }, + { + "__key__": "sa_4660610", + "txt": "a group of people gathered around a table, with some of them wearing masks" + }, + { + "__key__": "sa_6271323", + "txt": "a busy city street with a large crowd of people walking around, some of whom are carrying handbags" + }, + { + "__key__": "sa_4551271", + "txt": "a black and white photograph of a city street with a large crowd of people gathered around" + }, + { + "__key__": "sa_7968118", + "txt": "a large group of people walking down a street, holding signs and banners" + }, + { + "__key__": "sa_5597809", + "txt": "two large airplanes parked at an airport, with one of them being a pink airplane" + }, + { + "__key__": "sa_7845140", + "txt": "a large statue of a woman holding a sword, standing on top of a hill" + }, + { + "__key__": "sa_4743537", + "txt": "a group of people riding bicycles down a street, with some of them wearing helmets" + }, + { + "__key__": "sa_6265289", + "txt": "a scene of a trash-filled river, with a large pile of trash and debris on the riverbank" + }, + { + "__key__": "sa_6068082", + "txt": "a lush green garden with a variety of plants, including trees, bushes, and flowers" + }, + { + "__key__": "sa_6200545", + "txt": "a large group of buses parked in front of a famous landmark, the Eiffel Tower" + }, + { + "__key__": "sa_6695655", + "txt": "a close-up of a large marijuana plant with purple leaves, surrounded by other plants in a garden setting" + }, + { + "__key__": "sa_6574324", + "txt": "a black and white photograph of a beach scene" + }, + { + "__key__": "sa_7979792", + "txt": "a large Lego model of a spaceship, specifically a Star Wars spaceship, hanging from the ceiling" + }, + { + "__key__": "sa_4284087", + "txt": "a crowded street scene with people walking and shopping in a marketplace" + }, + { + "__key__": "sa_6195562", + "txt": "a busy subway station with a long train platform, where people are waiting to board the train" + }, + { + "__key__": "sa_5296070", + "txt": "a body of water, possibly a river, with several boats floating on it" + }, + { + "__key__": "sa_7508094", + "txt": "a black and white photograph featuring a long pier or boardwalk with boats docked on the water" + }, + { + "__key__": "sa_7310597", + "txt": "a large stone or concrete object, possibly a statue or a monument, sitting on a stone or concrete plaza" + }, + { + "__key__": "sa_5432530", + "txt": "two boxes of New York Pizza, each containing a slice of pizza" + }, + { + "__key__": "sa_7334717", + "txt": "a group of people, specifically monks, walking down a dirt path in a forest" + }, + { + "__key__": "sa_6532777", + "txt": "a close-up of a white container filled with Pringles potato chips" + }, + { + "__key__": "sa_7056476", + "txt": "a man standing in front of a large produce stand, surrounded by various fruits and vegetables" + }, + { + "__key__": "sa_4944761", + "txt": "a postage stamp with a red rose design, which is a representation of the country of Turkey" + }, + { + "__key__": "sa_5424916", + "txt": "a man sitting in front of a computer monitor, looking at a website with a yellow and black theme" + }, + { + "__key__": "sa_4531083", + "txt": "a wooden deck with a wooden railing, surrounded by a lush green forest" + }, + { + "__key__": "sa_7464236", + "txt": "two men, one wearing a military uniform and the other wearing a brown uniform, standing in a field" + }, + { + "__key__": "sa_6700606", + "txt": "a group of people gathered in a parking lot, surrounded by cars and trucks" + }, + { + "__key__": "sa_176117", + "txt": "a large stone archway or monument, which is located in a park or a city square" + }, + { + "__key__": "sa_6254", + "txt": "a train traveling on the tracks, passing by a large building with a lot of windows" + }, + { + "__key__": "sa_1486449", + "txt": "a woman standing on top of a train, with her legs hanging off the edge of the train car" + }, + { + "__key__": "sa_6978391", + "txt": "a tennis ball sitting on top of a patch of grass" + }, + { + "__key__": "sa_5398010", + "txt": "a close-up of a dictionary page with the word \"infant\" written on it" + }, + { + "__key__": "sa_4812106", + "txt": "a city street with a large Christmas tree in the middle of it, surrounded by other trees and buildings" + }, + { + "__key__": "sa_7042257", + "txt": "a large store with a green and white sign, which is likely a Deichmann store" + }, + { + "__key__": "sa_7896873", + "txt": "a black and white photograph of a busy street in a city, with people and vehicles moving around" + }, + { + "__key__": "sa_4709738", + "txt": "a pair of sneakers, specifically Adidas, sitting on a white rug or carpet" + }, + { + "__key__": "sa_6422816", + "txt": "a group of people walking down a street, with some of them holding flowers" + }, + { + "__key__": "sa_1376050", + "txt": "a group of people in boats, with some of them wearing hats, and others wearing yellow shirts" + }, + { + "__key__": "sa_6038143", + "txt": "a large group of people sitting in rows in a lecture hall, with some of them wearing glasses" + }, + { + "__key__": "sa_5910344", + "txt": "a group of people gathered around a large fishing net, which is hanging from a boat" + }, + { + "__key__": "sa_642136", + "txt": "a sandy beach with a bottle buried in the sand" + }, + { + "__key__": "sa_6061061", + "txt": "a large, modern house situated on a lake, surrounded by trees and a forest" + }, + { + "__key__": "sa_1431147", + "txt": "a large, modern building with a green roof and a walkway leading to it" + }, + { + "__key__": "sa_7314513", + "txt": "a group of people dressed in costumes, likely representing a Mexican or Spanish cultural theme" + }, + { + "__key__": "sa_5024126", + "txt": "a cityscape with tall buildings, including a large skyscraper, situated in a bustling urban environment" + }, + { + "__key__": "sa_1461526", + "txt": "a person wearing sneakers, specifically a pair of Air Jordan sneakers, sitting on a chair" + }, + { + "__key__": "sa_4497319", + "txt": "a large crowd of people gathered in a room, with many of them standing in front of a display of motorcycles" + }, + { + "__key__": "sa_472221", + "txt": "a large, tall clock tower with a clock on top of it, surrounded by people and cars" + }, + { + "__key__": "sa_5926470", + "txt": "a group of people, including children and adults, standing together in a public area" + }, + { + "__key__": "sa_5512757", + "txt": "a black and white photograph featuring a man and a woman, possibly angels, in a religious setting" + }, + { + "__key__": "sa_4669095", + "txt": "a close-up of a stack of white, round, adhesive cards or labels" + }, + { + "__key__": "sa_5147912", + "txt": "a colorful display of bowls and vases filled with various colored powders, arranged on a table" + }, + { + "__key__": "sa_6076957", + "txt": "a busy city street with tall buildings, cars, and pedestrians" + }, + { + "__key__": "sa_5331307", + "txt": "a group of soldiers standing on a street, with some of them holding guns" + }, + { + "__key__": "sa_7335789", + "txt": "a bride and groom, both dressed in white, holding hands and posing for a picture" + }, + { + "__key__": "sa_5795520", + "txt": "a large, modern, and well-lit building with a glass facade" + }, + { + "__key__": "sa_5793714", + "txt": "a large group of people walking on a sidewalk in front of a large, ornate building" + }, + { + "__key__": "sa_5396063", + "txt": "a group of people dressed in costumes, holding signs, and standing in a line" + }, + { + "__key__": "sa_7393455", + "txt": "a long row of gray metal benches, which are arranged in a line and placed against a wall" + }, + { + "__key__": "sa_7593893", + "txt": "a large, modern building with a glass exterior, which is likely a skyscraper" + }, + { + "__key__": "sa_1519495", + "txt": "a group of people dressed in medieval costumes, standing in a grassy field" + }, + { + "__key__": "sa_4422617", + "txt": "a large group of boats docked at a marina, with a few boats being pulled up to the dock" + }, + { + "__key__": "sa_4424430", + "txt": "two women dressed in elaborate costumes, wearing red and gold outfits, and holding hands" + }, + { + "__key__": "sa_7361802", + "txt": "a black and white photo of a city street, featuring a tree-lined street with cars parked on both sides" + }, + { + "__key__": "sa_5326631", + "txt": "a group of people flying kites in a mountainous area" + }, + { + "__key__": "sa_1375541", + "txt": "a parking garage with a large number of cars parked in various spots" + }, + { + "__key__": "sa_1323488", + "txt": "a large, old, and ornate building with a steeple, which is likely a church" + }, + { + "__key__": "sa_5091704", + "txt": "a lush, green garden with a variety of plants, including trees, bushes, and flowers" + }, + { + "__key__": "sa_7943207", + "txt": "a large, ornate building with a tall, narrow tower, and it is adorned with flags from various countries" + }, + { + "__key__": "sa_1160476", + "txt": "a large semi-truck driving down a highway, carrying a cargo container on its flatbed" + }, + { + "__key__": "sa_4948268", + "txt": "a cemetery with a large number of headstones, some of which are ancient" + }, + { + "__key__": "sa_81506", + "txt": "a large dining area with a long table and several chairs, all arranged in a row" + }, + { + "__key__": "sa_5035691", + "txt": "a tall building with a large sign on the side of it, which displays the name \"John Lewis Home" + }, + { + "__key__": "sa_5490697", + "txt": "a blue and white city bus driving down a city street" + }, + { + "__key__": "sa_4984229", + "txt": "a group of men lifting weights in a gym setting" + }, + { + "__key__": "sa_1417367", + "txt": "a large, open, and well-maintained city square with a green lawn, benches, and a fountain" + }, + { + "__key__": "sa_1348933", + "txt": "a snow-covered castle with a steeple, situated on a hill" + }, + { + "__key__": "sa_7256629", + "txt": "a large apartment complex with a parking lot and a stop sign" + }, + { + "__key__": "sa_6688601", + "txt": "a white SUV parked in a parking lot, with a blue and white design on its side" + }, + { + "__key__": "sa_5508134", + "txt": "a large, empty airport tarmac with several trucks and a plane parked on it" + }, + { + "__key__": "sa_6600850", + "txt": "a pair of sneakers, specifically Nike Air Max shoes, sitting on a white carpet" + }, + { + "__key__": "sa_1280425", + "txt": "a group of men in military uniforms, marching in a line and holding flags" + }, + { + "__key__": "sa_4933058", + "txt": "a large sign with the word \"Siko\" written on it, which is displayed on a building or a pole" + }, + { + "__key__": "sa_5341957", + "txt": "a large, open public space with a circular walkway surrounded by trees and benches" + }, + { + "__key__": "sa_5343720", + "txt": "a subway station with a long, narrow hallway that leads to a set of subway doors" + }, + { + "__key__": "sa_8039371", + "txt": "a train station with a train coming in, and a train platform with a yellow and white train" + }, + { + "__key__": "sa_5678152", + "txt": "a yellow car parked in a parking lot, with two police cars parked next to it" + }, + { + "__key__": "sa_4657951", + "txt": "a street scene with several outdoor dining tables and chairs set up on a sidewalk" + }, + { + "__key__": "sa_5045280", + "txt": "a large fountain with a statue of a horse and a man in the middle of it" + }, + { + "__key__": "sa_6134613", + "txt": "a postage stamp depicting a scene of a battle, with soldiers and a castle in the background" + }, + { + "__key__": "sa_4527237", + "txt": "a man walking down a leaf-covered path, surrounded by trees and bushes" + }, + { + "__key__": "sa_6998214", + "txt": "a large white tent with a blue and yellow design, which is set up in a parking lot" + }, + { + "__key__": "sa_5578395", + "txt": "a city skyline with several tall buildings, including the iconic Petronas Towers in Malaysia" + }, + { + "__key__": "sa_5247151", + "txt": "a large container ship, specifically a MSC container ship, docked at a port" + }, + { + "__key__": "sa_6922571", + "txt": "a woman standing in front of a table with several paintings on it, surrounded by various art supplies" + }, + { + "__key__": "sa_6924992", + "txt": "a large, modern building with a glass exterior, which is likely a skyscraper" + }, + { + "__key__": "sa_1530752", + "txt": "a busy city street with tall buildings, cars, and people" + }, + { + "__key__": "sa_5210547", + "txt": "a butterfly sitting on a camera lens, with the camera itself positioned above the butterfly" + }, + { + "__key__": "sa_538184", + "txt": "a group of people dressed in traditional Japanese attire, with some wearing pink and black outfits" + }, + { + "__key__": "sa_5400657", + "txt": "a silver car, specifically a silver SUV, parked on a black surface" + }, + { + "__key__": "sa_4684813", + "txt": "a residential street with a row of houses, each with a different color and design" + }, + { + "__key__": "sa_6382793", + "txt": "a harbor filled with numerous boats docked at the pier" + }, + { + "__key__": "sa_4275840", + "txt": "a black steam locomotive, a large train engine, traveling down the tracks" + }, + { + "__key__": "sa_1220980", + "txt": "a large commercial airplane parked on the tarmac at an airport" + }, + { + "__key__": "sa_5245518", + "txt": "a close-up view of a smartphone screen, displaying the Google logo and the Google Fitbit app" + }, + { + "__key__": "sa_4529945", + "txt": "a black and white photograph of a city street, featuring a narrow alleyway lined with buildings" + }, + { + "__key__": "sa_7460117", + "txt": "a black and white photograph featuring a group of people gathered around a large building, which is a temple" + }, + { + "__key__": "sa_158166", + "txt": "a group of people sitting on a bench in a public area, with some of them using their cell phones" + }, + { + "__key__": "sa_6144805", + "txt": "a black and white photograph of a cityscape, featuring a large city with a skyline filled with tall buildings" + }, + { + "__key__": "sa_1555788", + "txt": "a young boy and a young girl driving their go-karts on a track" + }, + { + "__key__": "sa_5990922", + "txt": "a black and white photograph featuring a busy street scene in a foreign country" + }, + { + "__key__": "sa_5992030", + "txt": "a person flying a large red and white kite in the sky" + }, + { + "__key__": "sa_5946749", + "txt": "a yellow car, specifically a yellow Cadillac, parked in a parking lot" + }, + { + "__key__": "sa_6491632", + "txt": "a black and white photograph of a city street with tall buildings, cars, and people walking" + }, + { + "__key__": "sa_5770194", + "txt": "a large, open, and empty cathedral or church with a high ceiling and arches" + }, + { + "__key__": "sa_4983483", + "txt": "a group of people dressed in red and white Santa Claus costumes walking down a tree-lined path" + }, + { + "__key__": "sa_1388637", + "txt": "a large Emirates airplane, a passenger jet, flying through the sky" + }, + { + "__key__": "sa_6823772", + "txt": "a classic automobile, specifically a green Bentley, parked on a city street" + }, + { + "__key__": "sa_6978827", + "txt": "a lush green field with a large tree in the middle, surrounded by other trees and bushes" + }, + { + "__key__": "sa_5708517", + "txt": "a black and white photograph of a building with a red roof, situated in a courtyard surrounded by a stone wall" + }, + { + "__key__": "sa_4659199", + "txt": "a black and white photograph featuring a dirt path surrounded by trees, bushes, and rocks" + }, + { + "__key__": "sa_7974638", + "txt": "a busy city street filled with various types of vehicles, including cars, buses, and trucks" + }, + { + "__key__": "sa_7009889", + "txt": "a large display of handmade baskets and other woven items, showcasing a variety of designs and styles" + }, + { + "__key__": "sa_7998189", + "txt": "a close-up of a plant with small leaves growing on a tree branch" + }, + { + "__key__": "sa_1221824", + "txt": "a tall building, likely a skyscraper, with a lit-up top" + }, + { + "__key__": "sa_5969222", + "txt": "a large, ornate, and intricate ceiling with a dome structure, adorned with numerous paintings and frescoes" + }, + { + "__key__": "sa_4522989", + "txt": "a dirt road with a row of dirt mounds or mounds of dirt on the side of the road" + }, + { + "__key__": "sa_7684888", + "txt": "a large, open field with a dirt path, surrounded by trees and bushes" + }, + { + "__key__": "sa_6882757", + "txt": "a large sailboat on the water, sailing through the ocean" + }, + { + "__key__": "sa_5237533", + "txt": "a blue and white train traveling down the tracks, with a close-up view of the train's front" + }, + { + "__key__": "sa_6799273", + "txt": "a group of people walking down a street, holding flags and banners, and marching in a parade" + }, + { + "__key__": "sa_1128620", + "txt": "a group of people gathered on a rocky shoreline, with some wearing life jackets and others holding surfboards" + }, + { + "__key__": "sa_4376117", + "txt": "a small blue and white vacuum cleaner sitting on a table" + }, + { + "__key__": "sa_7078613", + "txt": "a brick walkway with a metal plaque mounted on it, which displays the name \"Berlin Maurer" + }, + { + "__key__": "sa_6081736", + "txt": "a large body of water with numerous boats docked at the shore" + }, + { + "__key__": "sa_5963824", + "txt": "a large lake with a boat docked at the shore, surrounded by trees and mountains in the background" + }, + { + "__key__": "sa_1336432", + "txt": "a man working in a large barn or stable, where he is feeding cows with hay" + }, + { + "__key__": "sa_4848640", + "txt": "a close-up view of a smartphone screen, displaying the Facebook app" + }, + { + "__key__": "sa_1377266", + "txt": "a building with a large sign on its side, which is red and white in color" + }, + { + "__key__": "sa_6458047", + "txt": "a group of people standing on a street, holding up signs and protesting" + }, + { + "__key__": "sa_7796905", + "txt": "a bottle of beer, specifically Kasteel Rouge, sitting on a white background" + }, + { + "__key__": "sa_5204886", + "txt": "a large, old building with a red roof, which appears to be a church" + }, + { + "__key__": "sa_1331548", + "txt": "a black and white photograph of a group of men sitting on the grass in a park" + }, + { + "__key__": "sa_1586100", + "txt": "a black and white photograph featuring a train traveling down the tracks" + }, + { + "__key__": "sa_620250", + "txt": "a group of people climbing a rocky cliff, with some of them wearing harnesses and ropes" + }, + { + "__key__": "sa_21563", + "txt": "a large, well-maintained garden with a winding path surrounded by a variety of flowers and plants" + }, + { + "__key__": "sa_7129095", + "txt": "a large group of people walking along a dirt path, with some of them carrying backpacks" + }, + { + "__key__": "sa_7300515", + "txt": "a group of people flying kites on a beach, with the sun shining in the background" + }, + { + "__key__": "sa_6952314", + "txt": "a group of people standing in a field, holding sticks and flags" + }, + { + "__key__": "sa_812533", + "txt": "a large crucifix, which is a crucifixion scene with Jesus on the cross" + }, + { + "__key__": "sa_7605577", + "txt": "a book with a blue cover, which is open and sitting on a table" + }, + { + "__key__": "sa_1293710", + "txt": "a group of four fighter jets flying in the sky, with one of them flying in front of a tree" + }, + { + "__key__": "sa_8084334", + "txt": "a serene scene of a small town with a marina filled with boats, including sailboats and motorboats" + }, + { + "__key__": "sa_5322156", + "txt": "a large, ornate church with a golden dome and a steeple" + }, + { + "__key__": "sa_172161", + "txt": "a group of people dressed in colonial-era clothing, sitting around a table in a grassy field" + }, + { + "__key__": "sa_7456555", + "txt": "a close-up view of a fire hydrant with a unique design" + }, + { + "__key__": "sa_6072742", + "txt": "a cityscape with a mix of architectural styles, including modern and old buildings" + }, + { + "__key__": "sa_4263317", + "txt": "a group of men standing outside a building, with some of them holding signs" + }, + { + "__key__": "sa_5053711", + "txt": "a group of men standing on a beach, with one of them wearing a backpack" + }, + { + "__key__": "sa_4445626", + "txt": "a black and white photograph featuring a city street with a sidewalk, trees, and cars" + }, + { + "__key__": "sa_4484145", + "txt": "a small outdoor seating area with a table and chairs, surrounded by potted plants and a colorful umbrella" + }, + { + "__key__": "sa_1281832", + "txt": "a man and a woman standing next to a large table filled with various types of fish" + }, + { + "__key__": "sa_7311169", + "txt": "a large wooden building with a windmill on top of it, situated on a pier" + }, + { + "__key__": "sa_6885296", + "txt": "a close-up view of a red and white sign on a pole, which is located near a large statue" + }, + { + "__key__": "sa_5702733", + "txt": "a black and white photograph featuring a large building with a statue of a man on top of it" + }, + { + "__key__": "sa_5236415", + "txt": "a large wall with a mural painted on it, which is a colorful and intricate piece of art" + }, + { + "__key__": "sa_1325013", + "txt": "a Coca-Cola bottle, which is a clear glass bottle with a red and white label" + }, + { + "__key__": "sa_6046378", + "txt": "a busy city street filled with people walking and riding bicycles" + }, + { + "__key__": "sa_8035664", + "txt": "a man standing in front of a display case filled with various baskets and other items" + }, + { + "__key__": "sa_5711515", + "txt": "a large body of water, likely an ocean, with a sandy beach and waves crashing on the shore" + }, + { + "__key__": "sa_6302841", + "txt": "a group of people dressed in costumes, standing in a row and holding lit lanterns" + }, + { + "__key__": "sa_7390120", + "txt": "a busy airport terminal, with a large crowd of people gathered around a food stand" + }, + { + "__key__": "sa_7422877", + "txt": "a large marina filled with numerous boats, including yachts and sailboats, docked in the harbor" + }, + { + "__key__": "sa_6896018", + "txt": "a large, open room filled with various items, including pots, pans, and other kitchenware" + }, + { + "__key__": "sa_487847", + "txt": "a large, open, and modern building with a unique architectural design" + }, + { + "__key__": "sa_7557367", + "txt": "a busy subway station with a large crowd of people walking around, some of whom are carrying handbags" + }, + { + "__key__": "sa_6963179", + "txt": "a black and white photograph of a large, old building with a pointed roof" + }, + { + "__key__": "sa_7968684", + "txt": "a group of people, mostly women, dressed in white shirts and black pants, practicing yoga in a courtyard" + }, + { + "__key__": "sa_5857291", + "txt": "a close-up view of a smartphone screen, displaying the Raytheon website" + }, + { + "__key__": "sa_1217782", + "txt": "a woman walking down a street with a large basket filled with oranges" + }, + { + "__key__": "sa_515048", + "txt": "a cat figurine or statue, which is a small, decorative object designed to resemble a cat" + }, + { + "__key__": "sa_1136399", + "txt": "a large, ornate building with a dome, which is a prominent architectural feature" + }, + { + "__key__": "sa_7758767", + "txt": "a black and white photograph featuring a group of people sitting on benches in a park" + }, + { + "__key__": "sa_6352987", + "txt": "a statue of three people, likely representing a family, standing on a pedestal" + }, + { + "__key__": "sa_6558175", + "txt": "a large, ornate building with a green dome, which is a mosque" + }, + { + "__key__": "sa_6303503", + "txt": "a large crowd of people gathered in a courtyard, with a man standing in the middle" + }, + { + "__key__": "sa_4571949", + "txt": "a large, open space with a Christmas tree in the middle, surrounded by numerous people" + }, + { + "__key__": "sa_156142", + "txt": "a black and white photograph of a busy city street, featuring tall buildings, cars, and pedestrians" + }, + { + "__key__": "sa_1448122", + "txt": "a train station with a train passing through it" + }, + { + "__key__": "sa_7817880", + "txt": "a group of people dressed in white, performing a dance routine on a wooden floor" + }, + { + "__key__": "sa_500334", + "txt": "a large, old-fashioned house with a brown roof and a white exterior" + }, + { + "__key__": "sa_1320526", + "txt": "a large, old building with a dome, which is likely a church or a historical monument" + }, + { + "__key__": "sa_4798133", + "txt": "a large, ornate building with a red roof, which is likely a temple or a religious building" + }, + { + "__key__": "sa_4275881", + "txt": "a large group of people gathered in front of a beautiful cathedral, which is a religious building" + }, + { + "__key__": "sa_7782254", + "txt": "a man standing next to a brown cow, with the cow being loaded onto a cart" + }, + { + "__key__": "sa_644408", + "txt": "a busy city street with a mix of vehicles, including cars and trucks, parked along the sides of the road" + }, + { + "__key__": "sa_4981533", + "txt": "a large building with a gray and white exterior, which is a modern architectural design" + }, + { + "__key__": "sa_6832768", + "txt": "a large brick building with a red roof, which appears to be a restaurant or a cafe" + }, + { + "__key__": "sa_805478", + "txt": "a black and red racing car, specifically a sports car, driving on a track" + }, + { + "__key__": "sa_1359242", + "txt": "a large building with a green roof and a white exterior" + }, + { + "__key__": "sa_7903418", + "txt": "a close-up of a man's hand holding a silver crown, with the crown resting on his fingers" + }, + { + "__key__": "sa_569742", + "txt": "a busy city street filled with people walking and crossing the street" + }, + { + "__key__": "sa_5603430", + "txt": "a group of people, including children and adults, walking down a street while holding hands" + }, + { + "__key__": "sa_1506870", + "txt": "a green tractor, specifically a John Deere tractor, parked on a sandy beach" + }, + { + "__key__": "sa_7564634", + "txt": "a city street with a long bridge and a train passing underneath it" + }, + { + "__key__": "sa_6268732", + "txt": "a black and white photograph of a snow-covered building with a flag on top" + }, + { + "__key__": "sa_7471170", + "txt": "a young boy and a young girl, both wearing black clothing, sitting next to each other" + }, + { + "__key__": "sa_7992698", + "txt": "a group of people on a lake, engaging in water sports activities" + }, + { + "__key__": "sa_5746561", + "txt": "a group of people walking down a street, carrying flowers in their hands" + }, + { + "__key__": "sa_7073946", + "txt": "a lush, green garden with several large, colorful trees, which are actually artificial, or fake, trees" + }, + { + "__key__": "sa_5467054", + "txt": "a group of people sitting at a table in a restaurant, with some of them wearing masks" + }, + { + "__key__": "sa_7677413", + "txt": "a group of people, specifically two women, standing on a sheet of ice, wearing skates and holding their skis" + }, + { + "__key__": "sa_4484853", + "txt": "a large building with a green and white logo on its side, which is a bank" + }, + { + "__key__": "sa_5323713", + "txt": "a large, well-stocked grocery store with a long aisle filled with various items" + }, + { + "__key__": "sa_7636040", + "txt": "a large, modern hotel with a tall building and a large, gold-colored sign" + }, + { + "__key__": "sa_6377300", + "txt": "a man sitting on a rocky hillside, wearing a hat and a backpack" + }, + { + "__key__": "sa_5584028", + "txt": "a close-up of a sign hanging on a wall, with the word \"Kremlin\" written on it" + }, + { + "__key__": "sa_5150326", + "txt": "a picturesque scene of a city street lined with palm trees, with people walking along the sidewalk" + }, + { + "__key__": "sa_5788650", + "txt": "a large, empty parking lot with a few trees and a bench" + }, + { + "__key__": "sa_1466815", + "txt": "a beach scene with a group of people playing and enjoying themselves" + }, + { + "__key__": "sa_1315715", + "txt": "a silver Toyota Land Cruiser parked on a carpeted floor, with a black and white checkered pattern" + }, + { + "__key__": "sa_6923852", + "txt": "a man and a woman sitting at a table, with the man pointing to a map on the table" + }, + { + "__key__": "sa_1589340", + "txt": "a large building with a blue and white sign on top of it" + }, + { + "__key__": "sa_685882", + "txt": "a pair of sneakers, specifically a Nike Air Max, sitting on a white carpet or rug" + }, + { + "__key__": "sa_6261641", + "txt": "a close-up of a computer screen, displaying a Wikipedia page about the movie \"Zoolander" + }, + { + "__key__": "sa_5420116", + "txt": "a green car, specifically a green Mitsubishi Mirage, driving down a street" + }, + { + "__key__": "sa_1207072", + "txt": "a group of people dressed in colorful costumes, wearing feathered headdresses and adorned with jewelry" + }, + { + "__key__": "sa_4577250", + "txt": "a large, ornate building with a golden dome, surrounded by a lush green tree and a flowering tree" + }, + { + "__key__": "sa_5205021", + "txt": "a blue and white scooter parked on a sidewalk next to a train station" + }, + { + "__key__": "sa_6861415", + "txt": "a close-up view of a smartphone, specifically a black Samsung Galaxy S10, sitting on a table" + }, + { + "__key__": "sa_7090434", + "txt": "a small, yellow, remote-controlled helicopter flying in the sky" + }, + { + "__key__": "sa_4633902", + "txt": "a pile of black trash cans, which are stacked on top of each other" + }, + { + "__key__": "sa_4838439", + "txt": "a large, old building with a tall, arched doorway and a stone facade" + }, + { + "__key__": "sa_5224856", + "txt": "a group of people standing in a room, with some of them holding cell phones" + }, + { + "__key__": "sa_6728236", + "txt": "a large white boat docked at a pier, with a blue and white boat in the background" + }, + { + "__key__": "sa_5728453", + "txt": "a large clock mounted on a pole, situated in a city setting" + }, + { + "__key__": "sa_4395333", + "txt": "a train traveling down the tracks, with a person standing on the tracks near the train" + }, + { + "__key__": "sa_5281101", + "txt": "a large body of water, such as a lake or a pond, surrounded by a lush green forest" + }, + { + "__key__": "sa_5883729", + "txt": "a lush green field with a large number of yellow flowers, including tulips and daffodils" + }, + { + "__key__": "sa_6743717", + "txt": "a large, iconic structure, likely the Eiffel Tower, in Paris, France" + }, + { + "__key__": "sa_13389", + "txt": "a large building with a red roof and a sign that reads \"Johnny's Tavern" + }, + { + "__key__": "sa_4481082", + "txt": "a cemetery with a long, narrow path lined with many headstones" + }, + { + "__key__": "sa_6187244", + "txt": "a yellow and black train traveling down the tracks in a city" + }, + { + "__key__": "sa_5463481", + "txt": "a large, open cathedral with a long, narrow aisle" + }, + { + "__key__": "sa_4650740", + "txt": "a large city with a river running through it, surrounded by a forest" + }, + { + "__key__": "sa_5705628", + "txt": "a group of people wearing yellow shirts and hats, standing in a row and holding their hands up" + }, + { + "__key__": "sa_6276261", + "txt": "a green SUV parked in a parking lot, with a person standing next to it" + }, + { + "__key__": "sa_7580043", + "txt": "a large pool filled with people, some of whom are swimming and others are standing around" + }, + { + "__key__": "sa_7395946", + "txt": "a group of people gathered on a staircase or a set of steps, holding signs and chanting" + }, + { + "__key__": "sa_7885389", + "txt": "a close-up view of a plate with two pieces of McDonald's French fries, accompanied by a McDonald's bag" + }, + { + "__key__": "sa_7331325", + "txt": "a group of people standing on a street, holding flags and banners" + }, + { + "__key__": "sa_5788481", + "txt": "two men wearing safety gear, including harnesses and helmets, and climbing a rope ladder" + }, + { + "__key__": "sa_4676718", + "txt": "a black and white photograph featuring a group of people, likely friends, standing in a field or yard" + }, + { + "__key__": "sa_6442171", + "txt": "a busy city street filled with people walking and standing in a large crowd" + }, + { + "__key__": "sa_7997226", + "txt": "a large group of people gathered in a public space, holding signs and protesting" + }, + { + "__key__": "sa_1727141", + "txt": "a busy street scene with a group of people walking down a narrow street lined with shops and stalls" + }, + { + "__key__": "sa_5967922", + "txt": "a large, modern building with a unique architectural design, resembling a futuristic or space-age structure" + }, + { + "__key__": "sa_4957992", + "txt": "a large, open square in a city with a fountain in the middle" + }, + { + "__key__": "sa_6399383", + "txt": "a large, ornate building with a dome and a steeple, which is likely a church" + }, + { + "__key__": "sa_6084138", + "txt": "a large jetliner, specifically a British Airways airplane, flying through the sky" + }, + { + "__key__": "sa_4332974", + "txt": "a postage stamp with a black and white design, depicting two men in a field" + }, + { + "__key__": "sa_1232762", + "txt": "a painting of two men, one wearing a crown and the other wearing a robe, standing in front of a city" + }, + { + "__key__": "sa_5508924", + "txt": "a group of people gathered in a park, with some of them wearing shirts and others wearing shirts and ties" + }, + { + "__key__": "sa_1635440", + "txt": "a man and a woman standing next to each other, with the man holding a microphone" + }, + { + "__key__": "sa_1180928", + "txt": "a colorful and vibrant village with a mix of traditional and modern architecture" + }, + { + "__key__": "sa_7505293", + "txt": "a colorful cityscape with a mix of architectural styles, including red and white buildings" + }, + { + "__key__": "sa_506553", + "txt": "a black and white photograph of a city street with a large building and a temple in the background" + }, + { + "__key__": "sa_1700953", + "txt": "a large group of people, primarily young men, walking down a street" + }, + { + "__key__": "sa_1344325", + "txt": "a black and white photograph of a crowded street in New York City, taken during the day" + }, + { + "__key__": "sa_86939", + "txt": "a crowded outdoor market, with people sitting on wooden benches and standing around a variety of booths" + }, + { + "__key__": "sa_6329352", + "txt": "a black and red car driving down a narrow, winding road surrounded by trees and a forest" + }, + { + "__key__": "sa_8042034", + "txt": "a woman wearing a black dress and walking down a red carpet" + }, + { + "__key__": "sa_5436552", + "txt": "a harbor with several large ships docked at a pier, including a ferry and a cruise ship" + }, + { + "__key__": "sa_6125232", + "txt": "a group of men in white robes, standing together on a sandy beach" + }, + { + "__key__": "sa_7726780", + "txt": "a cityscape with a large number of buildings, some of which are blue and red" + }, + { + "__key__": "sa_4674849", + "txt": "a group of people standing on a rocky hillside, with some of them holding measuring instruments" + }, + { + "__key__": "sa_684831", + "txt": "a large stone structure with three tall pillars, each topped with a statue" + }, + { + "__key__": "sa_726778", + "txt": "a group of people walking down a street, with some of them carrying backpacks" + }, + { + "__key__": "sa_1211104", + "txt": "a beach scene at sunset, with a long pier extending into the ocean" + }, + { + "__key__": "sa_5319806", + "txt": "a stop sign that has been knocked over and is lying on its side on the street" + }, + { + "__key__": "sa_6390990", + "txt": "a large, colorful, and vibrant store with a long counter filled with various candies and treats" + }, + { + "__key__": "sa_7835218", + "txt": "a large dining area with a long table filled with chairs, all set up for a meal" + }, + { + "__key__": "sa_7305775", + "txt": "a busy city street with cars, trucks, and pedestrians" + }, + { + "__key__": "sa_6857809", + "txt": "a black and white photograph of a woman carrying a large bag down a narrow street" + }, + { + "__key__": "sa_7333698", + "txt": "a large, modern building with a gray and white color scheme, which stands out against the blue sky" + }, + { + "__key__": "sa_8033435", + "txt": "a black and white photograph of a city street with a large building in the background" + }, + { + "__key__": "sa_7549722", + "txt": "a narrow street lined with shops, with people walking down the street and a few cars parked nearby" + }, + { + "__key__": "sa_6107712", + "txt": "a mural painted on a brick wall, depicting two robots or robots-like creatures" + }, + { + "__key__": "sa_7112338", + "txt": "a large white ship docked at a pier, with a smaller boat in the foreground" + }, + { + "__key__": "sa_6090194", + "txt": "a group of people standing in a large, open, and well-lit airport terminal" + }, + { + "__key__": "sa_4602258", + "txt": "a large group of people, likely students, gathered together in a public space" + }, + { + "__key__": "sa_7332099", + "txt": "a beach scene with a large group of people gathered on the shoreline" + }, + { + "__key__": "sa_564119", + "txt": "a man and a woman holding lit torches, with a crowd of people watching them" + }, + { + "__key__": "sa_4485644", + "txt": "a group of people dressed in colorful costumes and riding in a parade, with some of them riding on a cart" + }, + { + "__key__": "sa_6309125", + "txt": "a group of people working in a tobacco field, surrounded by tall green plants" + }, + { + "__key__": "sa_6420904", + "txt": "a group of three men and a woman posing together on a boat" + }, + { + "__key__": "sa_4501923", + "txt": "a black and white photograph of a sign attached to a pole, with the word \"Stil\" written on it" + }, + { + "__key__": "sa_591478", + "txt": "a large stadium filled with people, with a large crowd of people sitting in the seats" + }, + { + "__key__": "sa_6784335", + "txt": "a large building with a modern architectural design, including a glass facade and a large glass roof" + }, + { + "__key__": "sa_5597418", + "txt": "a group of people sitting on yoga mats on a grassy field, with some of them wearing white shirts" + }, + { + "__key__": "sa_6756101", + "txt": "a large tree with a twisted trunk, surrounded by a lush green forest" + }, + { + "__key__": "sa_5783298", + "txt": "a group of children playing in a sandbox, which is located in a park" + }, + { + "__key__": "sa_7934944", + "txt": "a large field of orange and yellow flowers, with some green plants and trees in the background" + }, + { + "__key__": "sa_4378229", + "txt": "a large body of water with numerous boats docked in it, including yachts and other watercraft" + }, + { + "__key__": "sa_8083613", + "txt": "a large, old-fashioned clock tower with a steeple and a clock on its side" + }, + { + "__key__": "sa_4300226", + "txt": "a wooden wall with various tools and implements hanging on it, including hammers, wrenches, and other tools" + }, + { + "__key__": "sa_553515", + "txt": "a large, ornate building with a golden dome, which is situated on a lake" + }, + { + "__key__": "sa_7715201", + "txt": "a lush green hillside with a group of people standing in a forest, surrounded by trees and bushes" + }, + { + "__key__": "sa_6838176", + "txt": "a busy city street filled with people walking and shopping" + }, + { + "__key__": "sa_4667558", + "txt": "a group of people walking along a wooden bridge or boardwalk, with some of them carrying handbags" + }, + { + "__key__": "sa_5194685", + "txt": "a large, ornate building with a tall dome, which is a church" + }, + { + "__key__": "sa_7145533", + "txt": "a street sign sitting on a grassy field, surrounded by trees and bushes" + }, + { + "__key__": "sa_8117918", + "txt": "a large semi-truck, specifically a Peterbilt, driving down a city street" + }, + { + "__key__": "sa_4885785", + "txt": "a blue and white van driving down a street with a traffic sign in the background" + }, + { + "__key__": "sa_7644391", + "txt": "a group of people, including children and adults, gathered on a skateboard ramp" + }, + { + "__key__": "sa_488428", + "txt": "a black and white photograph of a city street with tall buildings and a clock tower" + }, + { + "__key__": "sa_6094703", + "txt": "a vintage, old-fashioned postage stamp with a purple and white design" + }, + { + "__key__": "sa_7768925", + "txt": "a young boy sitting on a yellow swing, holding onto a yellow ball that is attached to a rope" + }, + { + "__key__": "sa_7124090", + "txt": "a group of people riding bicycles down a path surrounded by trees" + }, + { + "__key__": "sa_7494666", + "txt": "a store entrance with a sign that reads \"No Shoes" + }, + { + "__key__": "sa_5955797", + "txt": "a group of young women dressed in traditional Chinese costumes, wearing ornate headdresses and holding hands" + }, + { + "__key__": "sa_7372783", + "txt": "a group of people sitting on a beach, enjoying their time and engaging in various activities" + }, + { + "__key__": "sa_5510859", + "txt": "a white and blue car, likely a sports car, parked on a blue tarp on the ground" + }, + { + "__key__": "sa_7173909", + "txt": "a large boat, possibly a tug boat, docked at a pier or a canal" + }, + { + "__key__": "sa_7960115", + "txt": "a man with a beard, wearing a black suit and a hat, standing in front of a crowd of people" + }, + { + "__key__": "sa_6334610", + "txt": "a group of people wearing costumes and holding feathers, possibly representing a parade or a cultural event" + }, + { + "__key__": "sa_8051968", + "txt": "a group of small, life-sized dolls dressed in Santa costumes, sitting on wooden chairs" + }, + { + "__key__": "sa_6439922", + "txt": "a group of sailboats sailing in the ocean, with a few of them being white" + }, + { + "__key__": "sa_5477260", + "txt": "a row of mannequins dressed in various outfits, hanging from a clothes rack" + }, + { + "__key__": "sa_4702416", + "txt": "a group of people standing in a field, with some of them dressed in costumes" + }, + { + "__key__": "sa_6224327", + "txt": "a close-up of a sign for a sushi restaurant, Shiro's Sushi" + }, + { + "__key__": "sa_4877360", + "txt": "a group of people dancing in a large open area, with some of them wearing traditional costumes" + }, + { + "__key__": "sa_778271", + "txt": "a yellow and white train traveling down the tracks in a city setting" + }, + { + "__key__": "sa_7858387", + "txt": "a large, open exhibit hall filled with people, furniture, and various displays" + }, + { + "__key__": "sa_1571779", + "txt": "a busy city street with a large crowd of people walking down the street" + }, + { + "__key__": "sa_5289972", + "txt": "two men wearing white hazmat suits, standing next to each other in a room" + }, + { + "__key__": "sa_5791676", + "txt": "a tall building, likely a skyscraper, with a lit-up top" + }, + { + "__key__": "sa_7837974", + "txt": "a large airfield with multiple airplanes parked on the tarmac, including a large jetliner and a helicopter" + }, + { + "__key__": "sa_6020657", + "txt": "a busy city street with a large crowd of people walking around, some of whom are carrying handbags" + }, + { + "__key__": "sa_7285186", + "txt": "a group of people sitting on the sand, with some of them holding hands" + }, + { + "__key__": "sa_5989301", + "txt": "a close-up of a large truck, specifically a blue and black one, driving down a curvy road" + }, + { + "__key__": "sa_6566899", + "txt": "a large bookstore with a wide variety of books on display" + }, + { + "__key__": "sa_6879175", + "txt": "a wooden bench sitting on a wooden platform, surrounded by a lush green forest" + }, + { + "__key__": "sa_602207", + "txt": "a collection of three napkins, each with a different design and color" + }, + { + "__key__": "sa_1655262", + "txt": "a large, ornate cathedral with a high, vaulted ceiling" + }, + { + "__key__": "sa_8038925", + "txt": "a close-up of a smartphone, specifically a Samsung Galaxy S10, with a blue and white color scheme" + }, + { + "__key__": "sa_732705", + "txt": "a pile of trash, including various items such as bottles, cans, and other waste, sitting on a dirt field" + }, + { + "__key__": "sa_1529116", + "txt": "a large, white building with a red door, which appears to be a church" + }, + { + "__key__": "sa_7561739", + "txt": "a colorful row of houses, each with a different color and design" + }, + { + "__key__": "sa_790438", + "txt": "a city street scene with a large group of people walking around, some of them riding bicycles" + }, + { + "__key__": "sa_6345764", + "txt": "a man sitting in a wheelchair, wearing a black shirt and jeans" + }, + { + "__key__": "sa_5556580", + "txt": "a large, ornate, and colorful building with a blue dome, which is likely a church" + }, + { + "__key__": "sa_658124", + "txt": "a display of shoes in a store, showcasing a variety of styles and colors" + }, + { + "__key__": "sa_7949372", + "txt": "a large group of people walking down a street, holding flags and banners" + }, + { + "__key__": "sa_5860521", + "txt": "a statue of a person sitting on a chair, surrounded by various objects and decorations" + }, + { + "__key__": "sa_7581758", + "txt": "a pair of sneakers, specifically a black and white pair of Asics, sitting on a black surface" + }, + { + "__key__": "sa_5957025", + "txt": "a large, modern city skyline with tall buildings, including a glass-fronted skyscraper" + }, + { + "__key__": "sa_7962926", + "txt": "a large building with a dome and a steeple, which is likely a church" + }, + { + "__key__": "sa_8066356", + "txt": "a white car with a red top, parked on a black surface" + }, + { + "__key__": "sa_5624043", + "txt": "a busy city street with a large crowd of people gathered in front of a building" + }, + { + "__key__": "sa_1266809", + "txt": "a large room filled with furniture, including couches, chairs, and tables" + }, + { + "__key__": "sa_47086", + "txt": "a group of children playing in the snow, with some of them climbing a snow-covered hill or a snowy wall" + }, + { + "__key__": "sa_8012905", + "txt": "a well-lit, modern dining room with a table and chairs" + }, + { + "__key__": "sa_5506773", + "txt": "a large, ornate building with a red roof, which is a castle-like structure" + }, + { + "__key__": "sa_1558379", + "txt": "a street sign in a lush green forest setting" + }, + { + "__key__": "sa_8075472", + "txt": "a tall building with a colorful and vibrant exterior, which is made up of many different colors" + }, + { + "__key__": "sa_1304497", + "txt": "a large, empty airport terminal with a tiled floor and a few benches" + }, + { + "__key__": "sa_782013", + "txt": "a silver car with a blue and white logo on the back, which is a Subaru logo" + }, + { + "__key__": "sa_6481412", + "txt": "a large, old, and dilapidated apartment building with a fire-damaged exterior" + }, + { + "__key__": "sa_6708207", + "txt": "a group of people running in a marathon, with a woman leading the pack" + }, + { + "__key__": "sa_7622956", + "txt": "a large group of people gathered in a field, with some of them wearing white shirts" + }, + { + "__key__": "sa_1636345", + "txt": "a black and white photograph of a busy city street with cars, buses, and pedestrians" + }, + { + "__key__": "sa_5260836", + "txt": "a wooden table with a large, carved wooden tree sculpture as its centerpiece" + }, + { + "__key__": "sa_7311379", + "txt": "a large screen displaying a close-up of a flag, specifically the flag of the Czech Republic" + }, + { + "__key__": "sa_726692", + "txt": "a vintage postage stamp with a crown on it, possibly from the Kingdom of Prussia" + }, + { + "__key__": "sa_5920602", + "txt": "a group of police officers on bicycles riding down a street, with a large SUV following closely behind them" + }, + { + "__key__": "sa_6391459", + "txt": "a busy city street with a mix of vehicles, including cars and trucks, driving down the road" + }, + { + "__key__": "sa_5123837", + "txt": "a wooden signpost with a green and white sign attached to it, located in a forested area" + }, + { + "__key__": "sa_807127", + "txt": "a helicopter flying over a lush green forest, with mountains in the background" + }, + { + "__key__": "sa_4736700", + "txt": "a black and white photograph of a busy market street filled with various items and people" + }, + { + "__key__": "sa_4343870", + "txt": "a dock or pier with two bicycles parked on it" + }, + { + "__key__": "sa_571071", + "txt": "a red Vespa scooter parked in a parking lot filled with numerous motorcycles" + }, + { + "__key__": "sa_5337330", + "txt": "a large crowd of people gathered on a street, holding signs and banners, and standing in front of a building" + }, + { + "__key__": "sa_5380365", + "txt": "a cityscape with two tall buildings, one of which is a blue and white building with a white dome" + }, + { + "__key__": "sa_7691186", + "txt": "a large, snow-covered Christmas tree with white tinsel and greenery" + }, + { + "__key__": "sa_7595762", + "txt": "a large airport terminal with a glass roof, featuring a long hallway with multiple people and luggage" + }, + { + "__key__": "sa_4927291", + "txt": "a red airplane flying through the sky, with a full moon visible in the background" + }, + { + "__key__": "sa_5751656", + "txt": "a large body of water with many boats docked along the shore" + }, + { + "__key__": "sa_4435714", + "txt": "a large, old, and rusted airplane sitting on top of a concrete pad or runway" + }, + { + "__key__": "sa_5096154", + "txt": "a large dining room filled with tables and chairs, all arranged in a row" + }, + { + "__key__": "sa_4399953", + "txt": "a group of people sitting on wheelchairs, some of them with canes, on a sports field" + }, + { + "__key__": "sa_643677", + "txt": "a busy street scene in a Middle Eastern city, with various shops and vendors lining the street" + }, + { + "__key__": "sa_4346128", + "txt": "a group of people dressed in colorful outfits, wearing matching shirts and holding signs" + }, + { + "__key__": "sa_1534160", + "txt": "a pair of small airplanes flying in the sky, with one of them being a propeller plane" + }, + { + "__key__": "sa_5998231", + "txt": "a group of people walking down a street, with some of them holding signs" + }, + { + "__key__": "sa_4398627", + "txt": "a group of young women dressed in white, dancing together in a public square" + }, + { + "__key__": "sa_4404344", + "txt": "a white stone building with a dome, which appears to be a small temple or a chapel" + }, + { + "__key__": "sa_4991717", + "txt": "a group of people walking down a sidewalk near a large cow statue" + }, + { + "__key__": "sa_1611121", + "txt": "a group of people enjoying a leisurely day on a lake" + }, + { + "__key__": "sa_7661533", + "txt": "a fighter jet, specifically a gray and blue fighter jet, flying through the sky" + }, + { + "__key__": "sa_7657091", + "txt": "a train traveling down the tracks, with a close-up view of the train engine" + }, + { + "__key__": "sa_5057596", + "txt": "a large, open, and empty parking lot with a few cars parked in it" + }, + { + "__key__": "sa_6814683", + "txt": "a woman wearing a green dress, a green coat, and green stockings" + }, + { + "__key__": "sa_5553076", + "txt": "a lush green forest with tall trees, creating a canopy of greenery" + }, + { + "__key__": "sa_5179601", + "txt": "a large group of sailboats docked in a harbor, with a clear blue sky above them" + }, + { + "__key__": "sa_6407611", + "txt": "a pair of black Nike sneakers, which are sitting on a white carpet or rug" + }, + { + "__key__": "sa_1211026", + "txt": "a large, dilapidated apartment building with a black fire-damaged exterior" + }, + { + "__key__": "sa_6132885", + "txt": "a train traveling down the tracks, with a person standing on the tracks near the train" + }, + { + "__key__": "sa_5079679", + "txt": "a group of people standing in a store, with some of them holding handbags" + }, + { + "__key__": "sa_5710157", + "txt": "a white vial filled with a white substance, which appears to be a liquid or a powder" + }, + { + "__key__": "sa_7571261", + "txt": "a display of ripe bananas and green bananas, both hanging from a wooden table" + }, + { + "__key__": "sa_7774023", + "txt": "a brick wall with a long line of windows, creating a visually striking and unique architectural design" + }, + { + "__key__": "sa_745604", + "txt": "a white sports car, specifically a Lamborghini, parked in a parking lot" + }, + { + "__key__": "sa_4707390", + "txt": "a close-up of a red and blue sign with a white border, which is mounted on a white wall" + }, + { + "__key__": "sa_1630254", + "txt": "a busy city street with a large crowd of people walking around, some of whom are carrying handbags" + }, + { + "__key__": "sa_5925264", + "txt": "a group of young men playing soccer on a grassy field" + }, + { + "__key__": "sa_755421", + "txt": "a large gun, specifically a tank gun, on a sandy field" + }, + { + "__key__": "sa_4943412", + "txt": "a large commercial airplane parked on the tarmac at an airport" + }, + { + "__key__": "sa_4518412", + "txt": "a large stone monument or a stone pillar, which is located in a forested area" + }, + { + "__key__": "sa_1213868", + "txt": "a young boy driving a go-kart on a track, surrounded by several other go-karts" + }, + { + "__key__": "sa_1382490", + "txt": "a group of people gathered in a public space, with some of them holding large drums" + }, + { + "__key__": "sa_5108146", + "txt": "a large bookstore filled with numerous books, both on the shelves and on the floor" + }, + { + "__key__": "sa_5409115", + "txt": "a close-up view of a laptop screen, with a magnifying glass placed over it" + }, + { + "__key__": "sa_8078828", + "txt": "a cityscape with a large, modern building, likely a skyscraper, surrounded by other buildings" + }, + { + "__key__": "sa_6509921", + "txt": "a large display of colorful flowers, including tulips, in a store setting" + }, + { + "__key__": "sa_7788143", + "txt": "a close-up of a pile of foreign currency, specifically Euros, stacked on top of each other" + }, + { + "__key__": "sa_5579324", + "txt": "a close-up view of a bag of potato chips, with the chips being the main focus" + }, + { + "__key__": "sa_7325424", + "txt": "a close-up of a woman's face, with her eyes open and her mouth open" + }, + { + "__key__": "sa_7383558", + "txt": "a black and white photograph featuring a large group of people gathered on a beach" + }, + { + "__key__": "sa_7226718", + "txt": "a black and white photograph of a group of people sitting at a counter inside a restaurant" + }, + { + "__key__": "sa_4704919", + "txt": "a white scooter parked on a stone walkway in a city setting" + }, + { + "__key__": "sa_6304204", + "txt": "a group of young men playing soccer on a field, with one of them holding a soccer ball" + }, + { + "__key__": "sa_7802676", + "txt": "a group of people, including adults and children, wearing hats and holding a basket" + }, + { + "__key__": "sa_5610897", + "txt": "a small cup filled with a drink, which appears to be a fruit-flavored beverage" + }, + { + "__key__": "sa_6637334", + "txt": "a large, open space with a red wall and a red door" + }, + { + "__key__": "sa_7759368", + "txt": "a large group of people standing in a park, holding up signs and banners" + }, + { + "__key__": "sa_1731652", + "txt": "a busy city street with a large crowd of people walking around" + }, + { + "__key__": "sa_4721990", + "txt": "a close-up of a L'Oreal store sign, which is a large, blue and white sign with the L'Oreal logo" + }, + { + "__key__": "sa_4717714", + "txt": "a large group of lit lanterns hanging from trees, creating a visually stunning and festive atmosphere" + }, + { + "__key__": "sa_4969259", + "txt": "a black and white photograph of a city street with a canal and a large building" + }, + { + "__key__": "sa_6813457", + "txt": "a close-up of a dictionary page, with the word \"arachnid\" highlighted in green" + }, + { + "__key__": "sa_4988104", + "txt": "a large, modern building with a prominent sign on the front" + }, + { + "__key__": "sa_6019303", + "txt": "a black and white photograph featuring a harbor with boats docked at a pier" + }, + { + "__key__": "sa_5431211", + "txt": "a busy street scene with a mix of vehicles, including cars, trucks, and a motorcycle" + }, + { + "__key__": "sa_5187122", + "txt": "a black and white photograph of a city street with tall buildings, cars, and a train" + }, + { + "__key__": "sa_726880", + "txt": "a beach scene with a large group of people, including adults and children, gathered on the shoreline" + }, + { + "__key__": "sa_7988498", + "txt": "a busy city street with cars, buses, and pedestrians" + }, + { + "__key__": "sa_7721988", + "txt": "a group of people, including women and a man, holding signs and participating in a parade" + }, + { + "__key__": "sa_4882769", + "txt": "a woman walking down a subway platform, with a blue and white train visible in the background" + }, + { + "__key__": "sa_7919040", + "txt": "a large white boat docked at a marina, with a city in the background" + }, + { + "__key__": "sa_7441162", + "txt": "a large building with a blue roof, which is a Hyundai dealership" + }, + { + "__key__": "sa_1719343", + "txt": "a small, old-fashioned house with a wooden door and a balcony" + }, + { + "__key__": "sa_1605439", + "txt": "a large red building with a unique architectural design, which includes a tall tower and a red roof" + }, + { + "__key__": "sa_5468231", + "txt": "a blue shed, which is situated in a grassy field" + }, + { + "__key__": "sa_5593723", + "txt": "a statue of a man, possibly Jesus, in a church setting" + }, + { + "__key__": "sa_1637647", + "txt": "a yellow bag with a large, detailed map of Paris printed on it" + }, + { + "__key__": "sa_4402634", + "txt": "a man riding a motorcycle down a busy city street, surrounded by various vehicles such as cars and trucks" + }, + { + "__key__": "sa_7449110", + "txt": "a group of people dressed in white, standing in a parking lot, and holding swords" + }, + { + "__key__": "sa_6364367", + "txt": "a large white building with a clock tower and two steeples, which is a church" + }, + { + "__key__": "sa_7540079", + "txt": "a man sitting on the floor, working on a wooden table or bench" + }, + { + "__key__": "sa_6180816", + "txt": "a large ship docked at a pier, with a smaller boat nearby" + }, + { + "__key__": "sa_613760", + "txt": "a large commercial airplane parked on the tarmac at an airport" + }, + { + "__key__": "sa_7046048", + "txt": "a man sitting on the ground in front of a pile of baskets filled with fruits and vegetables" + }, + { + "__key__": "sa_7818211", + "txt": "a patio with a dining table and chairs, surrounded by a wooden deck" + }, + { + "__key__": "sa_62223", + "txt": "a large, colorful banner with a purple and white design, which is displayed in a field" + }, + { + "__key__": "sa_5616925", + "txt": "a large group of people gathered around a wooden pier or dock, with a building in the background" + }, + { + "__key__": "sa_4279371", + "txt": "a white vial filled with a vaccine, sitting on a table" + }, + { + "__key__": "sa_6528420", + "txt": "a busy street scene with people walking and crossing the street" + }, + { + "__key__": "sa_5849945", + "txt": "a large outdoor dining area with tables and chairs, surrounded by trees and a canopy" + }, + { + "__key__": "sa_684246", + "txt": "a group of people gathered around a table, with some of them holding a trophy" + }, + { + "__key__": "sa_4429511", + "txt": "a large group of sailboats sailing in the ocean, with the sailboats being white and blue" + }, + { + "__key__": "sa_1688726", + "txt": "a table filled with various items, including teddy bears, porcelain figurines, and other knick-knacks" + }, + { + "__key__": "sa_6801768", + "txt": "a busy city street filled with people walking and standing" + }, + { + "__key__": "sa_5982379", + "txt": "a table filled with various types of silverware, including silver plates, silver bowls, and silver cups" + }, + { + "__key__": "sa_5067769", + "txt": "a busy city street with a large crowd of people walking around, some of them holding handbags" + }, + { + "__key__": "sa_6199940", + "txt": "a large building with a blue and white color scheme, which is the headquarters of the Vienna Insurance Group" + }, + { + "__key__": "sa_1237915", + "txt": "a large, ornate building with a tall tower, which is situated on a riverbank" + }, + { + "__key__": "sa_6438252", + "txt": "a busy city street with a large crowd of people walking around, engaging in various activities" + }, + { + "__key__": "sa_472899", + "txt": "a large, ancient-looking stone building with a white or gray stone exterior" + }, + { + "__key__": "sa_5333961", + "txt": "a cemetery with a row of small, white, and pink concrete boxes, which are likely graves" + }, + { + "__key__": "sa_1416908", + "txt": "a green and white scooter or skateboard, which is parked on the sidewalk" + }, + { + "__key__": "sa_7955365", + "txt": "a large, old building with a unique architectural style" + }, + { + "__key__": "sa_5950025", + "txt": "a lush, green garden filled with various plants and flowers, including a large tree, bushes, and flowers" + }, + { + "__key__": "sa_4296944", + "txt": "a group of people gathered in a public area, with some of them taking pictures of others" + }, + { + "__key__": "sa_8002312", + "txt": "a busy street scene with a large crowd of people walking along a tree-lined path" + }, + { + "__key__": "sa_580101", + "txt": "a large, white, domed building with a blue roof, situated in a park-like setting" + }, + { + "__key__": "sa_1399379", + "txt": "a group of people gathered in a park, with some of them holding large bubbles in their hands" + }, + { + "__key__": "sa_5985719", + "txt": "a large underground parking garage with a long, empty hallway" + }, + { + "__key__": "sa_7753534", + "txt": "a white van with a black and white design on its side, driving down a busy street" + }, + { + "__key__": "sa_162499", + "txt": "a large group of people gathered on a beach, where they are engaging in various water sports and activities" + }, + { + "__key__": "sa_6776888", + "txt": "a black and white photograph of a large, ornate building, which appears to be a church" + }, + { + "__key__": "sa_5429266", + "txt": "a large storefront window with a display of various items, including food, drinks, and toys" + }, + { + "__key__": "sa_1368831", + "txt": "a black and white photograph featuring a group of people gathered around a table with a chicken on it" + }, + { + "__key__": "sa_7698209", + "txt": "a large, old-fashioned building with a red roof and a white exterior" + }, + { + "__key__": "sa_6703524", + "txt": "a man working in a fish market, surrounded by various types of fish on a table" + }, + { + "__key__": "sa_6452097", + "txt": "a signpost with a sign attached to it, indicating the direction to a park" + }, + { + "__key__": "sa_6905810", + "txt": "a large city with a beautiful view of a river and a castle in the background" + }, + { + "__key__": "sa_6031722", + "txt": "a white statue or monument on a brick walkway in a city" + }, + { + "__key__": "sa_4508912", + "txt": "a row of boats, including a large boat and a smaller boat, parked on a snowy surface" + }, + { + "__key__": "sa_1138368", + "txt": "a close-up view of a sign with the Amazon logo on it, which is lit up and displayed in a store" + }, + { + "__key__": "sa_7466947", + "txt": "a close-up view of a wall-mounted display case filled with various types of tea" + }, + { + "__key__": "sa_5530845", + "txt": "a close-up of a plant with a large number of small, tightly-packed leaves, resembling a forest of ferns" + }, + { + "__key__": "sa_6890178", + "txt": "a close-up view of a plastic case filled with various types of guitar picks" + }, + { + "__key__": "sa_6422539", + "txt": "a group of people standing outside a store, with some of them holding umbrellas" + }, + { + "__key__": "sa_5153351", + "txt": "a group of people wearing helmets and orange vests, walking through a field of yellow flowers" + }, + { + "__key__": "sa_7028489", + "txt": "a postage stamp with intricate and artistic designs, possibly featuring a swirly pattern" + }, + { + "__key__": "sa_4985671", + "txt": "a large group of people gathered in a parking lot, holding rainbow flags and banners" + }, + { + "__key__": "sa_484294", + "txt": "a black and white photograph featuring a man walking across a bridge at sunset" + }, + { + "__key__": "sa_5674195", + "txt": "a large yellow pineapple sculpture or statue, which is situated in a tropical setting" + }, + { + "__key__": "sa_4385748", + "txt": "a large skeleton of a dinosaur, specifically a T-rex, displayed in a museum" + }, + { + "__key__": "sa_4694334", + "txt": "a woman lying on a couch, wearing a white dress and holding a handbag" + }, + { + "__key__": "sa_7316525", + "txt": "two women working together to weave baskets using a traditional technique" + }, + { + "__key__": "sa_632702", + "txt": "a blue and white sign on a white wall, which is located in a hallway" + }, + { + "__key__": "sa_1374841", + "txt": "a box of Arora Gold Flavor White Tea, which is a product from the Arora Tea Company" + }, + { + "__key__": "sa_150902", + "txt": "a large commercial airplane, specifically a Delta Airlines plane, taking off from an airport runway" + }, + { + "__key__": "sa_6726572", + "txt": "a large, open, and empty airport terminal with a long, wide, and shiny floor" + }, + { + "__key__": "sa_4887663", + "txt": "a large, old, and somewhat run-down building with a brick exterior" + }, + { + "__key__": "sa_1521318", + "txt": "a man wearing a black jacket and a hat, standing in a crowd of people" + }, + { + "__key__": "sa_6680278", + "txt": "a well-stocked pantry filled with a wide variety of canned goods, including soups, fruits, and vegetables" + }, + { + "__key__": "sa_7998425", + "txt": "a group of people sitting on the ground, with some of them wearing colorful scarves" + }, + { + "__key__": "sa_7126777", + "txt": "two green bottles of Heineken beer, sitting next to each other on a white table" + }, + { + "__key__": "sa_5833344", + "txt": "a group of young people, including a girl and a boy, who are playing and engaging in various activities" + }, + { + "__key__": "sa_5655641", + "txt": "a group of people working together in a field, with some of them standing and others kneeling" + }, + { + "__key__": "sa_5672957", + "txt": "a statue of a man, possibly Jesus, sitting on a bench" + }, + { + "__key__": "sa_5766355", + "txt": "a close-up of a large, black tire with a chain-like pattern on its surface" + }, + { + "__key__": "sa_7113760", + "txt": "a black and white photograph of a harbor filled with boats, including a variety of fishing boats and other vessels" + }, + { + "__key__": "sa_7918417", + "txt": "a group of people, including children and adults, running on a track" + }, + { + "__key__": "sa_508327", + "txt": "a large, open, and well-lit room filled with furniture, including beds, couches, and chairs" + }, + { + "__key__": "sa_6700016", + "txt": "a large, old, two-story house with a brown roof and a white exterior" + }, + { + "__key__": "sa_4581862", + "txt": "a black and white photograph that captures a busy street scene in a foreign country" + }, + { + "__key__": "sa_6193152", + "txt": "a red racing car, specifically a Formula One car, on a track" + }, + { + "__key__": "sa_6050541", + "txt": "a crowded market or bakery, where people are gathered around a long table filled with various types of bread" + }, + { + "__key__": "sa_1234475", + "txt": "a woman working on a piece of fabric, possibly a rug, in a room filled with other people" + }, + { + "__key__": "sa_5092740", + "txt": "a large building with a unique architectural design, resembling a treehouse" + }, + { + "__key__": "sa_6070284", + "txt": "a man wearing a white suit and a blue backpack, which appears to be a hazmat suit" + }, + { + "__key__": "sa_1235047", + "txt": "a large, old-fashioned building with a brick exterior and a sign on the side" + }, + { + "__key__": "sa_7267799", + "txt": "a row of three classic cars parked in a parking lot, with two of them being red and one being white" + }, + { + "__key__": "sa_6782720", + "txt": "a black and white photograph of a city street with tall buildings, a train, and a bus" + }, + { + "__key__": "sa_7193605", + "txt": "a black and white photograph featuring a small town with a river running through it" + }, + { + "__key__": "sa_6956106", + "txt": "a black and white photograph featuring a stadium with a large crowd of people gathered around" + }, + { + "__key__": "sa_657840", + "txt": "a busy outdoor market scene with a large crowd of people gathered around a wooden table or booth" + }, + { + "__key__": "sa_1367663", + "txt": "a large airport runway with a jetliner parked on it" + }, + { + "__key__": "sa_4397452", + "txt": "a large inflatable Santa Claus, standing on a city street, surrounded by numerous Christmas decorations" + }, + { + "__key__": "sa_6769361", + "txt": "a large truck, specifically a semi-truck, driving down a street" + }, + { + "__key__": "sa_5386147", + "txt": "a house with a damaged roof, and it appears to be undergoing repairs" + }, + { + "__key__": "sa_7203832", + "txt": "a group of people, including children, standing on a boat" + }, + { + "__key__": "sa_4911274", + "txt": "a group of people, including women and men, walking down a street while holding a large sign" + }, + { + "__key__": "sa_1193377", + "txt": "a black and white photo of a large, ornate building with a grand staircase" + }, + { + "__key__": "sa_5929824", + "txt": "a large fire truck parked on a runway, likely at an airport" + }, + { + "__key__": "sa_5090978", + "txt": "a woman and a child standing next to a large, life-sized stuffed animal, which is a white husky" + }, + { + "__key__": "sa_5321119", + "txt": "a black and white photograph of a large room filled with furniture, including several couches, chairs, and tables" + }, + { + "__key__": "sa_6716521", + "txt": "a large group of people walking down a street, with a colorful sign in the background" + }, + { + "__key__": "sa_5304507", + "txt": "a group of people standing in a line, holding signs and protesting" + }, + { + "__key__": "sa_5305381", + "txt": "a pile of broken and discarded red bricks, which have been stacked together" + }, + { + "__key__": "sa_7447237", + "txt": "a colorful and ornate Hindu temple, which is a religious building dedicated to the worship of Hindu deities" + }, + { + "__key__": "sa_7153683", + "txt": "a man sitting on the grass, wearing a black shirt with the words \"Guns N' Roses\" on it" + }, + { + "__key__": "sa_7252838", + "txt": "a city street with a large, modern building in the background" + }, + { + "__key__": "sa_5268848", + "txt": "a group of young men standing together, wearing matching blue shirts and holding flags" + }, + { + "__key__": "sa_161797", + "txt": "a black and white photograph that captures a cityscape with a large city in the background" + }, + { + "__key__": "sa_7570634", + "txt": "a large boat docked at a marina, surrounded by a crowd of people" + }, + { + "__key__": "sa_4844349", + "txt": "a black and white photograph featuring a train station with a train on the tracks" + }, + { + "__key__": "sa_5067157", + "txt": "two pink and blue recycling bins, each with a different message on them" + }, + { + "__key__": "sa_4887002", + "txt": "a black and white photograph of a cityscape with a large building and a waterway" + }, + { + "__key__": "sa_6307332", + "txt": "a large waterfall with a lush green forest in the background" + }, + { + "__key__": "sa_1526759", + "txt": "a restaurant scene with a dining table set for a meal" + }, + { + "__key__": "sa_4667077", + "txt": "a group of young women standing on a sports field, holding flags of different countries" + }, + { + "__key__": "sa_6522830", + "txt": "a large group of people wearing tall black hats, standing in a row on a street" + }, + { + "__key__": "sa_6227475", + "txt": "a large, old brick building with a sign on its side, which reads \"Bosnia" + }, + { + "__key__": "sa_5910917", + "txt": "a large body of water, possibly a lake, with several boats floating on it" + }, + { + "__key__": "sa_7877670", + "txt": "a large wooden church with a tall, arched ceiling" + }, + { + "__key__": "sa_4938228", + "txt": "a group of people working together on a sandy beach, with some of them painting a fence" + }, + { + "__key__": "sa_5364752", + "txt": "a group of people standing around a parking lot, with some of them holding bicycles" + }, + { + "__key__": "sa_8083028", + "txt": "a long, narrow alleyway lined with trees, benches, and a stone wall" + }, + { + "__key__": "sa_4343154", + "txt": "a staircase with a green and white sign on the wall above it" + }, + { + "__key__": "sa_1640522", + "txt": "a black and white photograph of a group of people riding bicycles on a street" + }, + { + "__key__": "sa_6772623", + "txt": "a room with a hanging laundry rack filled with various clothes, including jeans and towels" + }, + { + "__key__": "sa_5091231", + "txt": "a group of soldiers in military gear, standing in a field with their weapons drawn" + }, + { + "__key__": "sa_4763333", + "txt": "a group of people gathered on a street, holding up a large poster or sign" + }, + { + "__key__": "sa_4253413", + "txt": "a black and white photograph of a cityscape taken from an aerial perspective" + }, + { + "__key__": "sa_7749179", + "txt": "a group of people dressed in colorful costumes, standing on a stage and performing a dance" + }, + { + "__key__": "sa_6033056", + "txt": "a black and white photograph featuring a busy city street with cars, buses, and pedestrians" + }, + { + "__key__": "sa_7167987", + "txt": "a busy city street filled with people walking and crossing the street" + }, + { + "__key__": "sa_5366095", + "txt": "a lush green field with a house situated in the middle of it" + }, + { + "__key__": "sa_7849139", + "txt": "a large, ornate building with a golden dome, which is situated on a lake" + }, + { + "__key__": "sa_5531301", + "txt": "a group of people sitting on a bench in a city setting" + }, + { + "__key__": "sa_7489902", + "txt": "a cityscape with a large number of skyscrapers, some of which are green" + }, + { + "__key__": "sa_6804299", + "txt": "a display of various types of tortillas, including white and purple ones, sitting on a shelf" + }, + { + "__key__": "sa_4853294", + "txt": "a group of people gathered in a public area, holding signs and protesting" + }, + { + "__key__": "sa_1345749", + "txt": "a close-up of a palm tree with green leaves, situated in a city setting" + }, + { + "__key__": "sa_6851908", + "txt": "a large, open field with a group of people standing around in the foreground" + }, + { + "__key__": "sa_7743298", + "txt": "a beach sign on a sandy beach, indicating that the area is closed" + }, + { + "__key__": "sa_622170", + "txt": "a harbor filled with boats, including a large white yacht and several smaller boats, docked in the water" + }, + { + "__key__": "sa_6098269", + "txt": "a group of people riding bicycles on a path, with some of them wearing helmets" + }, + { + "__key__": "sa_19296", + "txt": "a group of people standing on a city street, with some holding signs and others walking by" + }, + { + "__key__": "sa_5387896", + "txt": "a long wall covered in colorful sticky notes, with people standing nearby" + }, + { + "__key__": "sa_4364083", + "txt": "a group of people gathered in a public area, holding up signs and protesting" + }, + { + "__key__": "sa_7029200", + "txt": "a close-up view of a can of Coca-Cola, sitting on a white countertop or table" + }, + { + "__key__": "sa_4864496", + "txt": "a row of colorful Christmas trees, each with a different color scheme" + }, + { + "__key__": "sa_1415697", + "txt": "a large, ornate building with a stone exterior, which is likely a palace or a historical building" + }, + { + "__key__": "sa_6373161", + "txt": "a large airplane, specifically a passenger jet, flying through the sky" + }, + { + "__key__": "sa_1681044", + "txt": "a close-up view of a smartphone screen, displaying the Google Maps app" + }, + { + "__key__": "sa_7341102", + "txt": "a large, elaborate display of Frozen II, a popular animated movie" + }, + { + "__key__": "sa_1632268", + "txt": "a street sign with a green arrow pointing to the left, indicating the direction to Central Plaza" + }, + { + "__key__": "sa_1141644", + "txt": "a group of women sitting on a sidewalk, with one of them holding a handbag" + }, + { + "__key__": "sa_6783907", + "txt": "a busy train station with a large crowd of people gathered around the platform" + }, + { + "__key__": "sa_5268492", + "txt": "a group of people, likely students, standing on a street or sidewalk" + }, + { + "__key__": "sa_7371120", + "txt": "a close-up of a golf course green with a large American flag painted on it" + }, + { + "__key__": "sa_1222933", + "txt": "a black and white photograph of a crowd of people gathered in front of a monument, likely the Lincoln Memorial" + }, + { + "__key__": "sa_7146333", + "txt": "a train station with a long platform and several train cars parked at the station" + }, + { + "__key__": "sa_462856", + "txt": "a large, old-fashioned train car sitting on a train track" + }, + { + "__key__": "sa_6613794", + "txt": "a group of people standing on a street, holding signs and protesting" + }, + { + "__key__": "sa_5985502", + "txt": "a large, two-story house with a white exterior and a blue roof" + }, + { + "__key__": "sa_7384119", + "txt": "a close-up of a bird perched on a branch of a tree, surrounded by green leaves" + }, + { + "__key__": "sa_1414576", + "txt": "a cityscape at night, with a large building and a marina filled with boats" + }, + { + "__key__": "sa_6912126", + "txt": "a black and white photograph featuring a small boat floating on a river surrounded by other boats" + }, + { + "__key__": "sa_7915690", + "txt": "a busy city street filled with various vehicles, including cars, buses, and taxis" + }, + { + "__key__": "sa_5699709", + "txt": "a large, open, and empty parking lot with a few palm trees in the background" + }, + { + "__key__": "sa_1586665", + "txt": "a graffiti-covered wall with various colorful and artistic designs painted on it" + }, + { + "__key__": "sa_5475050", + "txt": "a black and white photograph of a young girl running down a street, wearing a yellow shirt" + }, + { + "__key__": "sa_6910874", + "txt": "a busy airport terminal, where a large group of people is gathered in the lobby" + }, + { + "__key__": "sa_7856086", + "txt": "a large white building with a dome, which is a mosque, situated in a city" + }, + { + "__key__": "sa_1313390", + "txt": "a large statue of an elephant, which is located in a city square" + }, + { + "__key__": "sa_6301580", + "txt": "a group of people riding bicycles down a street, with some of them wearing helmets" + }, + { + "__key__": "sa_5857439", + "txt": "a large group of people gathered in a park, walking around and enjoying the outdoors" + }, + { + "__key__": "sa_759626", + "txt": "a group of people walking down a street, wearing white shirts and red scarves" + }, + { + "__key__": "sa_5486322", + "txt": "a group of people running along a path near the ocean" + }, + { + "__key__": "sa_4307776", + "txt": "a large, modern, and industrial-looking structure with a metal roof and a metal walkway" + }, + { + "__key__": "sa_7318173", + "txt": "a group of people gathered around a table, with some of them sitting on chairs and others standing" + }, + { + "__key__": "sa_6046860", + "txt": "a young boy sitting on a wooden bench, with a pole or stick in his hand" + }, + { + "__key__": "sa_5232859", + "txt": "a poster with Hebrew text on it, which is displayed on a wall" + }, + { + "__key__": "sa_1398406", + "txt": "a harbor filled with various boats, including a large white boat and a small blue boat" + }, + { + "__key__": "sa_7436854", + "txt": "a bridge that spans a river, with a person standing on it" + }, + { + "__key__": "sa_5647703", + "txt": "a large, modern apartment building with a unique design" + }, + { + "__key__": "sa_4517214", + "txt": "a group of people gathered together, celebrating a colorful event" + }, + { + "__key__": "sa_6715817", + "txt": "a group of women standing on a beach, wearing bathing suits and holding hands" + }, + { + "__key__": "sa_702633", + "txt": "a black and white photograph of a mountain range with a valley in the foreground" + }, + { + "__key__": "sa_1688323", + "txt": "a group of people dressed in white robes, holding white candles, and standing in a line" + }, + { + "__key__": "sa_5810556", + "txt": "a large, open room with a high ceiling and a large archway" + }, + { + "__key__": "sa_4762613", + "txt": "a large commercial airplane, specifically a Lion Air airplane, taking off from an airport runway" + }, + { + "__key__": "sa_7831559", + "txt": "a busy city street with tall buildings, cars, and pedestrians" + }, + { + "__key__": "sa_4617942", + "txt": "a boat on the water, with two seagulls flying nearby" + }, + { + "__key__": "sa_7275762", + "txt": "a black and white photograph of a river flowing through a forest, with a bridge crossing the river" + }, + { + "__key__": "sa_1332943", + "txt": "a cityscape with a large number of buildings, including skyscrapers, which are situated on a hill" + }, + { + "__key__": "sa_7576643", + "txt": "a black and white photograph of a group of people standing in a store, surrounded by various items and food" + }, + { + "__key__": "sa_5490089", + "txt": "two bicycles parked side by side on a brick sidewalk" + }, + { + "__key__": "sa_740218", + "txt": "a large crowd of people gathered in a public space, holding red and white flags" + }, + { + "__key__": "sa_6208632", + "txt": "a large, open room filled with various items, including books, sewing supplies, and other supplies" + }, + { + "__key__": "sa_1180008", + "txt": "a large outdoor patio with numerous umbrellas and tables, creating a shaded and comfortable dining area" + }, + { + "__key__": "sa_4592374", + "txt": "a train traveling down the tracks, with a red and white color scheme" + }, + { + "__key__": "sa_4663400", + "txt": "a large, two-story house with a white exterior and a blue roof" + }, + { + "__key__": "sa_7300722", + "txt": "a white Ford Mustang parked in a parking lot, with its hood open" + }, + { + "__key__": "sa_6423356", + "txt": "a group of rowers in a long rowboat, each holding oars, and they are racing down a river" + }, + { + "__key__": "sa_4533853", + "txt": "a large group of people gathered in a public space, holding signs and protesting" + }, + { + "__key__": "sa_6613860", + "txt": "a street sign on a pole, with a white sign on a metal pole" + }, + { + "__key__": "sa_6379064", + "txt": "a large metal table with a long, curved metal cable running across it" + }, + { + "__key__": "sa_6769881", + "txt": "a close-up of a chain-link fence with a plane visible through the fence" + }, + { + "__key__": "sa_8054468", + "txt": "a McDonald's restaurant with a large outdoor patio area, where several tables and chairs are set up" + }, + { + "__key__": "sa_4947044", + "txt": "a large stone wall with a white sign on it, which is located in a park" + }, + { + "__key__": "sa_5122038", + "txt": "a large commercial airplane, specifically a British Airways jet, flying through the sky" + }, + { + "__key__": "sa_5064891", + "txt": "a green bottle filled with beer, sitting on a table" + }, + { + "__key__": "sa_4396708", + "txt": "a group of people, primarily young women, standing together on a sidewalk or in a courtyard" + }, + { + "__key__": "sa_4817928", + "txt": "a large, colorful kite flying high in the sky, surrounded by a festive atmosphere" + }, + { + "__key__": "sa_1490857", + "txt": "a black and white photograph of a large, ornate, and dimly lit dining hall" + }, + { + "__key__": "sa_5811776", + "txt": "a busy street scene with a large crowd of people walking and standing around" + }, + { + "__key__": "sa_4814222", + "txt": "a man standing next to a table with a cage containing several birds, possibly parrots" + }, + { + "__key__": "sa_4701432", + "txt": "a small, old-fashioned machine, possibly a snow plow or a snow blower, sitting on a dirt road" + }, + { + "__key__": "sa_5343078", + "txt": "a large wooden church with a pointed roof, which is situated in a forested area" + }, + { + "__key__": "sa_1634999", + "txt": "a large green and white bus parked on a black and white checkered floor" + }, + { + "__key__": "sa_466357", + "txt": "a close-up view of a door with a cat sitting on the steps outside" + }, + { + "__key__": "sa_755923", + "txt": "a large group of people gathered in a large open field, with some wearing colorful costumes" + }, + { + "__key__": "sa_4916075", + "txt": "a group of men working together to load luggage onto a train" + }, + { + "__key__": "sa_708689", + "txt": "a large stone archway or gate, which is part of a stone building" + }, + { + "__key__": "sa_7189658", + "txt": "a large, modern, and architecturally impressive building with a unique design" + }, + { + "__key__": "sa_4624222", + "txt": "a black and white photograph featuring a group of women dancing on stage" + }, + { + "__key__": "sa_6847941", + "txt": "a large rocky island surrounded by water, with a small building or hut sitting on top of it" + }, + { + "__key__": "sa_1231481", + "txt": "a pair of sneakers, specifically Nike Air Max shoes, sitting on a white carpet" + }, + { + "__key__": "sa_7090532", + "txt": "a black and white photograph of a cityscape, featuring a busy street with tall buildings and cars" + }, + { + "__key__": "sa_1364416", + "txt": "a large crowd of people gathered in a city street, with many of them holding signs and waving them" + }, + { + "__key__": "sa_7306429", + "txt": "a large, ornate library with a high ceiling and a grand, open design" + }, + { + "__key__": "sa_6808588", + "txt": "a group of four red and white airplanes flying in formation in the sky" + }, + { + "__key__": "sa_6661817", + "txt": "a black and white photograph of a city street, featuring a row of buildings with balconies and a tree-lined street" + }, + { + "__key__": "sa_4488464", + "txt": "a busy street scene with a crowd of people gathered around, sitting on chairs and benches" + }, + { + "__key__": "sa_11266", + "txt": "a black and white photograph of a cityscape featuring a large city with many tall buildings" + }, + { + "__key__": "sa_4380571", + "txt": "a tall building with a large window, which is partially covered by a shadow" + }, + { + "__key__": "sa_8078530", + "txt": "a group of people standing on a sidewalk, with some of them wearing helmets" + }, + { + "__key__": "sa_1633090", + "txt": "a highway tunnel with a white car driving through it" + }, + { + "__key__": "sa_788237", + "txt": "a tall, multi-story building with a unique and modern architectural design" + }, + { + "__key__": "sa_5866767", + "txt": "a small, old-fashioned stove sitting in a garden, surrounded by plants and flowers" + }, + { + "__key__": "sa_5654395", + "txt": "a cityscape with a large city in the background, set against a backdrop of trees and mountains" + }, + { + "__key__": "sa_7560153", + "txt": "a mosaic art piece, which is a decorative and artistic design made from small, colorful tiles" + }, + { + "__key__": "sa_7693215", + "txt": "a large, modern, and well-maintained building with a glass exterior" + }, + { + "__key__": "sa_6336072", + "txt": "a close-up view of several wooden crates filled with fresh flowers, specifically cauliflower flowers" + }, + { + "__key__": "sa_694212", + "txt": "a long wooden shelf filled with numerous books, with a glass window above it" + }, + { + "__key__": "sa_8010400", + "txt": "a close-up of a lush green field with tall grass and reeds" + }, + { + "__key__": "sa_466848", + "txt": "a gas station with a large green and white sign, which is a BP gas station" + }, + { + "__key__": "sa_4625831", + "txt": "a group of people walking down a wet street, holding umbrellas to protect themselves from the rain" + }, + { + "__key__": "sa_610987", + "txt": "a black and white photograph of a city street with cars, pedestrians, and buildings" + }, + { + "__key__": "sa_4355338", + "txt": "a large apartment building with a modern and colorful design, situated in a city setting" + }, + { + "__key__": "sa_6023171", + "txt": "a black and white photograph that captures a cityscape with a large city in the background" + }, + { + "__key__": "sa_7739795", + "txt": "a train traveling down the tracks at night, with a group of people walking alongside the train" + }, + { + "__key__": "sa_4285150", + "txt": "a black and white photograph of a city street with a river running through it" + }, + { + "__key__": "sa_1152420", + "txt": "a yellow sports car, likely a race car, driving on a track" + }, + { + "__key__": "sa_6152841", + "txt": "a group of people riding a motorcycle down a street" + }, + { + "__key__": "sa_6473808", + "txt": "a group of people riding motorcycles on a street, with a crowd of people watching them" + }, + { + "__key__": "sa_509558", + "txt": "a group of people sitting on a stone wall or a rock wall, with some of them wearing orange robes" + }, + { + "__key__": "sa_8011891", + "txt": "a cemetery with a large number of gravestones, each with an American flag on top" + }, + { + "__key__": "sa_7304572", + "txt": "a large airplane on the runway, with a person standing near it" + }, + { + "__key__": "sa_6021800", + "txt": "a large stone building with a stone staircase leading up to it" + }, + { + "__key__": "sa_1247274", + "txt": "a black and white poster with a handprint on it, which is displayed on a street corner" + }, + { + "__key__": "sa_4608347", + "txt": "a large fountain in a city square, surrounded by people and buildings" + }, + { + "__key__": "sa_6776419", + "txt": "a close-up of a large, white building with a black sign on the side" + }, + { + "__key__": "sa_6276135", + "txt": "a pair of sneakers, specifically Adidas sneakers, with a unique and eye-catching design" + }, + { + "__key__": "sa_6388722", + "txt": "a close-up of a Coca-Cola can and a glass of Coca-Cola, with a bottle of Coca-Cola sitting next to the glass" + }, + { + "__key__": "sa_5036266", + "txt": "a long, narrow walkway with a row of benches along its length" + }, + { + "__key__": "sa_8114850", + "txt": "a group of people dressed in Santa Claus costumes, standing in a row and posing for a picture" + }, + { + "__key__": "sa_5641988", + "txt": "a large red and white pagoda-like structure with a red roof, situated on a beach" + }, + { + "__key__": "sa_6672630", + "txt": "two owls sitting on a tree branch, with one owl looking at the camera" + }, + { + "__key__": "sa_5237278", + "txt": "a large, ornate building with intricate details and a gold-colored door" + }, + { + "__key__": "sa_7024427", + "txt": "a busy shopping mall with a crowd of people walking around, some of whom are carrying handbags" + }, + { + "__key__": "sa_6451266", + "txt": "a large, modern building with a brick exterior and a sign on the side" + }, + { + "__key__": "sa_7891448", + "txt": "a storefront with a large GameStop sign, which is a gaming store" + }, + { + "__key__": "sa_4776208", + "txt": "a large building with a modern architectural design, situated next to a body of water" + }, + { + "__key__": "sa_7681077", + "txt": "a large, intricately decorated Christmas tree in a large, open room" + }, + { + "__key__": "sa_5579889", + "txt": "a wooden box filled with coffee beans, sitting on a wooden table" + }, + { + "__key__": "sa_7911737", + "txt": "a close-up of a smartphone, specifically a black Huawei device, sitting on a wooden table" + }, + { + "__key__": "sa_7902702", + "txt": "a tall, green, and blue building with a pointed top, resembling a giant green and blue pyramid" + }, + { + "__key__": "sa_8067443", + "txt": "a postage stamp with a young girl holding a butterfly in her hand" + }, + { + "__key__": "sa_764716", + "txt": "a young boy standing behind a wall, peeking out from behind it" + }, + { + "__key__": "sa_801990", + "txt": "a busy outdoor market with various types of furniture, including chairs, tables, and other items" + }, + { + "__key__": "sa_4896855", + "txt": "a car, specifically a small blue and red car, racing down a dirt road" + }, + { + "__key__": "sa_7181512", + "txt": "a row of tall, narrow buildings with a distinct architectural style, possibly Dutch or Dutch-inspired" + }, + { + "__key__": "sa_5970829", + "txt": "a large outdoor market or fair, where people are walking around and browsing various booths" + }, + { + "__key__": "sa_6427869", + "txt": "a black and white photograph of a city square or plaza with a large building in the background" + }, + { + "__key__": "sa_651044", + "txt": "a scene of a riverbank with a pile of debris, including broken branches, sticks, and other waste materials" + }, + { + "__key__": "sa_7891297", + "txt": "a storefront with a tree growing out of the side of the building" + }, + { + "__key__": "sa_5023792", + "txt": "a man taking a picture of himself using a camera" + }, + { + "__key__": "sa_7790480", + "txt": "a pair of red sneakers, specifically a Nike Air Max, sitting on a white surface" + }, + { + "__key__": "sa_5235551", + "txt": "a group of firefighters in their uniforms, carrying a large red bag or box" + }, + { + "__key__": "sa_4714727", + "txt": "a group of men in military uniforms, standing in a row in front of a wall" + }, + { + "__key__": "sa_5134040", + "txt": "a small toy robot, specifically a Lego robot, standing in a forest surrounded by green plants and bushes" + }, + { + "__key__": "sa_7905605", + "txt": "a busy street scene with a mix of vehicles, including cars, trucks, and a motorcycle" + }, + { + "__key__": "sa_4698625", + "txt": "a snow-covered cemetery with numerous gravestones, some of which are leaning" + }, + { + "__key__": "sa_6908810", + "txt": "a large, two-story building with a white exterior and a red roof" + }, + { + "__key__": "sa_4394074", + "txt": "a group of people walking down a street, with some of them carrying handbags" + }, + { + "__key__": "sa_5038382", + "txt": "a camera mounted on a tripod, with a lens attached to it" + }, + { + "__key__": "sa_6722625", + "txt": "two women standing next to each other, with one of them wearing a dress and the other wearing a suit" + }, + { + "__key__": "sa_7145726", + "txt": "a large airport terminal with a white truck parked in front of it" + }, + { + "__key__": "sa_5089571", + "txt": "a close-up view of a metal cross with lit candles on it" + }, + { + "__key__": "sa_6577397", + "txt": "a black and white photograph depicting a busy city street with people walking and standing around" + }, + { + "__key__": "sa_740236", + "txt": "a black and white photograph featuring a long line of cars, including SUVs, parked on a dirt road" + }, + { + "__key__": "sa_6529129", + "txt": "a nighttime scene with a large group of people on a boat, which is illuminated by colorful lights" + }, + { + "__key__": "sa_5078447", + "txt": "a large, empty, and well-maintained square in a city, with a modern building in the background" + }, + { + "__key__": "sa_4929568", + "txt": "a helicopter and a small airplane flying in the sky, with the helicopter hovering above the airplane" + }, + { + "__key__": "sa_4353826", + "txt": "a busy city street with a large crowd of people walking and standing around" + }, + { + "__key__": "sa_1524500", + "txt": "a black and white photograph of a train engine, possibly a steam engine, parked on a train track" + }, + { + "__key__": "sa_539005", + "txt": "a black and white photograph of a city skyline, taken from an aerial perspective" + }, + { + "__key__": "sa_6244067", + "txt": "a busy street scene with a crowd of people walking down the sidewalk" + }, + { + "__key__": "sa_1493467", + "txt": "a large, domed building with a white and blue color scheme, which is a church" + }, + { + "__key__": "sa_4606920", + "txt": "a busy subway station filled with people walking up and down the escalator" + }, + { + "__key__": "sa_683285", + "txt": "a large stone wall with a row of vases on top of it, each containing a flower" + }, + { + "__key__": "sa_5647432", + "txt": "a group of people, primarily men, wearing white shirts and ties, standing in a line or a row" + }, + { + "__key__": "sa_4645349", + "txt": "a close-up of a classic car, specifically a white Jaguar, with a chrome hood ornament" + }, + { + "__key__": "sa_5141251", + "txt": "a small blue bottle with a needle inside, which is sitting on a table" + }, + { + "__key__": "sa_6206817", + "txt": "a large jetliner parked on the runway at an airport, with its wings extended" + }, + { + "__key__": "sa_7374626", + "txt": "a man walking down a city street, surrounded by various vehicles such as cars and trucks" + }, + { + "__key__": "sa_6447737", + "txt": "a statue of a woman, possibly a saint, in a church" + }, + { + "__key__": "sa_6466405", + "txt": "a group of young men standing on top of a tall wooden pole or a tree trunk, with their arms outstretched" + }, + { + "__key__": "sa_772662", + "txt": "a large jetliner, specifically a Saudi Arabian Airlines plane, flying through the sky" + }, + { + "__key__": "sa_4430529", + "txt": "a woman standing on a street, holding a large, intricately decorated bowl or vase" + }, + { + "__key__": "sa_5355334", + "txt": "a large commercial airplane, specifically a blue and white AirTran plane, flying through the sky" + }, + { + "__key__": "sa_6035649", + "txt": "a large crowd of people gathered at the top of a steep staircase, which is part of a mountainous area" + }, + { + "__key__": "sa_144669", + "txt": "a train traveling through a rural countryside, surrounded by a lush green field and a forest" + }, + { + "__key__": "sa_6931663", + "txt": "a group of people gathered around a cemetery, standing next to a large casket with flowers on top" + }, + { + "__key__": "sa_1176247", + "txt": "a sleek, shiny sports car on display at a car show, likely at a convention center" + }, + { + "__key__": "sa_671633", + "txt": "a man riding a bicycle on a street, with a crowd of people watching him" + }, + { + "__key__": "sa_6533124", + "txt": "a large group of people running across a street, participating in a marathon or a similar event" + }, + { + "__key__": "sa_5762185", + "txt": "a large, modern building with a glass exterior, situated near a river" + }, + { + "__key__": "sa_7730972", + "txt": "a close-up of a computer screen displaying a website with the words \"Love Your Bank\" written on it" + }, + { + "__key__": "sa_6890502", + "txt": "a sign hanging from a wooden post, which is located in a grassy area" + }, + { + "__key__": "sa_1391072", + "txt": "a large blue and white bus parked in a parking lot, with a sign on the front that reads \"Boogie to Acacia" + }, + { + "__key__": "sa_7948019", + "txt": "a display case filled with various types of coins, including silver coins and possibly other precious metals" + }, + { + "__key__": "sa_4587620", + "txt": "a man standing in front of a podium, holding a microphone, and speaking into it" + }, + { + "__key__": "sa_5781804", + "txt": "a wooden bridge or walkway over a body of water, such as a river or a lake" + }, + { + "__key__": "sa_5162085", + "txt": "a busy market scene with a large crowd of people walking around, shopping, and socializing" + }, + { + "__key__": "sa_5227876", + "txt": "a red bridge with a decorative archway, which is situated near a body of water" + }, + { + "__key__": "sa_4518915", + "txt": "a group of people in a gondola, a traditional Venetian boat, floating on a canal in Venice, Italy" + }, + { + "__key__": "sa_8078318", + "txt": "a black and white photo of an airport runway, featuring a city skyline in the background" + }, + { + "__key__": "sa_6334819", + "txt": "a large Vietnam Airlines jet parked on the tarmac at an airport" + }, + { + "__key__": "sa_7785682", + "txt": "a close-up of a building with a window, which is surrounded by a green wall" + }, + { + "__key__": "sa_7120087", + "txt": "a large group of people walking down a city street, holding signs and protesting" + }, + { + "__key__": "sa_450059", + "txt": "a vintage postage stamp with a truck on it, likely depicting a truck from the past" + }, + { + "__key__": "sa_7209619", + "txt": "a black and white photograph featuring a city street with tall buildings, a statue, and a clock tower" + }, + { + "__key__": "sa_1509545", + "txt": "a large jet airplane flying through a blue sky, with a clear and sunny day" + }, + { + "__key__": "sa_4380221", + "txt": "a cityscape with several tall buildings, including a large skyscraper, towering over a cloudy sky" + }, + { + "__key__": "sa_6394519", + "txt": "a woman sitting on the floor, surrounded by several long, thin pieces of bamboo" + }, + { + "__key__": "sa_7314036", + "txt": "a black and white photograph of a woman running in a marathon, with a crowd of people watching her" + }, + { + "__key__": "sa_5284298", + "txt": "a large airport terminal with a sign and a gate, where passengers are waiting to board their flights" + }, + { + "__key__": "sa_4975719", + "txt": "a close-up of a painting on a wall, which is adorned with gold and blue colors" + }, + { + "__key__": "sa_1206374", + "txt": "a large, open store with a spacious interior, filled with various items and merchandise" + }, + { + "__key__": "sa_5571099", + "txt": "a large, ornate building with a red roof and a pagoda-like structure, possibly a Chinese temple" + }, + { + "__key__": "sa_5176533", + "txt": "a grassy field with a variety of old cars parked in it, including a classic car show" + }, + { + "__key__": "sa_534109", + "txt": "a close-up of a box of Kellogg's Frosties cereal, which is a popular breakfast cereal" + }, + { + "__key__": "sa_6451683", + "txt": "a group of people standing in a train station, waiting to board a train" + }, + { + "__key__": "sa_8090261", + "txt": "a busy street scene with a large crowd of people walking and standing around" + }, + { + "__key__": "sa_5952026", + "txt": "a group of men in uniform, including police officers and a soldier, standing in a street" + }, + { + "__key__": "sa_5343881", + "txt": "a sandy beach with a boat sitting on the shore, surrounded by palm trees" + }, + { + "__key__": "sa_6859355", + "txt": "a car interior, specifically the dashboard, with a black and white color scheme" + }, + { + "__key__": "sa_6105840", + "txt": "a large group of people walking on a sidewalk in a city, with several flags and banners hanging overhead" + }, + { + "__key__": "sa_7505053", + "txt": "a city street with a large, two-story building in the background" + }, + { + "__key__": "sa_7350153", + "txt": "a large orange and red cargo ship docked at a pier, with a smaller orange and white boat nearby" + }, + { + "__key__": "sa_7333014", + "txt": "a close-up view of a plate with a variety of vegetables, including tomatoes, cucumbers, and onions" + }, + { + "__key__": "sa_6075056", + "txt": "a large white boat docked at a pier, with a building in the background" + }, + { + "__key__": "sa_5046361", + "txt": "a man and a woman lying on their stomachs in the ocean, near a wave" + }, + { + "__key__": "sa_597659", + "txt": "a snowy city street with a large pile of snow in the middle, surrounded by parked cars" + }, + { + "__key__": "sa_8034034", + "txt": "a large, old stone building with a courtyard surrounded by a lush green field" + }, + { + "__key__": "sa_6748729", + "txt": "a large crowd of people walking around an outdoor event, specifically a sports event, in a city" + }, + { + "__key__": "sa_579964", + "txt": "a close-up of a small pile of dirt on the ground, with a few rocks scattered around" + }, + { + "__key__": "sa_4383989", + "txt": "a large, gold-colored sphere or ball sitting on a pedestal in a courtyard" + }, + { + "__key__": "sa_1177768", + "txt": "a close-up view of two tall buildings, likely the Petronas Towers in Malaysia, at night" + }, + { + "__key__": "sa_1625343", + "txt": "a large, two-story blue and white house with a blue roof, situated on a snowy street" + }, + { + "__key__": "sa_6064902", + "txt": "a wooden boat filled with various types of sushi, including fish and other ingredients" + }, + { + "__key__": "sa_6890892", + "txt": "a nighttime cityscape featuring a busy street with traffic and tall buildings" + }, + { + "__key__": "sa_7789814", + "txt": "a group of people standing on a street, with some wearing hats and others without" + }, + { + "__key__": "sa_6017585", + "txt": "a row of four electric scooters parked on a sidewalk, with each scooter positioned next to the other" + }, + { + "__key__": "sa_1516178", + "txt": "a group of children wearing traditional costumes, standing together in a field" + }, + { + "__key__": "sa_758390", + "txt": "a cityscape with a large building in the foreground, which appears to be a modern architectural structure" + }, + { + "__key__": "sa_5205437", + "txt": "a group of mannequins dressed in various outfits, standing in a store window" + }, + { + "__key__": "sa_6699569", + "txt": "a large sign with a variety of advertisements on it, which is situated on the side of a road" + }, + { + "__key__": "sa_4941921", + "txt": "a parade in a city, with a large group of people marching down a street" + }, + { + "__key__": "sa_1605421", + "txt": "a large crowd of people walking on a grassy field near a stadium" + }, + { + "__key__": "sa_5972777", + "txt": "a group of people standing in a line, with one person taking a picture of another person" + }, + { + "__key__": "sa_4803896", + "txt": "a military tank, possibly a Russian tank, sitting on a cement surface" + }, + { + "__key__": "sa_4782110", + "txt": "a group of young boys sitting on the ground in a sandy area, with some of them wearing backpacks" + }, + { + "__key__": "sa_6556523", + "txt": "a map of the city of Liverpool, England, displayed on a large piece of paper or a mapboard" + }, + { + "__key__": "sa_1520639", + "txt": "a dirt road with a red building, a blue building, and a few other buildings in a rural setting" + }, + { + "__key__": "sa_504441", + "txt": "a city street with a mix of old and new buildings, including a yellow and blue building with a green roof" + }, + { + "__key__": "sa_6669347", + "txt": "a large, old, and ornate building with a red brick exterior" + }, + { + "__key__": "sa_7781771", + "txt": "a group of people riding motorcycles on a city street, with a large crowd of spectators watching them" + }, + { + "__key__": "sa_5089260", + "txt": "a large, intricate Christmas tree towering over a city street" + }, + { + "__key__": "sa_4388752", + "txt": "a group of people sitting on a boat, enjoying a leisurely ride on a river" + }, + { + "__key__": "sa_4506216", + "txt": "a group of people gathered around a large display case, which contains a model of a ship" + }, + { + "__key__": "sa_5682066", + "txt": "a white and blue flower-shaped garden sculpture or statue, which is located in a park or garden setting" + }, + { + "__key__": "sa_5012999", + "txt": "a group of people running through a grassy field, with a large building in the background" + }, + { + "__key__": "sa_7065618", + "txt": "a dock on a river or lake, with a boat tied to a dock post" + }, + { + "__key__": "sa_7032152", + "txt": "a large, ornate, and colorful building with a tall tower, which is likely a church" + }, + { + "__key__": "sa_5770346", + "txt": "a red mailbox with a postage stamp on it, which is a classic and iconic symbol of postal services" + }, + { + "__key__": "sa_5872477", + "txt": "a display case filled with various types of tea, including boxes of tea bags and tea leaves" + }, + { + "__key__": "sa_5831740", + "txt": "a group of people on a boat in the ocean, with a beach in the background" + }, + { + "__key__": "sa_6974974", + "txt": "a large open office space with numerous computer desks and chairs arranged in rows" + }, + { + "__key__": "sa_4362197", + "txt": "a black and white photograph featuring a group of men in military uniforms, standing in a snow-covered field" + }, + { + "__key__": "sa_441237", + "txt": "a boat docked at a pier, with a sailboat in the background" + }, + { + "__key__": "sa_6807724", + "txt": "a large group of people gathered in a courtyard, with a church building in the background" + }, + { + "__key__": "sa_5171962", + "txt": "a nighttime scene with a large building, possibly a city skyscraper, illuminated by green lights" + }, + { + "__key__": "sa_7449624", + "txt": "a large display case filled with various types of seafood, including lobsters, crabs, and other shellfish" + }, + { + "__key__": "sa_6915192", + "txt": "a man holding two baseballs, one in each hand, on a field" + }, + { + "__key__": "sa_501251", + "txt": "a large commercial airplane, specifically a Japan Airlines plane, sitting on the tarmac at an airport" + }, + { + "__key__": "sa_6909514", + "txt": "a vintage postage stamp with a red and white design, depicting a castle" + }, + { + "__key__": "sa_7470705", + "txt": "a large, ornate, and intricately designed cathedral with a tall tower" + }, + { + "__key__": "sa_6053133", + "txt": "a large, old building with a tower, surrounded by a lush green garden and trees" + }, + { + "__key__": "sa_4337485", + "txt": "a close-up view of a person's feet, specifically the soles of their feet, which are covered in dirt" + }, + { + "__key__": "sa_7409994", + "txt": "a man standing in front of a tall building, surrounded by cars parked on the street" + }, + { + "__key__": "sa_7753835", + "txt": "a large, open green park with a grassy hillside, a paved walkway, and a group of people walking around" + }, + { + "__key__": "sa_4413768", + "txt": "a vintage car, specifically a white sports car, driving down a road" + }, + { + "__key__": "sa_7378227", + "txt": "a soccer match in progress, with a large crowd of spectators watching the game" + }, + { + "__key__": "sa_1415843", + "txt": "a large, old stone building with a tower, situated in a lush green forest" + }, + { + "__key__": "sa_7860971", + "txt": "a beach scene with a large group of people enjoying their time" + }, + { + "__key__": "sa_1721445", + "txt": "a large, modern building with a glass exterior, which is situated in a city" + }, + { + "__key__": "sa_8090672", + "txt": "a large white boat sitting on a trailer, which is being pulled by a truck" + }, + { + "__key__": "sa_6405615", + "txt": "a dirt field with a sheep standing in the middle of it" + }, + { + "__key__": "sa_7838853", + "txt": "a body of water, likely a lake or a river, with a dock and a pier" + }, + { + "__key__": "sa_6811353", + "txt": "a busy street scene at night, with a large crowd of people walking down the street, some holding lit candles" + }, + { + "__key__": "sa_519946", + "txt": "a large building with a glass exterior, which is likely a modern architectural design" + }, + { + "__key__": "sa_5717811", + "txt": "a train track with a train passing through it, surrounded by a lush green forest" + }, + { + "__key__": "sa_659190", + "txt": "a large, ornate fountain in front of a church, with a crowd of people gathered around it" + }, + { + "__key__": "sa_4308203", + "txt": "a man in a black suit and white gloves, cutting a large roasted turkey into slices on a dining table" + }, + { + "__key__": "sa_1606594", + "txt": "a cityscape with a tall building, likely a skyscraper, and a large number of other buildings surrounding it" + }, + { + "__key__": "sa_4919636", + "txt": "a large cruise ship docked at a pier, surrounded by several trucks and cars" + }, + { + "__key__": "sa_8085812", + "txt": "a black and white photograph of a cityscape, featuring a large city with many buildings and a large skyline" + }, + { + "__key__": "sa_7839637", + "txt": "a narrow street lined with old buildings, including a white house and a brick building" + }, + { + "__key__": "sa_7630284", + "txt": "a group of people sitting on the grass, with one man wearing a hat and sunglasses" + }, + { + "__key__": "sa_6894261", + "txt": "a black and white photograph of a city street with a tall building in the background" + }, + { + "__key__": "sa_4715321", + "txt": "an old-fashioned scene with a large stone archway and a group of people walking through it" + }, + { + "__key__": "sa_5291167", + "txt": "a parking lot with a parking garage and a bench" + }, + { + "__key__": "sa_6206810", + "txt": "a group of people gathered in a large open area, with a man leading a parade of soldiers" + }, + { + "__key__": "sa_5581418", + "txt": "a large statue of a person, possibly a Buddha statue, sitting on a hill surrounded by a lush green forest" + }, + { + "__key__": "sa_7776183", + "txt": "a large stone archway with a red roof, which is situated in a city street" + }, + { + "__key__": "sa_1259004", + "txt": "a large, open, and colorful garden with a unique design" + }, + { + "__key__": "sa_5536826", + "txt": "a close-up view of a large building with a glass facade, which is covered in advertisements" + }, + { + "__key__": "sa_137247", + "txt": "a large lake with a boat docked on the shore, surrounded by a mountainous landscape" + }, + { + "__key__": "sa_5749920", + "txt": "a man in a band setting, wearing a tie and holding a guitar" + }, + { + "__key__": "sa_4960421", + "txt": "a black and white photograph of a fish market, featuring a long table with a variety of fish displayed for sale" + }, + { + "__key__": "sa_8093172", + "txt": "a display case filled with various items, including a golden statue, a large golden purse, and a golden bowl" + }, + { + "__key__": "sa_668221", + "txt": "a large group of people walking on a city street, with some of them carrying handbags" + }, + { + "__key__": "sa_5866159", + "txt": "a bustling street scene in a city, with people walking and riding bicycles" + }, + { + "__key__": "sa_4862026", + "txt": "a man with tattoos, holding two wooden bowls or cups, which appear to be made from tree branches" + }, + { + "__key__": "sa_1363575", + "txt": "a large, white, dome-shaped structure with a grassy hillside and a path leading to it" + }, + { + "__key__": "sa_5486653", + "txt": "a large, ornate building with a dome and a steeple, which is situated in a city square" + }, + { + "__key__": "sa_5025604", + "txt": "a snowy city street with a couple of people walking down the sidewalk" + }, + { + "__key__": "sa_6600457", + "txt": "a busy street scene with a large number of people, cars, and buses" + }, + { + "__key__": "sa_5120229", + "txt": "a large commercial airplane flying through the sky, with the airplane's wing visible in the foreground" + }, + { + "__key__": "sa_1278120", + "txt": "a close-up view of a stack of silver coins, with each coin having a different design" + }, + { + "__key__": "sa_4563699", + "txt": "a snowy mountain slope with a dog walking on the snow-covered ground" + }, + { + "__key__": "sa_5024552", + "txt": "a large, open atrium with a spiral staircase leading to a balcony" + }, + { + "__key__": "sa_6739802", + "txt": "a box of Sunflower Crackers, which are a type of snack cracker" + }, + { + "__key__": "sa_1381751", + "txt": "a man riding a surfboard in a pool, surrounded by a crowd of people" + }, + { + "__key__": "sa_6891641", + "txt": "a red double-decker bus parked at a bus stop, with a person standing nearby" + }, + { + "__key__": "sa_7588966", + "txt": "a statue of a woman playing a musical instrument, specifically a harp" + }, + { + "__key__": "sa_6339073", + "txt": "an old building with a courtyard, which is surrounded by a lush green lawn and a stone walkway" + }, + { + "__key__": "sa_1524303", + "txt": "a group of people working together in a vineyard, tending to the vines and the surrounding area" + }, + { + "__key__": "sa_1465692", + "txt": "a small, clear plastic box filled with various fishing lures and other fishing accessories" + }, + { + "__key__": "sa_6861294", + "txt": "a large, modern building with a brick exterior, which is situated in a grassy field" + }, + { + "__key__": "sa_5132964", + "txt": "a large, modern fountain in a public space, surrounded by a crowd of people" + }, + { + "__key__": "sa_6720313", + "txt": "a picturesque scene of a town situated in a valley surrounded by mountains" + }, + { + "__key__": "sa_6149218", + "txt": "a large white building with a unique architectural design, featuring a combination of white and black colors" + }, + { + "__key__": "sa_5026496", + "txt": "a large, ornate, and intricately decorated mosque with a high ceiling and a dome" + }, + { + "__key__": "sa_6607869", + "txt": "a serene and picturesque scene of a small town situated on a river" + }, + { + "__key__": "sa_6198229", + "txt": "a large group of sculptures, or statues, of various animals, such as birds, placed on a stone wall" + }, + { + "__key__": "sa_5493295", + "txt": "a train station with a large, open area where people are waiting for their trains" + }, + { + "__key__": "sa_6199458", + "txt": "a man working on a tall ladder, likely in a cathedral or a large building with a high ceiling" + }, + { + "__key__": "sa_7623821", + "txt": "a construction site with a group of workers engaged in various tasks" + }, + { + "__key__": "sa_5839848", + "txt": "a diverse assortment of nuts and spices displayed on a table, with a focus on the nuts" + }, + { + "__key__": "sa_6973019", + "txt": "a group of people, including a man in a blue shirt, standing in a river with their boats" + }, + { + "__key__": "sa_1335385", + "txt": "a wooden barrel filled with a variety of wines, with each bottle showcasing a different label" + }, + { + "__key__": "sa_5410069", + "txt": "a narrow, cobblestone street lined with tall, old buildings" + }, + { + "__key__": "sa_4628948", + "txt": "a woman holding a large white stuffed teddy bear in her arms" + }, + { + "__key__": "sa_7420053", + "txt": "a stone monument with a sign on it, which is situated in a grassy area" + }, + { + "__key__": "sa_1706294", + "txt": "a large, ornate, and intricately designed building with a tall, pointed roof" + }, + { + "__key__": "sa_1468586", + "txt": "a table with multiple cell phones placed on it, each with a different case design" + }, + { + "__key__": "sa_6593935", + "txt": "a large group of people gathered on a boat, with some wearing orange and black outfits" + }, + { + "__key__": "sa_7057703", + "txt": "a large, white passenger bus driving down a city street" + }, + { + "__key__": "sa_760899", + "txt": "a display case filled with various objects, including jewelry, shells, and other artifacts" + }, + { + "__key__": "sa_6142624", + "txt": "a black and white photograph of a busy city street at night" + }, + { + "__key__": "sa_5155091", + "txt": "a black van parked in a parking lot, with a man standing next to it" + }, + { + "__key__": "sa_7459147", + "txt": "a young boy sitting at a table with a variety of art supplies, including paint, brushes, and other materials" + }, + { + "__key__": "sa_6099293", + "txt": "a tall, ornate building with a distinctive architectural style" + }, + { + "__key__": "sa_6642943", + "txt": "a large, ornate building with a white and gold dome, which is a cathedral" + }, + { + "__key__": "sa_6174632", + "txt": "a woman standing in a room with colorful walls, which are adorned with intricate patterns and designs" + }, + { + "__key__": "sa_7718515", + "txt": "a park with a gazebo and a large tree, surrounded by a forest of trees" + }, + { + "__key__": "sa_5955073", + "txt": "a close-up view of a laptop screen, with the focus on the top of the screen" + }, + { + "__key__": "sa_5682155", + "txt": "a man and a woman dressed in elaborate costumes, wearing hats and other accessories" + }, + { + "__key__": "sa_1338027", + "txt": "a lush green field with a dirt path surrounded by trees, creating a serene and natural setting" + }, + { + "__key__": "sa_4863864", + "txt": "a busy city street with a mix of old and new architecture" + }, + { + "__key__": "sa_6287089", + "txt": "a large, modern, and architecturally impressive building with a white and blue color scheme" + }, + { + "__key__": "sa_5695048", + "txt": "a large group of people gathered on a rooftop, enjoying a sunny day" + }, + { + "__key__": "sa_4831900", + "txt": "a close-up of a bowl filled with a delicious-looking dish of meat, vegetables, and possibly some sauce" + }, + { + "__key__": "sa_690055", + "txt": "a city street scene with tall buildings and a city skyline in the background" + }, + { + "__key__": "sa_4698731", + "txt": "a group of people on a sandy beach, all wearing blue shirts and standing in a row" + }, + { + "__key__": "sa_6017520", + "txt": "a woman wearing a black shirt and a pink hat, walking down a sidewalk" + }, + { + "__key__": "sa_4933393", + "txt": "a beach scene with a sailboarder riding a wave in the ocean" + }, + { + "__key__": "sa_6804528", + "txt": "a black and white photograph featuring a city street with a mix of old and new buildings" + }, + { + "__key__": "sa_6579412", + "txt": "a large, modern, and well-lit airport terminal with a long escalator leading up to the entrance" + }, + { + "__key__": "sa_6733427", + "txt": "a large, modern construction site with a complex, multi-level structure under construction" + }, + { + "__key__": "sa_7348579", + "txt": "a group of people standing in a large, colorful, and brightly lit room" + }, + { + "__key__": "sa_7183740", + "txt": "a large, green building with a clock tower on top, which is situated in a parking lot" + }, + { + "__key__": "sa_441203", + "txt": "a woman standing next to a table with a display of cards, possibly playing cards" + }, + { + "__key__": "sa_6732275", + "txt": "a large, outdoor stone structure with a dome-shaped roof, surrounded by trees and people" + }, + { + "__key__": "sa_5615422", + "txt": "a cityscape with a large city in the background, set against a backdrop of a beautiful sunset" + }, + { + "__key__": "sa_7810717", + "txt": "a large, modern airport terminal with a blue and white color scheme" + }, + { + "__key__": "sa_5776427", + "txt": "a busy city street with a large number of people, cars, and buildings" + }, + { + "__key__": "sa_84301", + "txt": "a group of statues, likely representing people, standing on a sidewalk in a city" + }, + { + "__key__": "sa_7156586", + "txt": "a city street scene with a group of people walking on a sidewalk, some of them carrying handbags" + }, + { + "__key__": "sa_758373", + "txt": "a train traveling down the tracks in a city setting, with a building in the background" + }, + { + "__key__": "sa_5182329", + "txt": "a large, modern building with a blue and white color scheme, located in a city" + }, + { + "__key__": "sa_5752448", + "txt": "a man holding a large white flag or banner, possibly a white cloth, while standing in a group of people" + }, + { + "__key__": "sa_4667306", + "txt": "a large building with a white facade, which is the focal point of the scene" + }, + { + "__key__": "sa_7342740", + "txt": "a busy city street with a large crowd of people walking and standing around" + }, + { + "__key__": "sa_9979", + "txt": "a group of people, primarily monks, wearing orange robes and standing in a row" + }, + { + "__key__": "sa_8000497", + "txt": "a large group of people walking around a city square, with a tall flagpole in the background" + }, + { + "__key__": "sa_7399733", + "txt": "a group of young girls walking down a sidewalk, wearing school uniforms and carrying backpacks" + }, + { + "__key__": "sa_5742576", + "txt": "a large, modern train station with a glass-enclosed entrance" + }, + { + "__key__": "sa_503898", + "txt": "a sandy beach with a large number of umbrellas and chairs set up on the shore" + }, + { + "__key__": "sa_7479871", + "txt": "a brick wall with a window and a stone wall with a window" + }, + { + "__key__": "sa_4892183", + "txt": "a man and two young girls standing next to each other, with the man holding a large container of ice cream" + }, + { + "__key__": "sa_7020292", + "txt": "a group of people playing soccer on a lush green field" + }, + { + "__key__": "sa_4277447", + "txt": "a group of people dressed in medieval-style clothing, standing in a field" + }, + { + "__key__": "sa_6544102", + "txt": "a large, ornate Buddhist temple with a red roof and a golden statue of Buddha" + }, + { + "__key__": "sa_645884", + "txt": "a black and white photograph of a busy city street at night" + }, + { + "__key__": "sa_6962838", + "txt": "a busy street scene in a European city, with people walking and standing around" + }, + { + "__key__": "sa_6569287", + "txt": "a statue of a man holding a book, which is placed on a wall" + }, + { + "__key__": "sa_7939444", + "txt": "a busy city street scene with a variety of people and vehicles, including buses and cars" + }, + { + "__key__": "sa_7810970", + "txt": "a large, stone sculpture of a face, which is sitting in the dirt" + }, + { + "__key__": "sa_5281598", + "txt": "a busy city street with a variety of vehicles, including cars, buses, and trucks, driving down the street" + }, + { + "__key__": "sa_7985150", + "txt": "a city street scene with a train traveling down the tracks" + }, + { + "__key__": "sa_4629708", + "txt": "a black and white photograph that captures a serene scene of a river flowing through a lush green forest" + }, + { + "__key__": "sa_4880042", + "txt": "a man working in a garden, tending to a variety of plants and vegetables" + }, + { + "__key__": "sa_6398227", + "txt": "a red vial containing a red liquid, which is likely a blood sample, sitting on a white towel" + }, + { + "__key__": "sa_5880788", + "txt": "a sandy beach with palm trees, a pier, and a building in the background" + }, + { + "__key__": "sa_4841978", + "txt": "a barren desert landscape with a dirt field, sparse vegetation, and a few trees" + }, + { + "__key__": "sa_5449930", + "txt": "a scene of a cave filled with bones, which appear to be human" + }, + { + "__key__": "sa_669319", + "txt": "a woman with a ponytail hairstyle, sitting in a chair at a salon" + }, + { + "__key__": "sa_5643579", + "txt": "a bedroom with a large bed, a nightstand, and a window" + }, + { + "__key__": "sa_784525", + "txt": "a man holding a bouquet of flowers in his hand, with a close-up view of the flowers" + }, + { + "__key__": "sa_6250674", + "txt": "a street scene with a sidewalk, a bus stop, and a bus" + }, + { + "__key__": "sa_6224586", + "txt": "a group of people standing on a snowy hill, with their snowboards and skis nearby" + }, + { + "__key__": "sa_5730273", + "txt": "a large, colorful, and intricately designed play structure, likely a playground, located in a public area" + }, + { + "__key__": "sa_7907648", + "txt": "a man in a uniform, possibly a soldier, standing next to a large green cannon" + }, + { + "__key__": "sa_8039159", + "txt": "a large hospital building with a tall, white, and gray structure" + }, + { + "__key__": "sa_4527584", + "txt": "a black and white photograph of a mountain road, with a body of water in the background" + }, + { + "__key__": "sa_4530760", + "txt": "a group of people gathered in a room, with some of them sitting on the floor" + }, + { + "__key__": "sa_7855170", + "txt": "a large jetliner, specifically a blue and white airplane, on the runway at an airport" + }, + { + "__key__": "sa_5653545", + "txt": "a living room with a wooden floor and a large window" + }, + { + "__key__": "sa_4278348", + "txt": "a large, ornate building with a tall tower, surrounded by lush greenery and palm trees" + }, + { + "__key__": "sa_1368884", + "txt": "a group of people dressed in medieval-style armor, standing in a grassy field" + }, + { + "__key__": "sa_542715", + "txt": "a city square with a large fountain in the middle, surrounded by a crowd of people" + }, + { + "__key__": "sa_1182384", + "txt": "a woman standing in a market, surrounded by a variety of fruits, including bananas and other fruits" + }, + { + "__key__": "sa_5193379", + "txt": "a rusty, old tin can with a red label on it, which is sitting on a table" + }, + { + "__key__": "sa_5304176", + "txt": "a large body of water, likely a river, with a boat traveling on it" + }, + { + "__key__": "sa_5844981", + "txt": "a large building with a brick exterior, featuring a tall tower and a steeple" + }, + { + "__key__": "sa_5235473", + "txt": "a beach scene with a large group of people enjoying their time at the shore" + }, + { + "__key__": "sa_7915894", + "txt": "a group of people, including monks, walking down a street in a foreign country" + }, + { + "__key__": "sa_4261280", + "txt": "a large flock of birds flying together in the sky, with some birds landing on a building" + }, + { + "__key__": "sa_7742262", + "txt": "a large wooden structure with a clock tower, which is situated on a hill" + }, + { + "__key__": "sa_7332319", + "txt": "a group of young girls in colorful costumes, standing on a wooden floor in a gym" + }, + { + "__key__": "sa_5877811", + "txt": "a large, ornate, and shiny metal lamp or candlestick, which is placed on a table" + }, + { + "__key__": "sa_7220086", + "txt": "a cityscape with a row of houses and a canal, with several boats docked along the waterfront" + }, + { + "__key__": "sa_1325569", + "txt": "a red car with a silver rimmed wheel, sitting on a paved surface" + }, + { + "__key__": "sa_5169142", + "txt": "a group of people dressed in traditional clothing, likely representing a cultural or historical event" + }, + { + "__key__": "sa_5667601", + "txt": "a busy city street at night, with a large crowd of people walking down the street" + }, + { + "__key__": "sa_5653972", + "txt": "a black and white photograph of a street scene in a small town" + }, + { + "__key__": "sa_6089134", + "txt": "a large police truck, specifically a police bus, driving down a road" + }, + { + "__key__": "sa_4817801", + "txt": "a group of people walking down a dirt road, with a tree in the background" + }, + { + "__key__": "sa_5304329", + "txt": "a scene in a restaurant, where a group of people is sitting at a dining table" + }, + { + "__key__": "sa_6670105", + "txt": "a beach scene with a large white tent, a boat, and a table set up on the sand" + }, + { + "__key__": "sa_4665528", + "txt": "a large, ornate building with a tall tower, which is illuminated at night" + }, + { + "__key__": "sa_7418352", + "txt": "a large jetliner flying through the sky, with a clear blue sky in the background" + }, + { + "__key__": "sa_5946554", + "txt": "a close-up view of a smartphone screen, showcasing a red tube website" + }, + { + "__key__": "sa_5560301", + "txt": "a large riverboat traveling down a river, surrounded by a picturesque cityscape" + }, + { + "__key__": "sa_1654762", + "txt": "a group of people walking down a wooden bridge, with one person wearing a red robe" + }, + { + "__key__": "sa_1653489", + "txt": "a group of young boys standing together in a grassy area, posing for a picture" + }, + { + "__key__": "sa_810050", + "txt": "a large, open, and spacious lobby area with a high ceiling and a grand staircase" + }, + { + "__key__": "sa_5512206", + "txt": "a black and white photograph featuring a forest with tall trees and a dense canopy" + }, + { + "__key__": "sa_5696978", + "txt": "a cityscape with a bridge, a river, and a park" + }, + { + "__key__": "sa_5742503", + "txt": "a close-up of a large number of blue and yellow Easter eggs, which are placed in a pile or nest" + }, + { + "__key__": "sa_4856636", + "txt": "a large body of water with several boats docked in it, including a variety of yachts and motorboats" + }, + { + "__key__": "sa_6965110", + "txt": "a garden with a variety of plants and flowers, including a pumpkin patch" + }, + { + "__key__": "sa_447391", + "txt": "a man working in a field with a herd of cows, tending to their needs and ensuring their well-being" + }, + { + "__key__": "sa_1257482", + "txt": "a group of people, including children and adults, gathered on a city street" + }, + { + "__key__": "sa_5543079", + "txt": "a large, old, and white building with a red roof, located in a small town" + }, + { + "__key__": "sa_4671744", + "txt": "a woman sitting on a pile of grain, which is a large pile of rice" + }, + { + "__key__": "sa_8106324", + "txt": "a vintage-style motel sign, which is a neon sign with the name \"Lorene Motel\" written on it" + }, + { + "__key__": "sa_6673083", + "txt": "a car with its headlights on, illuminating the road and the surrounding area" + }, + { + "__key__": "sa_8095772", + "txt": "a large body of water, possibly a lake, with a city in the background" + }, + { + "__key__": "sa_652274", + "txt": "a large, ornate church with a grand, marble-lined interior" + }, + { + "__key__": "sa_653025", + "txt": "a postage stamp with a bird, specifically a finch, depicted on it" + }, + { + "__key__": "sa_6442898", + "txt": "a black car interior with a leather-wrapped steering wheel and a dashboard" + }, + { + "__key__": "sa_7122702", + "txt": "a large statue of a man, possibly a Chinese or Asian deity, standing in a city square" + }, + { + "__key__": "sa_6206550", + "txt": "two men working together on a small boat in a body of water" + }, + { + "__key__": "sa_5238821", + "txt": "a city street scene with a large neon sign hanging over the street, which is a prominent feature of the scene" + }, + { + "__key__": "sa_4296832", + "txt": "a black and white photograph of a group of young women dancing on a basketball court" + }, + { + "__key__": "sa_1523525", + "txt": "a mountainous landscape with a ski lift running down the side of a mountain" + }, + { + "__key__": "sa_7396820", + "txt": "a man standing in a parking lot, surrounded by three cats" + }, + { + "__key__": "sa_6153192", + "txt": "a large church with a tall steeple, a stone building, and a parking lot" + }, + { + "__key__": "sa_4811816", + "txt": "a close-up of a red pepper, which is a type of red vegetable" + }, + { + "__key__": "sa_7451234", + "txt": "a man holding a large bunch of bananas in his arms, surrounded by a lush green forest" + }, + { + "__key__": "sa_1236389", + "txt": "a busy street scene with a row of small shops and a traffic light" + }, + { + "__key__": "sa_6464962", + "txt": "a man riding a bicycle down a dirt road, surrounded by trees and a forest" + }, + { + "__key__": "sa_4672378", + "txt": "a wooden sign with a colorful design, which is situated in a garden or yard" + }, + { + "__key__": "sa_1605747", + "txt": "a row of red bicycles parked on a city street, lined up next to each other" + }, + { + "__key__": "sa_5549732", + "txt": "a large jetliner, specifically a New Zealand Airways jet, flying through the sky" + }, + { + "__key__": "sa_1494965", + "txt": "a close-up of three bowls filled with food, sitting on a wooden cutting board" + }, + { + "__key__": "sa_1132203", + "txt": "a man standing in a busy market, surrounded by various items such as bags, boxes, and other merchandise" + }, + { + "__key__": "sa_4482903", + "txt": "a large lake with a dock, a house, and a boat" + }, + { + "__key__": "sa_7519853", + "txt": "a large group of people gathered on a bridge, looking down at the street below" + }, + { + "__key__": "sa_662373", + "txt": "a young boy wearing a blue outfit and a red hat, standing next to a camel" + }, + { + "__key__": "sa_6462472", + "txt": "a close-up of a hand holding a stack of five different colored bills, each with a different denomination" + }, + { + "__key__": "sa_1391794", + "txt": "a neatly made bed with a brown blanket and a tan comforter" + }, + { + "__key__": "sa_5076159", + "txt": "a black and white photograph that showcases a cityscape with a large intersection and a bridge" + }, + { + "__key__": "sa_4289884", + "txt": "a man riding a bicycle through a forest or wooded area, surrounded by trees and bushes" + }, + { + "__key__": "sa_7056909", + "txt": "a beach scene with a sandy beach, palm trees, and a blue ocean" + }, + { + "__key__": "sa_5513658", + "txt": "a large crowd of people gathered in a city square, standing around a lit-up Christmas tree" + }, + { + "__key__": "sa_1385180", + "txt": "a yellow building with two white windows, located on a city street" + }, + { + "__key__": "sa_6701365", + "txt": "a colorful and vibrant scene with a large number of rainbow flags hanging from a pole" + }, + { + "__key__": "sa_15961", + "txt": "a group of people, including children, working together in a lush green field" + }, + { + "__key__": "sa_7592953", + "txt": "a large, ornate, and beautifully decorated Christmas tree in a courtyard, surrounded by a snowy landscape" + }, + { + "__key__": "sa_7803501", + "txt": "a large brick building with a red brick exterior, located on a hill" + }, + { + "__key__": "sa_1698582", + "txt": "a group of people gathered around a dirt field, playing a game of frisbee" + }, + { + "__key__": "sa_141125", + "txt": "a harbor with a large number of boats docked in it, including a cruise ship" + }, + { + "__key__": "sa_5628053", + "txt": "a man sitting on a chair, holding a sign with a picture of a person on it" + }, + { + "__key__": "sa_6586546", + "txt": "a large stone structure, likely a Roman amphitheater, with a crowd of people gathered around it" + }, + { + "__key__": "sa_4361365", + "txt": "a large, green building with a red roof and a white sign on the side" + }, + { + "__key__": "sa_5324648", + "txt": "a large, ornate building with a tall tower, which is part of a cathedral" + }, + { + "__key__": "sa_4555975", + "txt": "a bridge with a train passing underneath it, set against a beautiful sunset" + }, + { + "__key__": "sa_4615479", + "txt": "a group of people dressed in traditional Japanese attire, walking down a sidewalk" + }, + { + "__key__": "sa_1336216", + "txt": "a large, modern building with a unique architectural design, resembling a giant building with a dome" + }, + { + "__key__": "sa_7809803", + "txt": "a man working on a pair of boots in a workshop or factory setting" + }, + { + "__key__": "sa_1600197", + "txt": "a glass of coffee, a bottle of milk, and a cup of coffee beans, all placed on a table" + }, + { + "__key__": "sa_6115322", + "txt": "a black and white photograph featuring a man and a woman in a martial arts setting" + }, + { + "__key__": "sa_5553319", + "txt": "a busy city street with a group of people riding motorcycles and scooters, as well as a few cars" + }, + { + "__key__": "sa_1366329", + "txt": "a large, old, and crumbling stone building with a steeple, located in a desert-like setting" + }, + { + "__key__": "sa_6563510", + "txt": "a field with a tractor and a trailer, surrounded by a grove of trees" + }, + { + "__key__": "sa_6147677", + "txt": "a group of people in a red canoe, paddling down a river" + }, + { + "__key__": "sa_6879454", + "txt": "a busy street scene with a variety of objects and people" + }, + { + "__key__": "sa_7899651", + "txt": "a young girl sitting on the ground, surrounded by a group of people" + }, + { + "__key__": "sa_1641066", + "txt": "a large city square with a fountain in the middle, surrounded by a crowd of people" + }, + { + "__key__": "sa_5030028", + "txt": "a bustling outdoor market, where people are shopping for meat" + }, + { + "__key__": "sa_1700597", + "txt": "a group of young people, likely students, standing in a classroom or a school setting" + }, + { + "__key__": "sa_6312597", + "txt": "a large, ornate, and intricately designed structure, which appears to be a gazebo or a pavilion" + }, + { + "__key__": "sa_1241831", + "txt": "a large airplane cabin with a row of black leather seats, arranged in a row along the sides of the cabin" + }, + { + "__key__": "sa_5443783", + "txt": "a store display with a variety of electronic devices, including cell phones, tablets, and other gadgets" + }, + { + "__key__": "sa_1142258", + "txt": "a woman performing a dance routine on stage, surrounded by a large crowd of people" + }, + { + "__key__": "sa_6919259", + "txt": "a black and white photograph of a busy city street, capturing the movement of cars, buses, and pedestrians" + }, + { + "__key__": "sa_7172676", + "txt": "a baby lying on a bed, surrounded by a quilt or blanket, and a pillow" + }, + { + "__key__": "sa_6867899", + "txt": "a statue of a man riding a horse, with the horse's head turned to the side" + }, + { + "__key__": "sa_4720915", + "txt": "a narrow, cobblestone street lined with colorful buildings, which give it a vibrant and lively atmosphere" + }, + { + "__key__": "sa_7955842", + "txt": "a large group of people gathered in a public square or plaza, with a statue or monument in the background" + }, + { + "__key__": "sa_7945569", + "txt": "a group of people gathered around a man who is sitting on a throne, possibly a golden throne" + }, + { + "__key__": "sa_5167820", + "txt": "a large, empty shopping mall with a long, empty hallway" + }, + { + "__key__": "sa_1367166", + "txt": "a large group of boats docked at a marina, with a man standing on one of the boats" + }, + { + "__key__": "sa_4992587", + "txt": "a large red and white bus driving down a street, with a city skyline in the background" + }, + { + "__key__": "sa_4371521", + "txt": "an old blue telephone booth, which is a small, enclosed booth designed for making phone calls" + }, + { + "__key__": "sa_6949317", + "txt": "a large ship under construction, with a crane lifting it into the air" + }, + { + "__key__": "sa_5257237", + "txt": "a large, modern building with a white and gray exterior, which is situated in a city" + }, + { + "__key__": "sa_1557591", + "txt": "a wooden box with a sign on it, which is located outside a building" + }, + { + "__key__": "sa_4258428", + "txt": "a group of people camping in a remote area, surrounded by a forest" + }, + { + "__key__": "sa_5993173", + "txt": "a large, ancient-looking stone tower with a colorful rainbow arching over it" + }, + { + "__key__": "sa_6013224", + "txt": "a large group of people gathered on a stone staircase, with a church steeple in the background" + }, + { + "__key__": "sa_8024817", + "txt": "a black and white photograph of a large, old, and ornate church with a tall steeple" + }, + { + "__key__": "sa_6835203", + "txt": "a red door with a circular design, which is located next to a building" + }, + { + "__key__": "sa_6186457", + "txt": "a postage stamp featuring a woman swimming in the water" + }, + { + "__key__": "sa_7526745", + "txt": "a large jetliner parked on the tarmac at an airport, with several trucks and cars nearby" + }, + { + "__key__": "sa_5809894", + "txt": "a group of young men in black and white uniforms, walking down a city street" + }, + { + "__key__": "sa_4605792", + "txt": "a large, ornate, and intricately decorated building with a tall, arched doorway" + }, + { + "__key__": "sa_5642226", + "txt": "a group of young children working together in a kitchen, preparing a pizza" + }, + { + "__key__": "sa_6965311", + "txt": "a snowy street with a parked truck and a parked car covered in snow" + }, + { + "__key__": "sa_5967843", + "txt": "a large, shiny silver Mercedes-Benz car parked in a garage" + }, + { + "__key__": "sa_5450102", + "txt": "a large, empty, and dusty courtyard with a white building in the background" + }, + { + "__key__": "sa_6233538", + "txt": "a black and white photograph featuring a busy market or shopping area with a lot of people walking around" + }, + { + "__key__": "sa_7987236", + "txt": "a red car driving down a dirt road, with a forest in the background" + }, + { + "__key__": "sa_1364257", + "txt": "a man sitting on a white motorcycle, surrounded by a group of people" + }, + { + "__key__": "sa_1666666", + "txt": "a tall building with a blue glass exterior, which is the headquarters of Kintex" + }, + { + "__key__": "sa_1550593", + "txt": "a large fountain in a park, with a statue of a woman holding a bird in her hands" + }, + { + "__key__": "sa_6803035", + "txt": "a large, two-story building with a metal roof and a steeple" + }, + { + "__key__": "sa_5769631", + "txt": "a green SUV driving down a dirt road, surrounded by a mountainous landscape" + }, + { + "__key__": "sa_127965", + "txt": "a city street with a bridge and a train passing over it" + }, + { + "__key__": "sa_4731772", + "txt": "a black and white photograph of a small town with a large castle-like building in the background" + }, + { + "__key__": "sa_5520779", + "txt": "a group of women standing in a room, with some of them wearing headscarves" + }, + { + "__key__": "sa_1586965", + "txt": "a narrow, cobblestone street lined with shops and buildings, giving it a quaint and charming atmosphere" + }, + { + "__key__": "sa_7549621", + "txt": "a close-up view of a computer screen, with a magnifying glass placed over the screen" + }, + { + "__key__": "sa_490526", + "txt": "a close-up view of a stack of green and white currency, specifically, a pile of green and white Euros" + }, + { + "__key__": "sa_5061608", + "txt": "a large, open field with a row of palm trees lining the sides of the field" + }, + { + "__key__": "sa_5516592", + "txt": "a group of people gathered on a beach, with some of them standing on a boardwalk or a pier" + }, + { + "__key__": "sa_1421816", + "txt": "a man and an elephant, with the elephant having its trunk in its mouth" + }, + { + "__key__": "sa_6171496", + "txt": "a large statue of Buddha, a religious figure, sitting on a pedestal" + }, + { + "__key__": "sa_4496908", + "txt": "a large building with a white facade, which appears to be a theater or a movie theater" + }, + { + "__key__": "sa_5600779", + "txt": "a man standing in front of a sewing machine, wearing a black shirt and black pants" + }, + { + "__key__": "sa_6344655", + "txt": "a black and white photograph featuring a city street scene at night" + }, + { + "__key__": "sa_1453576", + "txt": "a lush green field with a variety of wildflowers, including purple flowers and grass" + }, + { + "__key__": "sa_21148", + "txt": "a small, bright, and shiny electronic machine, which is a coin-operated vending machine" + }, + { + "__key__": "sa_4613230", + "txt": "a large, colorful, and intricately designed wooden structure, which appears to be a church" + }, + { + "__key__": "sa_6717875", + "txt": "a white truck parked in front of a building, with a man standing next to it" + }, + { + "__key__": "sa_5807886", + "txt": "a man walking along a beach, carrying a suitcase" + }, + { + "__key__": "sa_487972", + "txt": "a large display of stuffed animals, including teddy bears, hanging from a ceiling or a wall" + }, + { + "__key__": "sa_6121521", + "txt": "a tall, modern building with a blue and white color scheme" + }, + { + "__key__": "sa_690581", + "txt": "a man wearing a military uniform, specifically a soldier's uniform, and a hat" + }, + { + "__key__": "sa_79934", + "txt": "a car parked in a parking lot with a tree branch lying on top of it" + }, + { + "__key__": "sa_6242438", + "txt": "a white car with a flat tire on the front wheel" + }, + { + "__key__": "sa_4849023", + "txt": "a large display of fresh vegetables, including broccoli, cauliflower, and cabbage, in a supermarket" + }, + { + "__key__": "sa_7035156", + "txt": "a blue and white truck parked on a cement surface, which appears to be a parking lot or a street" + }, + { + "__key__": "sa_6463978", + "txt": "a large container port with a variety of cargo ships docked at the docks" + }, + { + "__key__": "sa_5204803", + "txt": "a group of women carrying large boxes on their heads, walking down a dirt road" + }, + { + "__key__": "sa_6976941", + "txt": "a large, colorful, and whimsical sculpture of a man dressed as a clown, sitting on a rock or a ledge" + }, + { + "__key__": "sa_665678", + "txt": "a pair of white statues, each depicting a person sitting on a bench" + }, + { + "__key__": "sa_4419444", + "txt": "a large military vehicle, possibly a Humvee, parked in a field with a grassy area" + }, + { + "__key__": "sa_1273391", + "txt": "a young boy standing on a sidewalk near a tree that has been cut down, with cars parked nearby" + }, + { + "__key__": "sa_5883581", + "txt": "a busy city street with a row of parked cars, a large white building, and a tall building with a clock tower" + }, + { + "__key__": "sa_1216794", + "txt": "a busy city street scene with a mix of people and objects" + }, + { + "__key__": "sa_5298757", + "txt": "a black car with a black interior, including a back seat and a trunk" + }, + { + "__key__": "sa_4252615", + "txt": "a black and white photograph featuring a young boy and a young girl sitting on a swing" + }, + { + "__key__": "sa_6895255", + "txt": "a lush green hillside with a mix of trees and shrubs, including a row of tall trees and a grove of trees" + }, + { + "__key__": "sa_5779657", + "txt": "a soccer field with a crowd of people watching the game" + }, + { + "__key__": "sa_6634828", + "txt": "a large, colorful, and whimsical merry-go-round with a wooden structure and a circular design" + }, + { + "__key__": "sa_4836543", + "txt": "a large castle or palace, which is situated on a hill overlooking a river" + }, + { + "__key__": "sa_1541987", + "txt": "a white building with a large clock tower, which is situated on a rocky cliff overlooking the ocean" + }, + { + "__key__": "sa_7628542", + "txt": "a black and white photograph of a small, old, red brick house with a white picket fence in front of it" + }, + { + "__key__": "sa_128172", + "txt": "a group of young boys and girls dressed in white shirts and ties, standing in a line and holding flowers" + }, + { + "__key__": "sa_5634259", + "txt": "a large group of people gathered on a street, with some of them sitting on the ground" + }, + { + "__key__": "sa_6973892", + "txt": "a black and white photograph of a city street with cars parked on the side of the road" + }, + { + "__key__": "sa_7801406", + "txt": "a man standing on a sandy beach, holding a blue and white boat" + }, + { + "__key__": "sa_1573410", + "txt": "a large statue of two people, possibly representing a couple, standing in a city street" + }, + { + "__key__": "sa_786156", + "txt": "a close-up view of a large clock mounted on the side of a building" + }, + { + "__key__": "sa_6624884", + "txt": "a large, two-story building with a white and red brick exterior, situated in a park-like setting" + }, + { + "__key__": "sa_7554382", + "txt": "a young girl running across a dirt road, wearing a yellow dress" + }, + { + "__key__": "sa_6623198", + "txt": "a close-up of a wall with a painting of a person, possibly a saint, on it" + }, + { + "__key__": "sa_4765006", + "txt": "a large, old building with a courtyard and a fountain in the middle" + }, + { + "__key__": "sa_783275", + "txt": "a beautiful garden with a winding path that leads to a dock on a lake" + }, + { + "__key__": "sa_5992858", + "txt": "a young child sitting on the floor in front of a laptop computer" + }, + { + "__key__": "sa_4609700", + "txt": "a door with intricate blue and white tilework, which is a characteristic of Moroccan architecture" + }, + { + "__key__": "sa_6865558", + "txt": "a man standing in a field with a blue ATV (All-Terrain Vehicle) parked nearby" + }, + { + "__key__": "sa_7010550", + "txt": "a man wearing a hat and holding a pair of gloves, standing next to a pile of rocks" + }, + { + "__key__": "sa_4647334", + "txt": "a large, ornate, and well-maintained garden with a pond, fountains, and a gazebo" + }, + { + "__key__": "sa_636777", + "txt": "a cityscape with a large city in the background, with tall buildings and a busy street" + }, + { + "__key__": "sa_1485390", + "txt": "a busy city street with a large number of people walking around" + }, + { + "__key__": "sa_6013559", + "txt": "a large, old, and ornate building with a tall tower, which is likely a church" + }, + { + "__key__": "sa_1450800", + "txt": "a large, white hotel with a blue roof and palm trees in the background" + }, + { + "__key__": "sa_6231012", + "txt": "a large room with a high ceiling and a window that allows for a clear view of the outside" + }, + { + "__key__": "sa_4482123", + "txt": "a man kneeling down on a brick walkway, working on a brick wall" + }, + { + "__key__": "sa_4378214", + "txt": "a group of young girls dressed in Chinese clothing, sitting on the ground in a public area" + }, + { + "__key__": "sa_5830616", + "txt": "a large sign with the Chevron logo on it, which is a well-known oil and gas company" + }, + { + "__key__": "sa_159406", + "txt": "a colorful food truck parked in a parking lot, surrounded by several cars" + }, + { + "__key__": "sa_4855439", + "txt": "a group of people, including children, sitting on a sandy beach near the water" + }, + { + "__key__": "sa_5500022", + "txt": "a busy city street with a mix of vehicles, including cars and trucks, and pedestrians" + }, + { + "__key__": "sa_7603442", + "txt": "a black and white photograph of a busy city street with cars, pedestrians, and tall buildings in the background" + }, + { + "__key__": "sa_5119923", + "txt": "a black and white photograph of a busy city street at night" + }, + { + "__key__": "sa_5023094", + "txt": "a display of colorful and unique-shaped items, likely food or spices, arranged in a row" + }, + { + "__key__": "sa_6610158", + "txt": "a road sign with a street sign and a directional sign, both of which are placed on a pole" + }, + { + "__key__": "sa_7581507", + "txt": "a large body of water, possibly a lake, with a mountainous backdrop" + }, + { + "__key__": "sa_6447438", + "txt": "a man with a beard and a hat, possibly a straw hat, standing in a crowded area" + }, + { + "__key__": "sa_7865424", + "txt": "a woman and a dog sitting on a beach, with the woman holding a dog on her lap" + }, + { + "__key__": "sa_5884688", + "txt": "a close-up of a cell phone, specifically an iPhone, sitting on a wooden floor" + }, + { + "__key__": "sa_7646143", + "txt": "an old building with a statue of a man holding a sword on the balcony" + }, + { + "__key__": "sa_6909298", + "txt": "a cityscape with a large city in the background, a park, and a fountain" + }, + { + "__key__": "sa_7044252", + "txt": "a busy street scene with a mix of vehicles, including cars and motorcycles, driving on a snowy road" + }, + { + "__key__": "sa_5820347", + "txt": "a close-up of a tree with pink flowers, capturing the sunlight shining through the branches" + }, + { + "__key__": "sa_4895802", + "txt": "a white sneaker with blue and red accents, sitting on a cement surface" + }, + { + "__key__": "sa_6763168", + "txt": "a large ship, likely a cargo ship, docked at a harbor" + }, + { + "__key__": "sa_5102384", + "txt": "a red and white airplane flying through the sky, with a blue sky background" + }, + { + "__key__": "sa_8113959", + "txt": "a large, open area with a stone wall and a row of stone statues" + }, + { + "__key__": "sa_566149", + "txt": "a blue and white subway station entrance, with a blue and white roof covering the entrance" + }, + { + "__key__": "sa_6234604", + "txt": "a cityscape with a large building, palm trees, and a blue sky" + }, + { + "__key__": "sa_6517979", + "txt": "a close-up view of a table with a variety of desserts, including cakes and pastries" + }, + { + "__key__": "sa_7789644", + "txt": "a group of men dressed in medieval armor, riding horses in a grassy field" + }, + { + "__key__": "sa_651849", + "txt": "a group of people, including two men and a woman, climbing a rocky hill or mountain" + }, + { + "__key__": "sa_7188211", + "txt": "a young girl wearing a wedding dress, standing in front of a bookshelf filled with books" + }, + { + "__key__": "sa_1595174", + "txt": "a young girl walking down a city street, wearing a green shirt and shorts" + }, + { + "__key__": "sa_6415881", + "txt": "a group of people standing around a large truck, which is loaded with several large bags or boxes" + }, + { + "__key__": "sa_7772513", + "txt": "a large passenger jet, specifically a Virgin Airlines plane, flying through the sky" + }, + { + "__key__": "sa_807303", + "txt": "a group of people, including children, sitting on a cart or wagon pulled by a cow" + }, + { + "__key__": "sa_6925781", + "txt": "a large, old, and ornate building with a tall tower, which is likely a church" + }, + { + "__key__": "sa_602729", + "txt": "a collection of vintage postage stamps showcasing different antique cars" + }, + { + "__key__": "sa_7099155", + "txt": "a bartender and a waiter at a bar, preparing drinks and serving customers" + }, + { + "__key__": "sa_6331699", + "txt": "a crowded outdoor market or bazaar, where people are shopping for various items" + }, + { + "__key__": "sa_6454978", + "txt": "a control panel with various knobs, buttons, and gauges, which are part of an old-fashioned control panel" + }, + { + "__key__": "sa_6032240", + "txt": "a gas station with a red and white sign that reads \"Circle K" + }, + { + "__key__": "sa_1329904", + "txt": "a woman standing on a sidewalk, posing for a picture in front of a large sign" + }, + { + "__key__": "sa_466155", + "txt": "a large, white, two-story house with a green roof, situated on a grassy field" + }, + { + "__key__": "sa_5883081", + "txt": "a vintage yellow and red bus, which appears to be an old-fashioned or classic model" + }, + { + "__key__": "sa_8079728", + "txt": "a group of young men playing soccer on a blue and red court" + }, + { + "__key__": "sa_1350020", + "txt": "a large airplane, specifically a Finnair jet, on the runway at an airport" + }, + { + "__key__": "sa_7082340", + "txt": "a man sitting on a motorcycle, wearing a yellow helmet and a black jacket" + }, + { + "__key__": "sa_7367022", + "txt": "a man riding a white horse, and the horse is running across a dirt field" + }, + { + "__key__": "sa_5589776", + "txt": "a large stained glass window with a colorful and intricate design" + }, + { + "__key__": "sa_7813995", + "txt": "a metal plaque with a circular emblem on it, which is mounted on a wall" + }, + { + "__key__": "sa_7610928", + "txt": "a large, old building with a courtyard and a fountain in the middle" + }, + { + "__key__": "sa_6391689", + "txt": "a city street with a green and white bus driving down the street, surrounded by various buildings and people" + }, + { + "__key__": "sa_6983542", + "txt": "a white van parked in a parking lot, with a logo of a repair unit on the side" + }, + { + "__key__": "sa_5395731", + "txt": "a gas station with a large sign, a store, and several cars parked in front of it" + }, + { + "__key__": "sa_4931487", + "txt": "a large body of water, likely a lake, with a lush green shoreline and a forested area surrounding it" + }, + { + "__key__": "sa_4452498", + "txt": "a large, modern building with a glass facade and a white exterior" + }, + { + "__key__": "sa_6129927", + "txt": "a black and white photograph of a group of people in small boats floating on a body of water" + }, + { + "__key__": "sa_5665086", + "txt": "a close-up view of a trash can filled with various items, including a syringe, a bottle, and a cup" + }, + { + "__key__": "sa_5706496", + "txt": "a black and white photograph of a large crowd of people gathered in a public space, likely a street or a park" + }, + { + "__key__": "sa_5162584", + "txt": "a close-up view of a glass door or window, with a clear, shiny surface that reflects the surroundings" + }, + { + "__key__": "sa_6189299", + "txt": "a large, empty amphitheater, which is a stone structure designed for hosting performances or events" + }, + { + "__key__": "sa_4549106", + "txt": "a woman dressed in a red dress, standing in front of a red carpet" + }, + { + "__key__": "sa_539354", + "txt": "a man working on a statue, specifically a statue of a man, using a sprayer to clean it" + }, + { + "__key__": "sa_4500010", + "txt": "a row of bicycles parked on a brick wall, with each bike positioned next to the other" + }, + { + "__key__": "sa_6956583", + "txt": "a large, empty airport terminal with a long, empty waiting area filled with chairs" + }, + { + "__key__": "sa_4448316", + "txt": "a blue and yellow train parked on the tracks, with a blue and yellow building in the background" + }, + { + "__key__": "sa_8068674", + "txt": "a blue sports car parked in a garage, with a white top and a black interior" + }, + { + "__key__": "sa_6493898", + "txt": "a man working in a tea garden, surrounded by green tea bushes and a large basket" + }, + { + "__key__": "sa_4505391", + "txt": "a group of young men dressed in costumes, wearing makeup and fake blood, and standing together in a row" + }, + { + "__key__": "sa_4503388", + "txt": "a man standing in a large warehouse or store, surrounded by various items such as clothes, bags, and boxes" + }, + { + "__key__": "sa_5257774", + "txt": "a smartphone, specifically a Samsung Galaxy S10, sitting on top of a stack of colorful wooden blocks" + }, + { + "__key__": "sa_5342907", + "txt": "a young boy and a young girl riding on the backs of two elephants in a field" + }, + { + "__key__": "sa_1529045", + "txt": "a large, old-fashioned tractor sitting on a dirt road" + }, + { + "__key__": "sa_600786", + "txt": "a group of people gathered around a bicycle parked on a city street" + }, + { + "__key__": "sa_5474833", + "txt": "a large jetliner parked on the tarmac at an airport, with a few cars and trucks nearby" + }, + { + "__key__": "sa_6988249", + "txt": "a group of people participating in a bike race, with some of them wearing yellow shirts" + }, + { + "__key__": "sa_1241799", + "txt": "two men dressed in medieval armor, standing in a snowy field" + }, + { + "__key__": "sa_6662472", + "txt": "a steep cliff with a large building, possibly a castle, situated at the top" + }, + { + "__key__": "sa_5360741", + "txt": "a group of men standing in a line, holding their hands up in the air" + }, + { + "__key__": "sa_6142358", + "txt": "a black and white photograph of a beautiful countryside landscape with a large hill or mountain in the background" + }, + { + "__key__": "sa_7902066", + "txt": "a man standing in front of a large tent filled with apples, surrounded by other people and produce" + }, + { + "__key__": "sa_4897319", + "txt": "a large, white, round building with a tall tower, which is surrounded by colorful flags and decorations" + }, + { + "__key__": "sa_6389780", + "txt": "a crowded subway station filled with people, with a train arriving at the platform" + }, + { + "__key__": "sa_5185418", + "txt": "a large, ornate cathedral with a tall, pointed roof" + }, + { + "__key__": "sa_4650730", + "txt": "a group of women dressed in blue and purple attire, wearing head coverings and holding flags" + }, + { + "__key__": "sa_1237910", + "txt": "a statue of a man, possibly a priest, standing on a pedestal in a church" + }, + { + "__key__": "sa_4288961", + "txt": "a man taking a selfie with a group of people in the background, who are covered in colorful paint" + }, + { + "__key__": "sa_5375545", + "txt": "a group of men and women standing in a dirt field, surrounded by a herd of camels" + }, + { + "__key__": "sa_5744975", + "txt": "a wooden table with a variety of hot sauce packets, each containing a different type of hot sauce" + }, + { + "__key__": "sa_7119070", + "txt": "a large tractor driving through a field of golden wheat, with a blue sky in the background" + }, + { + "__key__": "sa_5949612", + "txt": "a tall building under construction, with a crane lifting steel beams and other construction materials" + }, + { + "__key__": "sa_86227", + "txt": "a busy city street with a mix of vehicles, including cars, motorcycles, and bicycles" + }, + { + "__key__": "sa_7878229", + "txt": "a large, white, multi-story building with a red roof, situated on a hillside" + }, + { + "__key__": "sa_7704977", + "txt": "a black and white photograph of the night sky, featuring a starry sky with a few visible stars" + }, + { + "__key__": "sa_4889800", + "txt": "a busy city street filled with a large number of cars, trucks, and buses" + }, + { + "__key__": "sa_6869912", + "txt": "a group of men standing in a field, holding hands and forming a circle" + }, + { + "__key__": "sa_6024352", + "txt": "a large, colorful, and ornate building with a statue of a man on top of it" + }, + { + "__key__": "sa_7279637", + "txt": "a black and white photograph of a busy city street, with tall buildings and cars in motion" + }, + { + "__key__": "sa_496023", + "txt": "a large, ornate wooden door with intricate carvings and decorations, which is set against a green wall" + }, + { + "__key__": "sa_4903578", + "txt": "a group of people walking along the beach, with one person carrying a handbag" + }, + { + "__key__": "sa_5226837", + "txt": "a man wearing a top hat, a black suit, and a cape, posing for a picture" + }, + { + "__key__": "sa_1508513", + "txt": "a man and a woman sitting in a small boat, surrounded by numerous cups and bottles" + }, + { + "__key__": "sa_5236187", + "txt": "a beautiful, lush green hillside overlooking a large body of water, which could be a lake or a sea" + }, + { + "__key__": "sa_6531025", + "txt": "a group of people standing on a bridge that spans over a ravine, surrounded by a lush green forest" + }, + { + "__key__": "sa_5773332", + "txt": "a black and white photograph of a large building, possibly a theater, with a balcony and a roof" + }, + { + "__key__": "sa_5491907", + "txt": "a large group of people wearing military uniforms, sitting on the ground in a field" + }, + { + "__key__": "sa_7619354", + "txt": "a large group of people gathered in a city street, holding various flags and banners" + }, + { + "__key__": "sa_5112382", + "txt": "a busy city street with a mix of vehicles, including cars and a truck, driving down the road" + }, + { + "__key__": "sa_5813328", + "txt": "a man sitting on a red couch in a living room, with a large picture frame hanging above him" + }, + { + "__key__": "sa_5967674", + "txt": "a black and white photograph featuring a group of people walking across a bridge over a river" + }, + { + "__key__": "sa_4495517", + "txt": "a close-up of a dictionary page, featuring the word \"Old Person\" written in black ink" + }, + { + "__key__": "sa_693902", + "txt": "a large wall with graffiti on it, depicting a man kissing a woman" + }, + { + "__key__": "sa_673021", + "txt": "a large, open-air patio with a wooden deck and a white umbrella providing shade" + }, + { + "__key__": "sa_6554470", + "txt": "a woman wearing a costume with a large hat, a red dress, and a veil" + }, + { + "__key__": "sa_7477516", + "txt": "a large table filled with various types of food, including a variety of dishes and bowls of food" + }, + { + "__key__": "sa_5984254", + "txt": "a black and white photograph of a cityscape featuring tall buildings, cars, and a city street" + }, + { + "__key__": "sa_6037614", + "txt": "a white paint can sitting on a tiled floor, which is located in a dimly lit room" + }, + { + "__key__": "sa_439891", + "txt": "a group of people enjoying water sports on a large body of water, such as a lake or ocean" + }, + { + "__key__": "sa_7155920", + "txt": "a man wearing a crown, a long robe, and a beard, all of which are adorned with gold and red decorations" + }, + { + "__key__": "sa_6300572", + "txt": "a large airplane parked on the tarmac at an airport, with a truck nearby" + }, + { + "__key__": "sa_1543485", + "txt": "a group of children and adults, including a young boy and a girl, walking together in a park" + }, + { + "__key__": "sa_4541509", + "txt": "a man working on a water pipe, possibly fixing or maintaining it" + }, + { + "__key__": "sa_1503823", + "txt": "a soccer match in progress, with a large crowd of spectators watching the game" + }, + { + "__key__": "sa_6485897", + "txt": "a group of men sitting on the ground, with one of them holding a can of food" + }, + { + "__key__": "sa_5346448", + "txt": "a snow-covered landscape with a city in the background" + }, + { + "__key__": "sa_6735599", + "txt": "a large fishing boat, possibly a trawler, docked at a pier in a small harbor" + }, + { + "__key__": "sa_1267202", + "txt": "a large, iconic tower, which is the Eiffel Tower, standing tall against a blue sky" + }, + { + "__key__": "sa_7026296", + "txt": "a black and white photograph of a city street with cars, a truck, and pedestrians" + }, + { + "__key__": "sa_4883387", + "txt": "a large, outdoor billboard with a European-style building in the background" + }, + { + "__key__": "sa_5656245", + "txt": "a large airplane flying through the sky, with a close-up view of its tail" + }, + { + "__key__": "sa_7917787", + "txt": "a young child, likely a toddler, lying on a couch with a teddy bear nearby" + }, + { + "__key__": "sa_6437930", + "txt": "a colorful and vibrant scene of a person riding a large, colorful, and multi-colored ferris wheel in a park" + }, + { + "__key__": "sa_4389612", + "txt": "a small boat, possibly a ferry, traveling on a body of water" + }, + { + "__key__": "sa_6150412", + "txt": "an older man with a long beard, wearing a red and white striped shirt and a red head covering" + }, + { + "__key__": "sa_4307906", + "txt": "a large, ornate, and majestic building, which is a church" + }, + { + "__key__": "sa_652335", + "txt": "a cityscape photograph featuring a large city with many tall buildings, a large stadium, and a large park" + }, + { + "__key__": "sa_8108061", + "txt": "a large, life-sized skeleton of a horse, displayed in a museum or a similar setting" + }, + { + "__key__": "sa_1455095", + "txt": "a beach scene with a white sandy beach, palm trees, and a house" + }, + { + "__key__": "sa_5774963", + "txt": "a long hallway with a white floor and walls, which gives it a clean and bright appearance" + }, + { + "__key__": "sa_4280246", + "txt": "a young woman holding a sign that reads \"Bakca 40,\" standing in front of a crowd of people" + }, + { + "__key__": "sa_7358663", + "txt": "a silver sports car, specifically a Porsche 911, on display at a car show" + }, + { + "__key__": "sa_7040316", + "txt": "a large, intricately detailed painting on a gold-colored surface, possibly a wall or a piece of furniture" + }, + { + "__key__": "sa_1649956", + "txt": "a painting or a picture, featuring a group of people, including a family, gathered around a table" + }, + { + "__key__": "sa_6534064", + "txt": "a black and white photograph of a busy street scene, featuring a city street filled with cars, trucks, and people" + }, + { + "__key__": "sa_4649087", + "txt": "a broken glass door, which has been shattered and left on the sidewalk outside a store" + }, + { + "__key__": "sa_1141987", + "txt": "a large waterfall with a lot of water cascading down it" + }, + { + "__key__": "sa_5912801", + "txt": "a large, ornate bell tower with a bell hanging from it" + }, + { + "__key__": "sa_1605925", + "txt": "a black and white photograph of a harbor filled with boats, taken from a high vantage point" + }, + { + "__key__": "sa_7035320", + "txt": "a jar of grape jelly with a purple lid, sitting on a wooden table" + }, + { + "__key__": "sa_5453018", + "txt": "a cityscape with a vibrant and colorful setting" + }, + { + "__key__": "sa_7458301", + "txt": "a large building with a brown and black exterior, which is situated on a city street" + }, + { + "__key__": "sa_5241680", + "txt": "a group of men standing in a room, with one of them holding a cell phone" + }, + { + "__key__": "sa_5033816", + "txt": "a large white sailboat docked at a pier in a harbor" + }, + { + "__key__": "sa_6104090", + "txt": "a man in a white shirt running across a field, surrounded by a group of people" + }, + { + "__key__": "sa_454521", + "txt": "a large boat, possibly a tugboat, sailing on a body of water, which could be a lake or a river" + }, + { + "__key__": "sa_4855695", + "txt": "a warehouse filled with various types of grains and seeds, including wheat, corn, and soybeans" + }, + { + "__key__": "sa_7823404", + "txt": "a large body of water, likely a river, with a dam and a waterfall nearby" + }, + { + "__key__": "sa_6814418", + "txt": "a train station with a blue and white train parked at the platform" + }, + { + "__key__": "sa_4278695", + "txt": "a narrow, cobblestone street lined with old, stone buildings" + }, + { + "__key__": "sa_7965403", + "txt": "a busy street with a green traffic light, cars, and a bus" + }, + { + "__key__": "sa_1420935", + "txt": "a large, ornate building with a domed roof, which appears to be a part of a temple or a historical building" + }, + { + "__key__": "sa_5112348", + "txt": "a residential area with a row of houses, including a large house with a roof under construction" + }, + { + "__key__": "sa_8037475", + "txt": "a yellow and black racing car, specifically a Formula One car, parked in a garage" + }, + { + "__key__": "sa_7329591", + "txt": "a large yellow tractor on a flatbed trailer being towed by a truck" + }, + { + "__key__": "sa_7570740", + "txt": "a busy street intersection with multiple street signs and construction barriers" + }, + { + "__key__": "sa_6301153", + "txt": "a silver SUV parked in a parking lot, with a person standing nearby" + }, + { + "__key__": "sa_6075175", + "txt": "a white toilet sitting on a white tiled floor in a bathroom" + }, + { + "__key__": "sa_6092005", + "txt": "a street sign on a pole, which is situated in a city street" + }, + { + "__key__": "sa_6203219", + "txt": "a busy street scene with a variety of objects and people" + }, + { + "__key__": "sa_7562975", + "txt": "a city street with cars driving down the road, and there are a few pedestrians walking on the sidewalk" + }, + { + "__key__": "sa_5299398", + "txt": "a modern, minimalist, and luxurious design of a house situated on a cliff overlooking the ocean" + }, + { + "__key__": "sa_7361094", + "txt": "a woman carrying a large blue bucket on her head, which is filled with plants" + }, + { + "__key__": "sa_4730317", + "txt": "a large, open field with a statue of a horse in the middle of it" + }, + { + "__key__": "sa_6721620", + "txt": "a couple walking on a beach, with the ocean in the background" + }, + { + "__key__": "sa_6562735", + "txt": "a black and white photograph featuring a busy city street at night" + }, + { + "__key__": "sa_1275070", + "txt": "a small town street with a mix of old and new buildings, including a large building with a clock tower" + }, + { + "__key__": "sa_537744", + "txt": "a group of young men marching in a parade, playing instruments and wearing uniforms" + }, + { + "__key__": "sa_6594121", + "txt": "a vintage postage stamp depicting a red steam engine, likely from the early 20th century" + }, + { + "__key__": "sa_1267063", + "txt": "a man and a woman engaging in a martial arts match, with the man attempting to punch the woman" + }, + { + "__key__": "sa_7748107", + "txt": "a close-up view of a chocolate bar, with its wrapper and the chocolate itself being the main subjects" + }, + { + "__key__": "sa_1485642", + "txt": "a busy city street with a variety of shops, restaurants, and outdoor seating areas" + }, + { + "__key__": "sa_7656018", + "txt": "a close-up of a dining table set for a meal, with a blue and white tablecloth and blue chairs" + }, + { + "__key__": "sa_1708564", + "txt": "a group of men dressed in traditional costumes, standing in a grassy field" + }, + { + "__key__": "sa_7096804", + "txt": "a man standing in a market or store, surrounded by various items and containers" + }, + { + "__key__": "sa_4283110", + "txt": "a black and white photograph of a busy city street at night" + }, + { + "__key__": "sa_4495202", + "txt": "a busy city street with a mix of vehicles, including cars, trucks, and buses, driving down a road" + }, + { + "__key__": "sa_1474537", + "txt": "a large, old-fashioned green satellite dish or antenna, which is mounted on a stand or pedestal" + }, + { + "__key__": "sa_5726737", + "txt": "a large outdoor event or gathering, with a crowd of people sitting on red chairs and benches" + }, + { + "__key__": "sa_7684319", + "txt": "a group of people dressed in colorful costumes, standing in a row and performing a dance or a show" + }, + { + "__key__": "sa_5137749", + "txt": "a large building with a red roof, possibly a palace, and a group of people standing in front of it" + }, + { + "__key__": "sa_1212529", + "txt": "a large factory or workshop with various machines, including robots, working on a car" + }, + { + "__key__": "sa_6415200", + "txt": "a large, modern, and multistory building with a brick facade" + }, + { + "__key__": "sa_5377130", + "txt": "a small boat with a blue and white striped design, floating on a body of water" + }, + { + "__key__": "sa_5648682", + "txt": "a black and white photograph featuring a small town with a harbor, a beach, and a pier" + }, + { + "__key__": "sa_1411363", + "txt": "a group of people running through a forested area, with trees and a road visible in the background" + }, + { + "__key__": "sa_5618088", + "txt": "a red heart-shaped pillow and a pink heart-shaped cushion, both placed on a bed" + }, + { + "__key__": "sa_5624314", + "txt": "a close-up view of a camera and its components, with a focus on the lens and the camera body" + }, + { + "__key__": "sa_763304", + "txt": "a close-up of a plate with a piece of bread on it, which is placed on a table" + }, + { + "__key__": "sa_7736213", + "txt": "a large, towering structure made of food, specifically a tower of donuts" + }, + { + "__key__": "sa_5588573", + "txt": "a bottle of red wine, which is placed on a blue metal surface or a blue metal tray" + }, + { + "__key__": "sa_8111454", + "txt": "a large mural painted on the side of a building, showcasing a colorful and vibrant design" + }, + { + "__key__": "sa_5060811", + "txt": "a large building with a modern architectural design, situated in a snowy landscape" + }, + { + "__key__": "sa_5336918", + "txt": "a large building with a blue roof, which is a restaurant" + }, + { + "__key__": "sa_5112716", + "txt": "a narrow street lined with houses, with a woman walking down the middle of the street" + }, + { + "__key__": "sa_6875491", + "txt": "a group of people gathered around a table with food, specifically a pan of food on a grill" + }, + { + "__key__": "sa_8051161", + "txt": "a woman sitting on a chair, wearing a hat and a shawl, and holding a book" + }, + { + "__key__": "sa_4842381", + "txt": "a large group of people walking down a street, wearing matching green shirts and hats" + }, + { + "__key__": "sa_7154640", + "txt": "a smartphone with a Google Workspace app on its screen, placed on a wooden table" + }, + { + "__key__": "sa_6765130", + "txt": "a large stone building with a tower, surrounded by a lush green field and trees" + }, + { + "__key__": "sa_6386492", + "txt": "a large airplane flying through a blue sky, with a clear view of the aircraft's underside" + }, + { + "__key__": "sa_5172063", + "txt": "a tall clock tower with a steeple, which is a prominent architectural feature of the building" + }, + { + "__key__": "sa_5689158", + "txt": "a black and white photograph of a large building with a dome and a steeple, possibly a church or a mosque" + }, + { + "__key__": "sa_4431073", + "txt": "a large, old, and blue house with a white porch and a white roof" + }, + { + "__key__": "sa_1476513", + "txt": "a yellow and black sign on a mountain road, which is located in a mountainous region" + }, + { + "__key__": "sa_5373534", + "txt": "a narrow, cobblestone street lined with colorful buildings, creating a vibrant and picturesque scene" + }, + { + "__key__": "sa_4963927", + "txt": "a gas station with a large sign that reads \"Tanker" + }, + { + "__key__": "sa_4352111", + "txt": "a European-style building with a wrought iron fence and a sign on it" + }, + { + "__key__": "sa_6537340", + "txt": "a group of people posing for a photo in front of a military jeep" + }, + { + "__key__": "sa_7635064", + "txt": "a large, ornate, and intricately decorated ceiling in a cathedral-like setting" + }, + { + "__key__": "sa_5695460", + "txt": "a black and white photograph of a sign hanging outside a building, which is likely a pub or a restaurant" + }, + { + "__key__": "sa_5898846", + "txt": "a group of young boys standing in front of a building, possibly a school, with their hands in their pockets" + }, + { + "__key__": "sa_1501414", + "txt": "a group of people standing on a dock near two boats, with one of the boats being a small white boat" + }, + { + "__key__": "sa_5075496", + "txt": "a cityscape with a row of tall buildings, each with a different color" + }, + { + "__key__": "sa_4254603", + "txt": "a busy train station with multiple trains parked on the tracks, and a large number of people walking around" + }, + { + "__key__": "sa_159879", + "txt": "a large boat or gondola floating on a body of water, surrounded by buildings and people" + }, + { + "__key__": "sa_6690621", + "txt": "a large, ornate building with a clock tower, which is situated on a street corner" + }, + { + "__key__": "sa_6616946", + "txt": "a man sitting in a bus, looking out the window" + }, + { + "__key__": "sa_118166", + "txt": "a large, ornate building with a tall tower, surrounded by a lush green courtyard" + }, + { + "__key__": "sa_5719106", + "txt": "a small, clean, and well-lit room with a mirror and a door" + }, + { + "__key__": "sa_4469583", + "txt": "a large group of candles arranged in a row, with each candle having a different color" + }, + { + "__key__": "sa_7457035", + "txt": "a street scene with a row of houses, some of which have flowers in their windows" + }, + { + "__key__": "sa_5073436", + "txt": "a man and a woman standing next to each other, posing for a picture" + }, + { + "__key__": "sa_7912371", + "txt": "a black and white photograph of a street scene in a small town" + }, + { + "__key__": "sa_6938478", + "txt": "a lush green garden with a large number of trees, including a tree with a large number of leaves" + }, + { + "__key__": "sa_786637", + "txt": "a large, open room with a high ceiling, which is filled with light" + }, + { + "__key__": "sa_1152584", + "txt": "a lush green field with a variety of plants, including grass, flowers, and bushes" + }, + { + "__key__": "sa_1479012", + "txt": "a large, colorful tree made of money, with lots of yellow and white coins hanging from its branches" + }, + { + "__key__": "sa_63768", + "txt": "a group of tents or shelters, possibly in a desert setting, with a large moon in the background" + }, + { + "__key__": "sa_7872452", + "txt": "a small canal or river surrounded by a lush green landscape, with trees and bushes lining the banks" + }, + { + "__key__": "sa_1244737", + "txt": "a group of people gathered around a table or a tree, with a woman standing in the foreground" + }, + { + "__key__": "sa_7603361", + "txt": "a group of women working together in a rice field, tending to the crops and harvesting the rice" + }, + { + "__key__": "sa_4752375", + "txt": "a large, ornately decorated room with a wooden table, a statue, and a Buddha statue" + }, + { + "__key__": "sa_7261309", + "txt": "a man dressed in a long robe, wearing a hood, and holding a large object, which appears to be a sword" + }, + { + "__key__": "sa_6483059", + "txt": "a close-up of a smartphone screen displaying a logo of a company called \"Eni" + }, + { + "__key__": "sa_7874874", + "txt": "a stone monument or memorial, which is located in a park setting" + }, + { + "__key__": "sa_7915149", + "txt": "a large stone monument or a stone wall with a plaque attached to it" + }, + { + "__key__": "sa_1640439", + "txt": "a blue sign with white writing on it, which is located on a dirt road" + }, + { + "__key__": "sa_6110407", + "txt": "a train station platform with a long train passing through it" + }, + { + "__key__": "sa_5821814", + "txt": "a group of people standing in a parking lot, with a white car parked nearby" + }, + { + "__key__": "sa_1639748", + "txt": "a young man wearing a blue shirt, holding a large, white, and black striped snake in his arms" + }, + { + "__key__": "sa_1359740", + "txt": "a large, modern building with a glass exterior, which is situated in a cityscape" + }, + { + "__key__": "sa_6867707", + "txt": "a large, open field with a dirt path winding through it" + }, + { + "__key__": "sa_6331082", + "txt": "a woman holding a baby in her arms while standing in a field of tulips" + }, + { + "__key__": "sa_5857525", + "txt": "a busy city street with a variety of vehicles, including cars and motorcycles, driving down the road" + }, + { + "__key__": "sa_4406271", + "txt": "a cemetery with a large number of headstones, each with a name on it" + }, + { + "__key__": "sa_87273", + "txt": "a large, open space with a high ceiling, featuring a coffee shop with wooden floors and tables" + }, + { + "__key__": "sa_6575799", + "txt": "a busy city street with a variety of vehicles, including cars, trucks, and a bus" + }, + { + "__key__": "sa_5531881", + "txt": "a black and white photograph of a city street, with a building under construction and a balcony visible" + }, + { + "__key__": "sa_4308130", + "txt": "a large storefront with a sign that reads \"H&M,\" which is a popular clothing brand" + }, + { + "__key__": "sa_6061362", + "txt": "a man holding a monkey in his hands, with the monkey sitting on his arm" + }, + { + "__key__": "sa_4664284", + "txt": "a black and white photograph of a large gravestone with a flower arrangement on top" + }, + { + "__key__": "sa_1411641", + "txt": "a large, ornate building with a white roof and a black and white design" + }, + { + "__key__": "sa_178514", + "txt": "a busy street scene in an Indian city, with a mix of vehicles and people" + }, + { + "__key__": "sa_6260504", + "txt": "a large pile of shredded paper, which is situated in a parking lot or a warehouse" + }, + { + "__key__": "sa_4950840", + "txt": "a large body of water, with a group of boats docked in the harbor" + }, + { + "__key__": "sa_4778333", + "txt": "a group of men in military uniforms, standing in a row in a park" + }, + { + "__key__": "sa_7772548", + "txt": "a group of people gathered on a city street, with some of them holding a large bubble machine" + }, + { + "__key__": "sa_1385125", + "txt": "a large, white church with a clock tower, which is situated in a city" + }, + { + "__key__": "sa_5862049", + "txt": "two young boys sitting at a table, playing with a game of dominoes" + }, + { + "__key__": "sa_7893908", + "txt": "a large tree in a grassy field, with a white fence in the background" + }, + { + "__key__": "sa_6738774", + "txt": "a large commercial airplane, specifically a white and orange passenger jet, flying through the sky" + }, + { + "__key__": "sa_1201008", + "txt": "a young boy standing in the street, surrounded by a group of people who are holding Spanish flags" + }, + { + "__key__": "sa_4758893", + "txt": "a man and a cow, with the cow standing in a field and the man sitting next to it" + }, + { + "__key__": "sa_4833875", + "txt": "a busy city street with a large crowd of people walking and standing around" + }, + { + "__key__": "sa_7808983", + "txt": "a cemetery with a large number of white and blue gravestones, each with a cross on top" + }, + { + "__key__": "sa_7025129", + "txt": "a busy train station at night, with a train passing by on the tracks" + }, + { + "__key__": "sa_4682753", + "txt": "a row of bicycles parked outside a building, with a colorful and vibrant atmosphere" + }, + { + "__key__": "sa_7271667", + "txt": "a beach scene with a large group of people gathered on the shore, flying kites" + }, + { + "__key__": "sa_6972125", + "txt": "a white ambulance parked in a driveway, with the door open" + }, + { + "__key__": "sa_1472785", + "txt": "a young woman wearing headphones and a hoodie, standing in front of a DJ booth, and holding a microphone" + }, + { + "__key__": "sa_5199323", + "txt": "a statue of two people, likely representing a couple, standing together in a park" + }, + { + "__key__": "sa_5401439", + "txt": "a large, empty, and well-organized stone wall, possibly a part of a memorial or a sculpture" + }, + { + "__key__": "sa_5347238", + "txt": "a large jetliner, specifically an Airbus A380, taking off from an airport runway" + }, + { + "__key__": "sa_4495105", + "txt": "a black and white photograph of a busy city street with cars, trucks, and a bridge overhead" + }, + { + "__key__": "sa_508116", + "txt": "a long wooden boat floating on a body of water, surrounded by other boats and people" + }, + { + "__key__": "sa_8032081", + "txt": "a black and white photo of a city street, featuring a busy intersection with cars, buses, and pedestrians" + }, + { + "__key__": "sa_6262487", + "txt": "a yellow bus driving down a street in a small town, surrounded by buildings and trees" + }, + { + "__key__": "sa_5041132", + "txt": "a computer monitor displaying a webpage with a Spanish-language text on it" + }, + { + "__key__": "sa_4895938", + "txt": "a close-up view of a smartphone, specifically the front screen, with a white background" + }, + { + "__key__": "sa_5672086", + "txt": "a large jetliner, likely a commercial airplane, flying through the sky" + }, + { + "__key__": "sa_4733869", + "txt": "a white Mercedes-Benz car parked in a showroom, with a man standing next to it" + }, + { + "__key__": "sa_514876", + "txt": "a busy city street with a large number of people walking around, some of them carrying handbags" + }, + { + "__key__": "sa_7495103", + "txt": "a beach scene with a colorful and artistic display of boats and surfboards on a sandy shore" + }, + { + "__key__": "sa_7662813", + "txt": "two men playing a game of volleyball on a court" + }, + { + "__key__": "sa_4808522", + "txt": "a statue of a man, possibly a Roman soldier, standing in front of a stone archway" + }, + { + "__key__": "sa_1567846", + "txt": "a busy city street with tall buildings and a large sign on the side of one of the buildings" + }, + { + "__key__": "sa_1282342", + "txt": "a construction site with a brick building under construction, surrounded by construction fencing" + }, + { + "__key__": "sa_7532557", + "txt": "a large bridge spanning over a body of water, with a boat sailing underneath it" + }, + { + "__key__": "sa_4271064", + "txt": "a picturesque harbor filled with numerous boats, including sailboats and yachts, docked in the water" + }, + { + "__key__": "sa_7818450", + "txt": "a black and white photograph of a busy city street with a large crowd of people walking down the street" + }, + { + "__key__": "sa_1503219", + "txt": "a man wearing a racing suit and helmet, standing in front of a red car" + }, + { + "__key__": "sa_7306884", + "txt": "a beach scene with a pier and a large building in the background" + }, + { + "__key__": "sa_4626783", + "txt": "a large, ornate statue of a deity, possibly a Hindu deity, sitting on a chair" + }, + { + "__key__": "sa_113890", + "txt": "a charming, old-fashioned cottage with a red brick exterior and a white door" + }, + { + "__key__": "sa_454243", + "txt": "a yellow house with a white roof, surrounded by snow" + }, + { + "__key__": "sa_6339734", + "txt": "a busy city street with a large crowd of people walking around, some carrying handbags" + }, + { + "__key__": "sa_6067446", + "txt": "a large, ornate, and colorful church steeple with a golden star on top" + }, + { + "__key__": "sa_6908149", + "txt": "a person holding a sign that says \"Land Back,\" which is likely a protest or a call for change" + }, + { + "__key__": "sa_1668643", + "txt": "a person holding a cell phone, specifically an iPhone, in their hand" + }, + { + "__key__": "sa_4743886", + "txt": "a crowded outdoor market, with people standing around tables and chairs, and a woman sitting at a table" + }, + { + "__key__": "sa_4788808", + "txt": "a large, old building with a white and green roof, which appears to be a church" + }, + { + "__key__": "sa_6546979", + "txt": "a large helicopter on a tarmac, surrounded by a group of people" + }, + { + "__key__": "sa_4455235", + "txt": "a man standing in a flooded street, surrounded by cars and other vehicles" + }, + { + "__key__": "sa_6526565", + "txt": "a large stone or marble sculpture of a dog, standing on top of a tall pedestal" + }, + { + "__key__": "sa_4374283", + "txt": "a close-up of a green leaf with a small, delicate white flower on it, surrounded by a forest of green leaves" + }, + { + "__key__": "sa_1165211", + "txt": "a black and white photograph of a large, empty museum with a long hallway leading to a staircase" + }, + { + "__key__": "sa_6689213", + "txt": "a busy street scene in a city, with people walking and standing around" + }, + { + "__key__": "sa_7060444", + "txt": "a group of people walking through a garden, with a castle in the background" + }, + { + "__key__": "sa_5299850", + "txt": "a large, white building with a red roof, which is a part of a Chinese temple" + }, + { + "__key__": "sa_7820085", + "txt": "a busy city street with a large crowd of people walking around, some carrying handbags" + }, + { + "__key__": "sa_6532358", + "txt": "an antique-style globe, which is a large, round, and spherical object that represents the Earth" + }, + { + "__key__": "sa_1284915", + "txt": "a woman and a young girl, both wearing pink coats, standing on a brick sidewalk" + }, + { + "__key__": "sa_4777148", + "txt": "a large, two-story building with a stone facade and a wooden roof" + }, + { + "__key__": "sa_1457155", + "txt": "a group of people walking across a bridge, with some wearing hats and others wearing traditional clothing" + }, + { + "__key__": "sa_6834137", + "txt": "a parking meter with a red lid, which is located next to a red car" + }, + { + "__key__": "sa_6990150", + "txt": "a soccer match in progress, with two players competing for the ball" + }, + { + "__key__": "sa_5315359", + "txt": "a busy city street at night, with a large crowd of people walking around" + }, + { + "__key__": "sa_6046492", + "txt": "a group of women performing on stage, with one of them wearing a mask" + }, + { + "__key__": "sa_7328603", + "txt": "a busy street in a city, with a tall building in the background" + }, + { + "__key__": "sa_5554988", + "txt": "a woman wearing a green dress, walking down a red carpet" + }, + { + "__key__": "sa_7446079", + "txt": "a beach scene with a sandy shoreline, a body of water, and people enjoying the beach" + }, + { + "__key__": "sa_710068", + "txt": "a white vintage car, likely a Ford, parked on a street" + }, + { + "__key__": "sa_4974752", + "txt": "a group of children and young adults gathered around a large telescope, which is mounted on a tripod" + }, + { + "__key__": "sa_5956563", + "txt": "a large container ship, likely a Matson container ship, docked at a port" + }, + { + "__key__": "sa_5125328", + "txt": "a young girl, likely a child, performing a pull-up on a bar" + }, + { + "__key__": "sa_7663021", + "txt": "a train on a track, with a close-up view of the train engine" + }, + { + "__key__": "sa_6476753", + "txt": "an old, rusted, and weathered truck sitting in a field of grass" + }, + { + "__key__": "sa_7025005", + "txt": "a white Toyota van parked on the side of a road, with a person standing next to it" + }, + { + "__key__": "sa_7094460", + "txt": "a computer screen displaying the website of a Chinese online bookstore, Tuumangao" + }, + { + "__key__": "sa_5282876", + "txt": "a busy city square filled with people walking around, socializing, and enjoying the outdoor setting" + }, + { + "__key__": "sa_5539443", + "txt": "a postage stamp with a unique design that includes a mosaic pattern, featuring various shapes and colors" + }, + { + "__key__": "sa_4919091", + "txt": "a city street lined with trees, with a large tree in the middle of the street" + }, + { + "__key__": "sa_5411280", + "txt": "a black and white photograph of a city with a large body of water in the background" + }, + { + "__key__": "sa_4873358", + "txt": "a statue of a man, possibly a historical figure, standing in a city square" + }, + { + "__key__": "sa_1652518", + "txt": "a large outdoor event or festival, with a crowd of people gathered together in a field" + }, + { + "__key__": "sa_4485484", + "txt": "a man walking down a busy city street, surrounded by a large number of people and various objects" + }, + { + "__key__": "sa_5311576", + "txt": "a room filled with a variety of motorcycles on display, showcasing different models and styles" + }, + { + "__key__": "sa_1418951", + "txt": "a scenic view of a small river flowing through a lush green park, surrounded by trees and grass" + }, + { + "__key__": "sa_770356", + "txt": "a large, colorful building with a towering sign on top, which is likely a commercial or entertainment venue" + }, + { + "__key__": "sa_5359846", + "txt": "a group of men wearing white robes, standing in front of a long table with a cross on it" + }, + { + "__key__": "sa_7201437", + "txt": "a busy city street with a variety of vehicles, including cars, trucks, and a bus" + }, + { + "__key__": "sa_1665163", + "txt": "a soccer game taking place on a grassy field, with a crowd of people watching the match" + }, + { + "__key__": "sa_1464119", + "txt": "a close-up of a face, specifically a woman's face, with a large white mask covering it" + }, + { + "__key__": "sa_8088647", + "txt": "a yellow and white helicopter flying over a lush green field, with people on the ground" + }, + { + "__key__": "sa_6436023", + "txt": "a group of people sitting in a row on a table, with some of them wearing orange robes" + }, + { + "__key__": "sa_6460956", + "txt": "a group of young women posing together on a rocky hillside, with some of them sitting on a rock" + }, + { + "__key__": "sa_1154838", + "txt": "a statue of a man, possibly a historical figure, sitting on a bench" + }, + { + "__key__": "sa_6265158", + "txt": "a bicycle with a red frame, a black seat, and a black handlebar" + }, + { + "__key__": "sa_7752512", + "txt": "a black and white photograph of a city street, featuring a cobblestone street lined with buildings" + }, + { + "__key__": "sa_1626592", + "txt": "a close-up view of a train track, with a train on it" + }, + { + "__key__": "sa_4751254", + "txt": "a close-up of a computer screen with a website displayed on it" + }, + { + "__key__": "sa_5716651", + "txt": "a group of people gathered around a small building, which appears to be a hut or a small house" + }, + { + "__key__": "sa_5834261", + "txt": "a group of young boys and men posing for a picture on a soccer field, with some of them wearing uniforms" + }, + { + "__key__": "sa_6326765", + "txt": "a colorful playground with a slide, a swing, and a climbing structure" + }, + { + "__key__": "sa_5657945", + "txt": "a large, ornate building with a tiled roof, which is situated in a courtyard" + }, + { + "__key__": "sa_5123262", + "txt": "a narrow city street with a row of tall buildings, some of which have balconies" + }, + { + "__key__": "sa_5858728", + "txt": "a large, ornate building with a black and white color scheme" + }, + { + "__key__": "sa_7922918", + "txt": "a large, old-fashioned building with a wooden door and a window" + }, + { + "__key__": "sa_4790672", + "txt": "a large building with a modern architectural design, situated on a pier or a waterfront area" + }, + { + "__key__": "sa_5467332", + "txt": "a man riding a bicycle down a street, surrounded by a large group of people on bicycles" + }, + { + "__key__": "sa_5289265", + "txt": "a man in a red coat, standing on a city street with a crowd of people around him" + }, + { + "__key__": "sa_4495581", + "txt": "a group of people standing in a market, surrounded by a variety of fruits and vegetables" + }, + { + "__key__": "sa_5816955", + "txt": "a large, modern building with a glass exterior, situated in a city setting" + }, + { + "__key__": "sa_7858348", + "txt": "a narrow, cobblestone street lined with tall, old buildings, creating a picturesque and charming atmosphere" + }, + { + "__key__": "sa_4515035", + "txt": "a large group of fish swimming in a body of water, with some of them being close to the shore" + }, + { + "__key__": "sa_6044913", + "txt": "a group of young women standing in a room, posing for a picture" + }, + { + "__key__": "sa_4922587", + "txt": "a black and white photograph featuring a group of people standing on a rocky hillside or mountain" + }, + { + "__key__": "sa_8006129", + "txt": "a table with a silver bucket filled with wine glasses, each containing a different type of wine" + }, + { + "__key__": "sa_6094479", + "txt": "a man standing next to a table with a large, black, and green drone on it" + }, + { + "__key__": "sa_5028454", + "txt": "a crowded outdoor market, where people are gathered around a food stand selling food items" + }, + { + "__key__": "sa_7298247", + "txt": "a busy city street scene with a large crowd of people walking down the street" + }, + { + "__key__": "sa_8063805", + "txt": "a beach scene with a large crowd of people enjoying their time" + }, + { + "__key__": "sa_575202", + "txt": "a black and white photograph of a city street with a tree in the middle of the street" + }, + { + "__key__": "sa_1259569", + "txt": "a man running across a track, wearing a black shirt and shorts" + }, + { + "__key__": "sa_1348684", + "txt": "a large, old castle with a tall tower, situated on a hill overlooking a river" + }, + { + "__key__": "sa_1609790", + "txt": "a man working on a car, specifically focusing on the windshield" + }, + { + "__key__": "sa_4277925", + "txt": "two white tubes of lotion, each containing a different type of lotion" + }, + { + "__key__": "sa_7939042", + "txt": "a young boy with a large smile on his face, sitting on the ground and looking up at the camera" + }, + { + "__key__": "sa_7360636", + "txt": "a black and white photograph of a woman standing in a field of flowers, surrounded by a herd of wild animals" + }, + { + "__key__": "sa_6398778", + "txt": "a large, outdoor swimming pool filled with people enjoying their time" + }, + { + "__key__": "sa_1204465", + "txt": "a man in a boxing ring, wearing a black and green outfit, and holding a boxing glove" + }, + { + "__key__": "sa_6153552", + "txt": "a large, two-story building with a red brick exterior and a white roof" + }, + { + "__key__": "sa_7585591", + "txt": "a large table filled with various types of food, including a variety of vegetables, fruits, and other dishes" + }, + { + "__key__": "sa_4936993", + "txt": "a group of people, including a young girl, who are participating in a colorful event or celebration" + }, + { + "__key__": "sa_5569336", + "txt": "a large, ornate building with a red roof, which is situated on a river" + }, + { + "__key__": "sa_7719491", + "txt": "a man sitting at a desk, using a laptop computer" + }, + { + "__key__": "sa_1138692", + "txt": "a building with a large sign on its side, which is covered in neon lights" + }, + { + "__key__": "sa_5520532", + "txt": "a large, white church with a tall, domed roof and a steeple" + }, + { + "__key__": "sa_6772125", + "txt": "a busy shopping area with a group of people walking around and shopping at a market" + }, + { + "__key__": "sa_4311993", + "txt": "a group of people gathered in a courtyard, with a man playing a drum and others holding a large drum" + }, + { + "__key__": "sa_4585982", + "txt": "a large city with a river running through it, and a large cruise ship docked at the waterfront" + }, + { + "__key__": "sa_7078056", + "txt": "a large, ornate, and brightly lit ceiling with a frescoed design" + }, + { + "__key__": "sa_725275", + "txt": "a small room with a wooden floor, a wooden table, and a potted plant" + }, + { + "__key__": "sa_7966263", + "txt": "a large group of people participating in a race or a marathon, with many of them wearing pink shirts" + }, + { + "__key__": "sa_6691131", + "txt": "a snowy scene with a large, lit Christmas tree in the foreground" + }, + { + "__key__": "sa_1640906", + "txt": "a beach scene with a wooden pier, a beach house, and a sandy beach" + }, + { + "__key__": "sa_1274657", + "txt": "a busy street in a city, with a mix of old and new elements" + }, + { + "__key__": "sa_7789248", + "txt": "a woman sitting at a table in a market, surrounded by various fruits and vegetables" + }, + { + "__key__": "sa_8084483", + "txt": "two women laying on a striped beach towel on the sand, enjoying a sunny day" + }, + { + "__key__": "sa_7688103", + "txt": "a large, ornate building with a dome and a tall tower, which is likely a mosque" + }, + { + "__key__": "sa_6604159", + "txt": "a busy city street with a mix of vehicles, including cars and trucks, driving on a highway" + }, + { + "__key__": "sa_5734311", + "txt": "a busy city street with a mix of vehicles, including buses, cars, and trucks" + }, + { + "__key__": "sa_5577246", + "txt": "a woman with a large head of hair, wearing a white dress and standing in front of a white background" + }, + { + "__key__": "sa_5125056", + "txt": "a large, gold-colored statue of a hand, which is situated in a courtyard surrounded by a stone walkway" + }, + { + "__key__": "sa_7949914", + "txt": "a large, yellow building with a brick exterior and a sign on the front" + }, + { + "__key__": "sa_6130588", + "txt": "a red and white paper cutout of a flower with Chinese writing on it" + }, + { + "__key__": "sa_1505656", + "txt": "a busy train station with people walking around, waiting for their trains, and standing on the platform" + }, + { + "__key__": "sa_4718282", + "txt": "a large, open courtyard with a white building in the background" + }, + { + "__key__": "sa_8079277", + "txt": "a statue of a man, possibly a Roman Emperor, standing in a park" + }, + { + "__key__": "sa_7112654", + "txt": "a beautiful, large, white, and white-tiled house situated on a hill overlooking the ocean" + }, + { + "__key__": "sa_8110039", + "txt": "a group of men dressed in sports uniforms, walking down a street in a city" + }, + { + "__key__": "sa_4328814", + "txt": "a large, colorful bus driving down a city street" + }, + { + "__key__": "sa_4512748", + "txt": "a large pile of toothbrushes, with each toothbrush standing upright and placed next to each other" + }, + { + "__key__": "sa_6562835", + "txt": "a black and white photo of a plaque, which is mounted on a stone or concrete surface" + }, + { + "__key__": "sa_1208739", + "txt": "a large greenhouse filled with a variety of plants, including cacti and other types of plants" + }, + { + "__key__": "sa_5636875", + "txt": "an old bottle of wine, likely a vintage bottle, with a label that reads \"Peterson's Pommery" + }, + { + "__key__": "sa_6969684", + "txt": "a large group of people standing in a courtyard, with some of them wearing school uniforms" + }, + { + "__key__": "sa_8003287", + "txt": "a tall building with a large, mirrored glass exterior" + }, + { + "__key__": "sa_6469705", + "txt": "a group of people sitting at a bar, enjoying their time together" + }, + { + "__key__": "sa_7849628", + "txt": "a large, open room filled with furniture, including a couch, chairs, and a table" + }, + { + "__key__": "sa_7948339", + "txt": "a man running on a track, surrounded by a crowd of people watching him" + }, + { + "__key__": "sa_6102367", + "txt": "a man standing next to a statue of an Indian deity, which is a Hindu god" + }, + { + "__key__": "sa_7430091", + "txt": "a serene scene of a lake with a dock, a boat, and a pier" + }, + { + "__key__": "sa_7701343", + "txt": "a large, old stone building with a clock tower and a steeple" + }, + { + "__key__": "sa_5612082", + "txt": "a group of women dressed in white and red costumes, performing on stage in front of an audience" + }, + { + "__key__": "sa_6364467", + "txt": "a large, ornate, yellow and red brick building with a tall, pointed tower" + }, + { + "__key__": "sa_7252066", + "txt": "a scenic view of a bridge that spans a river, with a lush green forest and mountains in the background" + }, + { + "__key__": "sa_6958749", + "txt": "a military tank driving down a city street, surrounded by buildings and people" + }, + { + "__key__": "sa_1530847", + "txt": "a large, white, two-story church with a steeple and a cross on top" + }, + { + "__key__": "sa_4501763", + "txt": "a large, ornate cathedral with a tall spire and a dome" + }, + { + "__key__": "sa_7431062", + "txt": "a bathroom with a white bathtub, a shower, and a toilet" + }, + { + "__key__": "sa_1532321", + "txt": "a large, white, wooden church with a steeple and a clock tower" + }, + { + "__key__": "sa_6059735", + "txt": "a couple of people standing in a body of water, likely a river, with a red sign nearby" + }, + { + "__key__": "sa_670998", + "txt": "a white sports car, likely a Porsche, parked in a parking lot" + }, + { + "__key__": "sa_486918", + "txt": "a black and white photograph of a city street with a sidewalk lined with flowers and trees" + }, + { + "__key__": "sa_1136011", + "txt": "a busy city street with a large crowd of people gathered outside a building" + }, + { + "__key__": "sa_5089781", + "txt": "a large, empty, and well-maintained courtyard with a large building in the background" + }, + { + "__key__": "sa_5143901", + "txt": "a black and white photograph featuring a person riding a bicycle on a road surrounded by mountains" + }, + { + "__key__": "sa_6162914", + "txt": "a woman working in a greenhouse, surrounded by a variety of plants and flowers" + }, + { + "__key__": "sa_4441831", + "txt": "a large swimming pool with a sandy beach area, surrounded by palm trees and a lush green garden" + }, + { + "__key__": "sa_4566980", + "txt": "a busy city street scene with people sitting at outdoor tables, enjoying their meals and drinks" + }, + { + "__key__": "sa_5396082", + "txt": "a large, ornate, and intricately decorated ceiling in a cathedral or a church" + }, + { + "__key__": "sa_149534", + "txt": "a well-maintained residential street with a brick sidewalk, a white house, and a large brick building" + }, + { + "__key__": "sa_5293839", + "txt": "a group of people running on a paved path, with one man running in front of the others" + }, + { + "__key__": "sa_4508263", + "txt": "a close-up of a storefront, featuring a large glass door with a green frame" + }, + { + "__key__": "sa_7918471", + "txt": "a collection of old motorcycles, including a variety of makes and models, parked together in a row" + }, + { + "__key__": "sa_7644073", + "txt": "a black and white photograph featuring a cityscape with a large building and a cathedral in the background" + }, + { + "__key__": "sa_1542634", + "txt": "a group of people gathered in a public space, with some of them wearing red clothing" + }, + { + "__key__": "sa_5292542", + "txt": "a group of women standing together in a room, with some of them wearing traditional Indian clothing" + }, + { + "__key__": "sa_5550669", + "txt": "a large group of people gathered in a field, watching a helicopter flying overhead" + }, + { + "__key__": "sa_6310337", + "txt": "a dirt road with a group of motorcycles parked on it, surrounded by a collection of tents and a building" + }, + { + "__key__": "sa_7812988", + "txt": "a close-up of a white flower, possibly a white flower with yellow centers, held by a person's hand" + }, + { + "__key__": "sa_7875783", + "txt": "a bench situated in a park or a public area, surrounded by trees and grass" + }, + { + "__key__": "sa_662439", + "txt": "a black and white photograph of a cityscape, featuring a large city with a river running through it" + }, + { + "__key__": "sa_7720642", + "txt": "a picturesque scene of a small town with a river running through it" + }, + { + "__key__": "sa_5227338", + "txt": "This image features a construction site with a large pile of debris, including wood, lumber, and other materials" + }, + { + "__key__": "sa_5631357", + "txt": "a group of children playing in the water at the beach, with some of them holding plastic bags" + }, + { + "__key__": "sa_4830219", + "txt": "a group of men running down a road, with one of them wearing a mask" + }, + { + "__key__": "sa_8003648", + "txt": "a large group of people on a boat, possibly a riverboat, traveling down a river" + }, + { + "__key__": "sa_8112666", + "txt": "a white and green electric car parked on the side of the road, with a sign on the back of it" + }, + { + "__key__": "sa_1393020", + "txt": "a large building with a red carpet leading up to the entrance" + }, + { + "__key__": "sa_7236749", + "txt": "a cityscape or urban landscape photograph taken at sunset" + }, + { + "__key__": "sa_1608045", + "txt": "a large blue and white boat docked at a pier, with a clear blue sky in the background" + }, + { + "__key__": "sa_1587615", + "txt": "a woman walking down a store aisle filled with mannequins dressed in clothing" + }, + { + "__key__": "sa_8055856", + "txt": "a city street with a large fountain in the middle, surrounded by buildings and people" + }, + { + "__key__": "sa_7817911", + "txt": "a man riding on the back of an elephant, with the elephant in the water" + }, + { + "__key__": "sa_616686", + "txt": "a Starbucks coffee shop located in a city, with a modern and stylish design" + }, + { + "__key__": "sa_8092104", + "txt": "a small statue of a gnome riding a toy motorcycle, sitting on a concrete surface" + }, + { + "__key__": "sa_538303", + "txt": "a small boat traveling down a river, surrounded by a picturesque cityscape" + }, + { + "__key__": "sa_6818019", + "txt": "a large, modern building with a glass facade, which is situated next to a busy street" + }, + { + "__key__": "sa_6178727", + "txt": "a young child sitting on the floor in a bedroom, wearing pajamas and holding a stuffed animal" + }, + { + "__key__": "sa_6275560", + "txt": "a busy street scene with a mix of people, cars, and buildings" + }, + { + "__key__": "sa_5871960", + "txt": "a large, open-air mall with a large swimming pool in the center" + }, + { + "__key__": "sa_5045615", + "txt": "a group of people standing outside a market, surrounded by various fruits, including bananas and apples" + }, + { + "__key__": "sa_749050", + "txt": "a large crowd of people gathered on a cobblestone street, with a white building in the background" + }, + { + "__key__": "sa_4468332", + "txt": "a close-up of a stained glass window, showcasing its intricate design and vibrant colors" + }, + { + "__key__": "sa_6907079", + "txt": "a group of people riding horses down a street in a coastal town" + }, + { + "__key__": "sa_7588274", + "txt": "a city square with a large, open area surrounded by buildings" + }, + { + "__key__": "sa_5613664", + "txt": "a man in a black helmet and black and green racing gear, leaning over a car with a sunroof" + }, + { + "__key__": "sa_7703561", + "txt": "a group of people gathered on a street, wearing colorful clothing and holding signs" + }, + { + "__key__": "sa_529986", + "txt": "a person holding a tray of food, which appears to be a variety of pastries or desserts" + }, + { + "__key__": "sa_6475927", + "txt": "a large, white building with a blue roof and a blue and white flag flying above it" + }, + { + "__key__": "sa_145939", + "txt": "a picturesque scene of a small village with a quaint, old-fashioned architecture" + }, + { + "__key__": "sa_6009533", + "txt": "a large brick building with a clock tower, which is situated in a cityscape with many other buildings" + }, + { + "__key__": "sa_7260201", + "txt": "a black and white photograph featuring a park with a path, a bench, and trees" + }, + { + "__key__": "sa_7281526", + "txt": "a crowded scene with a large group of people gathered inside a warehouse or a large building" + }, + { + "__key__": "sa_7952801", + "txt": "a woman wearing a blue sweater and a pair of ponytail holders, standing in front of a wooden fence" + }, + { + "__key__": "sa_6944909", + "txt": "a group of men walking down a street, with one of them wearing a headscarf" + }, + { + "__key__": "sa_4908580", + "txt": "a lush green hillside filled with tea plants, with people working in the field" + }, + { + "__key__": "sa_1122686", + "txt": "a lush green forest with a dirt path leading through it" + }, + { + "__key__": "sa_8072321", + "txt": "a narrow street lined with colorful flowers, including pink and purple flowers, and greenery" + }, + { + "__key__": "sa_528522", + "txt": "a white coffee cup with a green and blue floral design on it" + }, + { + "__key__": "sa_5547691", + "txt": "a green truck driving down a busy city street, surrounded by other vehicles such as cars and buses" + }, + { + "__key__": "sa_594163", + "txt": "a group of people standing in a field, with some of them carrying backpacks and a cooler" + }, + { + "__key__": "sa_4297927", + "txt": "a large, open field with a dirt road running through it" + }, + { + "__key__": "sa_7505384", + "txt": "a large, open, and well-lit room with a high ceiling, marble floors, and numerous windows" + }, + { + "__key__": "sa_6905893", + "txt": "a cityscape with a large skyscraper, a tree, and a cloudy sky" + }, + { + "__key__": "sa_814179", + "txt": "a group of men working together to clear snow off the roof of a house" + }, + { + "__key__": "sa_4677242", + "txt": "a large group of people gathered at the top of a mountain, overlooking a city" + }, + { + "__key__": "sa_7368989", + "txt": "a large pile of fish, specifically shrimp, on a table" + }, + { + "__key__": "sa_4744458", + "txt": "a large sculpture of a hand holding a hand, situated on a bridge" + }, + { + "__key__": "sa_5731939", + "txt": "a close-up of a chocolate bar with a yellow wrapper, which is sitting on a white surface" + }, + { + "__key__": "sa_1250272", + "txt": "a large crowd of people gathered in front of a building, with a statue of a man holding a baby in his arms" + }, + { + "__key__": "sa_4990935", + "txt": "a sign hanging from a brick building, which is located on a city street" + }, + { + "__key__": "sa_7591339", + "txt": "a busy outdoor market with a large number of people shopping for fruits and vegetables" + }, + { + "__key__": "sa_1153101", + "txt": "a green and white train traveling down the tracks, surrounded by a lush green field and trees" + }, + { + "__key__": "sa_4723844", + "txt": "a group of people gathered in a city street, with some of them holding cell phones" + }, + { + "__key__": "sa_6611836", + "txt": "a large wooden house with a balcony, a porch, and a balcony railing" + }, + { + "__key__": "sa_1442599", + "txt": "a yellow taxi cab parked in a parking lot" + }, + { + "__key__": "sa_7360392", + "txt": "a woman standing in front of a DJ booth, surrounded by a large crowd of people" + }, + { + "__key__": "sa_4713619", + "txt": "a cityscape with a large city in the background, surrounded by mountains" + }, + { + "__key__": "sa_7252852", + "txt": "a blue trash can sitting on the sidewalk, next to a brick wall" + }, + { + "__key__": "sa_8048431", + "txt": "a large jetliner, specifically a Korean Air plane, sitting on the runway at an airport" + }, + { + "__key__": "sa_4810118", + "txt": "a man working on a utility pole, possibly fixing or maintaining the electrical lines" + }, + { + "__key__": "sa_1258353", + "txt": "a close-up view of a tree branch with green leaves, surrounded by a blue sky" + }, + { + "__key__": "sa_6074402", + "txt": "a man holding a child in his arms while walking down the street" + }, + { + "__key__": "sa_8062407", + "txt": "a group of people gathered around a table, playing a video game using a Nintendo Wii console" + }, + { + "__key__": "sa_6624647", + "txt": "a group of people gathered in a public space, with some wearing traditional clothing" + }, + { + "__key__": "sa_1559867", + "txt": "a city street scene with a sidewalk lined with several potted plants and flowers" + }, + { + "__key__": "sa_4348592", + "txt": "a large boat docked at a marina, sitting on a body of water" + }, + { + "__key__": "sa_6030774", + "txt": "a large, two-story house with a thatched roof, which is a traditional architectural style" + }, + { + "__key__": "sa_5080308", + "txt": "a woman in a boat, surrounded by a beautiful and colorful display of flowers" + }, + { + "__key__": "sa_6552748", + "txt": "an old, ornate building with a large, white dome and a blue roof" + }, + { + "__key__": "sa_6433293", + "txt": "a woman wearing a colorful striped scarf and a black shirt" + }, + { + "__key__": "sa_7287061", + "txt": "a small boat sitting on a sandy beach, surrounded by a few other boats and a dock" + }, + { + "__key__": "sa_1185228", + "txt": "a small building with a blue door and a red door, located on a dirt road" + }, + { + "__key__": "sa_4630398", + "txt": "a field of yellow flowers, with a blue sky in the background" + }, + { + "__key__": "sa_5033163", + "txt": "a large white boat docked at a pier, with a mountainous landscape in the background" + }, + { + "__key__": "sa_5552165", + "txt": "a black and white photograph of a cityscape, featuring a large city with a river running through it" + }, + { + "__key__": "sa_1378267", + "txt": "a group of young children dressed in red and white, standing in a line and playing musical instruments" + }, + { + "__key__": "sa_6953452", + "txt": "a man standing in front of a large collection of military vehicles, including tanks and a jeep" + }, + { + "__key__": "sa_6465747", + "txt": "a black and white photograph of a tall building with a blue roof" + }, + { + "__key__": "sa_75073", + "txt": "a large building with a distinctive design, resembling a turtle or a giant turtle shell" + }, + { + "__key__": "sa_6837995", + "txt": "a close-up view of a vial containing a liquid, which is placed on a white surface" + }, + { + "__key__": "sa_4574499", + "txt": "two cans of Coca-Cola, one red and one blue, sitting side by side on a wet surface" + }, + { + "__key__": "sa_6766908", + "txt": "a woman and a man sitting in a boat filled with fruits and vegetables, surrounded by other people" + }, + { + "__key__": "sa_4378501", + "txt": "a large building with a tall, ornate tower, which is a part of a cathedral" + }, + { + "__key__": "sa_435000", + "txt": "a group of people standing in the snow, wearing traditional clothing and holding musical instruments" + }, + { + "__key__": "sa_635472", + "txt": "a large, ornate building with a green roof and a white exterior" + }, + { + "__key__": "sa_4712622", + "txt": "a large group of people marching down a city street, wearing uniforms and carrying flags" + }, + { + "__key__": "sa_4280005", + "txt": "a large, open field with a lush green lawn and a stone-paved area" + }, + { + "__key__": "sa_4585768", + "txt": "a busy city street with a large crowd of people walking on the sidewalk" + }, + { + "__key__": "sa_483012", + "txt": "a nighttime scene with a tall tower or a lighthouse, which is illuminated by a green light" + }, + { + "__key__": "sa_6756448", + "txt": "a group of people walking down a city street, with a red and white building in the background" + }, + { + "__key__": "sa_4401337", + "txt": "a busy city street with a large group of people walking around, some of them carrying handbags" + }, + { + "__key__": "sa_1270535", + "txt": "a large, empty subway station with a long, narrow platform" + }, + { + "__key__": "sa_7034520", + "txt": "a tall building with a large window, which is located in a city" + } +] \ No newline at end of file diff --git a/settings.py b/settings.py new file mode 100644 index 0000000..6510488 --- /dev/null +++ b/settings.py @@ -0,0 +1,42 @@ +# Format: rgb_generation_setting-rgba-rgba_cutout_name + + +def parse_rgb_generation_setting(rgb_generation_setting: str, setting_dict: dict): + if 'centering' not in rgb_generation_setting: + setting_dict['centering'] = 'False' + + if 'no_exc' in rgb_generation_setting: + setting_dict['exclude_generic_nouns'] = 'False' + + if 'suffix' in rgb_generation_setting: + setting_dict['use_suffix'] = 'True' + + return setting_dict + + + +def parse_setting(setting: str): + setting_dict = { + 'centering': 'True', + 'use_neg_prompt': 'True', + 'exclude_generic_nouns': 'True', + 'cutout_model': 'grabcut', + 'use_suffix': 'False' + } + + if 'rgba' in setting: + rgb_generation_setting, rgba_cutout_setting = setting.rsplit('-rgba-') + else: + rgb_generation_setting = setting + rgba_cutout_setting = None + + setting_dict = parse_rgb_generation_setting(rgb_generation_setting, setting_dict) + if rgba_cutout_setting: + if 'alfie' in rgba_cutout_setting: + setting_dict['cutout_model'] = 'grabcut' + elif 'vit_matte' in rgba_cutout_setting: + setting_dict['cutout_model'] = 'vit-matte' + else: + raise ValueError(f"Invalid cutout model: {rgba_cutout_setting}. Options: ['grabcut', 'vit_matte']") + + return setting_dict \ No newline at end of file