├── LICENSE
├── README.md
├── configs
├── home.yaml
├── office.yaml
└── visda2017.yaml
├── core
├── __init__.py
├── active
│ ├── __init__.py
│ ├── active.py
│ └── loss.py
├── config
│ ├── __init__.py
│ └── defaults.py
├── datasets
│ ├── __init__.py
│ ├── image_list.py
│ └── transforms.py
├── models
│ ├── __init__.py
│ └── network.py
└── utils
│ ├── __init__.py
│ ├── logger.py
│ ├── metric_logger.py
│ └── utils.py
├── data
└── list
│ ├── home
│ ├── Art_test.txt
│ ├── Art_train.txt
│ ├── Clipart_test.txt
│ ├── Clipart_train.txt
│ ├── Product_test.txt
│ ├── Product_train.txt
│ ├── RealWorld_test.txt
│ └── RealWorld_train.txt
│ ├── office
│ ├── amazon_test.txt
│ ├── amazon_train.txt
│ ├── dslr_test.txt
│ ├── dslr_train.txt
│ ├── webcam_test.txt
│ └── webcam_train.txt
│ └── visda2017
│ ├── real_test.txt
│ ├── real_train.txt
│ └── synthetic_train.txt
├── docs
└── eada.png
├── main.py
└── requirements.txt
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 BIT-DA
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ---
2 |
3 |
4 |
5 | # Active Learning for Domain Adaptation: An Energy-based Approach
6 |
7 | [Binhui Xie](https://binhuixie.github.io), [Longhui Yuan](https://yuanlonghui.github.io), [Shuang Li](https://shuangli.xyz), [Chi Harold Liu](https://scholar.google.com/citations?user=3IgFTEkAAAAJ&hl=en), [Xinjing Cheng](https://scholar.google.com/citations?user=8QbRVCsAAAAJ&hl=en) and [Guoren Wang](https://scholar.google.com.hk/citations?hl=en&user=UjlGD7AAAAAJ)
8 |
9 |
10 | [](https://arxiv.org/abs/2112.01406)
11 | [](https://www.bilibili.com/video/BV1qa411h7Xm/?share_source=copy_web&vd_source=2536293932098e7a347341a231b3fb8b)
12 | [](https://www.dropbox.com/s/8ozwc8uw1q1tqlf/eada_slides.pdf?dl=0)
13 |
14 |
15 |
16 |
17 | Unsupervised domain adaptation (UDA) has recently emerged as an effective paradigm for generalizing deep neural networks to new target domains. However, there is still enormous potential to be tapped to reach the fully supervised performance.
18 |
19 | We start from an observation that energy-based models exhibit free energy biases when training (source) and test (target) data come from different distributions. Inspired by this inherent mechanism, we empirically reveal that a simple yet efficient energy-based sampling strategy sheds light on selecting the most valuable target samples than existing approaches requiring particular architectures or computation of the distances.
20 |
21 | Our algorithm, Energy-based Active Domain Adaptation (EADA), queries groups of target data that incorporate both domain characteristic and instance uncertainty into every selection round. Meanwhile, by aligning the free energy of target data compact around the source domain via a regularization term, domain gap can be implicitly diminished.
22 |
23 | 
24 |
25 | Through extensive experiments, we show that EADA surpasses state-of-the-art methods on well-known challenging benchmarks with substantial improvements, making it a useful option in the open world.
26 |
27 | For more information on EADA, please check our **[[Paper](https://arxiv.org/pdf/2112.01406.pdf)]**.
28 |
29 | If you find this project useful in your research, please consider citing:
30 |
31 | ```bib
32 | @inproceedings{xie2022active,
33 | title={Active learning for domain adaptation: An energy-based approach},
34 | author={Xie, Binhui and Yuan, Longhui and Li, Shuang and Liu, Chi Harold and Cheng, Xinjing and Wang, Guoren},
35 | booktitle={Proceedings of the AAAI Conference on Artificial Intelligence},
36 | volume={36},
37 | number={8},
38 | pages={8708--8716},
39 | year={2022}
40 | }
41 | ```
42 |
43 |
44 | ## Setup Environment
45 |
46 | For this project, we used python 3.7.5. We recommend setting up a new virtual environment:
47 |
48 | **Step-by-step installation**
49 |
50 | ```bash
51 | conda create --name activeDA -y python=3.7
52 | conda activate activeDA
53 |
54 | # this installs the right pip and dependencies for the fresh python
55 | conda install -y ipython pip
56 |
57 | pip install -r requirements.txt
58 | ```
59 |
60 | ### Setup Datasets
61 | - Download [The Office-31 Dataset](https://faculty.cc.gatech.edu/~judy/domainadapt/)
62 | - Download [The Office-Home Dataset](http://hemanthdv.org/OfficeHome-Dataset/)
63 | - Download [The VisDA-2017 Dataset](https://github.com/VisionLearningGroup/taskcv-2017-public/tree/master/classification)
64 |
65 | The data folder should be structured as follows:
66 | ```
67 | ├── data/
68 | │ ├── office31/
69 | | | ├── amazon/
70 | | | ├── dslr/
71 | | | ├── webcam/
72 | │ ├── home/
73 | | | ├── Art/
74 | | | ├── Clipart/
75 | | | ├── Product/
76 | | | ├── RealWorld/
77 | │ ├── visda2017/
78 | | | ├── train/
79 | | | ├── validation/
80 | │ └──
81 | ```
82 |
83 | Symlink the required dataset
84 | ```
85 | ln -s /path_to_office31_dataset data/office31
86 | ln -s /path_to_home_dataset data/home
87 | ln -s /path_to_visda2017_dataset/clf/ data/visda2017
88 | ```
89 |
90 | ## Running the code
91 |
92 | For Office-31
93 | ```
94 | python main.py --cfg configs/office.yaml
95 | ```
96 |
97 | For Office-Home
98 | ```
99 | python main.py --cfg configs/home.yaml
100 | ```
101 |
102 | For VisDA-2017
103 | ```
104 | python main.py --cfg configs/visda2017.yaml
105 | ```
106 |
107 | ## Acknowledgements
108 |
109 | This project is based on the following open-source projects. We thank their authors for making the source code publicly available.
110 | - [Transferable-Query-Selection](https://github.com/thuml/Transferable-Query-Selection)
111 |
112 | ## Contact
113 |
114 | If you have any problem about our code, feel free to contact
115 |
116 | - [binhuixie@bit.edu.cn](mailto:binhuixie@bit.edu.cn)
117 |
118 | or describe your problem in Issues.
119 |
--------------------------------------------------------------------------------
/configs/home.yaml:
--------------------------------------------------------------------------------
1 | OUTPUT_DIR: 'results/'
2 |
3 | INPUT:
4 | SIZE: (256, 256)
5 | CROP_SIZE: (224, 224)
6 | SOURCE_TRANSFORMS: ('random_crop', 'normalize', 'colorjitter')
7 | TARGET_TRANSFORMS: ('random_crop', 'normalize')
8 | TEST_TRANSFORMS: ('center_crop', 'normalize')
9 | PIXEL_MEAN: [0.485, 0.456, 0.406]
10 | PIXEL_STD: [0.229, 0.224, 0.225]
11 |
12 | DATASET:
13 | ROOT: 'data/list/'
14 | NAME: 'home'
15 | SOURCE_DOMAINS: ['Art', 'Clipart', 'Product', 'RealWorld']
16 | TARGET_DOMAINS: ['Art', 'Clipart', 'Product', 'RealWorld']
17 | NUM_CLASS: 65
18 |
19 | DATALOADER:
20 | SOURCE:
21 | BATCH_SIZE: 32
22 | TARGET:
23 | BATCH_SIZE: 32
24 | TEST:
25 | BATCH_SIZE: 32
26 | OPTIM:
27 | NAME: 'Adadelta'
28 | LR: 0.1
29 | BASE_LR_MULT: 0.1
30 |
31 | TRAINER:
32 | NAME: 'EADA'
33 | MAX_EPOCHS: 40
34 | ENERGY_ALIGN_WEIGHT: 0.01
35 | ENERGY_ALIGN_TYPE: 'max'
36 | FIRST_SAMPLE_RATIO: 0.5
37 |
38 | SEED: 0 # 0,1,2,3,4 for five random experiments
39 |
40 |
--------------------------------------------------------------------------------
/configs/office.yaml:
--------------------------------------------------------------------------------
1 | OUTPUT_DIR: 'results/'
2 |
3 | INPUT:
4 | SIZE: (256, 256)
5 | CROP_SIZE: (224, 224)
6 | SOURCE_TRANSFORMS: ('random_crop', 'normalize', 'colorjitter')
7 | TARGET_TRANSFORMS: ('random_crop', 'normalize')
8 | TEST_TRANSFORMS: ('center_crop', 'normalize')
9 | PIXEL_MEAN: [0.485, 0.456, 0.406]
10 | PIXEL_STD: [0.229, 0.224, 0.225]
11 |
12 | DATASET:
13 | ROOT: 'data/list/'
14 | NAME: 'office'
15 | SOURCE_DOMAINS: ['amazon', 'dslr', 'webcam']
16 | TARGET_DOMAINS: ['amazon', 'dslr', 'webcam']
17 | NUM_CLASS: 31
18 |
19 | DATALOADER:
20 | SOURCE:
21 | BATCH_SIZE: 32
22 | TARGET:
23 | BATCH_SIZE: 32
24 | TEST:
25 | BATCH_SIZE: 32
26 | TRAIN:
27 | PRINT_FREQ: 10
28 |
29 | OPTIM:
30 | NAME: 'Adadelta'
31 | LR: 0.1
32 | BASE_LR_MULT: 0.1
33 |
34 | TRAINER:
35 | NAME: 'EADA'
36 | MAX_EPOCHS: 50
37 | ENERGY_ALIGN_WEIGHT: 0.01
38 | ENERGY_ALIGN_TYPE: 'max'
39 | FIRST_SAMPLE_RATIO: 0.5
40 |
41 | SEED: 0
--------------------------------------------------------------------------------
/configs/visda2017.yaml:
--------------------------------------------------------------------------------
1 | OUTPUT_DIR: 'results/'
2 |
3 | MODEL:
4 | BACKBONE:
5 | NAME: 'resnet50' # resnet18 or resnet50
6 |
7 | INPUT:
8 | SIZE: (256, 256)
9 | CROP_SIZE: (224, 224)
10 | SOURCE_TRANSFORMS: ('random_crop', 'normalize', 'colorjitter')
11 | TARGET_TRANSFORMS: ('random_crop', 'normalize')
12 | TEST_TRANSFORMS: ('center_crop', 'normalize')
13 | PIXEL_MEAN: [0.485, 0.456, 0.406]
14 | PIXEL_STD: [0.229, 0.224, 0.225]
15 |
16 | DATASET:
17 | ROOT: 'data/list/'
18 | NAME: 'visda2017'
19 | SOURCE_DOMAINS: ['synthetic']
20 | TARGET_DOMAINS: ['real']
21 | NUM_CLASS: 12
22 |
23 | DATALOADER:
24 | SOURCE:
25 | BATCH_SIZE: 32
26 | TARGET:
27 | BATCH_SIZE: 32
28 | TEST:
29 | BATCH_SIZE: 32
30 | OPTIM:
31 | NAME: 'Adadelta'
32 | LR: 0.1
33 | BASE_LR_MULT: 0.1
34 | TRAIN:
35 | PRINT_FREQ: 100
36 |
37 | TRAINER:
38 | NAME: 'EADA'
39 | MAX_EPOCHS: 20
40 | ENERGY_ALIGN_WEIGHT: 0.0005
41 | ENERGY_ALIGN_TYPE: 'max'
42 | FIRST_SAMPLE_RATIO: 0.5
43 |
44 | SEED: 0
45 |
--------------------------------------------------------------------------------
/core/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BIT-DA/EADA/05040e37735bf24da7ccf2249a896d70c897f4bd/core/__init__.py
--------------------------------------------------------------------------------
/core/active/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BIT-DA/EADA/05040e37735bf24da7ccf2249a896d70c897f4bd/core/active/__init__.py
--------------------------------------------------------------------------------
/core/active/active.py:
--------------------------------------------------------------------------------
1 | import random
2 | import math
3 | import numpy as np
4 | import torch
5 |
6 |
7 | def RAND_active(tgt_unlabeled_ds, tgt_selected_ds, active_ratio, totality):
8 | length = len(tgt_unlabeled_ds.samples)
9 | index = random.sample(range(length), round(totality * active_ratio))
10 |
11 | active_samples = tgt_unlabeled_ds.samples[index]
12 |
13 | tgt_selected_ds.add_item(active_samples)
14 | tgt_unlabeled_ds.remove_item(index)
15 |
16 | return active_samples
17 |
18 |
19 | def EADA_active(tgt_unlabeled_loader_full, tgt_unlabeled_ds, tgt_selected_ds, active_ratio, totality, model, cfg):
20 | model.eval()
21 | first_stat = list()
22 | with torch.no_grad():
23 | for _, data in enumerate(tgt_unlabeled_loader_full):
24 | tgt_img, tgt_lbl = data['img'], data['label']
25 | tgt_path, tgt_index = data['path'], data['index']
26 | tgt_img, tgt_lbl = tgt_img.cuda(), tgt_lbl.cuda()
27 |
28 | tgt_out = model(tgt_img, return_feat=False)
29 |
30 | # MvSM of each sample
31 | # minimal energy - second minimal energy
32 | min2 = torch.topk(tgt_out, k=2, dim=1, largest=False).values
33 | mvsm_uncertainty = min2[:, 0] - min2[:, 1]
34 |
35 | # free energy of each sample
36 | output_div_t = -1.0 * tgt_out / cfg.TRAINER.ENERGY_BETA
37 | output_logsumexp = torch.logsumexp(output_div_t, dim=1, keepdim=False)
38 | free_energy = -1.0 * cfg.TRAINER.ENERGY_BETA * output_logsumexp
39 |
40 | for i in range(len(free_energy)):
41 | first_stat.append([tgt_path[i], tgt_lbl[i].item(), tgt_index[i].item(),
42 | mvsm_uncertainty[i].item(), free_energy[i].item()])
43 |
44 | first_sample_ratio = cfg.TRAINER.FIRST_SAMPLE_RATIO
45 | first_sample_num = math.ceil(totality * first_sample_ratio)
46 | second_sample_ratio = active_ratio / cfg.TRAINER.FIRST_SAMPLE_RATIO
47 | second_sample_num = math.ceil(first_sample_num * second_sample_ratio)
48 |
49 | # the first sample using \mathca{F}, higher value, higher consideration
50 | first_stat = sorted(first_stat, key=lambda x: x[4], reverse=True)
51 | second_stat = first_stat[:first_sample_num]
52 |
53 | # the second sample using \mathca{U}, higher value, higher consideration
54 | second_stat = sorted(second_stat, key=lambda x: x[3], reverse=True)
55 | second_stat = np.array(second_stat)
56 |
57 | active_samples = second_stat[:second_sample_num, 0:2, ...]
58 | candidate_ds_index = second_stat[:second_sample_num, 2, ...]
59 | candidate_ds_index = np.array(candidate_ds_index, dtype=np.int)
60 |
61 | tgt_selected_ds.add_item(active_samples)
62 | tgt_unlabeled_ds.remove_item(candidate_ds_index)
63 |
64 | return active_samples
65 |
--------------------------------------------------------------------------------
/core/active/loss.py:
--------------------------------------------------------------------------------
1 | import torch
2 | import torch.nn as nn
3 |
4 |
5 | def bound_max_loss(energy, bound):
6 | """
7 | return the loss value of max(0, \mathcal{F}(x) - \Delta )
8 | """
9 | energy_minus_bound = energy - bound
10 | energy_minus_bound = torch.unsqueeze(energy_minus_bound, dim=1)
11 | zeros = torch.zeros_like(energy_minus_bound)
12 | for_select = torch.cat((energy_minus_bound, zeros), dim=1)
13 | selected = torch.max(for_select, dim=1).values
14 |
15 | return selected.mean()
16 |
17 |
18 | class FreeEnergyAlignmentLoss(nn.Module):
19 | """
20 | free energy alignment loss
21 | """
22 |
23 | def __init__(self, cfg):
24 | super(FreeEnergyAlignmentLoss, self).__init__()
25 | assert cfg.TRAINER.ENERGY_BETA > 0, "beta for energy calculate must be larger than 0"
26 | self.beta = cfg.TRAINER.ENERGY_BETA
27 |
28 | self.type = cfg.TRAINER.ENERGY_ALIGN_TYPE
29 |
30 | if self.type == 'l1':
31 | self.loss = nn.L1Loss()
32 | elif self.type == 'mse':
33 | self.loss = nn.MSELoss()
34 | elif self.type == 'max':
35 | self.loss = bound_max_loss
36 |
37 | def forward(self, inputs, bound):
38 | mul_neg_beta = -1.0 * self.beta * inputs
39 | log_sum_exp = torch.logsumexp(mul_neg_beta, dim=1)
40 | free_energies = -1.0 * log_sum_exp / self.beta
41 |
42 | bound = torch.ones_like(free_energies) * bound
43 | loss = self.loss(free_energies, bound)
44 |
45 | return loss
46 |
47 |
48 | class NLLLoss(nn.Module):
49 | """
50 | NLL loss for energy based model
51 | """
52 |
53 | def __init__(self, cfg):
54 | super(NLLLoss, self).__init__()
55 | assert cfg.TRAINER.ENERGY_BETA > 0, "beta for energy calculate must be larger than 0"
56 | self.beta = cfg.TRAINER.ENERGY_BETA
57 |
58 | def forward(self, inputs, targets):
59 | indices = torch.unsqueeze(targets, dim=1)
60 | energy_c = torch.gather(inputs, dim=1, index=indices)
61 |
62 | all_energy = -1.0 * self.beta * inputs
63 | free_energy = -1.0 * torch.logsumexp(all_energy, dim=1, keepdim=True) / self.beta
64 |
65 | nLL = energy_c - free_energy
66 |
67 | return nLL.mean()
68 |
--------------------------------------------------------------------------------
/core/config/__init__.py:
--------------------------------------------------------------------------------
1 | from .defaults import _C as cfg
2 |
3 |
4 | def get_cfg_default():
5 | return cfg.clone()
6 |
--------------------------------------------------------------------------------
/core/config/defaults.py:
--------------------------------------------------------------------------------
1 | from yacs.config import CfgNode as CN
2 |
3 | ###########################
4 | # Config definition
5 | ###########################
6 |
7 | _C = CN()
8 |
9 | _C.VERSION = 1
10 |
11 | # Directory to save the output files
12 | _C.OUTPUT_DIR = './output'
13 | # Path to a directory where the files were saved previously
14 | _C.RESUME = ''
15 | # Set seed to negative value to randomize everything
16 | # Set seed to positive value to use a fixed seed
17 | _C.SEED = -1
18 |
19 | ###########################
20 | # Input
21 | ###########################
22 | _C.INPUT = CN()
23 | _C.INPUT.SIZE = (256, 256)
24 | _C.INPUT.CROP_SIZE = (224, 224)
25 | # Mode of interpolation in resize functions
26 | _C.INPUT.INTERPOLATION = 'bilinear'
27 | # For available choices please refer to transforms.py
28 | _C.INPUT.SOURCE_TRANSFORMS = ('random_crop', 'normalize') # source training set
29 | _C.INPUT.TARGET_TRANSFORMS = ('random_crop', 'normalize') # target training set
30 | _C.INPUT.TEST_TRANSFORMS = ('center_crop', 'normalize') # target test set
31 | # Default mean and std come from ImageNet
32 | _C.INPUT.PIXEL_MEAN = [0.485, 0.456, 0.406]
33 | _C.INPUT.PIXEL_STD = [0.229, 0.224, 0.225]
34 | # Padding for random crop
35 | _C.INPUT.CROP_PADDING = None
36 | # ColorJitter (brightness, contrast, saturation, hue)
37 | _C.INPUT.COLORJITTER_SCALAR = 0.5 # 0.1, 0.3, 0.5, 0.8, 1.0
38 |
39 | ###########################
40 | # Dataset
41 | ###########################
42 | _C.DATASET = CN()
43 | # Directory where datasets are stored
44 | _C.DATASET.ROOT = ''
45 | _C.DATASET.NAME = ''
46 | # List of domains
47 | _C.DATASET.SOURCE_DOMAINS = []
48 | _C.DATASET.TARGET_DOMAINS = []
49 | _C.DATASET.SOURCE_TRAIN_DOMAIN = ''
50 | _C.DATASET.TARGET_TRAIN_DOMAIN = ''
51 | _C.DATASET.TARGET_VAL_DOMAIN = ''
52 |
53 | # Number of class
54 | _C.DATASET.NUM_CLASS = 12
55 |
56 | ###########################
57 | # Dataloader
58 | ###########################
59 | _C.DATALOADER = CN()
60 | _C.DATALOADER.NUM_WORKERS = 4
61 | # Setting for the source data-loader
62 | _C.DATALOADER.SOURCE = CN()
63 | _C.DATALOADER.SOURCE.BATCH_SIZE = 32
64 | # Setting for the target data-loader
65 | _C.DATALOADER.TARGET = CN()
66 | _C.DATALOADER.TARGET.BATCH_SIZE = 32
67 | # Setting for the test data-loader
68 | _C.DATALOADER.TEST = CN()
69 | _C.DATALOADER.TEST.BATCH_SIZE = 32
70 |
71 | ###########################
72 | # Model
73 | ###########################
74 | _C.MODEL = CN()
75 | # Path to model weights (for initialization)
76 | _C.MODEL.INIT_WEIGHTS = ''
77 | _C.MODEL.BACKBONE = CN()
78 | _C.MODEL.BACKBONE.NAME = 'resnet50' # resnet18 or resnet50
79 | _C.MODEL.BACKBONE.PRETRAINED = True
80 |
81 | ###########################
82 | # Optimization
83 | ###########################
84 | _C.OPTIM = CN()
85 | _C.OPTIM.NAME = 'Adadelta'
86 | _C.OPTIM.LR = 0.1
87 | _C.OPTIM.BASE_LR_MULT = 0.1
88 |
89 | # ###########################
90 | # # Train
91 | # ###########################
92 | _C.TRAIN = CN()
93 | # # How often (batch) to print training information
94 | _C.TRAIN.PRINT_FREQ = 50
95 |
96 | ###########################
97 | # Trainer specifics
98 | ###########################
99 | _C.TRAINER = CN()
100 | _C.TRAINER.NAME = 'EADA' # EADA or RAND
101 | _C.TRAINER.MAX_EPOCHS = 20
102 | _C.TRAINER.ENERGY_ALIGN_TYPE = 'max'
103 | _C.TRAINER.ENERGY_ALIGN_WEIGHT = 0.01
104 | _C.TRAINER.ACTIVE_ROUND = [10, 12, 14, 16, 18]
105 | _C.TRAINER.EPSILON = 0.05
106 | _C.TRAINER.ENERGY_BETA = 1.0
107 | _C.TRAINER.FIRST_SAMPLE_RATIO = 0.5
108 |
--------------------------------------------------------------------------------
/core/datasets/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BIT-DA/EADA/05040e37735bf24da7ccf2249a896d70c897f4bd/core/datasets/__init__.py
--------------------------------------------------------------------------------
/core/datasets/image_list.py:
--------------------------------------------------------------------------------
1 | from torchvision.datasets import VisionDataset
2 | import warnings
3 | import torch
4 | from PIL import Image
5 | import os
6 | import os.path
7 | import numpy as np
8 | from torchvision import transforms
9 |
10 |
11 | def pil_loader(path):
12 | # open path as file to avoid ResourceWarning (https://github.com/python-pillow/Pillow/issues/835)
13 | with open(path, 'rb') as f:
14 | img = Image.open(f)
15 | return img.convert('RGB')
16 |
17 |
18 | class ImageList(VisionDataset):
19 | """
20 | Args:
21 | root (string): Root directory of dataset
22 | transform (callable, optional): A function/transform that takes in an PIL image
23 | and returns a transformed version. E.g, ``transforms.RandomCrop``
24 | target_transform (callable, optional): A function/transform that takes in the
25 | target and transforms it.
26 | """
27 |
28 | def __init__(self, root=None, transform=None, target_transform=None, empty=False):
29 | super(ImageList, self).__init__(root, transform=transform, target_transform=target_transform)
30 |
31 | self.empty = empty
32 | if empty:
33 | self.samples = np.empty((1, 2), dtype=' 0:
10 | return logger
11 | ch = logging.StreamHandler(stream=sys.stdout)
12 | ch.setLevel(logging.DEBUG)
13 | formatter = logging.Formatter("%(asctime)s %(name)s %(levelname)s: %(message)s")
14 | ch.setFormatter(formatter)
15 | logger.addHandler(ch)
16 |
17 | if save_dir:
18 | fh = logging.FileHandler(os.path.join(save_dir, filename))
19 | fh.setLevel(logging.DEBUG)
20 | fh.setFormatter(formatter)
21 | logger.addHandler(fh)
22 |
23 | return logger
--------------------------------------------------------------------------------
/core/utils/metric_logger.py:
--------------------------------------------------------------------------------
1 | from collections import defaultdict
2 | from collections import deque
3 |
4 | import torch
5 |
6 |
7 | class SmoothedValue(object):
8 |
9 | def __init__(self, window_size=20):
10 | self.deque = deque(maxlen=window_size)
11 | self.series = []
12 | self.total = 0.0
13 | self.count = 0
14 |
15 | def update(self, value):
16 | self.deque.append(value)
17 | self.series.append(value)
18 | self.count += 1
19 | self.total += value
20 |
21 | @property
22 | def median(self):
23 | d = torch.tensor(list(self.deque))
24 | return d.median().item()
25 |
26 | @property
27 | def avg(self):
28 | d = torch.tensor(list(self.deque))
29 | return d.mean().item()
30 |
31 | @property
32 | def global_avg(self):
33 | return self.total / self.count
34 |
35 |
36 | class MetricLogger(object):
37 | def __init__(self, delimiter="\t"):
38 | self.meters = defaultdict(SmoothedValue)
39 | self.delimiter = delimiter
40 |
41 | def update(self, **kwargs):
42 | for k, v in kwargs.items():
43 | if isinstance(v, torch.Tensor):
44 | v = v.item()
45 | assert isinstance(v, (float, int))
46 | self.meters[k].update(v)
47 |
48 | def __getattr__(self, attr):
49 | if attr in self.meters:
50 | return self.meters[attr]
51 | if attr in self.__dict__:
52 | return self.__dict__[attr]
53 | raise AttributeError("'{}' object has no attribute '{}'".format(
54 | type(self).__name__, attr))
55 |
56 | def __str__(self):
57 | loss_str = []
58 | for name, meter in self.meters.items():
59 | loss_str.append(
60 | "{}: {:.4f} ({:.4f})".format(name, meter.median, meter.global_avg)
61 | )
62 | return self.delimiter.join(loss_str)
--------------------------------------------------------------------------------
/core/utils/utils.py:
--------------------------------------------------------------------------------
1 | import torch
2 | import numpy as np
3 | import random
4 | import os
5 | import errno
6 |
7 | import logging
8 | import sys
9 |
10 |
11 | def momentum_update(ema, current):
12 | lambd = np.random.uniform()
13 | return ema * lambd + current * (1 - lambd)
14 |
15 |
16 | def mkdir(path):
17 | try:
18 | os.makedirs(path)
19 | except OSError as e:
20 | if e.errno != errno.EEXIST:
21 | raise
22 |
23 |
24 | def set_random_seed(seed):
25 | random.seed(seed)
26 | np.random.seed(seed)
27 | torch.manual_seed(seed)
28 | torch.cuda.manual_seed_all(seed)
29 |
--------------------------------------------------------------------------------
/data/list/office/dslr_test.txt:
--------------------------------------------------------------------------------
1 | data/office31/dslr/calculator/frame_0001.jpg 5
2 | data/office31/dslr/calculator/frame_0002.jpg 5
3 | data/office31/dslr/calculator/frame_0003.jpg 5
4 | data/office31/dslr/calculator/frame_0004.jpg 5
5 | data/office31/dslr/calculator/frame_0005.jpg 5
6 | data/office31/dslr/calculator/frame_0006.jpg 5
7 | data/office31/dslr/calculator/frame_0007.jpg 5
8 | data/office31/dslr/calculator/frame_0008.jpg 5
9 | data/office31/dslr/calculator/frame_0009.jpg 5
10 | data/office31/dslr/calculator/frame_0010.jpg 5
11 | data/office31/dslr/calculator/frame_0011.jpg 5
12 | data/office31/dslr/calculator/frame_0012.jpg 5
13 | data/office31/dslr/ring_binder/frame_0001.jpg 24
14 | data/office31/dslr/ring_binder/frame_0002.jpg 24
15 | data/office31/dslr/ring_binder/frame_0003.jpg 24
16 | data/office31/dslr/ring_binder/frame_0004.jpg 24
17 | data/office31/dslr/ring_binder/frame_0005.jpg 24
18 | data/office31/dslr/ring_binder/frame_0006.jpg 24
19 | data/office31/dslr/ring_binder/frame_0007.jpg 24
20 | data/office31/dslr/ring_binder/frame_0008.jpg 24
21 | data/office31/dslr/ring_binder/frame_0009.jpg 24
22 | data/office31/dslr/ring_binder/frame_0010.jpg 24
23 | data/office31/dslr/printer/frame_0001.jpg 21
24 | data/office31/dslr/printer/frame_0002.jpg 21
25 | data/office31/dslr/printer/frame_0003.jpg 21
26 | data/office31/dslr/printer/frame_0004.jpg 21
27 | data/office31/dslr/printer/frame_0005.jpg 21
28 | data/office31/dslr/printer/frame_0006.jpg 21
29 | data/office31/dslr/printer/frame_0007.jpg 21
30 | data/office31/dslr/printer/frame_0008.jpg 21
31 | data/office31/dslr/printer/frame_0009.jpg 21
32 | data/office31/dslr/printer/frame_0010.jpg 21
33 | data/office31/dslr/printer/frame_0011.jpg 21
34 | data/office31/dslr/printer/frame_0012.jpg 21
35 | data/office31/dslr/printer/frame_0013.jpg 21
36 | data/office31/dslr/printer/frame_0014.jpg 21
37 | data/office31/dslr/printer/frame_0015.jpg 21
38 | data/office31/dslr/keyboard/frame_0001.jpg 11
39 | data/office31/dslr/keyboard/frame_0002.jpg 11
40 | data/office31/dslr/keyboard/frame_0003.jpg 11
41 | data/office31/dslr/keyboard/frame_0004.jpg 11
42 | data/office31/dslr/keyboard/frame_0005.jpg 11
43 | data/office31/dslr/keyboard/frame_0006.jpg 11
44 | data/office31/dslr/keyboard/frame_0007.jpg 11
45 | data/office31/dslr/keyboard/frame_0008.jpg 11
46 | data/office31/dslr/keyboard/frame_0009.jpg 11
47 | data/office31/dslr/keyboard/frame_0010.jpg 11
48 | data/office31/dslr/scissors/frame_0001.jpg 26
49 | data/office31/dslr/scissors/frame_0002.jpg 26
50 | data/office31/dslr/scissors/frame_0003.jpg 26
51 | data/office31/dslr/scissors/frame_0004.jpg 26
52 | data/office31/dslr/scissors/frame_0005.jpg 26
53 | data/office31/dslr/scissors/frame_0006.jpg 26
54 | data/office31/dslr/scissors/frame_0007.jpg 26
55 | data/office31/dslr/scissors/frame_0008.jpg 26
56 | data/office31/dslr/scissors/frame_0009.jpg 26
57 | data/office31/dslr/scissors/frame_0010.jpg 26
58 | data/office31/dslr/scissors/frame_0011.jpg 26
59 | data/office31/dslr/scissors/frame_0012.jpg 26
60 | data/office31/dslr/scissors/frame_0013.jpg 26
61 | data/office31/dslr/scissors/frame_0014.jpg 26
62 | data/office31/dslr/scissors/frame_0015.jpg 26
63 | data/office31/dslr/scissors/frame_0016.jpg 26
64 | data/office31/dslr/scissors/frame_0017.jpg 26
65 | data/office31/dslr/scissors/frame_0018.jpg 26
66 | data/office31/dslr/laptop_computer/frame_0001.jpg 12
67 | data/office31/dslr/laptop_computer/frame_0002.jpg 12
68 | data/office31/dslr/laptop_computer/frame_0003.jpg 12
69 | data/office31/dslr/laptop_computer/frame_0004.jpg 12
70 | data/office31/dslr/laptop_computer/frame_0005.jpg 12
71 | data/office31/dslr/laptop_computer/frame_0006.jpg 12
72 | data/office31/dslr/laptop_computer/frame_0007.jpg 12
73 | data/office31/dslr/laptop_computer/frame_0008.jpg 12
74 | data/office31/dslr/laptop_computer/frame_0009.jpg 12
75 | data/office31/dslr/laptop_computer/frame_0010.jpg 12
76 | data/office31/dslr/laptop_computer/frame_0011.jpg 12
77 | data/office31/dslr/laptop_computer/frame_0012.jpg 12
78 | data/office31/dslr/laptop_computer/frame_0013.jpg 12
79 | data/office31/dslr/laptop_computer/frame_0014.jpg 12
80 | data/office31/dslr/laptop_computer/frame_0015.jpg 12
81 | data/office31/dslr/laptop_computer/frame_0016.jpg 12
82 | data/office31/dslr/laptop_computer/frame_0017.jpg 12
83 | data/office31/dslr/laptop_computer/frame_0018.jpg 12
84 | data/office31/dslr/laptop_computer/frame_0019.jpg 12
85 | data/office31/dslr/laptop_computer/frame_0020.jpg 12
86 | data/office31/dslr/laptop_computer/frame_0021.jpg 12
87 | data/office31/dslr/laptop_computer/frame_0022.jpg 12
88 | data/office31/dslr/laptop_computer/frame_0023.jpg 12
89 | data/office31/dslr/laptop_computer/frame_0024.jpg 12
90 | data/office31/dslr/mouse/frame_0001.jpg 16
91 | data/office31/dslr/mouse/frame_0002.jpg 16
92 | data/office31/dslr/mouse/frame_0003.jpg 16
93 | data/office31/dslr/mouse/frame_0004.jpg 16
94 | data/office31/dslr/mouse/frame_0005.jpg 16
95 | data/office31/dslr/mouse/frame_0006.jpg 16
96 | data/office31/dslr/mouse/frame_0007.jpg 16
97 | data/office31/dslr/mouse/frame_0008.jpg 16
98 | data/office31/dslr/mouse/frame_0009.jpg 16
99 | data/office31/dslr/mouse/frame_0010.jpg 16
100 | data/office31/dslr/mouse/frame_0011.jpg 16
101 | data/office31/dslr/mouse/frame_0012.jpg 16
102 | data/office31/dslr/monitor/frame_0001.jpg 15
103 | data/office31/dslr/monitor/frame_0002.jpg 15
104 | data/office31/dslr/monitor/frame_0003.jpg 15
105 | data/office31/dslr/monitor/frame_0004.jpg 15
106 | data/office31/dslr/monitor/frame_0005.jpg 15
107 | data/office31/dslr/monitor/frame_0006.jpg 15
108 | data/office31/dslr/monitor/frame_0007.jpg 15
109 | data/office31/dslr/monitor/frame_0008.jpg 15
110 | data/office31/dslr/monitor/frame_0009.jpg 15
111 | data/office31/dslr/monitor/frame_0010.jpg 15
112 | data/office31/dslr/monitor/frame_0011.jpg 15
113 | data/office31/dslr/monitor/frame_0012.jpg 15
114 | data/office31/dslr/monitor/frame_0013.jpg 15
115 | data/office31/dslr/monitor/frame_0014.jpg 15
116 | data/office31/dslr/monitor/frame_0015.jpg 15
117 | data/office31/dslr/monitor/frame_0016.jpg 15
118 | data/office31/dslr/monitor/frame_0017.jpg 15
119 | data/office31/dslr/monitor/frame_0018.jpg 15
120 | data/office31/dslr/monitor/frame_0019.jpg 15
121 | data/office31/dslr/monitor/frame_0020.jpg 15
122 | data/office31/dslr/monitor/frame_0021.jpg 15
123 | data/office31/dslr/monitor/frame_0022.jpg 15
124 | data/office31/dslr/mug/frame_0001.jpg 17
125 | data/office31/dslr/mug/frame_0002.jpg 17
126 | data/office31/dslr/mug/frame_0003.jpg 17
127 | data/office31/dslr/mug/frame_0004.jpg 17
128 | data/office31/dslr/mug/frame_0005.jpg 17
129 | data/office31/dslr/mug/frame_0006.jpg 17
130 | data/office31/dslr/mug/frame_0007.jpg 17
131 | data/office31/dslr/mug/frame_0008.jpg 17
132 | data/office31/dslr/tape_dispenser/frame_0001.jpg 29
133 | data/office31/dslr/tape_dispenser/frame_0002.jpg 29
134 | data/office31/dslr/tape_dispenser/frame_0003.jpg 29
135 | data/office31/dslr/tape_dispenser/frame_0004.jpg 29
136 | data/office31/dslr/tape_dispenser/frame_0005.jpg 29
137 | data/office31/dslr/tape_dispenser/frame_0006.jpg 29
138 | data/office31/dslr/tape_dispenser/frame_0007.jpg 29
139 | data/office31/dslr/tape_dispenser/frame_0008.jpg 29
140 | data/office31/dslr/tape_dispenser/frame_0009.jpg 29
141 | data/office31/dslr/tape_dispenser/frame_0010.jpg 29
142 | data/office31/dslr/tape_dispenser/frame_0011.jpg 29
143 | data/office31/dslr/tape_dispenser/frame_0012.jpg 29
144 | data/office31/dslr/tape_dispenser/frame_0013.jpg 29
145 | data/office31/dslr/tape_dispenser/frame_0014.jpg 29
146 | data/office31/dslr/tape_dispenser/frame_0015.jpg 29
147 | data/office31/dslr/tape_dispenser/frame_0016.jpg 29
148 | data/office31/dslr/tape_dispenser/frame_0017.jpg 29
149 | data/office31/dslr/tape_dispenser/frame_0018.jpg 29
150 | data/office31/dslr/tape_dispenser/frame_0019.jpg 29
151 | data/office31/dslr/tape_dispenser/frame_0020.jpg 29
152 | data/office31/dslr/tape_dispenser/frame_0021.jpg 29
153 | data/office31/dslr/tape_dispenser/frame_0022.jpg 29
154 | data/office31/dslr/pen/frame_0001.jpg 19
155 | data/office31/dslr/pen/frame_0002.jpg 19
156 | data/office31/dslr/pen/frame_0003.jpg 19
157 | data/office31/dslr/pen/frame_0004.jpg 19
158 | data/office31/dslr/pen/frame_0005.jpg 19
159 | data/office31/dslr/pen/frame_0006.jpg 19
160 | data/office31/dslr/pen/frame_0007.jpg 19
161 | data/office31/dslr/pen/frame_0008.jpg 19
162 | data/office31/dslr/pen/frame_0009.jpg 19
163 | data/office31/dslr/pen/frame_0010.jpg 19
164 | data/office31/dslr/bike/frame_0001.jpg 1
165 | data/office31/dslr/bike/frame_0002.jpg 1
166 | data/office31/dslr/bike/frame_0003.jpg 1
167 | data/office31/dslr/bike/frame_0004.jpg 1
168 | data/office31/dslr/bike/frame_0005.jpg 1
169 | data/office31/dslr/bike/frame_0006.jpg 1
170 | data/office31/dslr/bike/frame_0007.jpg 1
171 | data/office31/dslr/bike/frame_0008.jpg 1
172 | data/office31/dslr/bike/frame_0009.jpg 1
173 | data/office31/dslr/bike/frame_0010.jpg 1
174 | data/office31/dslr/bike/frame_0011.jpg 1
175 | data/office31/dslr/bike/frame_0012.jpg 1
176 | data/office31/dslr/bike/frame_0013.jpg 1
177 | data/office31/dslr/bike/frame_0014.jpg 1
178 | data/office31/dslr/bike/frame_0015.jpg 1
179 | data/office31/dslr/bike/frame_0016.jpg 1
180 | data/office31/dslr/bike/frame_0017.jpg 1
181 | data/office31/dslr/bike/frame_0018.jpg 1
182 | data/office31/dslr/bike/frame_0019.jpg 1
183 | data/office31/dslr/bike/frame_0020.jpg 1
184 | data/office31/dslr/bike/frame_0021.jpg 1
185 | data/office31/dslr/punchers/frame_0001.jpg 23
186 | data/office31/dslr/punchers/frame_0002.jpg 23
187 | data/office31/dslr/punchers/frame_0003.jpg 23
188 | data/office31/dslr/punchers/frame_0004.jpg 23
189 | data/office31/dslr/punchers/frame_0005.jpg 23
190 | data/office31/dslr/punchers/frame_0006.jpg 23
191 | data/office31/dslr/punchers/frame_0007.jpg 23
192 | data/office31/dslr/punchers/frame_0008.jpg 23
193 | data/office31/dslr/punchers/frame_0009.jpg 23
194 | data/office31/dslr/punchers/frame_0010.jpg 23
195 | data/office31/dslr/punchers/frame_0011.jpg 23
196 | data/office31/dslr/punchers/frame_0012.jpg 23
197 | data/office31/dslr/punchers/frame_0013.jpg 23
198 | data/office31/dslr/punchers/frame_0014.jpg 23
199 | data/office31/dslr/punchers/frame_0015.jpg 23
200 | data/office31/dslr/punchers/frame_0016.jpg 23
201 | data/office31/dslr/punchers/frame_0017.jpg 23
202 | data/office31/dslr/punchers/frame_0018.jpg 23
203 | data/office31/dslr/back_pack/frame_0001.jpg 0
204 | data/office31/dslr/back_pack/frame_0002.jpg 0
205 | data/office31/dslr/back_pack/frame_0003.jpg 0
206 | data/office31/dslr/back_pack/frame_0004.jpg 0
207 | data/office31/dslr/back_pack/frame_0005.jpg 0
208 | data/office31/dslr/back_pack/frame_0006.jpg 0
209 | data/office31/dslr/back_pack/frame_0007.jpg 0
210 | data/office31/dslr/back_pack/frame_0008.jpg 0
211 | data/office31/dslr/back_pack/frame_0009.jpg 0
212 | data/office31/dslr/back_pack/frame_0010.jpg 0
213 | data/office31/dslr/back_pack/frame_0011.jpg 0
214 | data/office31/dslr/back_pack/frame_0012.jpg 0
215 | data/office31/dslr/desktop_computer/frame_0001.jpg 8
216 | data/office31/dslr/desktop_computer/frame_0002.jpg 8
217 | data/office31/dslr/desktop_computer/frame_0003.jpg 8
218 | data/office31/dslr/desktop_computer/frame_0004.jpg 8
219 | data/office31/dslr/desktop_computer/frame_0005.jpg 8
220 | data/office31/dslr/desktop_computer/frame_0006.jpg 8
221 | data/office31/dslr/desktop_computer/frame_0007.jpg 8
222 | data/office31/dslr/desktop_computer/frame_0008.jpg 8
223 | data/office31/dslr/desktop_computer/frame_0009.jpg 8
224 | data/office31/dslr/desktop_computer/frame_0010.jpg 8
225 | data/office31/dslr/desktop_computer/frame_0011.jpg 8
226 | data/office31/dslr/desktop_computer/frame_0012.jpg 8
227 | data/office31/dslr/desktop_computer/frame_0013.jpg 8
228 | data/office31/dslr/desktop_computer/frame_0014.jpg 8
229 | data/office31/dslr/desktop_computer/frame_0015.jpg 8
230 | data/office31/dslr/speaker/frame_0001.jpg 27
231 | data/office31/dslr/speaker/frame_0002.jpg 27
232 | data/office31/dslr/speaker/frame_0003.jpg 27
233 | data/office31/dslr/speaker/frame_0004.jpg 27
234 | data/office31/dslr/speaker/frame_0005.jpg 27
235 | data/office31/dslr/speaker/frame_0006.jpg 27
236 | data/office31/dslr/speaker/frame_0007.jpg 27
237 | data/office31/dslr/speaker/frame_0008.jpg 27
238 | data/office31/dslr/speaker/frame_0009.jpg 27
239 | data/office31/dslr/speaker/frame_0010.jpg 27
240 | data/office31/dslr/speaker/frame_0011.jpg 27
241 | data/office31/dslr/speaker/frame_0012.jpg 27
242 | data/office31/dslr/speaker/frame_0013.jpg 27
243 | data/office31/dslr/speaker/frame_0014.jpg 27
244 | data/office31/dslr/speaker/frame_0015.jpg 27
245 | data/office31/dslr/speaker/frame_0016.jpg 27
246 | data/office31/dslr/speaker/frame_0017.jpg 27
247 | data/office31/dslr/speaker/frame_0018.jpg 27
248 | data/office31/dslr/speaker/frame_0019.jpg 27
249 | data/office31/dslr/speaker/frame_0020.jpg 27
250 | data/office31/dslr/speaker/frame_0021.jpg 27
251 | data/office31/dslr/speaker/frame_0022.jpg 27
252 | data/office31/dslr/speaker/frame_0023.jpg 27
253 | data/office31/dslr/speaker/frame_0024.jpg 27
254 | data/office31/dslr/speaker/frame_0025.jpg 27
255 | data/office31/dslr/speaker/frame_0026.jpg 27
256 | data/office31/dslr/mobile_phone/frame_0001.jpg 14
257 | data/office31/dslr/mobile_phone/frame_0002.jpg 14
258 | data/office31/dslr/mobile_phone/frame_0003.jpg 14
259 | data/office31/dslr/mobile_phone/frame_0004.jpg 14
260 | data/office31/dslr/mobile_phone/frame_0005.jpg 14
261 | data/office31/dslr/mobile_phone/frame_0006.jpg 14
262 | data/office31/dslr/mobile_phone/frame_0007.jpg 14
263 | data/office31/dslr/mobile_phone/frame_0008.jpg 14
264 | data/office31/dslr/mobile_phone/frame_0009.jpg 14
265 | data/office31/dslr/mobile_phone/frame_0010.jpg 14
266 | data/office31/dslr/mobile_phone/frame_0011.jpg 14
267 | data/office31/dslr/mobile_phone/frame_0012.jpg 14
268 | data/office31/dslr/mobile_phone/frame_0013.jpg 14
269 | data/office31/dslr/mobile_phone/frame_0014.jpg 14
270 | data/office31/dslr/mobile_phone/frame_0015.jpg 14
271 | data/office31/dslr/mobile_phone/frame_0016.jpg 14
272 | data/office31/dslr/mobile_phone/frame_0017.jpg 14
273 | data/office31/dslr/mobile_phone/frame_0018.jpg 14
274 | data/office31/dslr/mobile_phone/frame_0019.jpg 14
275 | data/office31/dslr/mobile_phone/frame_0020.jpg 14
276 | data/office31/dslr/mobile_phone/frame_0021.jpg 14
277 | data/office31/dslr/mobile_phone/frame_0022.jpg 14
278 | data/office31/dslr/mobile_phone/frame_0023.jpg 14
279 | data/office31/dslr/mobile_phone/frame_0024.jpg 14
280 | data/office31/dslr/mobile_phone/frame_0025.jpg 14
281 | data/office31/dslr/mobile_phone/frame_0026.jpg 14
282 | data/office31/dslr/mobile_phone/frame_0027.jpg 14
283 | data/office31/dslr/mobile_phone/frame_0028.jpg 14
284 | data/office31/dslr/mobile_phone/frame_0029.jpg 14
285 | data/office31/dslr/mobile_phone/frame_0030.jpg 14
286 | data/office31/dslr/mobile_phone/frame_0031.jpg 14
287 | data/office31/dslr/paper_notebook/frame_0001.jpg 18
288 | data/office31/dslr/paper_notebook/frame_0002.jpg 18
289 | data/office31/dslr/paper_notebook/frame_0003.jpg 18
290 | data/office31/dslr/paper_notebook/frame_0004.jpg 18
291 | data/office31/dslr/paper_notebook/frame_0005.jpg 18
292 | data/office31/dslr/paper_notebook/frame_0006.jpg 18
293 | data/office31/dslr/paper_notebook/frame_0007.jpg 18
294 | data/office31/dslr/paper_notebook/frame_0008.jpg 18
295 | data/office31/dslr/paper_notebook/frame_0009.jpg 18
296 | data/office31/dslr/paper_notebook/frame_0010.jpg 18
297 | data/office31/dslr/ruler/frame_0001.jpg 25
298 | data/office31/dslr/ruler/frame_0002.jpg 25
299 | data/office31/dslr/ruler/frame_0003.jpg 25
300 | data/office31/dslr/ruler/frame_0004.jpg 25
301 | data/office31/dslr/ruler/frame_0005.jpg 25
302 | data/office31/dslr/ruler/frame_0006.jpg 25
303 | data/office31/dslr/ruler/frame_0007.jpg 25
304 | data/office31/dslr/letter_tray/frame_0001.jpg 13
305 | data/office31/dslr/letter_tray/frame_0002.jpg 13
306 | data/office31/dslr/letter_tray/frame_0003.jpg 13
307 | data/office31/dslr/letter_tray/frame_0004.jpg 13
308 | data/office31/dslr/letter_tray/frame_0005.jpg 13
309 | data/office31/dslr/letter_tray/frame_0006.jpg 13
310 | data/office31/dslr/letter_tray/frame_0007.jpg 13
311 | data/office31/dslr/letter_tray/frame_0008.jpg 13
312 | data/office31/dslr/letter_tray/frame_0009.jpg 13
313 | data/office31/dslr/letter_tray/frame_0010.jpg 13
314 | data/office31/dslr/letter_tray/frame_0011.jpg 13
315 | data/office31/dslr/letter_tray/frame_0012.jpg 13
316 | data/office31/dslr/letter_tray/frame_0013.jpg 13
317 | data/office31/dslr/letter_tray/frame_0014.jpg 13
318 | data/office31/dslr/letter_tray/frame_0015.jpg 13
319 | data/office31/dslr/letter_tray/frame_0016.jpg 13
320 | data/office31/dslr/file_cabinet/frame_0001.jpg 9
321 | data/office31/dslr/file_cabinet/frame_0002.jpg 9
322 | data/office31/dslr/file_cabinet/frame_0003.jpg 9
323 | data/office31/dslr/file_cabinet/frame_0004.jpg 9
324 | data/office31/dslr/file_cabinet/frame_0005.jpg 9
325 | data/office31/dslr/file_cabinet/frame_0006.jpg 9
326 | data/office31/dslr/file_cabinet/frame_0007.jpg 9
327 | data/office31/dslr/file_cabinet/frame_0008.jpg 9
328 | data/office31/dslr/file_cabinet/frame_0009.jpg 9
329 | data/office31/dslr/file_cabinet/frame_0010.jpg 9
330 | data/office31/dslr/file_cabinet/frame_0011.jpg 9
331 | data/office31/dslr/file_cabinet/frame_0012.jpg 9
332 | data/office31/dslr/file_cabinet/frame_0013.jpg 9
333 | data/office31/dslr/file_cabinet/frame_0014.jpg 9
334 | data/office31/dslr/file_cabinet/frame_0015.jpg 9
335 | data/office31/dslr/phone/frame_0001.jpg 20
336 | data/office31/dslr/phone/frame_0002.jpg 20
337 | data/office31/dslr/phone/frame_0003.jpg 20
338 | data/office31/dslr/phone/frame_0004.jpg 20
339 | data/office31/dslr/phone/frame_0005.jpg 20
340 | data/office31/dslr/phone/frame_0006.jpg 20
341 | data/office31/dslr/phone/frame_0007.jpg 20
342 | data/office31/dslr/phone/frame_0008.jpg 20
343 | data/office31/dslr/phone/frame_0009.jpg 20
344 | data/office31/dslr/phone/frame_0010.jpg 20
345 | data/office31/dslr/phone/frame_0011.jpg 20
346 | data/office31/dslr/phone/frame_0012.jpg 20
347 | data/office31/dslr/phone/frame_0013.jpg 20
348 | data/office31/dslr/bookcase/frame_0001.jpg 3
349 | data/office31/dslr/bookcase/frame_0002.jpg 3
350 | data/office31/dslr/bookcase/frame_0003.jpg 3
351 | data/office31/dslr/bookcase/frame_0004.jpg 3
352 | data/office31/dslr/bookcase/frame_0005.jpg 3
353 | data/office31/dslr/bookcase/frame_0006.jpg 3
354 | data/office31/dslr/bookcase/frame_0007.jpg 3
355 | data/office31/dslr/bookcase/frame_0008.jpg 3
356 | data/office31/dslr/bookcase/frame_0009.jpg 3
357 | data/office31/dslr/bookcase/frame_0010.jpg 3
358 | data/office31/dslr/bookcase/frame_0011.jpg 3
359 | data/office31/dslr/bookcase/frame_0012.jpg 3
360 | data/office31/dslr/projector/frame_0001.jpg 22
361 | data/office31/dslr/projector/frame_0002.jpg 22
362 | data/office31/dslr/projector/frame_0003.jpg 22
363 | data/office31/dslr/projector/frame_0004.jpg 22
364 | data/office31/dslr/projector/frame_0005.jpg 22
365 | data/office31/dslr/projector/frame_0006.jpg 22
366 | data/office31/dslr/projector/frame_0007.jpg 22
367 | data/office31/dslr/projector/frame_0008.jpg 22
368 | data/office31/dslr/projector/frame_0009.jpg 22
369 | data/office31/dslr/projector/frame_0010.jpg 22
370 | data/office31/dslr/projector/frame_0011.jpg 22
371 | data/office31/dslr/projector/frame_0012.jpg 22
372 | data/office31/dslr/projector/frame_0013.jpg 22
373 | data/office31/dslr/projector/frame_0014.jpg 22
374 | data/office31/dslr/projector/frame_0015.jpg 22
375 | data/office31/dslr/projector/frame_0016.jpg 22
376 | data/office31/dslr/projector/frame_0017.jpg 22
377 | data/office31/dslr/projector/frame_0018.jpg 22
378 | data/office31/dslr/projector/frame_0019.jpg 22
379 | data/office31/dslr/projector/frame_0020.jpg 22
380 | data/office31/dslr/projector/frame_0021.jpg 22
381 | data/office31/dslr/projector/frame_0022.jpg 22
382 | data/office31/dslr/projector/frame_0023.jpg 22
383 | data/office31/dslr/stapler/frame_0001.jpg 28
384 | data/office31/dslr/stapler/frame_0002.jpg 28
385 | data/office31/dslr/stapler/frame_0003.jpg 28
386 | data/office31/dslr/stapler/frame_0004.jpg 28
387 | data/office31/dslr/stapler/frame_0005.jpg 28
388 | data/office31/dslr/stapler/frame_0006.jpg 28
389 | data/office31/dslr/stapler/frame_0007.jpg 28
390 | data/office31/dslr/stapler/frame_0008.jpg 28
391 | data/office31/dslr/stapler/frame_0009.jpg 28
392 | data/office31/dslr/stapler/frame_0010.jpg 28
393 | data/office31/dslr/stapler/frame_0011.jpg 28
394 | data/office31/dslr/stapler/frame_0012.jpg 28
395 | data/office31/dslr/stapler/frame_0013.jpg 28
396 | data/office31/dslr/stapler/frame_0014.jpg 28
397 | data/office31/dslr/stapler/frame_0015.jpg 28
398 | data/office31/dslr/stapler/frame_0016.jpg 28
399 | data/office31/dslr/stapler/frame_0017.jpg 28
400 | data/office31/dslr/stapler/frame_0018.jpg 28
401 | data/office31/dslr/stapler/frame_0019.jpg 28
402 | data/office31/dslr/stapler/frame_0020.jpg 28
403 | data/office31/dslr/stapler/frame_0021.jpg 28
404 | data/office31/dslr/trash_can/frame_0001.jpg 30
405 | data/office31/dslr/trash_can/frame_0002.jpg 30
406 | data/office31/dslr/trash_can/frame_0003.jpg 30
407 | data/office31/dslr/trash_can/frame_0004.jpg 30
408 | data/office31/dslr/trash_can/frame_0005.jpg 30
409 | data/office31/dslr/trash_can/frame_0006.jpg 30
410 | data/office31/dslr/trash_can/frame_0007.jpg 30
411 | data/office31/dslr/trash_can/frame_0008.jpg 30
412 | data/office31/dslr/trash_can/frame_0009.jpg 30
413 | data/office31/dslr/trash_can/frame_0010.jpg 30
414 | data/office31/dslr/trash_can/frame_0011.jpg 30
415 | data/office31/dslr/trash_can/frame_0012.jpg 30
416 | data/office31/dslr/trash_can/frame_0013.jpg 30
417 | data/office31/dslr/trash_can/frame_0014.jpg 30
418 | data/office31/dslr/trash_can/frame_0015.jpg 30
419 | data/office31/dslr/bike_helmet/frame_0001.jpg 2
420 | data/office31/dslr/bike_helmet/frame_0002.jpg 2
421 | data/office31/dslr/bike_helmet/frame_0003.jpg 2
422 | data/office31/dslr/bike_helmet/frame_0004.jpg 2
423 | data/office31/dslr/bike_helmet/frame_0005.jpg 2
424 | data/office31/dslr/bike_helmet/frame_0006.jpg 2
425 | data/office31/dslr/bike_helmet/frame_0007.jpg 2
426 | data/office31/dslr/bike_helmet/frame_0008.jpg 2
427 | data/office31/dslr/bike_helmet/frame_0009.jpg 2
428 | data/office31/dslr/bike_helmet/frame_0010.jpg 2
429 | data/office31/dslr/bike_helmet/frame_0011.jpg 2
430 | data/office31/dslr/bike_helmet/frame_0012.jpg 2
431 | data/office31/dslr/bike_helmet/frame_0013.jpg 2
432 | data/office31/dslr/bike_helmet/frame_0014.jpg 2
433 | data/office31/dslr/bike_helmet/frame_0015.jpg 2
434 | data/office31/dslr/bike_helmet/frame_0016.jpg 2
435 | data/office31/dslr/bike_helmet/frame_0017.jpg 2
436 | data/office31/dslr/bike_helmet/frame_0018.jpg 2
437 | data/office31/dslr/bike_helmet/frame_0019.jpg 2
438 | data/office31/dslr/bike_helmet/frame_0020.jpg 2
439 | data/office31/dslr/bike_helmet/frame_0021.jpg 2
440 | data/office31/dslr/bike_helmet/frame_0022.jpg 2
441 | data/office31/dslr/bike_helmet/frame_0023.jpg 2
442 | data/office31/dslr/bike_helmet/frame_0024.jpg 2
443 | data/office31/dslr/headphones/frame_0001.jpg 10
444 | data/office31/dslr/headphones/frame_0002.jpg 10
445 | data/office31/dslr/headphones/frame_0003.jpg 10
446 | data/office31/dslr/headphones/frame_0004.jpg 10
447 | data/office31/dslr/headphones/frame_0005.jpg 10
448 | data/office31/dslr/headphones/frame_0006.jpg 10
449 | data/office31/dslr/headphones/frame_0007.jpg 10
450 | data/office31/dslr/headphones/frame_0008.jpg 10
451 | data/office31/dslr/headphones/frame_0009.jpg 10
452 | data/office31/dslr/headphones/frame_0010.jpg 10
453 | data/office31/dslr/headphones/frame_0011.jpg 10
454 | data/office31/dslr/headphones/frame_0012.jpg 10
455 | data/office31/dslr/headphones/frame_0013.jpg 10
456 | data/office31/dslr/desk_lamp/frame_0001.jpg 7
457 | data/office31/dslr/desk_lamp/frame_0002.jpg 7
458 | data/office31/dslr/desk_lamp/frame_0003.jpg 7
459 | data/office31/dslr/desk_lamp/frame_0004.jpg 7
460 | data/office31/dslr/desk_lamp/frame_0005.jpg 7
461 | data/office31/dslr/desk_lamp/frame_0006.jpg 7
462 | data/office31/dslr/desk_lamp/frame_0007.jpg 7
463 | data/office31/dslr/desk_lamp/frame_0008.jpg 7
464 | data/office31/dslr/desk_lamp/frame_0009.jpg 7
465 | data/office31/dslr/desk_lamp/frame_0010.jpg 7
466 | data/office31/dslr/desk_lamp/frame_0011.jpg 7
467 | data/office31/dslr/desk_lamp/frame_0012.jpg 7
468 | data/office31/dslr/desk_lamp/frame_0013.jpg 7
469 | data/office31/dslr/desk_lamp/frame_0014.jpg 7
470 | data/office31/dslr/desk_chair/frame_0001.jpg 6
471 | data/office31/dslr/desk_chair/frame_0002.jpg 6
472 | data/office31/dslr/desk_chair/frame_0003.jpg 6
473 | data/office31/dslr/desk_chair/frame_0004.jpg 6
474 | data/office31/dslr/desk_chair/frame_0005.jpg 6
475 | data/office31/dslr/desk_chair/frame_0006.jpg 6
476 | data/office31/dslr/desk_chair/frame_0007.jpg 6
477 | data/office31/dslr/desk_chair/frame_0008.jpg 6
478 | data/office31/dslr/desk_chair/frame_0009.jpg 6
479 | data/office31/dslr/desk_chair/frame_0010.jpg 6
480 | data/office31/dslr/desk_chair/frame_0011.jpg 6
481 | data/office31/dslr/desk_chair/frame_0012.jpg 6
482 | data/office31/dslr/desk_chair/frame_0013.jpg 6
483 | data/office31/dslr/bottle/frame_0001.jpg 4
484 | data/office31/dslr/bottle/frame_0002.jpg 4
485 | data/office31/dslr/bottle/frame_0003.jpg 4
486 | data/office31/dslr/bottle/frame_0004.jpg 4
487 | data/office31/dslr/bottle/frame_0005.jpg 4
488 | data/office31/dslr/bottle/frame_0006.jpg 4
489 | data/office31/dslr/bottle/frame_0007.jpg 4
490 | data/office31/dslr/bottle/frame_0008.jpg 4
491 | data/office31/dslr/bottle/frame_0009.jpg 4
492 | data/office31/dslr/bottle/frame_0010.jpg 4
493 | data/office31/dslr/bottle/frame_0011.jpg 4
494 | data/office31/dslr/bottle/frame_0012.jpg 4
495 | data/office31/dslr/bottle/frame_0013.jpg 4
496 | data/office31/dslr/bottle/frame_0014.jpg 4
497 | data/office31/dslr/bottle/frame_0015.jpg 4
498 | data/office31/dslr/bottle/frame_0016.jpg 4
499 |
--------------------------------------------------------------------------------
/data/list/office/dslr_train.txt:
--------------------------------------------------------------------------------
1 | data/office31/dslr/calculator/frame_0001.jpg 5
2 | data/office31/dslr/calculator/frame_0002.jpg 5
3 | data/office31/dslr/calculator/frame_0003.jpg 5
4 | data/office31/dslr/calculator/frame_0004.jpg 5
5 | data/office31/dslr/calculator/frame_0005.jpg 5
6 | data/office31/dslr/calculator/frame_0006.jpg 5
7 | data/office31/dslr/calculator/frame_0007.jpg 5
8 | data/office31/dslr/calculator/frame_0008.jpg 5
9 | data/office31/dslr/calculator/frame_0009.jpg 5
10 | data/office31/dslr/calculator/frame_0010.jpg 5
11 | data/office31/dslr/calculator/frame_0011.jpg 5
12 | data/office31/dslr/calculator/frame_0012.jpg 5
13 | data/office31/dslr/ring_binder/frame_0001.jpg 24
14 | data/office31/dslr/ring_binder/frame_0002.jpg 24
15 | data/office31/dslr/ring_binder/frame_0003.jpg 24
16 | data/office31/dslr/ring_binder/frame_0004.jpg 24
17 | data/office31/dslr/ring_binder/frame_0005.jpg 24
18 | data/office31/dslr/ring_binder/frame_0006.jpg 24
19 | data/office31/dslr/ring_binder/frame_0007.jpg 24
20 | data/office31/dslr/ring_binder/frame_0008.jpg 24
21 | data/office31/dslr/ring_binder/frame_0009.jpg 24
22 | data/office31/dslr/ring_binder/frame_0010.jpg 24
23 | data/office31/dslr/printer/frame_0001.jpg 21
24 | data/office31/dslr/printer/frame_0002.jpg 21
25 | data/office31/dslr/printer/frame_0003.jpg 21
26 | data/office31/dslr/printer/frame_0004.jpg 21
27 | data/office31/dslr/printer/frame_0005.jpg 21
28 | data/office31/dslr/printer/frame_0006.jpg 21
29 | data/office31/dslr/printer/frame_0007.jpg 21
30 | data/office31/dslr/printer/frame_0008.jpg 21
31 | data/office31/dslr/printer/frame_0009.jpg 21
32 | data/office31/dslr/printer/frame_0010.jpg 21
33 | data/office31/dslr/printer/frame_0011.jpg 21
34 | data/office31/dslr/printer/frame_0012.jpg 21
35 | data/office31/dslr/printer/frame_0013.jpg 21
36 | data/office31/dslr/printer/frame_0014.jpg 21
37 | data/office31/dslr/printer/frame_0015.jpg 21
38 | data/office31/dslr/keyboard/frame_0001.jpg 11
39 | data/office31/dslr/keyboard/frame_0002.jpg 11
40 | data/office31/dslr/keyboard/frame_0003.jpg 11
41 | data/office31/dslr/keyboard/frame_0004.jpg 11
42 | data/office31/dslr/keyboard/frame_0005.jpg 11
43 | data/office31/dslr/keyboard/frame_0006.jpg 11
44 | data/office31/dslr/keyboard/frame_0007.jpg 11
45 | data/office31/dslr/keyboard/frame_0008.jpg 11
46 | data/office31/dslr/keyboard/frame_0009.jpg 11
47 | data/office31/dslr/keyboard/frame_0010.jpg 11
48 | data/office31/dslr/scissors/frame_0001.jpg 26
49 | data/office31/dslr/scissors/frame_0002.jpg 26
50 | data/office31/dslr/scissors/frame_0003.jpg 26
51 | data/office31/dslr/scissors/frame_0004.jpg 26
52 | data/office31/dslr/scissors/frame_0005.jpg 26
53 | data/office31/dslr/scissors/frame_0006.jpg 26
54 | data/office31/dslr/scissors/frame_0007.jpg 26
55 | data/office31/dslr/scissors/frame_0008.jpg 26
56 | data/office31/dslr/scissors/frame_0009.jpg 26
57 | data/office31/dslr/scissors/frame_0010.jpg 26
58 | data/office31/dslr/scissors/frame_0011.jpg 26
59 | data/office31/dslr/scissors/frame_0012.jpg 26
60 | data/office31/dslr/scissors/frame_0013.jpg 26
61 | data/office31/dslr/scissors/frame_0014.jpg 26
62 | data/office31/dslr/scissors/frame_0015.jpg 26
63 | data/office31/dslr/scissors/frame_0016.jpg 26
64 | data/office31/dslr/scissors/frame_0017.jpg 26
65 | data/office31/dslr/scissors/frame_0018.jpg 26
66 | data/office31/dslr/laptop_computer/frame_0001.jpg 12
67 | data/office31/dslr/laptop_computer/frame_0002.jpg 12
68 | data/office31/dslr/laptop_computer/frame_0003.jpg 12
69 | data/office31/dslr/laptop_computer/frame_0004.jpg 12
70 | data/office31/dslr/laptop_computer/frame_0005.jpg 12
71 | data/office31/dslr/laptop_computer/frame_0006.jpg 12
72 | data/office31/dslr/laptop_computer/frame_0007.jpg 12
73 | data/office31/dslr/laptop_computer/frame_0008.jpg 12
74 | data/office31/dslr/laptop_computer/frame_0009.jpg 12
75 | data/office31/dslr/laptop_computer/frame_0010.jpg 12
76 | data/office31/dslr/laptop_computer/frame_0011.jpg 12
77 | data/office31/dslr/laptop_computer/frame_0012.jpg 12
78 | data/office31/dslr/laptop_computer/frame_0013.jpg 12
79 | data/office31/dslr/laptop_computer/frame_0014.jpg 12
80 | data/office31/dslr/laptop_computer/frame_0015.jpg 12
81 | data/office31/dslr/laptop_computer/frame_0016.jpg 12
82 | data/office31/dslr/laptop_computer/frame_0017.jpg 12
83 | data/office31/dslr/laptop_computer/frame_0018.jpg 12
84 | data/office31/dslr/laptop_computer/frame_0019.jpg 12
85 | data/office31/dslr/laptop_computer/frame_0020.jpg 12
86 | data/office31/dslr/laptop_computer/frame_0021.jpg 12
87 | data/office31/dslr/laptop_computer/frame_0022.jpg 12
88 | data/office31/dslr/laptop_computer/frame_0023.jpg 12
89 | data/office31/dslr/laptop_computer/frame_0024.jpg 12
90 | data/office31/dslr/mouse/frame_0001.jpg 16
91 | data/office31/dslr/mouse/frame_0002.jpg 16
92 | data/office31/dslr/mouse/frame_0003.jpg 16
93 | data/office31/dslr/mouse/frame_0004.jpg 16
94 | data/office31/dslr/mouse/frame_0005.jpg 16
95 | data/office31/dslr/mouse/frame_0006.jpg 16
96 | data/office31/dslr/mouse/frame_0007.jpg 16
97 | data/office31/dslr/mouse/frame_0008.jpg 16
98 | data/office31/dslr/mouse/frame_0009.jpg 16
99 | data/office31/dslr/mouse/frame_0010.jpg 16
100 | data/office31/dslr/mouse/frame_0011.jpg 16
101 | data/office31/dslr/mouse/frame_0012.jpg 16
102 | data/office31/dslr/monitor/frame_0001.jpg 15
103 | data/office31/dslr/monitor/frame_0002.jpg 15
104 | data/office31/dslr/monitor/frame_0003.jpg 15
105 | data/office31/dslr/monitor/frame_0004.jpg 15
106 | data/office31/dslr/monitor/frame_0005.jpg 15
107 | data/office31/dslr/monitor/frame_0006.jpg 15
108 | data/office31/dslr/monitor/frame_0007.jpg 15
109 | data/office31/dslr/monitor/frame_0008.jpg 15
110 | data/office31/dslr/monitor/frame_0009.jpg 15
111 | data/office31/dslr/monitor/frame_0010.jpg 15
112 | data/office31/dslr/monitor/frame_0011.jpg 15
113 | data/office31/dslr/monitor/frame_0012.jpg 15
114 | data/office31/dslr/monitor/frame_0013.jpg 15
115 | data/office31/dslr/monitor/frame_0014.jpg 15
116 | data/office31/dslr/monitor/frame_0015.jpg 15
117 | data/office31/dslr/monitor/frame_0016.jpg 15
118 | data/office31/dslr/monitor/frame_0017.jpg 15
119 | data/office31/dslr/monitor/frame_0018.jpg 15
120 | data/office31/dslr/monitor/frame_0019.jpg 15
121 | data/office31/dslr/monitor/frame_0020.jpg 15
122 | data/office31/dslr/monitor/frame_0021.jpg 15
123 | data/office31/dslr/monitor/frame_0022.jpg 15
124 | data/office31/dslr/mug/frame_0001.jpg 17
125 | data/office31/dslr/mug/frame_0002.jpg 17
126 | data/office31/dslr/mug/frame_0003.jpg 17
127 | data/office31/dslr/mug/frame_0004.jpg 17
128 | data/office31/dslr/mug/frame_0005.jpg 17
129 | data/office31/dslr/mug/frame_0006.jpg 17
130 | data/office31/dslr/mug/frame_0007.jpg 17
131 | data/office31/dslr/mug/frame_0008.jpg 17
132 | data/office31/dslr/tape_dispenser/frame_0001.jpg 29
133 | data/office31/dslr/tape_dispenser/frame_0002.jpg 29
134 | data/office31/dslr/tape_dispenser/frame_0003.jpg 29
135 | data/office31/dslr/tape_dispenser/frame_0004.jpg 29
136 | data/office31/dslr/tape_dispenser/frame_0005.jpg 29
137 | data/office31/dslr/tape_dispenser/frame_0006.jpg 29
138 | data/office31/dslr/tape_dispenser/frame_0007.jpg 29
139 | data/office31/dslr/tape_dispenser/frame_0008.jpg 29
140 | data/office31/dslr/tape_dispenser/frame_0009.jpg 29
141 | data/office31/dslr/tape_dispenser/frame_0010.jpg 29
142 | data/office31/dslr/tape_dispenser/frame_0011.jpg 29
143 | data/office31/dslr/tape_dispenser/frame_0012.jpg 29
144 | data/office31/dslr/tape_dispenser/frame_0013.jpg 29
145 | data/office31/dslr/tape_dispenser/frame_0014.jpg 29
146 | data/office31/dslr/tape_dispenser/frame_0015.jpg 29
147 | data/office31/dslr/tape_dispenser/frame_0016.jpg 29
148 | data/office31/dslr/tape_dispenser/frame_0017.jpg 29
149 | data/office31/dslr/tape_dispenser/frame_0018.jpg 29
150 | data/office31/dslr/tape_dispenser/frame_0019.jpg 29
151 | data/office31/dslr/tape_dispenser/frame_0020.jpg 29
152 | data/office31/dslr/tape_dispenser/frame_0021.jpg 29
153 | data/office31/dslr/tape_dispenser/frame_0022.jpg 29
154 | data/office31/dslr/pen/frame_0001.jpg 19
155 | data/office31/dslr/pen/frame_0002.jpg 19
156 | data/office31/dslr/pen/frame_0003.jpg 19
157 | data/office31/dslr/pen/frame_0004.jpg 19
158 | data/office31/dslr/pen/frame_0005.jpg 19
159 | data/office31/dslr/pen/frame_0006.jpg 19
160 | data/office31/dslr/pen/frame_0007.jpg 19
161 | data/office31/dslr/pen/frame_0008.jpg 19
162 | data/office31/dslr/pen/frame_0009.jpg 19
163 | data/office31/dslr/pen/frame_0010.jpg 19
164 | data/office31/dslr/bike/frame_0001.jpg 1
165 | data/office31/dslr/bike/frame_0002.jpg 1
166 | data/office31/dslr/bike/frame_0003.jpg 1
167 | data/office31/dslr/bike/frame_0004.jpg 1
168 | data/office31/dslr/bike/frame_0005.jpg 1
169 | data/office31/dslr/bike/frame_0006.jpg 1
170 | data/office31/dslr/bike/frame_0007.jpg 1
171 | data/office31/dslr/bike/frame_0008.jpg 1
172 | data/office31/dslr/bike/frame_0009.jpg 1
173 | data/office31/dslr/bike/frame_0010.jpg 1
174 | data/office31/dslr/bike/frame_0011.jpg 1
175 | data/office31/dslr/bike/frame_0012.jpg 1
176 | data/office31/dslr/bike/frame_0013.jpg 1
177 | data/office31/dslr/bike/frame_0014.jpg 1
178 | data/office31/dslr/bike/frame_0015.jpg 1
179 | data/office31/dslr/bike/frame_0016.jpg 1
180 | data/office31/dslr/bike/frame_0017.jpg 1
181 | data/office31/dslr/bike/frame_0018.jpg 1
182 | data/office31/dslr/bike/frame_0019.jpg 1
183 | data/office31/dslr/bike/frame_0020.jpg 1
184 | data/office31/dslr/bike/frame_0021.jpg 1
185 | data/office31/dslr/punchers/frame_0001.jpg 23
186 | data/office31/dslr/punchers/frame_0002.jpg 23
187 | data/office31/dslr/punchers/frame_0003.jpg 23
188 | data/office31/dslr/punchers/frame_0004.jpg 23
189 | data/office31/dslr/punchers/frame_0005.jpg 23
190 | data/office31/dslr/punchers/frame_0006.jpg 23
191 | data/office31/dslr/punchers/frame_0007.jpg 23
192 | data/office31/dslr/punchers/frame_0008.jpg 23
193 | data/office31/dslr/punchers/frame_0009.jpg 23
194 | data/office31/dslr/punchers/frame_0010.jpg 23
195 | data/office31/dslr/punchers/frame_0011.jpg 23
196 | data/office31/dslr/punchers/frame_0012.jpg 23
197 | data/office31/dslr/punchers/frame_0013.jpg 23
198 | data/office31/dslr/punchers/frame_0014.jpg 23
199 | data/office31/dslr/punchers/frame_0015.jpg 23
200 | data/office31/dslr/punchers/frame_0016.jpg 23
201 | data/office31/dslr/punchers/frame_0017.jpg 23
202 | data/office31/dslr/punchers/frame_0018.jpg 23
203 | data/office31/dslr/back_pack/frame_0001.jpg 0
204 | data/office31/dslr/back_pack/frame_0002.jpg 0
205 | data/office31/dslr/back_pack/frame_0003.jpg 0
206 | data/office31/dslr/back_pack/frame_0004.jpg 0
207 | data/office31/dslr/back_pack/frame_0005.jpg 0
208 | data/office31/dslr/back_pack/frame_0006.jpg 0
209 | data/office31/dslr/back_pack/frame_0007.jpg 0
210 | data/office31/dslr/back_pack/frame_0008.jpg 0
211 | data/office31/dslr/back_pack/frame_0009.jpg 0
212 | data/office31/dslr/back_pack/frame_0010.jpg 0
213 | data/office31/dslr/back_pack/frame_0011.jpg 0
214 | data/office31/dslr/back_pack/frame_0012.jpg 0
215 | data/office31/dslr/desktop_computer/frame_0001.jpg 8
216 | data/office31/dslr/desktop_computer/frame_0002.jpg 8
217 | data/office31/dslr/desktop_computer/frame_0003.jpg 8
218 | data/office31/dslr/desktop_computer/frame_0004.jpg 8
219 | data/office31/dslr/desktop_computer/frame_0005.jpg 8
220 | data/office31/dslr/desktop_computer/frame_0006.jpg 8
221 | data/office31/dslr/desktop_computer/frame_0007.jpg 8
222 | data/office31/dslr/desktop_computer/frame_0008.jpg 8
223 | data/office31/dslr/desktop_computer/frame_0009.jpg 8
224 | data/office31/dslr/desktop_computer/frame_0010.jpg 8
225 | data/office31/dslr/desktop_computer/frame_0011.jpg 8
226 | data/office31/dslr/desktop_computer/frame_0012.jpg 8
227 | data/office31/dslr/desktop_computer/frame_0013.jpg 8
228 | data/office31/dslr/desktop_computer/frame_0014.jpg 8
229 | data/office31/dslr/desktop_computer/frame_0015.jpg 8
230 | data/office31/dslr/speaker/frame_0001.jpg 27
231 | data/office31/dslr/speaker/frame_0002.jpg 27
232 | data/office31/dslr/speaker/frame_0003.jpg 27
233 | data/office31/dslr/speaker/frame_0004.jpg 27
234 | data/office31/dslr/speaker/frame_0005.jpg 27
235 | data/office31/dslr/speaker/frame_0006.jpg 27
236 | data/office31/dslr/speaker/frame_0007.jpg 27
237 | data/office31/dslr/speaker/frame_0008.jpg 27
238 | data/office31/dslr/speaker/frame_0009.jpg 27
239 | data/office31/dslr/speaker/frame_0010.jpg 27
240 | data/office31/dslr/speaker/frame_0011.jpg 27
241 | data/office31/dslr/speaker/frame_0012.jpg 27
242 | data/office31/dslr/speaker/frame_0013.jpg 27
243 | data/office31/dslr/speaker/frame_0014.jpg 27
244 | data/office31/dslr/speaker/frame_0015.jpg 27
245 | data/office31/dslr/speaker/frame_0016.jpg 27
246 | data/office31/dslr/speaker/frame_0017.jpg 27
247 | data/office31/dslr/speaker/frame_0018.jpg 27
248 | data/office31/dslr/speaker/frame_0019.jpg 27
249 | data/office31/dslr/speaker/frame_0020.jpg 27
250 | data/office31/dslr/speaker/frame_0021.jpg 27
251 | data/office31/dslr/speaker/frame_0022.jpg 27
252 | data/office31/dslr/speaker/frame_0023.jpg 27
253 | data/office31/dslr/speaker/frame_0024.jpg 27
254 | data/office31/dslr/speaker/frame_0025.jpg 27
255 | data/office31/dslr/speaker/frame_0026.jpg 27
256 | data/office31/dslr/mobile_phone/frame_0001.jpg 14
257 | data/office31/dslr/mobile_phone/frame_0002.jpg 14
258 | data/office31/dslr/mobile_phone/frame_0003.jpg 14
259 | data/office31/dslr/mobile_phone/frame_0004.jpg 14
260 | data/office31/dslr/mobile_phone/frame_0005.jpg 14
261 | data/office31/dslr/mobile_phone/frame_0006.jpg 14
262 | data/office31/dslr/mobile_phone/frame_0007.jpg 14
263 | data/office31/dslr/mobile_phone/frame_0008.jpg 14
264 | data/office31/dslr/mobile_phone/frame_0009.jpg 14
265 | data/office31/dslr/mobile_phone/frame_0010.jpg 14
266 | data/office31/dslr/mobile_phone/frame_0011.jpg 14
267 | data/office31/dslr/mobile_phone/frame_0012.jpg 14
268 | data/office31/dslr/mobile_phone/frame_0013.jpg 14
269 | data/office31/dslr/mobile_phone/frame_0014.jpg 14
270 | data/office31/dslr/mobile_phone/frame_0015.jpg 14
271 | data/office31/dslr/mobile_phone/frame_0016.jpg 14
272 | data/office31/dslr/mobile_phone/frame_0017.jpg 14
273 | data/office31/dslr/mobile_phone/frame_0018.jpg 14
274 | data/office31/dslr/mobile_phone/frame_0019.jpg 14
275 | data/office31/dslr/mobile_phone/frame_0020.jpg 14
276 | data/office31/dslr/mobile_phone/frame_0021.jpg 14
277 | data/office31/dslr/mobile_phone/frame_0022.jpg 14
278 | data/office31/dslr/mobile_phone/frame_0023.jpg 14
279 | data/office31/dslr/mobile_phone/frame_0024.jpg 14
280 | data/office31/dslr/mobile_phone/frame_0025.jpg 14
281 | data/office31/dslr/mobile_phone/frame_0026.jpg 14
282 | data/office31/dslr/mobile_phone/frame_0027.jpg 14
283 | data/office31/dslr/mobile_phone/frame_0028.jpg 14
284 | data/office31/dslr/mobile_phone/frame_0029.jpg 14
285 | data/office31/dslr/mobile_phone/frame_0030.jpg 14
286 | data/office31/dslr/mobile_phone/frame_0031.jpg 14
287 | data/office31/dslr/paper_notebook/frame_0001.jpg 18
288 | data/office31/dslr/paper_notebook/frame_0002.jpg 18
289 | data/office31/dslr/paper_notebook/frame_0003.jpg 18
290 | data/office31/dslr/paper_notebook/frame_0004.jpg 18
291 | data/office31/dslr/paper_notebook/frame_0005.jpg 18
292 | data/office31/dslr/paper_notebook/frame_0006.jpg 18
293 | data/office31/dslr/paper_notebook/frame_0007.jpg 18
294 | data/office31/dslr/paper_notebook/frame_0008.jpg 18
295 | data/office31/dslr/paper_notebook/frame_0009.jpg 18
296 | data/office31/dslr/paper_notebook/frame_0010.jpg 18
297 | data/office31/dslr/ruler/frame_0001.jpg 25
298 | data/office31/dslr/ruler/frame_0002.jpg 25
299 | data/office31/dslr/ruler/frame_0003.jpg 25
300 | data/office31/dslr/ruler/frame_0004.jpg 25
301 | data/office31/dslr/ruler/frame_0005.jpg 25
302 | data/office31/dslr/ruler/frame_0006.jpg 25
303 | data/office31/dslr/ruler/frame_0007.jpg 25
304 | data/office31/dslr/letter_tray/frame_0001.jpg 13
305 | data/office31/dslr/letter_tray/frame_0002.jpg 13
306 | data/office31/dslr/letter_tray/frame_0003.jpg 13
307 | data/office31/dslr/letter_tray/frame_0004.jpg 13
308 | data/office31/dslr/letter_tray/frame_0005.jpg 13
309 | data/office31/dslr/letter_tray/frame_0006.jpg 13
310 | data/office31/dslr/letter_tray/frame_0007.jpg 13
311 | data/office31/dslr/letter_tray/frame_0008.jpg 13
312 | data/office31/dslr/letter_tray/frame_0009.jpg 13
313 | data/office31/dslr/letter_tray/frame_0010.jpg 13
314 | data/office31/dslr/letter_tray/frame_0011.jpg 13
315 | data/office31/dslr/letter_tray/frame_0012.jpg 13
316 | data/office31/dslr/letter_tray/frame_0013.jpg 13
317 | data/office31/dslr/letter_tray/frame_0014.jpg 13
318 | data/office31/dslr/letter_tray/frame_0015.jpg 13
319 | data/office31/dslr/letter_tray/frame_0016.jpg 13
320 | data/office31/dslr/file_cabinet/frame_0001.jpg 9
321 | data/office31/dslr/file_cabinet/frame_0002.jpg 9
322 | data/office31/dslr/file_cabinet/frame_0003.jpg 9
323 | data/office31/dslr/file_cabinet/frame_0004.jpg 9
324 | data/office31/dslr/file_cabinet/frame_0005.jpg 9
325 | data/office31/dslr/file_cabinet/frame_0006.jpg 9
326 | data/office31/dslr/file_cabinet/frame_0007.jpg 9
327 | data/office31/dslr/file_cabinet/frame_0008.jpg 9
328 | data/office31/dslr/file_cabinet/frame_0009.jpg 9
329 | data/office31/dslr/file_cabinet/frame_0010.jpg 9
330 | data/office31/dslr/file_cabinet/frame_0011.jpg 9
331 | data/office31/dslr/file_cabinet/frame_0012.jpg 9
332 | data/office31/dslr/file_cabinet/frame_0013.jpg 9
333 | data/office31/dslr/file_cabinet/frame_0014.jpg 9
334 | data/office31/dslr/file_cabinet/frame_0015.jpg 9
335 | data/office31/dslr/phone/frame_0001.jpg 20
336 | data/office31/dslr/phone/frame_0002.jpg 20
337 | data/office31/dslr/phone/frame_0003.jpg 20
338 | data/office31/dslr/phone/frame_0004.jpg 20
339 | data/office31/dslr/phone/frame_0005.jpg 20
340 | data/office31/dslr/phone/frame_0006.jpg 20
341 | data/office31/dslr/phone/frame_0007.jpg 20
342 | data/office31/dslr/phone/frame_0008.jpg 20
343 | data/office31/dslr/phone/frame_0009.jpg 20
344 | data/office31/dslr/phone/frame_0010.jpg 20
345 | data/office31/dslr/phone/frame_0011.jpg 20
346 | data/office31/dslr/phone/frame_0012.jpg 20
347 | data/office31/dslr/phone/frame_0013.jpg 20
348 | data/office31/dslr/bookcase/frame_0001.jpg 3
349 | data/office31/dslr/bookcase/frame_0002.jpg 3
350 | data/office31/dslr/bookcase/frame_0003.jpg 3
351 | data/office31/dslr/bookcase/frame_0004.jpg 3
352 | data/office31/dslr/bookcase/frame_0005.jpg 3
353 | data/office31/dslr/bookcase/frame_0006.jpg 3
354 | data/office31/dslr/bookcase/frame_0007.jpg 3
355 | data/office31/dslr/bookcase/frame_0008.jpg 3
356 | data/office31/dslr/bookcase/frame_0009.jpg 3
357 | data/office31/dslr/bookcase/frame_0010.jpg 3
358 | data/office31/dslr/bookcase/frame_0011.jpg 3
359 | data/office31/dslr/bookcase/frame_0012.jpg 3
360 | data/office31/dslr/projector/frame_0001.jpg 22
361 | data/office31/dslr/projector/frame_0002.jpg 22
362 | data/office31/dslr/projector/frame_0003.jpg 22
363 | data/office31/dslr/projector/frame_0004.jpg 22
364 | data/office31/dslr/projector/frame_0005.jpg 22
365 | data/office31/dslr/projector/frame_0006.jpg 22
366 | data/office31/dslr/projector/frame_0007.jpg 22
367 | data/office31/dslr/projector/frame_0008.jpg 22
368 | data/office31/dslr/projector/frame_0009.jpg 22
369 | data/office31/dslr/projector/frame_0010.jpg 22
370 | data/office31/dslr/projector/frame_0011.jpg 22
371 | data/office31/dslr/projector/frame_0012.jpg 22
372 | data/office31/dslr/projector/frame_0013.jpg 22
373 | data/office31/dslr/projector/frame_0014.jpg 22
374 | data/office31/dslr/projector/frame_0015.jpg 22
375 | data/office31/dslr/projector/frame_0016.jpg 22
376 | data/office31/dslr/projector/frame_0017.jpg 22
377 | data/office31/dslr/projector/frame_0018.jpg 22
378 | data/office31/dslr/projector/frame_0019.jpg 22
379 | data/office31/dslr/projector/frame_0020.jpg 22
380 | data/office31/dslr/projector/frame_0021.jpg 22
381 | data/office31/dslr/projector/frame_0022.jpg 22
382 | data/office31/dslr/projector/frame_0023.jpg 22
383 | data/office31/dslr/stapler/frame_0001.jpg 28
384 | data/office31/dslr/stapler/frame_0002.jpg 28
385 | data/office31/dslr/stapler/frame_0003.jpg 28
386 | data/office31/dslr/stapler/frame_0004.jpg 28
387 | data/office31/dslr/stapler/frame_0005.jpg 28
388 | data/office31/dslr/stapler/frame_0006.jpg 28
389 | data/office31/dslr/stapler/frame_0007.jpg 28
390 | data/office31/dslr/stapler/frame_0008.jpg 28
391 | data/office31/dslr/stapler/frame_0009.jpg 28
392 | data/office31/dslr/stapler/frame_0010.jpg 28
393 | data/office31/dslr/stapler/frame_0011.jpg 28
394 | data/office31/dslr/stapler/frame_0012.jpg 28
395 | data/office31/dslr/stapler/frame_0013.jpg 28
396 | data/office31/dslr/stapler/frame_0014.jpg 28
397 | data/office31/dslr/stapler/frame_0015.jpg 28
398 | data/office31/dslr/stapler/frame_0016.jpg 28
399 | data/office31/dslr/stapler/frame_0017.jpg 28
400 | data/office31/dslr/stapler/frame_0018.jpg 28
401 | data/office31/dslr/stapler/frame_0019.jpg 28
402 | data/office31/dslr/stapler/frame_0020.jpg 28
403 | data/office31/dslr/stapler/frame_0021.jpg 28
404 | data/office31/dslr/trash_can/frame_0001.jpg 30
405 | data/office31/dslr/trash_can/frame_0002.jpg 30
406 | data/office31/dslr/trash_can/frame_0003.jpg 30
407 | data/office31/dslr/trash_can/frame_0004.jpg 30
408 | data/office31/dslr/trash_can/frame_0005.jpg 30
409 | data/office31/dslr/trash_can/frame_0006.jpg 30
410 | data/office31/dslr/trash_can/frame_0007.jpg 30
411 | data/office31/dslr/trash_can/frame_0008.jpg 30
412 | data/office31/dslr/trash_can/frame_0009.jpg 30
413 | data/office31/dslr/trash_can/frame_0010.jpg 30
414 | data/office31/dslr/trash_can/frame_0011.jpg 30
415 | data/office31/dslr/trash_can/frame_0012.jpg 30
416 | data/office31/dslr/trash_can/frame_0013.jpg 30
417 | data/office31/dslr/trash_can/frame_0014.jpg 30
418 | data/office31/dslr/trash_can/frame_0015.jpg 30
419 | data/office31/dslr/bike_helmet/frame_0001.jpg 2
420 | data/office31/dslr/bike_helmet/frame_0002.jpg 2
421 | data/office31/dslr/bike_helmet/frame_0003.jpg 2
422 | data/office31/dslr/bike_helmet/frame_0004.jpg 2
423 | data/office31/dslr/bike_helmet/frame_0005.jpg 2
424 | data/office31/dslr/bike_helmet/frame_0006.jpg 2
425 | data/office31/dslr/bike_helmet/frame_0007.jpg 2
426 | data/office31/dslr/bike_helmet/frame_0008.jpg 2
427 | data/office31/dslr/bike_helmet/frame_0009.jpg 2
428 | data/office31/dslr/bike_helmet/frame_0010.jpg 2
429 | data/office31/dslr/bike_helmet/frame_0011.jpg 2
430 | data/office31/dslr/bike_helmet/frame_0012.jpg 2
431 | data/office31/dslr/bike_helmet/frame_0013.jpg 2
432 | data/office31/dslr/bike_helmet/frame_0014.jpg 2
433 | data/office31/dslr/bike_helmet/frame_0015.jpg 2
434 | data/office31/dslr/bike_helmet/frame_0016.jpg 2
435 | data/office31/dslr/bike_helmet/frame_0017.jpg 2
436 | data/office31/dslr/bike_helmet/frame_0018.jpg 2
437 | data/office31/dslr/bike_helmet/frame_0019.jpg 2
438 | data/office31/dslr/bike_helmet/frame_0020.jpg 2
439 | data/office31/dslr/bike_helmet/frame_0021.jpg 2
440 | data/office31/dslr/bike_helmet/frame_0022.jpg 2
441 | data/office31/dslr/bike_helmet/frame_0023.jpg 2
442 | data/office31/dslr/bike_helmet/frame_0024.jpg 2
443 | data/office31/dslr/headphones/frame_0001.jpg 10
444 | data/office31/dslr/headphones/frame_0002.jpg 10
445 | data/office31/dslr/headphones/frame_0003.jpg 10
446 | data/office31/dslr/headphones/frame_0004.jpg 10
447 | data/office31/dslr/headphones/frame_0005.jpg 10
448 | data/office31/dslr/headphones/frame_0006.jpg 10
449 | data/office31/dslr/headphones/frame_0007.jpg 10
450 | data/office31/dslr/headphones/frame_0008.jpg 10
451 | data/office31/dslr/headphones/frame_0009.jpg 10
452 | data/office31/dslr/headphones/frame_0010.jpg 10
453 | data/office31/dslr/headphones/frame_0011.jpg 10
454 | data/office31/dslr/headphones/frame_0012.jpg 10
455 | data/office31/dslr/headphones/frame_0013.jpg 10
456 | data/office31/dslr/desk_lamp/frame_0001.jpg 7
457 | data/office31/dslr/desk_lamp/frame_0002.jpg 7
458 | data/office31/dslr/desk_lamp/frame_0003.jpg 7
459 | data/office31/dslr/desk_lamp/frame_0004.jpg 7
460 | data/office31/dslr/desk_lamp/frame_0005.jpg 7
461 | data/office31/dslr/desk_lamp/frame_0006.jpg 7
462 | data/office31/dslr/desk_lamp/frame_0007.jpg 7
463 | data/office31/dslr/desk_lamp/frame_0008.jpg 7
464 | data/office31/dslr/desk_lamp/frame_0009.jpg 7
465 | data/office31/dslr/desk_lamp/frame_0010.jpg 7
466 | data/office31/dslr/desk_lamp/frame_0011.jpg 7
467 | data/office31/dslr/desk_lamp/frame_0012.jpg 7
468 | data/office31/dslr/desk_lamp/frame_0013.jpg 7
469 | data/office31/dslr/desk_lamp/frame_0014.jpg 7
470 | data/office31/dslr/desk_chair/frame_0001.jpg 6
471 | data/office31/dslr/desk_chair/frame_0002.jpg 6
472 | data/office31/dslr/desk_chair/frame_0003.jpg 6
473 | data/office31/dslr/desk_chair/frame_0004.jpg 6
474 | data/office31/dslr/desk_chair/frame_0005.jpg 6
475 | data/office31/dslr/desk_chair/frame_0006.jpg 6
476 | data/office31/dslr/desk_chair/frame_0007.jpg 6
477 | data/office31/dslr/desk_chair/frame_0008.jpg 6
478 | data/office31/dslr/desk_chair/frame_0009.jpg 6
479 | data/office31/dslr/desk_chair/frame_0010.jpg 6
480 | data/office31/dslr/desk_chair/frame_0011.jpg 6
481 | data/office31/dslr/desk_chair/frame_0012.jpg 6
482 | data/office31/dslr/desk_chair/frame_0013.jpg 6
483 | data/office31/dslr/bottle/frame_0001.jpg 4
484 | data/office31/dslr/bottle/frame_0002.jpg 4
485 | data/office31/dslr/bottle/frame_0003.jpg 4
486 | data/office31/dslr/bottle/frame_0004.jpg 4
487 | data/office31/dslr/bottle/frame_0005.jpg 4
488 | data/office31/dslr/bottle/frame_0006.jpg 4
489 | data/office31/dslr/bottle/frame_0007.jpg 4
490 | data/office31/dslr/bottle/frame_0008.jpg 4
491 | data/office31/dslr/bottle/frame_0009.jpg 4
492 | data/office31/dslr/bottle/frame_0010.jpg 4
493 | data/office31/dslr/bottle/frame_0011.jpg 4
494 | data/office31/dslr/bottle/frame_0012.jpg 4
495 | data/office31/dslr/bottle/frame_0013.jpg 4
496 | data/office31/dslr/bottle/frame_0014.jpg 4
497 | data/office31/dslr/bottle/frame_0015.jpg 4
498 | data/office31/dslr/bottle/frame_0016.jpg 4
499 |
--------------------------------------------------------------------------------
/data/list/office/webcam_test.txt:
--------------------------------------------------------------------------------
1 | data/office31/webcam/back_pack/frame_0003.jpg 0
2 | data/office31/webcam/back_pack/frame_0001.jpg 0
3 | data/office31/webcam/back_pack/frame_0024.jpg 0
4 | data/office31/webcam/back_pack/frame_0017.jpg 0
5 | data/office31/webcam/back_pack/frame_0029.jpg 0
6 | data/office31/webcam/back_pack/frame_0027.jpg 0
7 | data/office31/webcam/back_pack/frame_0011.jpg 0
8 | data/office31/webcam/back_pack/frame_0004.jpg 0
9 | data/office31/webcam/back_pack/frame_0012.jpg 0
10 | data/office31/webcam/back_pack/frame_0009.jpg 0
11 | data/office31/webcam/back_pack/frame_0016.jpg 0
12 | data/office31/webcam/back_pack/frame_0021.jpg 0
13 | data/office31/webcam/back_pack/frame_0005.jpg 0
14 | data/office31/webcam/back_pack/frame_0020.jpg 0
15 | data/office31/webcam/back_pack/frame_0013.jpg 0
16 | data/office31/webcam/back_pack/frame_0026.jpg 0
17 | data/office31/webcam/back_pack/frame_0015.jpg 0
18 | data/office31/webcam/back_pack/frame_0006.jpg 0
19 | data/office31/webcam/back_pack/frame_0018.jpg 0
20 | data/office31/webcam/back_pack/frame_0008.jpg 0
21 | data/office31/webcam/back_pack/frame_0028.jpg 0
22 | data/office31/webcam/back_pack/frame_0022.jpg 0
23 | data/office31/webcam/back_pack/frame_0014.jpg 0
24 | data/office31/webcam/back_pack/frame_0025.jpg 0
25 | data/office31/webcam/back_pack/frame_0019.jpg 0
26 | data/office31/webcam/back_pack/frame_0002.jpg 0
27 | data/office31/webcam/back_pack/frame_0023.jpg 0
28 | data/office31/webcam/back_pack/frame_0007.jpg 0
29 | data/office31/webcam/back_pack/frame_0010.jpg 0
30 | data/office31/webcam/bike/frame_0009.jpg 1
31 | data/office31/webcam/bike/frame_0002.jpg 1
32 | data/office31/webcam/bike/frame_0012.jpg 1
33 | data/office31/webcam/bike/frame_0019.jpg 1
34 | data/office31/webcam/bike/frame_0010.jpg 1
35 | data/office31/webcam/bike/frame_0021.jpg 1
36 | data/office31/webcam/bike/frame_0003.jpg 1
37 | data/office31/webcam/bike/frame_0015.jpg 1
38 | data/office31/webcam/bike/frame_0011.jpg 1
39 | data/office31/webcam/bike/frame_0005.jpg 1
40 | data/office31/webcam/bike/frame_0014.jpg 1
41 | data/office31/webcam/bike/frame_0001.jpg 1
42 | data/office31/webcam/bike/frame_0017.jpg 1
43 | data/office31/webcam/bike/frame_0013.jpg 1
44 | data/office31/webcam/bike/frame_0007.jpg 1
45 | data/office31/webcam/bike/frame_0006.jpg 1
46 | data/office31/webcam/bike/frame_0004.jpg 1
47 | data/office31/webcam/bike/frame_0016.jpg 1
48 | data/office31/webcam/bike/frame_0018.jpg 1
49 | data/office31/webcam/bike/frame_0020.jpg 1
50 | data/office31/webcam/bike/frame_0008.jpg 1
51 | data/office31/webcam/calculator/frame_0013.jpg 5
52 | data/office31/webcam/calculator/frame_0001.jpg 5
53 | data/office31/webcam/calculator/frame_0009.jpg 5
54 | data/office31/webcam/calculator/frame_0018.jpg 5
55 | data/office31/webcam/calculator/frame_0014.jpg 5
56 | data/office31/webcam/calculator/frame_0005.jpg 5
57 | data/office31/webcam/calculator/frame_0004.jpg 5
58 | data/office31/webcam/calculator/frame_0012.jpg 5
59 | data/office31/webcam/calculator/frame_0025.jpg 5
60 | data/office31/webcam/calculator/frame_0019.jpg 5
61 | data/office31/webcam/calculator/frame_0023.jpg 5
62 | data/office31/webcam/calculator/frame_0031.jpg 5
63 | data/office31/webcam/calculator/frame_0020.jpg 5
64 | data/office31/webcam/calculator/frame_0027.jpg 5
65 | data/office31/webcam/calculator/frame_0016.jpg 5
66 | data/office31/webcam/calculator/frame_0015.jpg 5
67 | data/office31/webcam/calculator/frame_0030.jpg 5
68 | data/office31/webcam/calculator/frame_0022.jpg 5
69 | data/office31/webcam/calculator/frame_0029.jpg 5
70 | data/office31/webcam/calculator/frame_0024.jpg 5
71 | data/office31/webcam/calculator/frame_0008.jpg 5
72 | data/office31/webcam/calculator/frame_0002.jpg 5
73 | data/office31/webcam/calculator/frame_0021.jpg 5
74 | data/office31/webcam/calculator/frame_0010.jpg 5
75 | data/office31/webcam/calculator/frame_0017.jpg 5
76 | data/office31/webcam/calculator/frame_0007.jpg 5
77 | data/office31/webcam/calculator/frame_0006.jpg 5
78 | data/office31/webcam/calculator/frame_0011.jpg 5
79 | data/office31/webcam/calculator/frame_0028.jpg 5
80 | data/office31/webcam/calculator/frame_0026.jpg 5
81 | data/office31/webcam/calculator/frame_0003.jpg 5
82 | data/office31/webcam/headphones/frame_0009.jpg 10
83 | data/office31/webcam/headphones/frame_0006.jpg 10
84 | data/office31/webcam/headphones/frame_0001.jpg 10
85 | data/office31/webcam/headphones/frame_0027.jpg 10
86 | data/office31/webcam/headphones/frame_0017.jpg 10
87 | data/office31/webcam/headphones/frame_0026.jpg 10
88 | data/office31/webcam/headphones/frame_0020.jpg 10
89 | data/office31/webcam/headphones/frame_0015.jpg 10
90 | data/office31/webcam/headphones/frame_0016.jpg 10
91 | data/office31/webcam/headphones/frame_0019.jpg 10
92 | data/office31/webcam/headphones/frame_0013.jpg 10
93 | data/office31/webcam/headphones/frame_0002.jpg 10
94 | data/office31/webcam/headphones/frame_0023.jpg 10
95 | data/office31/webcam/headphones/frame_0003.jpg 10
96 | data/office31/webcam/headphones/frame_0010.jpg 10
97 | data/office31/webcam/headphones/frame_0012.jpg 10
98 | data/office31/webcam/headphones/frame_0011.jpg 10
99 | data/office31/webcam/headphones/frame_0007.jpg 10
100 | data/office31/webcam/headphones/frame_0005.jpg 10
101 | data/office31/webcam/headphones/frame_0004.jpg 10
102 | data/office31/webcam/headphones/frame_0022.jpg 10
103 | data/office31/webcam/headphones/frame_0024.jpg 10
104 | data/office31/webcam/headphones/frame_0018.jpg 10
105 | data/office31/webcam/headphones/frame_0025.jpg 10
106 | data/office31/webcam/headphones/frame_0021.jpg 10
107 | data/office31/webcam/headphones/frame_0008.jpg 10
108 | data/office31/webcam/headphones/frame_0014.jpg 10
109 | data/office31/webcam/keyboard/frame_0004.jpg 11
110 | data/office31/webcam/keyboard/frame_0020.jpg 11
111 | data/office31/webcam/keyboard/frame_0013.jpg 11
112 | data/office31/webcam/keyboard/frame_0003.jpg 11
113 | data/office31/webcam/keyboard/frame_0021.jpg 11
114 | data/office31/webcam/keyboard/frame_0001.jpg 11
115 | data/office31/webcam/keyboard/frame_0011.jpg 11
116 | data/office31/webcam/keyboard/frame_0022.jpg 11
117 | data/office31/webcam/keyboard/frame_0027.jpg 11
118 | data/office31/webcam/keyboard/frame_0007.jpg 11
119 | data/office31/webcam/keyboard/frame_0015.jpg 11
120 | data/office31/webcam/keyboard/frame_0005.jpg 11
121 | data/office31/webcam/keyboard/frame_0014.jpg 11
122 | data/office31/webcam/keyboard/frame_0019.jpg 11
123 | data/office31/webcam/keyboard/frame_0006.jpg 11
124 | data/office31/webcam/keyboard/frame_0010.jpg 11
125 | data/office31/webcam/keyboard/frame_0025.jpg 11
126 | data/office31/webcam/keyboard/frame_0008.jpg 11
127 | data/office31/webcam/keyboard/frame_0023.jpg 11
128 | data/office31/webcam/keyboard/frame_0026.jpg 11
129 | data/office31/webcam/keyboard/frame_0002.jpg 11
130 | data/office31/webcam/keyboard/frame_0017.jpg 11
131 | data/office31/webcam/keyboard/frame_0012.jpg 11
132 | data/office31/webcam/keyboard/frame_0016.jpg 11
133 | data/office31/webcam/keyboard/frame_0024.jpg 11
134 | data/office31/webcam/keyboard/frame_0018.jpg 11
135 | data/office31/webcam/keyboard/frame_0009.jpg 11
136 | data/office31/webcam/laptop_computer/frame_0017.jpg 12
137 | data/office31/webcam/laptop_computer/frame_0007.jpg 12
138 | data/office31/webcam/laptop_computer/frame_0010.jpg 12
139 | data/office31/webcam/laptop_computer/frame_0019.jpg 12
140 | data/office31/webcam/laptop_computer/frame_0005.jpg 12
141 | data/office31/webcam/laptop_computer/frame_0030.jpg 12
142 | data/office31/webcam/laptop_computer/frame_0012.jpg 12
143 | data/office31/webcam/laptop_computer/frame_0014.jpg 12
144 | data/office31/webcam/laptop_computer/frame_0015.jpg 12
145 | data/office31/webcam/laptop_computer/frame_0018.jpg 12
146 | data/office31/webcam/laptop_computer/frame_0003.jpg 12
147 | data/office31/webcam/laptop_computer/frame_0016.jpg 12
148 | data/office31/webcam/laptop_computer/frame_0001.jpg 12
149 | data/office31/webcam/laptop_computer/frame_0023.jpg 12
150 | data/office31/webcam/laptop_computer/frame_0020.jpg 12
151 | data/office31/webcam/laptop_computer/frame_0006.jpg 12
152 | data/office31/webcam/laptop_computer/frame_0009.jpg 12
153 | data/office31/webcam/laptop_computer/frame_0024.jpg 12
154 | data/office31/webcam/laptop_computer/frame_0025.jpg 12
155 | data/office31/webcam/laptop_computer/frame_0013.jpg 12
156 | data/office31/webcam/laptop_computer/frame_0029.jpg 12
157 | data/office31/webcam/laptop_computer/frame_0027.jpg 12
158 | data/office31/webcam/laptop_computer/frame_0026.jpg 12
159 | data/office31/webcam/laptop_computer/frame_0011.jpg 12
160 | data/office31/webcam/laptop_computer/frame_0002.jpg 12
161 | data/office31/webcam/laptop_computer/frame_0008.jpg 12
162 | data/office31/webcam/laptop_computer/frame_0028.jpg 12
163 | data/office31/webcam/laptop_computer/frame_0022.jpg 12
164 | data/office31/webcam/laptop_computer/frame_0021.jpg 12
165 | data/office31/webcam/laptop_computer/frame_0004.jpg 12
166 | data/office31/webcam/monitor/frame_0014.jpg 15
167 | data/office31/webcam/monitor/frame_0027.jpg 15
168 | data/office31/webcam/monitor/frame_0029.jpg 15
169 | data/office31/webcam/monitor/frame_0015.jpg 15
170 | data/office31/webcam/monitor/frame_0020.jpg 15
171 | data/office31/webcam/monitor/frame_0007.jpg 15
172 | data/office31/webcam/monitor/frame_0038.jpg 15
173 | data/office31/webcam/monitor/frame_0037.jpg 15
174 | data/office31/webcam/monitor/frame_0004.jpg 15
175 | data/office31/webcam/monitor/frame_0040.jpg 15
176 | data/office31/webcam/monitor/frame_0002.jpg 15
177 | data/office31/webcam/monitor/frame_0025.jpg 15
178 | data/office31/webcam/monitor/frame_0001.jpg 15
179 | data/office31/webcam/monitor/frame_0032.jpg 15
180 | data/office31/webcam/monitor/frame_0012.jpg 15
181 | data/office31/webcam/monitor/frame_0042.jpg 15
182 | data/office31/webcam/monitor/frame_0005.jpg 15
183 | data/office31/webcam/monitor/frame_0016.jpg 15
184 | data/office31/webcam/monitor/frame_0022.jpg 15
185 | data/office31/webcam/monitor/frame_0031.jpg 15
186 | data/office31/webcam/monitor/frame_0017.jpg 15
187 | data/office31/webcam/monitor/frame_0023.jpg 15
188 | data/office31/webcam/monitor/frame_0008.jpg 15
189 | data/office31/webcam/monitor/frame_0034.jpg 15
190 | data/office31/webcam/monitor/frame_0010.jpg 15
191 | data/office31/webcam/monitor/frame_0039.jpg 15
192 | data/office31/webcam/monitor/frame_0043.jpg 15
193 | data/office31/webcam/monitor/frame_0030.jpg 15
194 | data/office31/webcam/monitor/frame_0009.jpg 15
195 | data/office31/webcam/monitor/frame_0026.jpg 15
196 | data/office31/webcam/monitor/frame_0013.jpg 15
197 | data/office31/webcam/monitor/frame_0011.jpg 15
198 | data/office31/webcam/monitor/frame_0003.jpg 15
199 | data/office31/webcam/monitor/frame_0018.jpg 15
200 | data/office31/webcam/monitor/frame_0033.jpg 15
201 | data/office31/webcam/monitor/frame_0019.jpg 15
202 | data/office31/webcam/monitor/frame_0006.jpg 15
203 | data/office31/webcam/monitor/frame_0021.jpg 15
204 | data/office31/webcam/monitor/frame_0028.jpg 15
205 | data/office31/webcam/monitor/frame_0036.jpg 15
206 | data/office31/webcam/monitor/frame_0035.jpg 15
207 | data/office31/webcam/monitor/frame_0024.jpg 15
208 | data/office31/webcam/monitor/frame_0041.jpg 15
209 | data/office31/webcam/mouse/frame_0030.jpg 16
210 | data/office31/webcam/mouse/frame_0014.jpg 16
211 | data/office31/webcam/mouse/frame_0024.jpg 16
212 | data/office31/webcam/mouse/frame_0006.jpg 16
213 | data/office31/webcam/mouse/frame_0010.jpg 16
214 | data/office31/webcam/mouse/frame_0015.jpg 16
215 | data/office31/webcam/mouse/frame_0027.jpg 16
216 | data/office31/webcam/mouse/frame_0017.jpg 16
217 | data/office31/webcam/mouse/frame_0018.jpg 16
218 | data/office31/webcam/mouse/frame_0016.jpg 16
219 | data/office31/webcam/mouse/frame_0029.jpg 16
220 | data/office31/webcam/mouse/frame_0002.jpg 16
221 | data/office31/webcam/mouse/frame_0022.jpg 16
222 | data/office31/webcam/mouse/frame_0025.jpg 16
223 | data/office31/webcam/mouse/frame_0020.jpg 16
224 | data/office31/webcam/mouse/frame_0023.jpg 16
225 | data/office31/webcam/mouse/frame_0026.jpg 16
226 | data/office31/webcam/mouse/frame_0021.jpg 16
227 | data/office31/webcam/mouse/frame_0028.jpg 16
228 | data/office31/webcam/mouse/frame_0009.jpg 16
229 | data/office31/webcam/mouse/frame_0008.jpg 16
230 | data/office31/webcam/mouse/frame_0001.jpg 16
231 | data/office31/webcam/mouse/frame_0003.jpg 16
232 | data/office31/webcam/mouse/frame_0004.jpg 16
233 | data/office31/webcam/mouse/frame_0013.jpg 16
234 | data/office31/webcam/mouse/frame_0007.jpg 16
235 | data/office31/webcam/mouse/frame_0011.jpg 16
236 | data/office31/webcam/mouse/frame_0012.jpg 16
237 | data/office31/webcam/mouse/frame_0019.jpg 16
238 | data/office31/webcam/mouse/frame_0005.jpg 16
239 | data/office31/webcam/mug/frame_0024.jpg 17
240 | data/office31/webcam/mug/frame_0013.jpg 17
241 | data/office31/webcam/mug/frame_0009.jpg 17
242 | data/office31/webcam/mug/frame_0025.jpg 17
243 | data/office31/webcam/mug/frame_0017.jpg 17
244 | data/office31/webcam/mug/frame_0005.jpg 17
245 | data/office31/webcam/mug/frame_0016.jpg 17
246 | data/office31/webcam/mug/frame_0011.jpg 17
247 | data/office31/webcam/mug/frame_0022.jpg 17
248 | data/office31/webcam/mug/frame_0010.jpg 17
249 | data/office31/webcam/mug/frame_0007.jpg 17
250 | data/office31/webcam/mug/frame_0003.jpg 17
251 | data/office31/webcam/mug/frame_0023.jpg 17
252 | data/office31/webcam/mug/frame_0020.jpg 17
253 | data/office31/webcam/mug/frame_0026.jpg 17
254 | data/office31/webcam/mug/frame_0027.jpg 17
255 | data/office31/webcam/mug/frame_0012.jpg 17
256 | data/office31/webcam/mug/frame_0006.jpg 17
257 | data/office31/webcam/mug/frame_0018.jpg 17
258 | data/office31/webcam/mug/frame_0004.jpg 17
259 | data/office31/webcam/mug/frame_0008.jpg 17
260 | data/office31/webcam/mug/frame_0002.jpg 17
261 | data/office31/webcam/mug/frame_0021.jpg 17
262 | data/office31/webcam/mug/frame_0014.jpg 17
263 | data/office31/webcam/mug/frame_0019.jpg 17
264 | data/office31/webcam/mug/frame_0015.jpg 17
265 | data/office31/webcam/mug/frame_0001.jpg 17
266 | data/office31/webcam/projector/frame_0020.jpg 22
267 | data/office31/webcam/projector/frame_0015.jpg 22
268 | data/office31/webcam/projector/frame_0008.jpg 22
269 | data/office31/webcam/projector/frame_0021.jpg 22
270 | data/office31/webcam/projector/frame_0016.jpg 22
271 | data/office31/webcam/projector/frame_0006.jpg 22
272 | data/office31/webcam/projector/frame_0017.jpg 22
273 | data/office31/webcam/projector/frame_0005.jpg 22
274 | data/office31/webcam/projector/frame_0024.jpg 22
275 | data/office31/webcam/projector/frame_0001.jpg 22
276 | data/office31/webcam/projector/frame_0018.jpg 22
277 | data/office31/webcam/projector/frame_0004.jpg 22
278 | data/office31/webcam/projector/frame_0013.jpg 22
279 | data/office31/webcam/projector/frame_0029.jpg 22
280 | data/office31/webcam/projector/frame_0003.jpg 22
281 | data/office31/webcam/projector/frame_0019.jpg 22
282 | data/office31/webcam/projector/frame_0022.jpg 22
283 | data/office31/webcam/projector/frame_0030.jpg 22
284 | data/office31/webcam/projector/frame_0023.jpg 22
285 | data/office31/webcam/projector/frame_0014.jpg 22
286 | data/office31/webcam/projector/frame_0002.jpg 22
287 | data/office31/webcam/projector/frame_0007.jpg 22
288 | data/office31/webcam/projector/frame_0011.jpg 22
289 | data/office31/webcam/projector/frame_0010.jpg 22
290 | data/office31/webcam/projector/frame_0026.jpg 22
291 | data/office31/webcam/projector/frame_0027.jpg 22
292 | data/office31/webcam/projector/frame_0012.jpg 22
293 | data/office31/webcam/projector/frame_0009.jpg 22
294 | data/office31/webcam/projector/frame_0028.jpg 22
295 | data/office31/webcam/projector/frame_0025.jpg 22
296 | data/office31/webcam/speaker/frame_0001.jpg 27
297 | data/office31/webcam/speaker/frame_0002.jpg 27
298 | data/office31/webcam/speaker/frame_0003.jpg 27
299 | data/office31/webcam/speaker/frame_0004.jpg 27
300 | data/office31/webcam/speaker/frame_0005.jpg 27
301 | data/office31/webcam/speaker/frame_0006.jpg 27
302 | data/office31/webcam/speaker/frame_0007.jpg 27
303 | data/office31/webcam/speaker/frame_0008.jpg 27
304 | data/office31/webcam/speaker/frame_0009.jpg 27
305 | data/office31/webcam/speaker/frame_0010.jpg 27
306 | data/office31/webcam/speaker/frame_0011.jpg 27
307 | data/office31/webcam/speaker/frame_0012.jpg 27
308 | data/office31/webcam/speaker/frame_0013.jpg 27
309 | data/office31/webcam/speaker/frame_0014.jpg 27
310 | data/office31/webcam/speaker/frame_0015.jpg 27
311 | data/office31/webcam/speaker/frame_0016.jpg 27
312 | data/office31/webcam/speaker/frame_0017.jpg 27
313 | data/office31/webcam/speaker/frame_0018.jpg 27
314 | data/office31/webcam/speaker/frame_0019.jpg 27
315 | data/office31/webcam/speaker/frame_0020.jpg 27
316 | data/office31/webcam/speaker/frame_0021.jpg 27
317 | data/office31/webcam/speaker/frame_0022.jpg 27
318 | data/office31/webcam/speaker/frame_0023.jpg 27
319 | data/office31/webcam/speaker/frame_0024.jpg 27
320 | data/office31/webcam/speaker/frame_0025.jpg 27
321 | data/office31/webcam/speaker/frame_0026.jpg 27
322 | data/office31/webcam/speaker/frame_0027.jpg 27
323 | data/office31/webcam/speaker/frame_0028.jpg 27
324 | data/office31/webcam/speaker/frame_0029.jpg 27
325 | data/office31/webcam/speaker/frame_0030.jpg 27
326 | data/office31/webcam/desk_chair/frame_0001.jpg 6
327 | data/office31/webcam/desk_chair/frame_0002.jpg 6
328 | data/office31/webcam/desk_chair/frame_0003.jpg 6
329 | data/office31/webcam/desk_chair/frame_0004.jpg 6
330 | data/office31/webcam/desk_chair/frame_0005.jpg 6
331 | data/office31/webcam/desk_chair/frame_0006.jpg 6
332 | data/office31/webcam/desk_chair/frame_0007.jpg 6
333 | data/office31/webcam/desk_chair/frame_0008.jpg 6
334 | data/office31/webcam/desk_chair/frame_0009.jpg 6
335 | data/office31/webcam/desk_chair/frame_0010.jpg 6
336 | data/office31/webcam/desk_chair/frame_0011.jpg 6
337 | data/office31/webcam/desk_chair/frame_0012.jpg 6
338 | data/office31/webcam/desk_chair/frame_0013.jpg 6
339 | data/office31/webcam/desk_chair/frame_0014.jpg 6
340 | data/office31/webcam/desk_chair/frame_0015.jpg 6
341 | data/office31/webcam/desk_chair/frame_0016.jpg 6
342 | data/office31/webcam/desk_chair/frame_0017.jpg 6
343 | data/office31/webcam/desk_chair/frame_0018.jpg 6
344 | data/office31/webcam/desk_chair/frame_0019.jpg 6
345 | data/office31/webcam/desk_chair/frame_0020.jpg 6
346 | data/office31/webcam/desk_chair/frame_0021.jpg 6
347 | data/office31/webcam/desk_chair/frame_0022.jpg 6
348 | data/office31/webcam/desk_chair/frame_0023.jpg 6
349 | data/office31/webcam/desk_chair/frame_0024.jpg 6
350 | data/office31/webcam/desk_chair/frame_0025.jpg 6
351 | data/office31/webcam/desk_chair/frame_0026.jpg 6
352 | data/office31/webcam/desk_chair/frame_0027.jpg 6
353 | data/office31/webcam/desk_chair/frame_0028.jpg 6
354 | data/office31/webcam/desk_chair/frame_0029.jpg 6
355 | data/office31/webcam/desk_chair/frame_0030.jpg 6
356 | data/office31/webcam/desk_chair/frame_0031.jpg 6
357 | data/office31/webcam/desk_chair/frame_0032.jpg 6
358 | data/office31/webcam/desk_chair/frame_0033.jpg 6
359 | data/office31/webcam/desk_chair/frame_0034.jpg 6
360 | data/office31/webcam/desk_chair/frame_0035.jpg 6
361 | data/office31/webcam/desk_chair/frame_0036.jpg 6
362 | data/office31/webcam/desk_chair/frame_0037.jpg 6
363 | data/office31/webcam/desk_chair/frame_0038.jpg 6
364 | data/office31/webcam/desk_chair/frame_0039.jpg 6
365 | data/office31/webcam/desk_chair/frame_0040.jpg 6
366 | data/office31/webcam/desk_lamp/frame_0001.jpg 7
367 | data/office31/webcam/desk_lamp/frame_0002.jpg 7
368 | data/office31/webcam/desk_lamp/frame_0003.jpg 7
369 | data/office31/webcam/desk_lamp/frame_0004.jpg 7
370 | data/office31/webcam/desk_lamp/frame_0005.jpg 7
371 | data/office31/webcam/desk_lamp/frame_0006.jpg 7
372 | data/office31/webcam/desk_lamp/frame_0007.jpg 7
373 | data/office31/webcam/desk_lamp/frame_0008.jpg 7
374 | data/office31/webcam/desk_lamp/frame_0009.jpg 7
375 | data/office31/webcam/desk_lamp/frame_0010.jpg 7
376 | data/office31/webcam/desk_lamp/frame_0011.jpg 7
377 | data/office31/webcam/desk_lamp/frame_0012.jpg 7
378 | data/office31/webcam/desk_lamp/frame_0013.jpg 7
379 | data/office31/webcam/desk_lamp/frame_0014.jpg 7
380 | data/office31/webcam/desk_lamp/frame_0015.jpg 7
381 | data/office31/webcam/desk_lamp/frame_0016.jpg 7
382 | data/office31/webcam/desk_lamp/frame_0017.jpg 7
383 | data/office31/webcam/desk_lamp/frame_0018.jpg 7
384 | data/office31/webcam/punchers/frame_0001.jpg 23
385 | data/office31/webcam/punchers/frame_0002.jpg 23
386 | data/office31/webcam/punchers/frame_0003.jpg 23
387 | data/office31/webcam/punchers/frame_0004.jpg 23
388 | data/office31/webcam/punchers/frame_0005.jpg 23
389 | data/office31/webcam/punchers/frame_0006.jpg 23
390 | data/office31/webcam/punchers/frame_0007.jpg 23
391 | data/office31/webcam/punchers/frame_0008.jpg 23
392 | data/office31/webcam/punchers/frame_0009.jpg 23
393 | data/office31/webcam/punchers/frame_0010.jpg 23
394 | data/office31/webcam/punchers/frame_0011.jpg 23
395 | data/office31/webcam/punchers/frame_0012.jpg 23
396 | data/office31/webcam/punchers/frame_0013.jpg 23
397 | data/office31/webcam/punchers/frame_0014.jpg 23
398 | data/office31/webcam/punchers/frame_0015.jpg 23
399 | data/office31/webcam/punchers/frame_0016.jpg 23
400 | data/office31/webcam/punchers/frame_0017.jpg 23
401 | data/office31/webcam/punchers/frame_0018.jpg 23
402 | data/office31/webcam/punchers/frame_0019.jpg 23
403 | data/office31/webcam/punchers/frame_0020.jpg 23
404 | data/office31/webcam/punchers/frame_0021.jpg 23
405 | data/office31/webcam/punchers/frame_0022.jpg 23
406 | data/office31/webcam/punchers/frame_0023.jpg 23
407 | data/office31/webcam/punchers/frame_0024.jpg 23
408 | data/office31/webcam/punchers/frame_0025.jpg 23
409 | data/office31/webcam/punchers/frame_0026.jpg 23
410 | data/office31/webcam/punchers/frame_0027.jpg 23
411 | data/office31/webcam/phone/frame_0001.jpg 20
412 | data/office31/webcam/phone/frame_0002.jpg 20
413 | data/office31/webcam/phone/frame_0003.jpg 20
414 | data/office31/webcam/phone/frame_0004.jpg 20
415 | data/office31/webcam/phone/frame_0005.jpg 20
416 | data/office31/webcam/phone/frame_0006.jpg 20
417 | data/office31/webcam/phone/frame_0007.jpg 20
418 | data/office31/webcam/phone/frame_0008.jpg 20
419 | data/office31/webcam/phone/frame_0009.jpg 20
420 | data/office31/webcam/phone/frame_0010.jpg 20
421 | data/office31/webcam/phone/frame_0011.jpg 20
422 | data/office31/webcam/phone/frame_0012.jpg 20
423 | data/office31/webcam/phone/frame_0013.jpg 20
424 | data/office31/webcam/phone/frame_0014.jpg 20
425 | data/office31/webcam/phone/frame_0015.jpg 20
426 | data/office31/webcam/phone/frame_0016.jpg 20
427 | data/office31/webcam/tape_dispenser/frame_0001.jpg 29
428 | data/office31/webcam/tape_dispenser/frame_0002.jpg 29
429 | data/office31/webcam/tape_dispenser/frame_0003.jpg 29
430 | data/office31/webcam/tape_dispenser/frame_0004.jpg 29
431 | data/office31/webcam/tape_dispenser/frame_0005.jpg 29
432 | data/office31/webcam/tape_dispenser/frame_0006.jpg 29
433 | data/office31/webcam/tape_dispenser/frame_0007.jpg 29
434 | data/office31/webcam/tape_dispenser/frame_0008.jpg 29
435 | data/office31/webcam/tape_dispenser/frame_0009.jpg 29
436 | data/office31/webcam/tape_dispenser/frame_0010.jpg 29
437 | data/office31/webcam/tape_dispenser/frame_0011.jpg 29
438 | data/office31/webcam/tape_dispenser/frame_0012.jpg 29
439 | data/office31/webcam/tape_dispenser/frame_0013.jpg 29
440 | data/office31/webcam/tape_dispenser/frame_0014.jpg 29
441 | data/office31/webcam/tape_dispenser/frame_0015.jpg 29
442 | data/office31/webcam/tape_dispenser/frame_0016.jpg 29
443 | data/office31/webcam/tape_dispenser/frame_0017.jpg 29
444 | data/office31/webcam/tape_dispenser/frame_0018.jpg 29
445 | data/office31/webcam/tape_dispenser/frame_0019.jpg 29
446 | data/office31/webcam/tape_dispenser/frame_0020.jpg 29
447 | data/office31/webcam/tape_dispenser/frame_0021.jpg 29
448 | data/office31/webcam/tape_dispenser/frame_0022.jpg 29
449 | data/office31/webcam/tape_dispenser/frame_0023.jpg 29
450 | data/office31/webcam/mobile_phone/frame_0001.jpg 14
451 | data/office31/webcam/mobile_phone/frame_0002.jpg 14
452 | data/office31/webcam/mobile_phone/frame_0003.jpg 14
453 | data/office31/webcam/mobile_phone/frame_0004.jpg 14
454 | data/office31/webcam/mobile_phone/frame_0005.jpg 14
455 | data/office31/webcam/mobile_phone/frame_0006.jpg 14
456 | data/office31/webcam/mobile_phone/frame_0007.jpg 14
457 | data/office31/webcam/mobile_phone/frame_0008.jpg 14
458 | data/office31/webcam/mobile_phone/frame_0009.jpg 14
459 | data/office31/webcam/mobile_phone/frame_0010.jpg 14
460 | data/office31/webcam/mobile_phone/frame_0011.jpg 14
461 | data/office31/webcam/mobile_phone/frame_0012.jpg 14
462 | data/office31/webcam/mobile_phone/frame_0013.jpg 14
463 | data/office31/webcam/mobile_phone/frame_0014.jpg 14
464 | data/office31/webcam/mobile_phone/frame_0015.jpg 14
465 | data/office31/webcam/mobile_phone/frame_0016.jpg 14
466 | data/office31/webcam/mobile_phone/frame_0017.jpg 14
467 | data/office31/webcam/mobile_phone/frame_0018.jpg 14
468 | data/office31/webcam/mobile_phone/frame_0019.jpg 14
469 | data/office31/webcam/mobile_phone/frame_0020.jpg 14
470 | data/office31/webcam/mobile_phone/frame_0021.jpg 14
471 | data/office31/webcam/mobile_phone/frame_0022.jpg 14
472 | data/office31/webcam/mobile_phone/frame_0023.jpg 14
473 | data/office31/webcam/mobile_phone/frame_0024.jpg 14
474 | data/office31/webcam/mobile_phone/frame_0025.jpg 14
475 | data/office31/webcam/mobile_phone/frame_0026.jpg 14
476 | data/office31/webcam/mobile_phone/frame_0027.jpg 14
477 | data/office31/webcam/mobile_phone/frame_0028.jpg 14
478 | data/office31/webcam/mobile_phone/frame_0029.jpg 14
479 | data/office31/webcam/mobile_phone/frame_0030.jpg 14
480 | data/office31/webcam/desktop_computer/frame_0001.jpg 8
481 | data/office31/webcam/desktop_computer/frame_0002.jpg 8
482 | data/office31/webcam/desktop_computer/frame_0003.jpg 8
483 | data/office31/webcam/desktop_computer/frame_0004.jpg 8
484 | data/office31/webcam/desktop_computer/frame_0005.jpg 8
485 | data/office31/webcam/desktop_computer/frame_0006.jpg 8
486 | data/office31/webcam/desktop_computer/frame_0007.jpg 8
487 | data/office31/webcam/desktop_computer/frame_0008.jpg 8
488 | data/office31/webcam/desktop_computer/frame_0009.jpg 8
489 | data/office31/webcam/desktop_computer/frame_0010.jpg 8
490 | data/office31/webcam/desktop_computer/frame_0011.jpg 8
491 | data/office31/webcam/desktop_computer/frame_0012.jpg 8
492 | data/office31/webcam/desktop_computer/frame_0013.jpg 8
493 | data/office31/webcam/desktop_computer/frame_0014.jpg 8
494 | data/office31/webcam/desktop_computer/frame_0015.jpg 8
495 | data/office31/webcam/desktop_computer/frame_0016.jpg 8
496 | data/office31/webcam/desktop_computer/frame_0017.jpg 8
497 | data/office31/webcam/desktop_computer/frame_0018.jpg 8
498 | data/office31/webcam/desktop_computer/frame_0019.jpg 8
499 | data/office31/webcam/desktop_computer/frame_0020.jpg 8
500 | data/office31/webcam/desktop_computer/frame_0021.jpg 8
501 | data/office31/webcam/letter_tray/frame_0001.jpg 13
502 | data/office31/webcam/letter_tray/frame_0002.jpg 13
503 | data/office31/webcam/letter_tray/frame_0003.jpg 13
504 | data/office31/webcam/letter_tray/frame_0004.jpg 13
505 | data/office31/webcam/letter_tray/frame_0005.jpg 13
506 | data/office31/webcam/letter_tray/frame_0006.jpg 13
507 | data/office31/webcam/letter_tray/frame_0007.jpg 13
508 | data/office31/webcam/letter_tray/frame_0008.jpg 13
509 | data/office31/webcam/letter_tray/frame_0009.jpg 13
510 | data/office31/webcam/letter_tray/frame_0010.jpg 13
511 | data/office31/webcam/letter_tray/frame_0011.jpg 13
512 | data/office31/webcam/letter_tray/frame_0012.jpg 13
513 | data/office31/webcam/letter_tray/frame_0013.jpg 13
514 | data/office31/webcam/letter_tray/frame_0014.jpg 13
515 | data/office31/webcam/letter_tray/frame_0015.jpg 13
516 | data/office31/webcam/letter_tray/frame_0016.jpg 13
517 | data/office31/webcam/letter_tray/frame_0017.jpg 13
518 | data/office31/webcam/letter_tray/frame_0018.jpg 13
519 | data/office31/webcam/letter_tray/frame_0019.jpg 13
520 | data/office31/webcam/stapler/frame_0001.jpg 28
521 | data/office31/webcam/stapler/frame_0002.jpg 28
522 | data/office31/webcam/stapler/frame_0003.jpg 28
523 | data/office31/webcam/stapler/frame_0004.jpg 28
524 | data/office31/webcam/stapler/frame_0005.jpg 28
525 | data/office31/webcam/stapler/frame_0006.jpg 28
526 | data/office31/webcam/stapler/frame_0007.jpg 28
527 | data/office31/webcam/stapler/frame_0008.jpg 28
528 | data/office31/webcam/stapler/frame_0009.jpg 28
529 | data/office31/webcam/stapler/frame_0010.jpg 28
530 | data/office31/webcam/stapler/frame_0011.jpg 28
531 | data/office31/webcam/stapler/frame_0012.jpg 28
532 | data/office31/webcam/stapler/frame_0013.jpg 28
533 | data/office31/webcam/stapler/frame_0014.jpg 28
534 | data/office31/webcam/stapler/frame_0015.jpg 28
535 | data/office31/webcam/stapler/frame_0016.jpg 28
536 | data/office31/webcam/stapler/frame_0017.jpg 28
537 | data/office31/webcam/stapler/frame_0018.jpg 28
538 | data/office31/webcam/stapler/frame_0019.jpg 28
539 | data/office31/webcam/stapler/frame_0020.jpg 28
540 | data/office31/webcam/stapler/frame_0021.jpg 28
541 | data/office31/webcam/stapler/frame_0022.jpg 28
542 | data/office31/webcam/stapler/frame_0023.jpg 28
543 | data/office31/webcam/stapler/frame_0024.jpg 28
544 | data/office31/webcam/file_cabinet/frame_0001.jpg 9
545 | data/office31/webcam/file_cabinet/frame_0002.jpg 9
546 | data/office31/webcam/file_cabinet/frame_0003.jpg 9
547 | data/office31/webcam/file_cabinet/frame_0004.jpg 9
548 | data/office31/webcam/file_cabinet/frame_0005.jpg 9
549 | data/office31/webcam/file_cabinet/frame_0006.jpg 9
550 | data/office31/webcam/file_cabinet/frame_0007.jpg 9
551 | data/office31/webcam/file_cabinet/frame_0008.jpg 9
552 | data/office31/webcam/file_cabinet/frame_0009.jpg 9
553 | data/office31/webcam/file_cabinet/frame_0010.jpg 9
554 | data/office31/webcam/file_cabinet/frame_0011.jpg 9
555 | data/office31/webcam/file_cabinet/frame_0012.jpg 9
556 | data/office31/webcam/file_cabinet/frame_0013.jpg 9
557 | data/office31/webcam/file_cabinet/frame_0014.jpg 9
558 | data/office31/webcam/file_cabinet/frame_0015.jpg 9
559 | data/office31/webcam/file_cabinet/frame_0016.jpg 9
560 | data/office31/webcam/file_cabinet/frame_0017.jpg 9
561 | data/office31/webcam/file_cabinet/frame_0018.jpg 9
562 | data/office31/webcam/file_cabinet/frame_0019.jpg 9
563 | data/office31/webcam/bottle/frame_0001.jpg 4
564 | data/office31/webcam/bottle/frame_0002.jpg 4
565 | data/office31/webcam/bottle/frame_0003.jpg 4
566 | data/office31/webcam/bottle/frame_0004.jpg 4
567 | data/office31/webcam/bottle/frame_0005.jpg 4
568 | data/office31/webcam/bottle/frame_0006.jpg 4
569 | data/office31/webcam/bottle/frame_0007.jpg 4
570 | data/office31/webcam/bottle/frame_0008.jpg 4
571 | data/office31/webcam/bottle/frame_0009.jpg 4
572 | data/office31/webcam/bottle/frame_0010.jpg 4
573 | data/office31/webcam/bottle/frame_0011.jpg 4
574 | data/office31/webcam/bottle/frame_0012.jpg 4
575 | data/office31/webcam/bottle/frame_0013.jpg 4
576 | data/office31/webcam/bottle/frame_0014.jpg 4
577 | data/office31/webcam/bottle/frame_0015.jpg 4
578 | data/office31/webcam/bottle/frame_0016.jpg 4
579 | data/office31/webcam/printer/frame_0001.jpg 21
580 | data/office31/webcam/printer/frame_0002.jpg 21
581 | data/office31/webcam/printer/frame_0003.jpg 21
582 | data/office31/webcam/printer/frame_0004.jpg 21
583 | data/office31/webcam/printer/frame_0005.jpg 21
584 | data/office31/webcam/printer/frame_0006.jpg 21
585 | data/office31/webcam/printer/frame_0007.jpg 21
586 | data/office31/webcam/printer/frame_0008.jpg 21
587 | data/office31/webcam/printer/frame_0009.jpg 21
588 | data/office31/webcam/printer/frame_0010.jpg 21
589 | data/office31/webcam/printer/frame_0011.jpg 21
590 | data/office31/webcam/printer/frame_0012.jpg 21
591 | data/office31/webcam/printer/frame_0013.jpg 21
592 | data/office31/webcam/printer/frame_0014.jpg 21
593 | data/office31/webcam/printer/frame_0015.jpg 21
594 | data/office31/webcam/printer/frame_0016.jpg 21
595 | data/office31/webcam/printer/frame_0017.jpg 21
596 | data/office31/webcam/printer/frame_0018.jpg 21
597 | data/office31/webcam/printer/frame_0019.jpg 21
598 | data/office31/webcam/printer/frame_0020.jpg 21
599 | data/office31/webcam/ring_binder/frame_0001.jpg 24
600 | data/office31/webcam/ring_binder/frame_0002.jpg 24
601 | data/office31/webcam/ring_binder/frame_0003.jpg 24
602 | data/office31/webcam/ring_binder/frame_0004.jpg 24
603 | data/office31/webcam/ring_binder/frame_0005.jpg 24
604 | data/office31/webcam/ring_binder/frame_0006.jpg 24
605 | data/office31/webcam/ring_binder/frame_0007.jpg 24
606 | data/office31/webcam/ring_binder/frame_0008.jpg 24
607 | data/office31/webcam/ring_binder/frame_0009.jpg 24
608 | data/office31/webcam/ring_binder/frame_0010.jpg 24
609 | data/office31/webcam/ring_binder/frame_0011.jpg 24
610 | data/office31/webcam/ring_binder/frame_0012.jpg 24
611 | data/office31/webcam/ring_binder/frame_0013.jpg 24
612 | data/office31/webcam/ring_binder/frame_0014.jpg 24
613 | data/office31/webcam/ring_binder/frame_0015.jpg 24
614 | data/office31/webcam/ring_binder/frame_0016.jpg 24
615 | data/office31/webcam/ring_binder/frame_0017.jpg 24
616 | data/office31/webcam/ring_binder/frame_0018.jpg 24
617 | data/office31/webcam/ring_binder/frame_0019.jpg 24
618 | data/office31/webcam/ring_binder/frame_0020.jpg 24
619 | data/office31/webcam/ring_binder/frame_0021.jpg 24
620 | data/office31/webcam/ring_binder/frame_0022.jpg 24
621 | data/office31/webcam/ring_binder/frame_0023.jpg 24
622 | data/office31/webcam/ring_binder/frame_0024.jpg 24
623 | data/office31/webcam/ring_binder/frame_0025.jpg 24
624 | data/office31/webcam/ring_binder/frame_0026.jpg 24
625 | data/office31/webcam/ring_binder/frame_0027.jpg 24
626 | data/office31/webcam/ring_binder/frame_0028.jpg 24
627 | data/office31/webcam/ring_binder/frame_0029.jpg 24
628 | data/office31/webcam/ring_binder/frame_0030.jpg 24
629 | data/office31/webcam/ring_binder/frame_0031.jpg 24
630 | data/office31/webcam/ring_binder/frame_0032.jpg 24
631 | data/office31/webcam/ring_binder/frame_0033.jpg 24
632 | data/office31/webcam/ring_binder/frame_0034.jpg 24
633 | data/office31/webcam/ring_binder/frame_0035.jpg 24
634 | data/office31/webcam/ring_binder/frame_0036.jpg 24
635 | data/office31/webcam/ring_binder/frame_0037.jpg 24
636 | data/office31/webcam/ring_binder/frame_0038.jpg 24
637 | data/office31/webcam/ring_binder/frame_0039.jpg 24
638 | data/office31/webcam/ring_binder/frame_0040.jpg 24
639 | data/office31/webcam/bookcase/frame_0001.jpg 3
640 | data/office31/webcam/bookcase/frame_0002.jpg 3
641 | data/office31/webcam/bookcase/frame_0003.jpg 3
642 | data/office31/webcam/bookcase/frame_0004.jpg 3
643 | data/office31/webcam/bookcase/frame_0005.jpg 3
644 | data/office31/webcam/bookcase/frame_0006.jpg 3
645 | data/office31/webcam/bookcase/frame_0007.jpg 3
646 | data/office31/webcam/bookcase/frame_0008.jpg 3
647 | data/office31/webcam/bookcase/frame_0009.jpg 3
648 | data/office31/webcam/bookcase/frame_0010.jpg 3
649 | data/office31/webcam/bookcase/frame_0011.jpg 3
650 | data/office31/webcam/bookcase/frame_0012.jpg 3
651 | data/office31/webcam/bike_helmet/frame_0001.jpg 2
652 | data/office31/webcam/bike_helmet/frame_0002.jpg 2
653 | data/office31/webcam/bike_helmet/frame_0003.jpg 2
654 | data/office31/webcam/bike_helmet/frame_0004.jpg 2
655 | data/office31/webcam/bike_helmet/frame_0005.jpg 2
656 | data/office31/webcam/bike_helmet/frame_0006.jpg 2
657 | data/office31/webcam/bike_helmet/frame_0007.jpg 2
658 | data/office31/webcam/bike_helmet/frame_0008.jpg 2
659 | data/office31/webcam/bike_helmet/frame_0009.jpg 2
660 | data/office31/webcam/bike_helmet/frame_0010.jpg 2
661 | data/office31/webcam/bike_helmet/frame_0011.jpg 2
662 | data/office31/webcam/bike_helmet/frame_0012.jpg 2
663 | data/office31/webcam/bike_helmet/frame_0013.jpg 2
664 | data/office31/webcam/bike_helmet/frame_0014.jpg 2
665 | data/office31/webcam/bike_helmet/frame_0015.jpg 2
666 | data/office31/webcam/bike_helmet/frame_0016.jpg 2
667 | data/office31/webcam/bike_helmet/frame_0017.jpg 2
668 | data/office31/webcam/bike_helmet/frame_0018.jpg 2
669 | data/office31/webcam/bike_helmet/frame_0019.jpg 2
670 | data/office31/webcam/bike_helmet/frame_0020.jpg 2
671 | data/office31/webcam/bike_helmet/frame_0021.jpg 2
672 | data/office31/webcam/bike_helmet/frame_0022.jpg 2
673 | data/office31/webcam/bike_helmet/frame_0023.jpg 2
674 | data/office31/webcam/bike_helmet/frame_0024.jpg 2
675 | data/office31/webcam/bike_helmet/frame_0025.jpg 2
676 | data/office31/webcam/bike_helmet/frame_0026.jpg 2
677 | data/office31/webcam/bike_helmet/frame_0027.jpg 2
678 | data/office31/webcam/bike_helmet/frame_0028.jpg 2
679 | data/office31/webcam/scissors/frame_0001.jpg 26
680 | data/office31/webcam/scissors/frame_0002.jpg 26
681 | data/office31/webcam/scissors/frame_0003.jpg 26
682 | data/office31/webcam/scissors/frame_0004.jpg 26
683 | data/office31/webcam/scissors/frame_0005.jpg 26
684 | data/office31/webcam/scissors/frame_0006.jpg 26
685 | data/office31/webcam/scissors/frame_0007.jpg 26
686 | data/office31/webcam/scissors/frame_0008.jpg 26
687 | data/office31/webcam/scissors/frame_0009.jpg 26
688 | data/office31/webcam/scissors/frame_0010.jpg 26
689 | data/office31/webcam/scissors/frame_0011.jpg 26
690 | data/office31/webcam/scissors/frame_0012.jpg 26
691 | data/office31/webcam/scissors/frame_0013.jpg 26
692 | data/office31/webcam/scissors/frame_0014.jpg 26
693 | data/office31/webcam/scissors/frame_0015.jpg 26
694 | data/office31/webcam/scissors/frame_0016.jpg 26
695 | data/office31/webcam/scissors/frame_0017.jpg 26
696 | data/office31/webcam/scissors/frame_0018.jpg 26
697 | data/office31/webcam/scissors/frame_0019.jpg 26
698 | data/office31/webcam/scissors/frame_0020.jpg 26
699 | data/office31/webcam/scissors/frame_0021.jpg 26
700 | data/office31/webcam/scissors/frame_0022.jpg 26
701 | data/office31/webcam/scissors/frame_0023.jpg 26
702 | data/office31/webcam/scissors/frame_0024.jpg 26
703 | data/office31/webcam/scissors/frame_0025.jpg 26
704 | data/office31/webcam/pen/frame_0001.jpg 19
705 | data/office31/webcam/pen/frame_0002.jpg 19
706 | data/office31/webcam/pen/frame_0003.jpg 19
707 | data/office31/webcam/pen/frame_0004.jpg 19
708 | data/office31/webcam/pen/frame_0005.jpg 19
709 | data/office31/webcam/pen/frame_0006.jpg 19
710 | data/office31/webcam/pen/frame_0007.jpg 19
711 | data/office31/webcam/pen/frame_0008.jpg 19
712 | data/office31/webcam/pen/frame_0009.jpg 19
713 | data/office31/webcam/pen/frame_0010.jpg 19
714 | data/office31/webcam/pen/frame_0011.jpg 19
715 | data/office31/webcam/pen/frame_0012.jpg 19
716 | data/office31/webcam/pen/frame_0013.jpg 19
717 | data/office31/webcam/pen/frame_0014.jpg 19
718 | data/office31/webcam/pen/frame_0015.jpg 19
719 | data/office31/webcam/pen/frame_0016.jpg 19
720 | data/office31/webcam/pen/frame_0017.jpg 19
721 | data/office31/webcam/pen/frame_0018.jpg 19
722 | data/office31/webcam/pen/frame_0019.jpg 19
723 | data/office31/webcam/pen/frame_0020.jpg 19
724 | data/office31/webcam/pen/frame_0021.jpg 19
725 | data/office31/webcam/pen/frame_0022.jpg 19
726 | data/office31/webcam/pen/frame_0023.jpg 19
727 | data/office31/webcam/pen/frame_0024.jpg 19
728 | data/office31/webcam/pen/frame_0025.jpg 19
729 | data/office31/webcam/pen/frame_0026.jpg 19
730 | data/office31/webcam/pen/frame_0027.jpg 19
731 | data/office31/webcam/pen/frame_0028.jpg 19
732 | data/office31/webcam/pen/frame_0029.jpg 19
733 | data/office31/webcam/pen/frame_0030.jpg 19
734 | data/office31/webcam/pen/frame_0031.jpg 19
735 | data/office31/webcam/pen/frame_0032.jpg 19
736 | data/office31/webcam/paper_notebook/frame_0001.jpg 18
737 | data/office31/webcam/paper_notebook/frame_0002.jpg 18
738 | data/office31/webcam/paper_notebook/frame_0003.jpg 18
739 | data/office31/webcam/paper_notebook/frame_0004.jpg 18
740 | data/office31/webcam/paper_notebook/frame_0005.jpg 18
741 | data/office31/webcam/paper_notebook/frame_0006.jpg 18
742 | data/office31/webcam/paper_notebook/frame_0007.jpg 18
743 | data/office31/webcam/paper_notebook/frame_0008.jpg 18
744 | data/office31/webcam/paper_notebook/frame_0009.jpg 18
745 | data/office31/webcam/paper_notebook/frame_0010.jpg 18
746 | data/office31/webcam/paper_notebook/frame_0011.jpg 18
747 | data/office31/webcam/paper_notebook/frame_0012.jpg 18
748 | data/office31/webcam/paper_notebook/frame_0013.jpg 18
749 | data/office31/webcam/paper_notebook/frame_0014.jpg 18
750 | data/office31/webcam/paper_notebook/frame_0015.jpg 18
751 | data/office31/webcam/paper_notebook/frame_0016.jpg 18
752 | data/office31/webcam/paper_notebook/frame_0017.jpg 18
753 | data/office31/webcam/paper_notebook/frame_0018.jpg 18
754 | data/office31/webcam/paper_notebook/frame_0019.jpg 18
755 | data/office31/webcam/paper_notebook/frame_0020.jpg 18
756 | data/office31/webcam/paper_notebook/frame_0021.jpg 18
757 | data/office31/webcam/paper_notebook/frame_0022.jpg 18
758 | data/office31/webcam/paper_notebook/frame_0023.jpg 18
759 | data/office31/webcam/paper_notebook/frame_0024.jpg 18
760 | data/office31/webcam/paper_notebook/frame_0025.jpg 18
761 | data/office31/webcam/paper_notebook/frame_0026.jpg 18
762 | data/office31/webcam/paper_notebook/frame_0027.jpg 18
763 | data/office31/webcam/paper_notebook/frame_0028.jpg 18
764 | data/office31/webcam/trash_can/frame_0001.jpg 30
765 | data/office31/webcam/trash_can/frame_0002.jpg 30
766 | data/office31/webcam/trash_can/frame_0003.jpg 30
767 | data/office31/webcam/trash_can/frame_0004.jpg 30
768 | data/office31/webcam/trash_can/frame_0005.jpg 30
769 | data/office31/webcam/trash_can/frame_0006.jpg 30
770 | data/office31/webcam/trash_can/frame_0007.jpg 30
771 | data/office31/webcam/trash_can/frame_0008.jpg 30
772 | data/office31/webcam/trash_can/frame_0009.jpg 30
773 | data/office31/webcam/trash_can/frame_0010.jpg 30
774 | data/office31/webcam/trash_can/frame_0011.jpg 30
775 | data/office31/webcam/trash_can/frame_0012.jpg 30
776 | data/office31/webcam/trash_can/frame_0013.jpg 30
777 | data/office31/webcam/trash_can/frame_0014.jpg 30
778 | data/office31/webcam/trash_can/frame_0015.jpg 30
779 | data/office31/webcam/trash_can/frame_0016.jpg 30
780 | data/office31/webcam/trash_can/frame_0017.jpg 30
781 | data/office31/webcam/trash_can/frame_0018.jpg 30
782 | data/office31/webcam/trash_can/frame_0019.jpg 30
783 | data/office31/webcam/trash_can/frame_0020.jpg 30
784 | data/office31/webcam/trash_can/frame_0021.jpg 30
785 | data/office31/webcam/ruler/frame_0001.jpg 25
786 | data/office31/webcam/ruler/frame_0002.jpg 25
787 | data/office31/webcam/ruler/frame_0003.jpg 25
788 | data/office31/webcam/ruler/frame_0004.jpg 25
789 | data/office31/webcam/ruler/frame_0005.jpg 25
790 | data/office31/webcam/ruler/frame_0006.jpg 25
791 | data/office31/webcam/ruler/frame_0007.jpg 25
792 | data/office31/webcam/ruler/frame_0008.jpg 25
793 | data/office31/webcam/ruler/frame_0009.jpg 25
794 | data/office31/webcam/ruler/frame_0010.jpg 25
795 | data/office31/webcam/ruler/frame_0011.jpg 25
796 |
--------------------------------------------------------------------------------
/data/list/office/webcam_train.txt:
--------------------------------------------------------------------------------
1 | data/office31/webcam/back_pack/frame_0003.jpg 0
2 | data/office31/webcam/back_pack/frame_0001.jpg 0
3 | data/office31/webcam/back_pack/frame_0024.jpg 0
4 | data/office31/webcam/back_pack/frame_0017.jpg 0
5 | data/office31/webcam/back_pack/frame_0029.jpg 0
6 | data/office31/webcam/back_pack/frame_0027.jpg 0
7 | data/office31/webcam/back_pack/frame_0011.jpg 0
8 | data/office31/webcam/back_pack/frame_0004.jpg 0
9 | data/office31/webcam/back_pack/frame_0012.jpg 0
10 | data/office31/webcam/back_pack/frame_0009.jpg 0
11 | data/office31/webcam/back_pack/frame_0016.jpg 0
12 | data/office31/webcam/back_pack/frame_0021.jpg 0
13 | data/office31/webcam/back_pack/frame_0005.jpg 0
14 | data/office31/webcam/back_pack/frame_0020.jpg 0
15 | data/office31/webcam/back_pack/frame_0013.jpg 0
16 | data/office31/webcam/back_pack/frame_0026.jpg 0
17 | data/office31/webcam/back_pack/frame_0015.jpg 0
18 | data/office31/webcam/back_pack/frame_0006.jpg 0
19 | data/office31/webcam/back_pack/frame_0018.jpg 0
20 | data/office31/webcam/back_pack/frame_0008.jpg 0
21 | data/office31/webcam/back_pack/frame_0028.jpg 0
22 | data/office31/webcam/back_pack/frame_0022.jpg 0
23 | data/office31/webcam/back_pack/frame_0014.jpg 0
24 | data/office31/webcam/back_pack/frame_0025.jpg 0
25 | data/office31/webcam/back_pack/frame_0019.jpg 0
26 | data/office31/webcam/back_pack/frame_0002.jpg 0
27 | data/office31/webcam/back_pack/frame_0023.jpg 0
28 | data/office31/webcam/back_pack/frame_0007.jpg 0
29 | data/office31/webcam/back_pack/frame_0010.jpg 0
30 | data/office31/webcam/bike/frame_0009.jpg 1
31 | data/office31/webcam/bike/frame_0002.jpg 1
32 | data/office31/webcam/bike/frame_0012.jpg 1
33 | data/office31/webcam/bike/frame_0019.jpg 1
34 | data/office31/webcam/bike/frame_0010.jpg 1
35 | data/office31/webcam/bike/frame_0021.jpg 1
36 | data/office31/webcam/bike/frame_0003.jpg 1
37 | data/office31/webcam/bike/frame_0015.jpg 1
38 | data/office31/webcam/bike/frame_0011.jpg 1
39 | data/office31/webcam/bike/frame_0005.jpg 1
40 | data/office31/webcam/bike/frame_0014.jpg 1
41 | data/office31/webcam/bike/frame_0001.jpg 1
42 | data/office31/webcam/bike/frame_0017.jpg 1
43 | data/office31/webcam/bike/frame_0013.jpg 1
44 | data/office31/webcam/bike/frame_0007.jpg 1
45 | data/office31/webcam/bike/frame_0006.jpg 1
46 | data/office31/webcam/bike/frame_0004.jpg 1
47 | data/office31/webcam/bike/frame_0016.jpg 1
48 | data/office31/webcam/bike/frame_0018.jpg 1
49 | data/office31/webcam/bike/frame_0020.jpg 1
50 | data/office31/webcam/bike/frame_0008.jpg 1
51 | data/office31/webcam/calculator/frame_0013.jpg 5
52 | data/office31/webcam/calculator/frame_0001.jpg 5
53 | data/office31/webcam/calculator/frame_0009.jpg 5
54 | data/office31/webcam/calculator/frame_0018.jpg 5
55 | data/office31/webcam/calculator/frame_0014.jpg 5
56 | data/office31/webcam/calculator/frame_0005.jpg 5
57 | data/office31/webcam/calculator/frame_0004.jpg 5
58 | data/office31/webcam/calculator/frame_0012.jpg 5
59 | data/office31/webcam/calculator/frame_0025.jpg 5
60 | data/office31/webcam/calculator/frame_0019.jpg 5
61 | data/office31/webcam/calculator/frame_0023.jpg 5
62 | data/office31/webcam/calculator/frame_0031.jpg 5
63 | data/office31/webcam/calculator/frame_0020.jpg 5
64 | data/office31/webcam/calculator/frame_0027.jpg 5
65 | data/office31/webcam/calculator/frame_0016.jpg 5
66 | data/office31/webcam/calculator/frame_0015.jpg 5
67 | data/office31/webcam/calculator/frame_0030.jpg 5
68 | data/office31/webcam/calculator/frame_0022.jpg 5
69 | data/office31/webcam/calculator/frame_0029.jpg 5
70 | data/office31/webcam/calculator/frame_0024.jpg 5
71 | data/office31/webcam/calculator/frame_0008.jpg 5
72 | data/office31/webcam/calculator/frame_0002.jpg 5
73 | data/office31/webcam/calculator/frame_0021.jpg 5
74 | data/office31/webcam/calculator/frame_0010.jpg 5
75 | data/office31/webcam/calculator/frame_0017.jpg 5
76 | data/office31/webcam/calculator/frame_0007.jpg 5
77 | data/office31/webcam/calculator/frame_0006.jpg 5
78 | data/office31/webcam/calculator/frame_0011.jpg 5
79 | data/office31/webcam/calculator/frame_0028.jpg 5
80 | data/office31/webcam/calculator/frame_0026.jpg 5
81 | data/office31/webcam/calculator/frame_0003.jpg 5
82 | data/office31/webcam/headphones/frame_0009.jpg 10
83 | data/office31/webcam/headphones/frame_0006.jpg 10
84 | data/office31/webcam/headphones/frame_0001.jpg 10
85 | data/office31/webcam/headphones/frame_0027.jpg 10
86 | data/office31/webcam/headphones/frame_0017.jpg 10
87 | data/office31/webcam/headphones/frame_0026.jpg 10
88 | data/office31/webcam/headphones/frame_0020.jpg 10
89 | data/office31/webcam/headphones/frame_0015.jpg 10
90 | data/office31/webcam/headphones/frame_0016.jpg 10
91 | data/office31/webcam/headphones/frame_0019.jpg 10
92 | data/office31/webcam/headphones/frame_0013.jpg 10
93 | data/office31/webcam/headphones/frame_0002.jpg 10
94 | data/office31/webcam/headphones/frame_0023.jpg 10
95 | data/office31/webcam/headphones/frame_0003.jpg 10
96 | data/office31/webcam/headphones/frame_0010.jpg 10
97 | data/office31/webcam/headphones/frame_0012.jpg 10
98 | data/office31/webcam/headphones/frame_0011.jpg 10
99 | data/office31/webcam/headphones/frame_0007.jpg 10
100 | data/office31/webcam/headphones/frame_0005.jpg 10
101 | data/office31/webcam/headphones/frame_0004.jpg 10
102 | data/office31/webcam/headphones/frame_0022.jpg 10
103 | data/office31/webcam/headphones/frame_0024.jpg 10
104 | data/office31/webcam/headphones/frame_0018.jpg 10
105 | data/office31/webcam/headphones/frame_0025.jpg 10
106 | data/office31/webcam/headphones/frame_0021.jpg 10
107 | data/office31/webcam/headphones/frame_0008.jpg 10
108 | data/office31/webcam/headphones/frame_0014.jpg 10
109 | data/office31/webcam/keyboard/frame_0004.jpg 11
110 | data/office31/webcam/keyboard/frame_0020.jpg 11
111 | data/office31/webcam/keyboard/frame_0013.jpg 11
112 | data/office31/webcam/keyboard/frame_0003.jpg 11
113 | data/office31/webcam/keyboard/frame_0021.jpg 11
114 | data/office31/webcam/keyboard/frame_0001.jpg 11
115 | data/office31/webcam/keyboard/frame_0011.jpg 11
116 | data/office31/webcam/keyboard/frame_0022.jpg 11
117 | data/office31/webcam/keyboard/frame_0027.jpg 11
118 | data/office31/webcam/keyboard/frame_0007.jpg 11
119 | data/office31/webcam/keyboard/frame_0015.jpg 11
120 | data/office31/webcam/keyboard/frame_0005.jpg 11
121 | data/office31/webcam/keyboard/frame_0014.jpg 11
122 | data/office31/webcam/keyboard/frame_0019.jpg 11
123 | data/office31/webcam/keyboard/frame_0006.jpg 11
124 | data/office31/webcam/keyboard/frame_0010.jpg 11
125 | data/office31/webcam/keyboard/frame_0025.jpg 11
126 | data/office31/webcam/keyboard/frame_0008.jpg 11
127 | data/office31/webcam/keyboard/frame_0023.jpg 11
128 | data/office31/webcam/keyboard/frame_0026.jpg 11
129 | data/office31/webcam/keyboard/frame_0002.jpg 11
130 | data/office31/webcam/keyboard/frame_0017.jpg 11
131 | data/office31/webcam/keyboard/frame_0012.jpg 11
132 | data/office31/webcam/keyboard/frame_0016.jpg 11
133 | data/office31/webcam/keyboard/frame_0024.jpg 11
134 | data/office31/webcam/keyboard/frame_0018.jpg 11
135 | data/office31/webcam/keyboard/frame_0009.jpg 11
136 | data/office31/webcam/laptop_computer/frame_0017.jpg 12
137 | data/office31/webcam/laptop_computer/frame_0007.jpg 12
138 | data/office31/webcam/laptop_computer/frame_0010.jpg 12
139 | data/office31/webcam/laptop_computer/frame_0019.jpg 12
140 | data/office31/webcam/laptop_computer/frame_0005.jpg 12
141 | data/office31/webcam/laptop_computer/frame_0030.jpg 12
142 | data/office31/webcam/laptop_computer/frame_0012.jpg 12
143 | data/office31/webcam/laptop_computer/frame_0014.jpg 12
144 | data/office31/webcam/laptop_computer/frame_0015.jpg 12
145 | data/office31/webcam/laptop_computer/frame_0018.jpg 12
146 | data/office31/webcam/laptop_computer/frame_0003.jpg 12
147 | data/office31/webcam/laptop_computer/frame_0016.jpg 12
148 | data/office31/webcam/laptop_computer/frame_0001.jpg 12
149 | data/office31/webcam/laptop_computer/frame_0023.jpg 12
150 | data/office31/webcam/laptop_computer/frame_0020.jpg 12
151 | data/office31/webcam/laptop_computer/frame_0006.jpg 12
152 | data/office31/webcam/laptop_computer/frame_0009.jpg 12
153 | data/office31/webcam/laptop_computer/frame_0024.jpg 12
154 | data/office31/webcam/laptop_computer/frame_0025.jpg 12
155 | data/office31/webcam/laptop_computer/frame_0013.jpg 12
156 | data/office31/webcam/laptop_computer/frame_0029.jpg 12
157 | data/office31/webcam/laptop_computer/frame_0027.jpg 12
158 | data/office31/webcam/laptop_computer/frame_0026.jpg 12
159 | data/office31/webcam/laptop_computer/frame_0011.jpg 12
160 | data/office31/webcam/laptop_computer/frame_0002.jpg 12
161 | data/office31/webcam/laptop_computer/frame_0008.jpg 12
162 | data/office31/webcam/laptop_computer/frame_0028.jpg 12
163 | data/office31/webcam/laptop_computer/frame_0022.jpg 12
164 | data/office31/webcam/laptop_computer/frame_0021.jpg 12
165 | data/office31/webcam/laptop_computer/frame_0004.jpg 12
166 | data/office31/webcam/monitor/frame_0014.jpg 15
167 | data/office31/webcam/monitor/frame_0027.jpg 15
168 | data/office31/webcam/monitor/frame_0029.jpg 15
169 | data/office31/webcam/monitor/frame_0015.jpg 15
170 | data/office31/webcam/monitor/frame_0020.jpg 15
171 | data/office31/webcam/monitor/frame_0007.jpg 15
172 | data/office31/webcam/monitor/frame_0038.jpg 15
173 | data/office31/webcam/monitor/frame_0037.jpg 15
174 | data/office31/webcam/monitor/frame_0004.jpg 15
175 | data/office31/webcam/monitor/frame_0040.jpg 15
176 | data/office31/webcam/monitor/frame_0002.jpg 15
177 | data/office31/webcam/monitor/frame_0025.jpg 15
178 | data/office31/webcam/monitor/frame_0001.jpg 15
179 | data/office31/webcam/monitor/frame_0032.jpg 15
180 | data/office31/webcam/monitor/frame_0012.jpg 15
181 | data/office31/webcam/monitor/frame_0042.jpg 15
182 | data/office31/webcam/monitor/frame_0005.jpg 15
183 | data/office31/webcam/monitor/frame_0016.jpg 15
184 | data/office31/webcam/monitor/frame_0022.jpg 15
185 | data/office31/webcam/monitor/frame_0031.jpg 15
186 | data/office31/webcam/monitor/frame_0017.jpg 15
187 | data/office31/webcam/monitor/frame_0023.jpg 15
188 | data/office31/webcam/monitor/frame_0008.jpg 15
189 | data/office31/webcam/monitor/frame_0034.jpg 15
190 | data/office31/webcam/monitor/frame_0010.jpg 15
191 | data/office31/webcam/monitor/frame_0039.jpg 15
192 | data/office31/webcam/monitor/frame_0043.jpg 15
193 | data/office31/webcam/monitor/frame_0030.jpg 15
194 | data/office31/webcam/monitor/frame_0009.jpg 15
195 | data/office31/webcam/monitor/frame_0026.jpg 15
196 | data/office31/webcam/monitor/frame_0013.jpg 15
197 | data/office31/webcam/monitor/frame_0011.jpg 15
198 | data/office31/webcam/monitor/frame_0003.jpg 15
199 | data/office31/webcam/monitor/frame_0018.jpg 15
200 | data/office31/webcam/monitor/frame_0033.jpg 15
201 | data/office31/webcam/monitor/frame_0019.jpg 15
202 | data/office31/webcam/monitor/frame_0006.jpg 15
203 | data/office31/webcam/monitor/frame_0021.jpg 15
204 | data/office31/webcam/monitor/frame_0028.jpg 15
205 | data/office31/webcam/monitor/frame_0036.jpg 15
206 | data/office31/webcam/monitor/frame_0035.jpg 15
207 | data/office31/webcam/monitor/frame_0024.jpg 15
208 | data/office31/webcam/monitor/frame_0041.jpg 15
209 | data/office31/webcam/mouse/frame_0030.jpg 16
210 | data/office31/webcam/mouse/frame_0014.jpg 16
211 | data/office31/webcam/mouse/frame_0024.jpg 16
212 | data/office31/webcam/mouse/frame_0006.jpg 16
213 | data/office31/webcam/mouse/frame_0010.jpg 16
214 | data/office31/webcam/mouse/frame_0015.jpg 16
215 | data/office31/webcam/mouse/frame_0027.jpg 16
216 | data/office31/webcam/mouse/frame_0017.jpg 16
217 | data/office31/webcam/mouse/frame_0018.jpg 16
218 | data/office31/webcam/mouse/frame_0016.jpg 16
219 | data/office31/webcam/mouse/frame_0029.jpg 16
220 | data/office31/webcam/mouse/frame_0002.jpg 16
221 | data/office31/webcam/mouse/frame_0022.jpg 16
222 | data/office31/webcam/mouse/frame_0025.jpg 16
223 | data/office31/webcam/mouse/frame_0020.jpg 16
224 | data/office31/webcam/mouse/frame_0023.jpg 16
225 | data/office31/webcam/mouse/frame_0026.jpg 16
226 | data/office31/webcam/mouse/frame_0021.jpg 16
227 | data/office31/webcam/mouse/frame_0028.jpg 16
228 | data/office31/webcam/mouse/frame_0009.jpg 16
229 | data/office31/webcam/mouse/frame_0008.jpg 16
230 | data/office31/webcam/mouse/frame_0001.jpg 16
231 | data/office31/webcam/mouse/frame_0003.jpg 16
232 | data/office31/webcam/mouse/frame_0004.jpg 16
233 | data/office31/webcam/mouse/frame_0013.jpg 16
234 | data/office31/webcam/mouse/frame_0007.jpg 16
235 | data/office31/webcam/mouse/frame_0011.jpg 16
236 | data/office31/webcam/mouse/frame_0012.jpg 16
237 | data/office31/webcam/mouse/frame_0019.jpg 16
238 | data/office31/webcam/mouse/frame_0005.jpg 16
239 | data/office31/webcam/mug/frame_0024.jpg 17
240 | data/office31/webcam/mug/frame_0013.jpg 17
241 | data/office31/webcam/mug/frame_0009.jpg 17
242 | data/office31/webcam/mug/frame_0025.jpg 17
243 | data/office31/webcam/mug/frame_0017.jpg 17
244 | data/office31/webcam/mug/frame_0005.jpg 17
245 | data/office31/webcam/mug/frame_0016.jpg 17
246 | data/office31/webcam/mug/frame_0011.jpg 17
247 | data/office31/webcam/mug/frame_0022.jpg 17
248 | data/office31/webcam/mug/frame_0010.jpg 17
249 | data/office31/webcam/mug/frame_0007.jpg 17
250 | data/office31/webcam/mug/frame_0003.jpg 17
251 | data/office31/webcam/mug/frame_0023.jpg 17
252 | data/office31/webcam/mug/frame_0020.jpg 17
253 | data/office31/webcam/mug/frame_0026.jpg 17
254 | data/office31/webcam/mug/frame_0027.jpg 17
255 | data/office31/webcam/mug/frame_0012.jpg 17
256 | data/office31/webcam/mug/frame_0006.jpg 17
257 | data/office31/webcam/mug/frame_0018.jpg 17
258 | data/office31/webcam/mug/frame_0004.jpg 17
259 | data/office31/webcam/mug/frame_0008.jpg 17
260 | data/office31/webcam/mug/frame_0002.jpg 17
261 | data/office31/webcam/mug/frame_0021.jpg 17
262 | data/office31/webcam/mug/frame_0014.jpg 17
263 | data/office31/webcam/mug/frame_0019.jpg 17
264 | data/office31/webcam/mug/frame_0015.jpg 17
265 | data/office31/webcam/mug/frame_0001.jpg 17
266 | data/office31/webcam/projector/frame_0020.jpg 22
267 | data/office31/webcam/projector/frame_0015.jpg 22
268 | data/office31/webcam/projector/frame_0008.jpg 22
269 | data/office31/webcam/projector/frame_0021.jpg 22
270 | data/office31/webcam/projector/frame_0016.jpg 22
271 | data/office31/webcam/projector/frame_0006.jpg 22
272 | data/office31/webcam/projector/frame_0017.jpg 22
273 | data/office31/webcam/projector/frame_0005.jpg 22
274 | data/office31/webcam/projector/frame_0024.jpg 22
275 | data/office31/webcam/projector/frame_0001.jpg 22
276 | data/office31/webcam/projector/frame_0018.jpg 22
277 | data/office31/webcam/projector/frame_0004.jpg 22
278 | data/office31/webcam/projector/frame_0013.jpg 22
279 | data/office31/webcam/projector/frame_0029.jpg 22
280 | data/office31/webcam/projector/frame_0003.jpg 22
281 | data/office31/webcam/projector/frame_0019.jpg 22
282 | data/office31/webcam/projector/frame_0022.jpg 22
283 | data/office31/webcam/projector/frame_0030.jpg 22
284 | data/office31/webcam/projector/frame_0023.jpg 22
285 | data/office31/webcam/projector/frame_0014.jpg 22
286 | data/office31/webcam/projector/frame_0002.jpg 22
287 | data/office31/webcam/projector/frame_0007.jpg 22
288 | data/office31/webcam/projector/frame_0011.jpg 22
289 | data/office31/webcam/projector/frame_0010.jpg 22
290 | data/office31/webcam/projector/frame_0026.jpg 22
291 | data/office31/webcam/projector/frame_0027.jpg 22
292 | data/office31/webcam/projector/frame_0012.jpg 22
293 | data/office31/webcam/projector/frame_0009.jpg 22
294 | data/office31/webcam/projector/frame_0028.jpg 22
295 | data/office31/webcam/projector/frame_0025.jpg 22
296 | data/office31/webcam/speaker/frame_0001.jpg 27
297 | data/office31/webcam/speaker/frame_0002.jpg 27
298 | data/office31/webcam/speaker/frame_0003.jpg 27
299 | data/office31/webcam/speaker/frame_0004.jpg 27
300 | data/office31/webcam/speaker/frame_0005.jpg 27
301 | data/office31/webcam/speaker/frame_0006.jpg 27
302 | data/office31/webcam/speaker/frame_0007.jpg 27
303 | data/office31/webcam/speaker/frame_0008.jpg 27
304 | data/office31/webcam/speaker/frame_0009.jpg 27
305 | data/office31/webcam/speaker/frame_0010.jpg 27
306 | data/office31/webcam/speaker/frame_0011.jpg 27
307 | data/office31/webcam/speaker/frame_0012.jpg 27
308 | data/office31/webcam/speaker/frame_0013.jpg 27
309 | data/office31/webcam/speaker/frame_0014.jpg 27
310 | data/office31/webcam/speaker/frame_0015.jpg 27
311 | data/office31/webcam/speaker/frame_0016.jpg 27
312 | data/office31/webcam/speaker/frame_0017.jpg 27
313 | data/office31/webcam/speaker/frame_0018.jpg 27
314 | data/office31/webcam/speaker/frame_0019.jpg 27
315 | data/office31/webcam/speaker/frame_0020.jpg 27
316 | data/office31/webcam/speaker/frame_0021.jpg 27
317 | data/office31/webcam/speaker/frame_0022.jpg 27
318 | data/office31/webcam/speaker/frame_0023.jpg 27
319 | data/office31/webcam/speaker/frame_0024.jpg 27
320 | data/office31/webcam/speaker/frame_0025.jpg 27
321 | data/office31/webcam/speaker/frame_0026.jpg 27
322 | data/office31/webcam/speaker/frame_0027.jpg 27
323 | data/office31/webcam/speaker/frame_0028.jpg 27
324 | data/office31/webcam/speaker/frame_0029.jpg 27
325 | data/office31/webcam/speaker/frame_0030.jpg 27
326 | data/office31/webcam/desk_chair/frame_0001.jpg 6
327 | data/office31/webcam/desk_chair/frame_0002.jpg 6
328 | data/office31/webcam/desk_chair/frame_0003.jpg 6
329 | data/office31/webcam/desk_chair/frame_0004.jpg 6
330 | data/office31/webcam/desk_chair/frame_0005.jpg 6
331 | data/office31/webcam/desk_chair/frame_0006.jpg 6
332 | data/office31/webcam/desk_chair/frame_0007.jpg 6
333 | data/office31/webcam/desk_chair/frame_0008.jpg 6
334 | data/office31/webcam/desk_chair/frame_0009.jpg 6
335 | data/office31/webcam/desk_chair/frame_0010.jpg 6
336 | data/office31/webcam/desk_chair/frame_0011.jpg 6
337 | data/office31/webcam/desk_chair/frame_0012.jpg 6
338 | data/office31/webcam/desk_chair/frame_0013.jpg 6
339 | data/office31/webcam/desk_chair/frame_0014.jpg 6
340 | data/office31/webcam/desk_chair/frame_0015.jpg 6
341 | data/office31/webcam/desk_chair/frame_0016.jpg 6
342 | data/office31/webcam/desk_chair/frame_0017.jpg 6
343 | data/office31/webcam/desk_chair/frame_0018.jpg 6
344 | data/office31/webcam/desk_chair/frame_0019.jpg 6
345 | data/office31/webcam/desk_chair/frame_0020.jpg 6
346 | data/office31/webcam/desk_chair/frame_0021.jpg 6
347 | data/office31/webcam/desk_chair/frame_0022.jpg 6
348 | data/office31/webcam/desk_chair/frame_0023.jpg 6
349 | data/office31/webcam/desk_chair/frame_0024.jpg 6
350 | data/office31/webcam/desk_chair/frame_0025.jpg 6
351 | data/office31/webcam/desk_chair/frame_0026.jpg 6
352 | data/office31/webcam/desk_chair/frame_0027.jpg 6
353 | data/office31/webcam/desk_chair/frame_0028.jpg 6
354 | data/office31/webcam/desk_chair/frame_0029.jpg 6
355 | data/office31/webcam/desk_chair/frame_0030.jpg 6
356 | data/office31/webcam/desk_chair/frame_0031.jpg 6
357 | data/office31/webcam/desk_chair/frame_0032.jpg 6
358 | data/office31/webcam/desk_chair/frame_0033.jpg 6
359 | data/office31/webcam/desk_chair/frame_0034.jpg 6
360 | data/office31/webcam/desk_chair/frame_0035.jpg 6
361 | data/office31/webcam/desk_chair/frame_0036.jpg 6
362 | data/office31/webcam/desk_chair/frame_0037.jpg 6
363 | data/office31/webcam/desk_chair/frame_0038.jpg 6
364 | data/office31/webcam/desk_chair/frame_0039.jpg 6
365 | data/office31/webcam/desk_chair/frame_0040.jpg 6
366 | data/office31/webcam/desk_lamp/frame_0001.jpg 7
367 | data/office31/webcam/desk_lamp/frame_0002.jpg 7
368 | data/office31/webcam/desk_lamp/frame_0003.jpg 7
369 | data/office31/webcam/desk_lamp/frame_0004.jpg 7
370 | data/office31/webcam/desk_lamp/frame_0005.jpg 7
371 | data/office31/webcam/desk_lamp/frame_0006.jpg 7
372 | data/office31/webcam/desk_lamp/frame_0007.jpg 7
373 | data/office31/webcam/desk_lamp/frame_0008.jpg 7
374 | data/office31/webcam/desk_lamp/frame_0009.jpg 7
375 | data/office31/webcam/desk_lamp/frame_0010.jpg 7
376 | data/office31/webcam/desk_lamp/frame_0011.jpg 7
377 | data/office31/webcam/desk_lamp/frame_0012.jpg 7
378 | data/office31/webcam/desk_lamp/frame_0013.jpg 7
379 | data/office31/webcam/desk_lamp/frame_0014.jpg 7
380 | data/office31/webcam/desk_lamp/frame_0015.jpg 7
381 | data/office31/webcam/desk_lamp/frame_0016.jpg 7
382 | data/office31/webcam/desk_lamp/frame_0017.jpg 7
383 | data/office31/webcam/desk_lamp/frame_0018.jpg 7
384 | data/office31/webcam/punchers/frame_0001.jpg 23
385 | data/office31/webcam/punchers/frame_0002.jpg 23
386 | data/office31/webcam/punchers/frame_0003.jpg 23
387 | data/office31/webcam/punchers/frame_0004.jpg 23
388 | data/office31/webcam/punchers/frame_0005.jpg 23
389 | data/office31/webcam/punchers/frame_0006.jpg 23
390 | data/office31/webcam/punchers/frame_0007.jpg 23
391 | data/office31/webcam/punchers/frame_0008.jpg 23
392 | data/office31/webcam/punchers/frame_0009.jpg 23
393 | data/office31/webcam/punchers/frame_0010.jpg 23
394 | data/office31/webcam/punchers/frame_0011.jpg 23
395 | data/office31/webcam/punchers/frame_0012.jpg 23
396 | data/office31/webcam/punchers/frame_0013.jpg 23
397 | data/office31/webcam/punchers/frame_0014.jpg 23
398 | data/office31/webcam/punchers/frame_0015.jpg 23
399 | data/office31/webcam/punchers/frame_0016.jpg 23
400 | data/office31/webcam/punchers/frame_0017.jpg 23
401 | data/office31/webcam/punchers/frame_0018.jpg 23
402 | data/office31/webcam/punchers/frame_0019.jpg 23
403 | data/office31/webcam/punchers/frame_0020.jpg 23
404 | data/office31/webcam/punchers/frame_0021.jpg 23
405 | data/office31/webcam/punchers/frame_0022.jpg 23
406 | data/office31/webcam/punchers/frame_0023.jpg 23
407 | data/office31/webcam/punchers/frame_0024.jpg 23
408 | data/office31/webcam/punchers/frame_0025.jpg 23
409 | data/office31/webcam/punchers/frame_0026.jpg 23
410 | data/office31/webcam/punchers/frame_0027.jpg 23
411 | data/office31/webcam/phone/frame_0001.jpg 20
412 | data/office31/webcam/phone/frame_0002.jpg 20
413 | data/office31/webcam/phone/frame_0003.jpg 20
414 | data/office31/webcam/phone/frame_0004.jpg 20
415 | data/office31/webcam/phone/frame_0005.jpg 20
416 | data/office31/webcam/phone/frame_0006.jpg 20
417 | data/office31/webcam/phone/frame_0007.jpg 20
418 | data/office31/webcam/phone/frame_0008.jpg 20
419 | data/office31/webcam/phone/frame_0009.jpg 20
420 | data/office31/webcam/phone/frame_0010.jpg 20
421 | data/office31/webcam/phone/frame_0011.jpg 20
422 | data/office31/webcam/phone/frame_0012.jpg 20
423 | data/office31/webcam/phone/frame_0013.jpg 20
424 | data/office31/webcam/phone/frame_0014.jpg 20
425 | data/office31/webcam/phone/frame_0015.jpg 20
426 | data/office31/webcam/phone/frame_0016.jpg 20
427 | data/office31/webcam/tape_dispenser/frame_0001.jpg 29
428 | data/office31/webcam/tape_dispenser/frame_0002.jpg 29
429 | data/office31/webcam/tape_dispenser/frame_0003.jpg 29
430 | data/office31/webcam/tape_dispenser/frame_0004.jpg 29
431 | data/office31/webcam/tape_dispenser/frame_0005.jpg 29
432 | data/office31/webcam/tape_dispenser/frame_0006.jpg 29
433 | data/office31/webcam/tape_dispenser/frame_0007.jpg 29
434 | data/office31/webcam/tape_dispenser/frame_0008.jpg 29
435 | data/office31/webcam/tape_dispenser/frame_0009.jpg 29
436 | data/office31/webcam/tape_dispenser/frame_0010.jpg 29
437 | data/office31/webcam/tape_dispenser/frame_0011.jpg 29
438 | data/office31/webcam/tape_dispenser/frame_0012.jpg 29
439 | data/office31/webcam/tape_dispenser/frame_0013.jpg 29
440 | data/office31/webcam/tape_dispenser/frame_0014.jpg 29
441 | data/office31/webcam/tape_dispenser/frame_0015.jpg 29
442 | data/office31/webcam/tape_dispenser/frame_0016.jpg 29
443 | data/office31/webcam/tape_dispenser/frame_0017.jpg 29
444 | data/office31/webcam/tape_dispenser/frame_0018.jpg 29
445 | data/office31/webcam/tape_dispenser/frame_0019.jpg 29
446 | data/office31/webcam/tape_dispenser/frame_0020.jpg 29
447 | data/office31/webcam/tape_dispenser/frame_0021.jpg 29
448 | data/office31/webcam/tape_dispenser/frame_0022.jpg 29
449 | data/office31/webcam/tape_dispenser/frame_0023.jpg 29
450 | data/office31/webcam/mobile_phone/frame_0001.jpg 14
451 | data/office31/webcam/mobile_phone/frame_0002.jpg 14
452 | data/office31/webcam/mobile_phone/frame_0003.jpg 14
453 | data/office31/webcam/mobile_phone/frame_0004.jpg 14
454 | data/office31/webcam/mobile_phone/frame_0005.jpg 14
455 | data/office31/webcam/mobile_phone/frame_0006.jpg 14
456 | data/office31/webcam/mobile_phone/frame_0007.jpg 14
457 | data/office31/webcam/mobile_phone/frame_0008.jpg 14
458 | data/office31/webcam/mobile_phone/frame_0009.jpg 14
459 | data/office31/webcam/mobile_phone/frame_0010.jpg 14
460 | data/office31/webcam/mobile_phone/frame_0011.jpg 14
461 | data/office31/webcam/mobile_phone/frame_0012.jpg 14
462 | data/office31/webcam/mobile_phone/frame_0013.jpg 14
463 | data/office31/webcam/mobile_phone/frame_0014.jpg 14
464 | data/office31/webcam/mobile_phone/frame_0015.jpg 14
465 | data/office31/webcam/mobile_phone/frame_0016.jpg 14
466 | data/office31/webcam/mobile_phone/frame_0017.jpg 14
467 | data/office31/webcam/mobile_phone/frame_0018.jpg 14
468 | data/office31/webcam/mobile_phone/frame_0019.jpg 14
469 | data/office31/webcam/mobile_phone/frame_0020.jpg 14
470 | data/office31/webcam/mobile_phone/frame_0021.jpg 14
471 | data/office31/webcam/mobile_phone/frame_0022.jpg 14
472 | data/office31/webcam/mobile_phone/frame_0023.jpg 14
473 | data/office31/webcam/mobile_phone/frame_0024.jpg 14
474 | data/office31/webcam/mobile_phone/frame_0025.jpg 14
475 | data/office31/webcam/mobile_phone/frame_0026.jpg 14
476 | data/office31/webcam/mobile_phone/frame_0027.jpg 14
477 | data/office31/webcam/mobile_phone/frame_0028.jpg 14
478 | data/office31/webcam/mobile_phone/frame_0029.jpg 14
479 | data/office31/webcam/mobile_phone/frame_0030.jpg 14
480 | data/office31/webcam/desktop_computer/frame_0001.jpg 8
481 | data/office31/webcam/desktop_computer/frame_0002.jpg 8
482 | data/office31/webcam/desktop_computer/frame_0003.jpg 8
483 | data/office31/webcam/desktop_computer/frame_0004.jpg 8
484 | data/office31/webcam/desktop_computer/frame_0005.jpg 8
485 | data/office31/webcam/desktop_computer/frame_0006.jpg 8
486 | data/office31/webcam/desktop_computer/frame_0007.jpg 8
487 | data/office31/webcam/desktop_computer/frame_0008.jpg 8
488 | data/office31/webcam/desktop_computer/frame_0009.jpg 8
489 | data/office31/webcam/desktop_computer/frame_0010.jpg 8
490 | data/office31/webcam/desktop_computer/frame_0011.jpg 8
491 | data/office31/webcam/desktop_computer/frame_0012.jpg 8
492 | data/office31/webcam/desktop_computer/frame_0013.jpg 8
493 | data/office31/webcam/desktop_computer/frame_0014.jpg 8
494 | data/office31/webcam/desktop_computer/frame_0015.jpg 8
495 | data/office31/webcam/desktop_computer/frame_0016.jpg 8
496 | data/office31/webcam/desktop_computer/frame_0017.jpg 8
497 | data/office31/webcam/desktop_computer/frame_0018.jpg 8
498 | data/office31/webcam/desktop_computer/frame_0019.jpg 8
499 | data/office31/webcam/desktop_computer/frame_0020.jpg 8
500 | data/office31/webcam/desktop_computer/frame_0021.jpg 8
501 | data/office31/webcam/letter_tray/frame_0001.jpg 13
502 | data/office31/webcam/letter_tray/frame_0002.jpg 13
503 | data/office31/webcam/letter_tray/frame_0003.jpg 13
504 | data/office31/webcam/letter_tray/frame_0004.jpg 13
505 | data/office31/webcam/letter_tray/frame_0005.jpg 13
506 | data/office31/webcam/letter_tray/frame_0006.jpg 13
507 | data/office31/webcam/letter_tray/frame_0007.jpg 13
508 | data/office31/webcam/letter_tray/frame_0008.jpg 13
509 | data/office31/webcam/letter_tray/frame_0009.jpg 13
510 | data/office31/webcam/letter_tray/frame_0010.jpg 13
511 | data/office31/webcam/letter_tray/frame_0011.jpg 13
512 | data/office31/webcam/letter_tray/frame_0012.jpg 13
513 | data/office31/webcam/letter_tray/frame_0013.jpg 13
514 | data/office31/webcam/letter_tray/frame_0014.jpg 13
515 | data/office31/webcam/letter_tray/frame_0015.jpg 13
516 | data/office31/webcam/letter_tray/frame_0016.jpg 13
517 | data/office31/webcam/letter_tray/frame_0017.jpg 13
518 | data/office31/webcam/letter_tray/frame_0018.jpg 13
519 | data/office31/webcam/letter_tray/frame_0019.jpg 13
520 | data/office31/webcam/stapler/frame_0001.jpg 28
521 | data/office31/webcam/stapler/frame_0002.jpg 28
522 | data/office31/webcam/stapler/frame_0003.jpg 28
523 | data/office31/webcam/stapler/frame_0004.jpg 28
524 | data/office31/webcam/stapler/frame_0005.jpg 28
525 | data/office31/webcam/stapler/frame_0006.jpg 28
526 | data/office31/webcam/stapler/frame_0007.jpg 28
527 | data/office31/webcam/stapler/frame_0008.jpg 28
528 | data/office31/webcam/stapler/frame_0009.jpg 28
529 | data/office31/webcam/stapler/frame_0010.jpg 28
530 | data/office31/webcam/stapler/frame_0011.jpg 28
531 | data/office31/webcam/stapler/frame_0012.jpg 28
532 | data/office31/webcam/stapler/frame_0013.jpg 28
533 | data/office31/webcam/stapler/frame_0014.jpg 28
534 | data/office31/webcam/stapler/frame_0015.jpg 28
535 | data/office31/webcam/stapler/frame_0016.jpg 28
536 | data/office31/webcam/stapler/frame_0017.jpg 28
537 | data/office31/webcam/stapler/frame_0018.jpg 28
538 | data/office31/webcam/stapler/frame_0019.jpg 28
539 | data/office31/webcam/stapler/frame_0020.jpg 28
540 | data/office31/webcam/stapler/frame_0021.jpg 28
541 | data/office31/webcam/stapler/frame_0022.jpg 28
542 | data/office31/webcam/stapler/frame_0023.jpg 28
543 | data/office31/webcam/stapler/frame_0024.jpg 28
544 | data/office31/webcam/file_cabinet/frame_0001.jpg 9
545 | data/office31/webcam/file_cabinet/frame_0002.jpg 9
546 | data/office31/webcam/file_cabinet/frame_0003.jpg 9
547 | data/office31/webcam/file_cabinet/frame_0004.jpg 9
548 | data/office31/webcam/file_cabinet/frame_0005.jpg 9
549 | data/office31/webcam/file_cabinet/frame_0006.jpg 9
550 | data/office31/webcam/file_cabinet/frame_0007.jpg 9
551 | data/office31/webcam/file_cabinet/frame_0008.jpg 9
552 | data/office31/webcam/file_cabinet/frame_0009.jpg 9
553 | data/office31/webcam/file_cabinet/frame_0010.jpg 9
554 | data/office31/webcam/file_cabinet/frame_0011.jpg 9
555 | data/office31/webcam/file_cabinet/frame_0012.jpg 9
556 | data/office31/webcam/file_cabinet/frame_0013.jpg 9
557 | data/office31/webcam/file_cabinet/frame_0014.jpg 9
558 | data/office31/webcam/file_cabinet/frame_0015.jpg 9
559 | data/office31/webcam/file_cabinet/frame_0016.jpg 9
560 | data/office31/webcam/file_cabinet/frame_0017.jpg 9
561 | data/office31/webcam/file_cabinet/frame_0018.jpg 9
562 | data/office31/webcam/file_cabinet/frame_0019.jpg 9
563 | data/office31/webcam/bottle/frame_0001.jpg 4
564 | data/office31/webcam/bottle/frame_0002.jpg 4
565 | data/office31/webcam/bottle/frame_0003.jpg 4
566 | data/office31/webcam/bottle/frame_0004.jpg 4
567 | data/office31/webcam/bottle/frame_0005.jpg 4
568 | data/office31/webcam/bottle/frame_0006.jpg 4
569 | data/office31/webcam/bottle/frame_0007.jpg 4
570 | data/office31/webcam/bottle/frame_0008.jpg 4
571 | data/office31/webcam/bottle/frame_0009.jpg 4
572 | data/office31/webcam/bottle/frame_0010.jpg 4
573 | data/office31/webcam/bottle/frame_0011.jpg 4
574 | data/office31/webcam/bottle/frame_0012.jpg 4
575 | data/office31/webcam/bottle/frame_0013.jpg 4
576 | data/office31/webcam/bottle/frame_0014.jpg 4
577 | data/office31/webcam/bottle/frame_0015.jpg 4
578 | data/office31/webcam/bottle/frame_0016.jpg 4
579 | data/office31/webcam/printer/frame_0001.jpg 21
580 | data/office31/webcam/printer/frame_0002.jpg 21
581 | data/office31/webcam/printer/frame_0003.jpg 21
582 | data/office31/webcam/printer/frame_0004.jpg 21
583 | data/office31/webcam/printer/frame_0005.jpg 21
584 | data/office31/webcam/printer/frame_0006.jpg 21
585 | data/office31/webcam/printer/frame_0007.jpg 21
586 | data/office31/webcam/printer/frame_0008.jpg 21
587 | data/office31/webcam/printer/frame_0009.jpg 21
588 | data/office31/webcam/printer/frame_0010.jpg 21
589 | data/office31/webcam/printer/frame_0011.jpg 21
590 | data/office31/webcam/printer/frame_0012.jpg 21
591 | data/office31/webcam/printer/frame_0013.jpg 21
592 | data/office31/webcam/printer/frame_0014.jpg 21
593 | data/office31/webcam/printer/frame_0015.jpg 21
594 | data/office31/webcam/printer/frame_0016.jpg 21
595 | data/office31/webcam/printer/frame_0017.jpg 21
596 | data/office31/webcam/printer/frame_0018.jpg 21
597 | data/office31/webcam/printer/frame_0019.jpg 21
598 | data/office31/webcam/printer/frame_0020.jpg 21
599 | data/office31/webcam/ring_binder/frame_0001.jpg 24
600 | data/office31/webcam/ring_binder/frame_0002.jpg 24
601 | data/office31/webcam/ring_binder/frame_0003.jpg 24
602 | data/office31/webcam/ring_binder/frame_0004.jpg 24
603 | data/office31/webcam/ring_binder/frame_0005.jpg 24
604 | data/office31/webcam/ring_binder/frame_0006.jpg 24
605 | data/office31/webcam/ring_binder/frame_0007.jpg 24
606 | data/office31/webcam/ring_binder/frame_0008.jpg 24
607 | data/office31/webcam/ring_binder/frame_0009.jpg 24
608 | data/office31/webcam/ring_binder/frame_0010.jpg 24
609 | data/office31/webcam/ring_binder/frame_0011.jpg 24
610 | data/office31/webcam/ring_binder/frame_0012.jpg 24
611 | data/office31/webcam/ring_binder/frame_0013.jpg 24
612 | data/office31/webcam/ring_binder/frame_0014.jpg 24
613 | data/office31/webcam/ring_binder/frame_0015.jpg 24
614 | data/office31/webcam/ring_binder/frame_0016.jpg 24
615 | data/office31/webcam/ring_binder/frame_0017.jpg 24
616 | data/office31/webcam/ring_binder/frame_0018.jpg 24
617 | data/office31/webcam/ring_binder/frame_0019.jpg 24
618 | data/office31/webcam/ring_binder/frame_0020.jpg 24
619 | data/office31/webcam/ring_binder/frame_0021.jpg 24
620 | data/office31/webcam/ring_binder/frame_0022.jpg 24
621 | data/office31/webcam/ring_binder/frame_0023.jpg 24
622 | data/office31/webcam/ring_binder/frame_0024.jpg 24
623 | data/office31/webcam/ring_binder/frame_0025.jpg 24
624 | data/office31/webcam/ring_binder/frame_0026.jpg 24
625 | data/office31/webcam/ring_binder/frame_0027.jpg 24
626 | data/office31/webcam/ring_binder/frame_0028.jpg 24
627 | data/office31/webcam/ring_binder/frame_0029.jpg 24
628 | data/office31/webcam/ring_binder/frame_0030.jpg 24
629 | data/office31/webcam/ring_binder/frame_0031.jpg 24
630 | data/office31/webcam/ring_binder/frame_0032.jpg 24
631 | data/office31/webcam/ring_binder/frame_0033.jpg 24
632 | data/office31/webcam/ring_binder/frame_0034.jpg 24
633 | data/office31/webcam/ring_binder/frame_0035.jpg 24
634 | data/office31/webcam/ring_binder/frame_0036.jpg 24
635 | data/office31/webcam/ring_binder/frame_0037.jpg 24
636 | data/office31/webcam/ring_binder/frame_0038.jpg 24
637 | data/office31/webcam/ring_binder/frame_0039.jpg 24
638 | data/office31/webcam/ring_binder/frame_0040.jpg 24
639 | data/office31/webcam/bookcase/frame_0001.jpg 3
640 | data/office31/webcam/bookcase/frame_0002.jpg 3
641 | data/office31/webcam/bookcase/frame_0003.jpg 3
642 | data/office31/webcam/bookcase/frame_0004.jpg 3
643 | data/office31/webcam/bookcase/frame_0005.jpg 3
644 | data/office31/webcam/bookcase/frame_0006.jpg 3
645 | data/office31/webcam/bookcase/frame_0007.jpg 3
646 | data/office31/webcam/bookcase/frame_0008.jpg 3
647 | data/office31/webcam/bookcase/frame_0009.jpg 3
648 | data/office31/webcam/bookcase/frame_0010.jpg 3
649 | data/office31/webcam/bookcase/frame_0011.jpg 3
650 | data/office31/webcam/bookcase/frame_0012.jpg 3
651 | data/office31/webcam/bike_helmet/frame_0001.jpg 2
652 | data/office31/webcam/bike_helmet/frame_0002.jpg 2
653 | data/office31/webcam/bike_helmet/frame_0003.jpg 2
654 | data/office31/webcam/bike_helmet/frame_0004.jpg 2
655 | data/office31/webcam/bike_helmet/frame_0005.jpg 2
656 | data/office31/webcam/bike_helmet/frame_0006.jpg 2
657 | data/office31/webcam/bike_helmet/frame_0007.jpg 2
658 | data/office31/webcam/bike_helmet/frame_0008.jpg 2
659 | data/office31/webcam/bike_helmet/frame_0009.jpg 2
660 | data/office31/webcam/bike_helmet/frame_0010.jpg 2
661 | data/office31/webcam/bike_helmet/frame_0011.jpg 2
662 | data/office31/webcam/bike_helmet/frame_0012.jpg 2
663 | data/office31/webcam/bike_helmet/frame_0013.jpg 2
664 | data/office31/webcam/bike_helmet/frame_0014.jpg 2
665 | data/office31/webcam/bike_helmet/frame_0015.jpg 2
666 | data/office31/webcam/bike_helmet/frame_0016.jpg 2
667 | data/office31/webcam/bike_helmet/frame_0017.jpg 2
668 | data/office31/webcam/bike_helmet/frame_0018.jpg 2
669 | data/office31/webcam/bike_helmet/frame_0019.jpg 2
670 | data/office31/webcam/bike_helmet/frame_0020.jpg 2
671 | data/office31/webcam/bike_helmet/frame_0021.jpg 2
672 | data/office31/webcam/bike_helmet/frame_0022.jpg 2
673 | data/office31/webcam/bike_helmet/frame_0023.jpg 2
674 | data/office31/webcam/bike_helmet/frame_0024.jpg 2
675 | data/office31/webcam/bike_helmet/frame_0025.jpg 2
676 | data/office31/webcam/bike_helmet/frame_0026.jpg 2
677 | data/office31/webcam/bike_helmet/frame_0027.jpg 2
678 | data/office31/webcam/bike_helmet/frame_0028.jpg 2
679 | data/office31/webcam/scissors/frame_0001.jpg 26
680 | data/office31/webcam/scissors/frame_0002.jpg 26
681 | data/office31/webcam/scissors/frame_0003.jpg 26
682 | data/office31/webcam/scissors/frame_0004.jpg 26
683 | data/office31/webcam/scissors/frame_0005.jpg 26
684 | data/office31/webcam/scissors/frame_0006.jpg 26
685 | data/office31/webcam/scissors/frame_0007.jpg 26
686 | data/office31/webcam/scissors/frame_0008.jpg 26
687 | data/office31/webcam/scissors/frame_0009.jpg 26
688 | data/office31/webcam/scissors/frame_0010.jpg 26
689 | data/office31/webcam/scissors/frame_0011.jpg 26
690 | data/office31/webcam/scissors/frame_0012.jpg 26
691 | data/office31/webcam/scissors/frame_0013.jpg 26
692 | data/office31/webcam/scissors/frame_0014.jpg 26
693 | data/office31/webcam/scissors/frame_0015.jpg 26
694 | data/office31/webcam/scissors/frame_0016.jpg 26
695 | data/office31/webcam/scissors/frame_0017.jpg 26
696 | data/office31/webcam/scissors/frame_0018.jpg 26
697 | data/office31/webcam/scissors/frame_0019.jpg 26
698 | data/office31/webcam/scissors/frame_0020.jpg 26
699 | data/office31/webcam/scissors/frame_0021.jpg 26
700 | data/office31/webcam/scissors/frame_0022.jpg 26
701 | data/office31/webcam/scissors/frame_0023.jpg 26
702 | data/office31/webcam/scissors/frame_0024.jpg 26
703 | data/office31/webcam/scissors/frame_0025.jpg 26
704 | data/office31/webcam/pen/frame_0001.jpg 19
705 | data/office31/webcam/pen/frame_0002.jpg 19
706 | data/office31/webcam/pen/frame_0003.jpg 19
707 | data/office31/webcam/pen/frame_0004.jpg 19
708 | data/office31/webcam/pen/frame_0005.jpg 19
709 | data/office31/webcam/pen/frame_0006.jpg 19
710 | data/office31/webcam/pen/frame_0007.jpg 19
711 | data/office31/webcam/pen/frame_0008.jpg 19
712 | data/office31/webcam/pen/frame_0009.jpg 19
713 | data/office31/webcam/pen/frame_0010.jpg 19
714 | data/office31/webcam/pen/frame_0011.jpg 19
715 | data/office31/webcam/pen/frame_0012.jpg 19
716 | data/office31/webcam/pen/frame_0013.jpg 19
717 | data/office31/webcam/pen/frame_0014.jpg 19
718 | data/office31/webcam/pen/frame_0015.jpg 19
719 | data/office31/webcam/pen/frame_0016.jpg 19
720 | data/office31/webcam/pen/frame_0017.jpg 19
721 | data/office31/webcam/pen/frame_0018.jpg 19
722 | data/office31/webcam/pen/frame_0019.jpg 19
723 | data/office31/webcam/pen/frame_0020.jpg 19
724 | data/office31/webcam/pen/frame_0021.jpg 19
725 | data/office31/webcam/pen/frame_0022.jpg 19
726 | data/office31/webcam/pen/frame_0023.jpg 19
727 | data/office31/webcam/pen/frame_0024.jpg 19
728 | data/office31/webcam/pen/frame_0025.jpg 19
729 | data/office31/webcam/pen/frame_0026.jpg 19
730 | data/office31/webcam/pen/frame_0027.jpg 19
731 | data/office31/webcam/pen/frame_0028.jpg 19
732 | data/office31/webcam/pen/frame_0029.jpg 19
733 | data/office31/webcam/pen/frame_0030.jpg 19
734 | data/office31/webcam/pen/frame_0031.jpg 19
735 | data/office31/webcam/pen/frame_0032.jpg 19
736 | data/office31/webcam/paper_notebook/frame_0001.jpg 18
737 | data/office31/webcam/paper_notebook/frame_0002.jpg 18
738 | data/office31/webcam/paper_notebook/frame_0003.jpg 18
739 | data/office31/webcam/paper_notebook/frame_0004.jpg 18
740 | data/office31/webcam/paper_notebook/frame_0005.jpg 18
741 | data/office31/webcam/paper_notebook/frame_0006.jpg 18
742 | data/office31/webcam/paper_notebook/frame_0007.jpg 18
743 | data/office31/webcam/paper_notebook/frame_0008.jpg 18
744 | data/office31/webcam/paper_notebook/frame_0009.jpg 18
745 | data/office31/webcam/paper_notebook/frame_0010.jpg 18
746 | data/office31/webcam/paper_notebook/frame_0011.jpg 18
747 | data/office31/webcam/paper_notebook/frame_0012.jpg 18
748 | data/office31/webcam/paper_notebook/frame_0013.jpg 18
749 | data/office31/webcam/paper_notebook/frame_0014.jpg 18
750 | data/office31/webcam/paper_notebook/frame_0015.jpg 18
751 | data/office31/webcam/paper_notebook/frame_0016.jpg 18
752 | data/office31/webcam/paper_notebook/frame_0017.jpg 18
753 | data/office31/webcam/paper_notebook/frame_0018.jpg 18
754 | data/office31/webcam/paper_notebook/frame_0019.jpg 18
755 | data/office31/webcam/paper_notebook/frame_0020.jpg 18
756 | data/office31/webcam/paper_notebook/frame_0021.jpg 18
757 | data/office31/webcam/paper_notebook/frame_0022.jpg 18
758 | data/office31/webcam/paper_notebook/frame_0023.jpg 18
759 | data/office31/webcam/paper_notebook/frame_0024.jpg 18
760 | data/office31/webcam/paper_notebook/frame_0025.jpg 18
761 | data/office31/webcam/paper_notebook/frame_0026.jpg 18
762 | data/office31/webcam/paper_notebook/frame_0027.jpg 18
763 | data/office31/webcam/paper_notebook/frame_0028.jpg 18
764 | data/office31/webcam/trash_can/frame_0001.jpg 30
765 | data/office31/webcam/trash_can/frame_0002.jpg 30
766 | data/office31/webcam/trash_can/frame_0003.jpg 30
767 | data/office31/webcam/trash_can/frame_0004.jpg 30
768 | data/office31/webcam/trash_can/frame_0005.jpg 30
769 | data/office31/webcam/trash_can/frame_0006.jpg 30
770 | data/office31/webcam/trash_can/frame_0007.jpg 30
771 | data/office31/webcam/trash_can/frame_0008.jpg 30
772 | data/office31/webcam/trash_can/frame_0009.jpg 30
773 | data/office31/webcam/trash_can/frame_0010.jpg 30
774 | data/office31/webcam/trash_can/frame_0011.jpg 30
775 | data/office31/webcam/trash_can/frame_0012.jpg 30
776 | data/office31/webcam/trash_can/frame_0013.jpg 30
777 | data/office31/webcam/trash_can/frame_0014.jpg 30
778 | data/office31/webcam/trash_can/frame_0015.jpg 30
779 | data/office31/webcam/trash_can/frame_0016.jpg 30
780 | data/office31/webcam/trash_can/frame_0017.jpg 30
781 | data/office31/webcam/trash_can/frame_0018.jpg 30
782 | data/office31/webcam/trash_can/frame_0019.jpg 30
783 | data/office31/webcam/trash_can/frame_0020.jpg 30
784 | data/office31/webcam/trash_can/frame_0021.jpg 30
785 | data/office31/webcam/ruler/frame_0001.jpg 25
786 | data/office31/webcam/ruler/frame_0002.jpg 25
787 | data/office31/webcam/ruler/frame_0003.jpg 25
788 | data/office31/webcam/ruler/frame_0004.jpg 25
789 | data/office31/webcam/ruler/frame_0005.jpg 25
790 | data/office31/webcam/ruler/frame_0006.jpg 25
791 | data/office31/webcam/ruler/frame_0007.jpg 25
792 | data/office31/webcam/ruler/frame_0008.jpg 25
793 | data/office31/webcam/ruler/frame_0009.jpg 25
794 | data/office31/webcam/ruler/frame_0010.jpg 25
795 | data/office31/webcam/ruler/frame_0011.jpg 25
796 |
--------------------------------------------------------------------------------
/docs/eada.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BIT-DA/EADA/05040e37735bf24da7ccf2249a896d70c897f4bd/docs/eada.png
--------------------------------------------------------------------------------
/main.py:
--------------------------------------------------------------------------------
1 | from __future__ import print_function
2 | import argparse
3 | import os.path
4 | import os
5 | import logging
6 | import time
7 | import datetime
8 |
9 | import torch
10 | import torch.optim as optim
11 | import numpy as np
12 | import torch.backends.cudnn as cudnn
13 | from torch.utils.data import DataLoader
14 |
15 | from core.datasets.image_list import ImageList
16 | from core.models.network import ResNetFc
17 | from core.active.active import EADA_active, RAND_active
18 | from core.utils.utils import set_random_seed, mkdir, momentum_update
19 | from core.datasets.transforms import build_transform
20 | from core.active.loss import NLLLoss, FreeEnergyAlignmentLoss
21 | from core.utils.metric_logger import MetricLogger
22 | from core.utils.logger import setup_logger
23 | from core.config import cfg
24 |
25 |
26 | def test(model, test_loader):
27 | start_test = True
28 | model.eval()
29 | with torch.no_grad():
30 | for batch_idx, test_data in enumerate(test_loader):
31 | img, labels = test_data['img0'], test_data['label']
32 | img = img.cuda()
33 | outputs = model(img, return_feat=False)
34 | if start_test:
35 | all_output = outputs.float().cpu()
36 | all_label = labels.float()
37 | start_test = False
38 | else:
39 | all_output = torch.cat((all_output, outputs.float().cpu()), 0)
40 | all_label = torch.cat((all_label, labels.float()), 0)
41 |
42 | _, predict = torch.min(all_output, 1)
43 | acc = torch.sum(torch.squeeze(predict).float() == all_label).item() / float(all_label.size()[0]) * 100
44 |
45 | return acc
46 |
47 |
48 | def train(cfg, task):
49 | logger = logging.getLogger("EADA.trainer")
50 |
51 | use_cuda = True if torch.cuda.is_available() else False
52 |
53 | kwargs = {'num_workers': 2, 'pin_memory': True} if use_cuda else {}
54 |
55 | # prepare data
56 | source_transform = build_transform(cfg, is_train=True, choices=cfg.INPUT.SOURCE_TRANSFORMS)
57 | target_transform = build_transform(cfg, is_train=True, choices=cfg.INPUT.TARGET_TRANSFORMS)
58 | test_transform = build_transform(cfg, is_train=False, choices=cfg.INPUT.TEST_TRANSFORMS)
59 |
60 | src_train_ds = ImageList(os.path.join(cfg.DATASET.ROOT, cfg.DATASET.NAME, cfg.DATASET.SOURCE_TRAIN_DOMAIN),
61 | transform=source_transform)
62 | src_train_loader = DataLoader(src_train_ds, batch_size=cfg.DATALOADER.SOURCE.BATCH_SIZE, shuffle=True,
63 | drop_last=True, **kwargs)
64 |
65 | tgt_unlabeled_ds = ImageList(os.path.join(cfg.DATASET.ROOT, cfg.DATASET.NAME, cfg.DATASET.TARGET_TRAIN_DOMAIN),
66 | transform=target_transform)
67 | tgt_unlabeled_loader = DataLoader(tgt_unlabeled_ds, batch_size=cfg.DATALOADER.TARGET.BATCH_SIZE, shuffle=True,
68 | drop_last=True, **kwargs)
69 | tgt_unlabeled_loader_full = DataLoader(tgt_unlabeled_ds, batch_size=cfg.DATALOADER.TARGET.BATCH_SIZE,
70 | shuffle=True, drop_last=False, **kwargs)
71 |
72 | tgt_test_ds = ImageList(os.path.join(cfg.DATASET.ROOT, cfg.DATASET.NAME, cfg.DATASET.TARGET_VAL_DOMAIN),
73 | transform=test_transform)
74 | tgt_test_loader = DataLoader(tgt_test_ds, batch_size=cfg.DATALOADER.TEST.BATCH_SIZE, shuffle=False, **kwargs)
75 |
76 | # active target dataset & loader
77 | tgt_selected_ds = ImageList(empty=True, transform=source_transform)
78 | tgt_selected_loader = DataLoader(tgt_selected_ds, batch_size=cfg.DATALOADER.SOURCE.BATCH_SIZE,
79 | shuffle=True, drop_last=False, **kwargs)
80 |
81 | # model
82 | model = ResNetFc(class_num=cfg.DATASET.NUM_CLASS, cfg=cfg).cuda()
83 |
84 | # optimizer
85 | optimizer = optim.Adadelta(model.parameters_list(cfg.OPTIM.LR), lr=cfg.OPTIM.LR)
86 |
87 | # energy loss function
88 | nll_criterion = NLLLoss(cfg)
89 |
90 | # unsupervised energy alignment bound loss
91 | uns_criterion = FreeEnergyAlignmentLoss(cfg)
92 |
93 | # total number of target samples
94 | totality = tgt_unlabeled_ds.__len__()
95 |
96 | logger.info("Start training")
97 | meters = MetricLogger(delimiter=" ")
98 | start_training_time = time.time()
99 | end = time.time()
100 |
101 | final_acc = 0.
102 | final_model = None
103 | all_epoch_result = []
104 | all_selected_images = None
105 | for epoch in range(1, cfg.TRAINER.MAX_EPOCHS + 1):
106 |
107 | model.train()
108 | iter_per_epoch = max(len(src_train_loader), len(tgt_unlabeled_loader))
109 | for batch_idx in range(iter_per_epoch):
110 | data_time = time.time() - end
111 |
112 | if batch_idx % len(src_train_loader) == 0:
113 | src_iter = iter(src_train_loader)
114 | if batch_idx % len(tgt_unlabeled_loader) == 0:
115 | tgt_unlabeled_iter = iter(tgt_unlabeled_loader)
116 | if not tgt_selected_ds.empty:
117 | if batch_idx % len(tgt_selected_loader) == 0:
118 | tgt_selected_iter = iter(tgt_selected_loader)
119 |
120 | src_data = src_iter.next()
121 | tgt_unlabeled_data = tgt_unlabeled_iter.next()
122 |
123 | src_img, src_lbl = src_data['img0'], src_data['label']
124 | src_img, src_lbl = src_img.cuda(), src_lbl.cuda()
125 |
126 | tgt_unlabeled_img = tgt_unlabeled_data['img']
127 | tgt_unlabeled_img = tgt_unlabeled_img.cuda()
128 |
129 | optimizer.zero_grad()
130 |
131 | total_loss = 0
132 |
133 | # supervised loss on label source data
134 | src_out = model(src_img, return_feat=False)
135 | nll_loss = nll_criterion(src_out, src_lbl)
136 | total_loss += nll_loss
137 | meters.update(nll_loss=nll_loss.item())
138 |
139 | if cfg.TRAINER.ENERGY_ALIGN_WEIGHT > 0:
140 | # energy alignment loss on unlabeled target data
141 | tgt_unlabeled_out = model(tgt_unlabeled_img, return_feat=False)
142 | with torch.no_grad():
143 | # free energy of samples
144 | output_div_t = -1.0 * cfg.TRAINER.ENERGY_BETA * src_out
145 | output_logsumexp = torch.logsumexp(output_div_t, dim=1, keepdim=False)
146 | free_energy = -1.0 * output_logsumexp / cfg.TRAINER.ENERGY_BETA
147 |
148 | src_batch_free_energy = free_energy.mean().detach()
149 |
150 | # init global mean free energy
151 | if epoch == 1 and batch_idx == 0:
152 | global_mean = src_batch_free_energy
153 | # update global mean free energy
154 | global_mean = momentum_update(global_mean, src_batch_free_energy)
155 |
156 | fea_loss = uns_criterion(inputs=tgt_unlabeled_out, bound=global_mean)
157 |
158 | total_loss += cfg.TRAINER.ENERGY_ALIGN_WEIGHT * fea_loss
159 | meters.update(fea_loss=(cfg.TRAINER.ENERGY_ALIGN_WEIGHT * fea_loss).item())
160 |
161 | # supervised loss on selected target data
162 | if not tgt_selected_ds.empty:
163 | tgt_selected_data = tgt_selected_iter.next()
164 | tgt_selected_img, tgt_selected_lbl = tgt_selected_data['img0'], tgt_selected_data['label']
165 | tgt_selected_img, tgt_selected_lbl = tgt_selected_img.cuda(), tgt_selected_lbl.cuda()
166 |
167 | if tgt_selected_img.size(0) == 1:
168 | # avoid bs=1, can't pass through BN layer
169 | tgt_selected_img = torch.cat((tgt_selected_img, tgt_selected_img), dim=0)
170 | tgt_selected_lbl = torch.cat((tgt_selected_lbl, tgt_selected_lbl), dim=0)
171 |
172 | tgt_selected_out = model(tgt_selected_img, return_feat=False)
173 | selected_nll_loss = nll_criterion(tgt_selected_out, tgt_selected_lbl)
174 |
175 | total_loss += selected_nll_loss
176 | meters.update(selected_nll_loss=selected_nll_loss.item())
177 |
178 | total_loss.backward()
179 | optimizer.step()
180 |
181 | batch_time = time.time() - end
182 | end = time.time()
183 | meters.update(time=batch_time, data=data_time)
184 | eta_seconds = meters.time.global_avg * (iter_per_epoch * cfg.TRAINER.MAX_EPOCHS - batch_idx * epoch)
185 | eta_string = str(datetime.timedelta(seconds=int(eta_seconds)))
186 |
187 | if batch_idx % cfg.TRAIN.PRINT_FREQ == 0:
188 | logger.info(
189 | meters.delimiter.join(
190 | [
191 | "eta: {eta}",
192 | "task: {task}",
193 | "epoch: {epoch}",
194 | f"[iter: {batch_idx}/{iter_per_epoch}]",
195 | "{meters}",
196 | "max mem: {memory:.2f} GB",
197 | ]
198 | ).format(
199 | task=task,
200 | eta=eta_string,
201 | epoch=epoch,
202 | meters=str(meters),
203 | memory=torch.cuda.max_memory_allocated() / 1024.0 / 1024.0 / 1024.0,
204 | )
205 | )
206 |
207 | # test every 5 epoch
208 | if epoch % 5 == 0:
209 | testacc = test(model, tgt_test_loader)
210 | logger.info('Task: {} Test Epoch: {} testacc: {:.2f}'.format(task, epoch, testacc))
211 | all_epoch_result.append({'epoch': epoch, 'acc': testacc})
212 | if epoch == cfg.TRAINER.MAX_EPOCHS:
213 | final_model = model.state_dict()
214 | final_acc = testacc
215 |
216 | # active selection rounds
217 | if epoch in cfg.TRAINER.ACTIVE_ROUND:
218 | logger.info('Task: {} Active Epoch: {}'.format(task, epoch))
219 | if cfg.TRAINER.NAME == 'RAND':
220 | active_samples = RAND_active(tgt_unlabeled_ds=tgt_unlabeled_ds,
221 | tgt_selected_ds=tgt_selected_ds,
222 | active_ratio=0.01,
223 | totality=totality)
224 | elif cfg.TRAINER.NAME == 'EADA':
225 | active_samples = EADA_active(tgt_unlabeled_loader_full=tgt_unlabeled_loader_full,
226 | tgt_unlabeled_ds=tgt_unlabeled_ds,
227 | tgt_selected_ds=tgt_selected_ds,
228 | active_ratio=0.01,
229 | totality=totality,
230 | model=model,
231 | cfg=cfg)
232 |
233 | # record all selected target images
234 | if all_selected_images is None:
235 | all_selected_images = active_samples
236 | else:
237 | all_selected_images = np.concatenate((all_selected_images, active_samples), axis=0)
238 |
239 | # record all selected images
240 | ckt_path = os.path.join(cfg.OUTPUT_DIR, cfg.DATASET.NAME, task)
241 | mkdir(ckt_path)
242 | torch.save(all_selected_images, os.path.join(ckt_path, "all_selected_images.pth"))
243 | torch.save(final_model, os.path.join(ckt_path, "final_model_{}.pth".format(task)))
244 |
245 | # record results for test epochs
246 | with open(os.path.join(ckt_path, 'all_epoch_result.csv'), 'w') as handle:
247 | for i, rec in enumerate(all_epoch_result):
248 | if i == 0:
249 | handle.write(','.join(list(rec.keys())) + '\n')
250 | line = [str(rec[key]) for key in rec.keys()]
251 | handle.write(','.join(line) + '\n')
252 |
253 | total_training_time = time.time() - start_training_time
254 | total_time_str = str(datetime.timedelta(seconds=total_training_time))
255 | logger.info(
256 | "Total training time: {} ({:.4f} s / ep)".format(
257 | total_time_str, total_training_time / cfg.TRAINER.MAX_EPOCHS
258 | )
259 | )
260 |
261 | return task, final_acc
262 |
263 |
264 | def main():
265 | parser = argparse.ArgumentParser(description='PyTorch Activate Domain Adaptation')
266 | parser.add_argument('--cfg',
267 | default='',
268 | metavar='FILE',
269 | help='path to config file',
270 | type=str)
271 | parser.add_argument(
272 | "opts",
273 | help="Modify config options using the command-line",
274 | default=None,
275 | nargs=argparse.REMAINDER,
276 | )
277 |
278 | args = parser.parse_args()
279 |
280 | cfg.merge_from_file(args.cfg)
281 | cfg.merge_from_list(args.opts)
282 |
283 | output_dir = os.path.join(cfg.OUTPUT_DIR, cfg.DATASET.NAME)
284 | if output_dir:
285 | mkdir(output_dir)
286 |
287 | logger = setup_logger("EADA", output_dir, 0)
288 | logger.info("Loaded configuration file {}".format(args.cfg))
289 | logger.info("Running with config:\n{}".format(cfg))
290 |
291 | if cfg.SEED >= 0:
292 | print('Setting fixed seed: {}'.format(cfg.SEED))
293 | set_random_seed(cfg.SEED)
294 |
295 | cudnn.deterministic = True
296 |
297 | all_task_result = []
298 | for source in cfg.DATASET.SOURCE_DOMAINS:
299 | for target in cfg.DATASET.TARGET_DOMAINS:
300 | if source != target:
301 | cfg.DATASET.SOURCE_TRAIN_DOMAIN = os.path.join(source + '_train.txt')
302 | cfg.DATASET.TARGET_TRAIN_DOMAIN = os.path.join(target + '_train.txt')
303 | cfg.DATASET.TARGET_VAL_DOMAIN = os.path.join(target + '_test.txt')
304 |
305 | cfg.freeze()
306 | task, final_acc = train(cfg, task=source + '2' + target)
307 | all_task_result.append({'task': task, 'final_acc': final_acc})
308 | cfg.defrost()
309 |
310 | # record all results for all tasks
311 | with open(os.path.join(output_dir, 'all_task_result.csv'), 'w') as handle:
312 | for i, rec in enumerate(all_task_result):
313 | if i == 0:
314 | handle.write(','.join(list(rec.keys())) + '\n')
315 | line = [str(rec[key]) for key in rec.keys()]
316 | handle.write(','.join(line) + '\n')
317 |
318 |
319 | if __name__ == '__main__':
320 | main()
321 |
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | torchvision==0.8.1
2 | matplotlib==3.2.0
3 | yacs==0.1.8
4 | scipy==1.5.4
5 | torch==1.7.0
6 | numpy==1.18.0
7 | advertorch==0.2.3
8 | Pillow==8.3.1
9 | scikit_learn==0.24.2
10 | tensorboardX==2.4
11 |
--------------------------------------------------------------------------------