diff --git a/cv/classification/resnet50/tensorflow/README.md b/cv/classification/resnet50/tensorflow/README.md new file mode 100644 index 0000000000000000000000000000000000000000..49c2c19b7a9fec1510b08e3b59cc4f85ed4b0de9 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/README.md @@ -0,0 +1,29 @@ + +## Prepare + +### Install packages + +```shell +pip3 install absl-py git+https://github.com/NVIDIA/dllogger#egg=dllogger +``` + +### Download datasets +make a file named imagenet_tfrecord, and store imagenet datasest convert to imagenet_tfrecord + +[Downloading and converting to TFRecord format](https://github.com/kmonachopoulos/ImageNet-to-TFrecord) or +[here](https://github.com/tensorflow/models/tree/master/research/slim#downloading-and-converting-to-tfrecord-format) + + + +## Training + +### Training on single card + +```shell +bash run_train_resnet50_imagenette.sh +``` + +### Training on mutil-cards +```shell +bash run_train_resnet50_multigpu_imagenette.sh +``` diff --git a/cv/classification/resnet50/tensorflow/README_origin.md b/cv/classification/resnet50/tensorflow/README_origin.md new file mode 100644 index 0000000000000000000000000000000000000000..e7b746487bcf0daad38d4522580a170ac58523f2 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/README_origin.md @@ -0,0 +1,88 @@ +# tf_cnn_benchmarks: High performance benchmarks + +**Note: tf_cnn_benchmarks is no longer maintained.** + +tf_cnn_benchmarks contains TensorFlow 1 implementations of several popular +convolutional models, and is designed to be as fast as possible. +tf_cnn_benchmarks supports both running on a single machine or running in +distributed mode across multiple hosts. + +tf_cnn_benchmarks is no longer maintained. Although it will run with TensorFlow +2, it was written and optimized for TensorFlow 1, and has not been maintained +since TensorFlow 2 was released. For clean and easy-to-read TensorFlow 2 models, +please see the [TensorFlow Official +Models](https://github.com/tensorflow/models/tree/master/official). + +## Getting Started + +To run ResNet50 with synthetic data without distortions with a single GPU, run + +``` +python tf_cnn_benchmarks.py --num_gpus=1 --batch_size=32 --model=resnet50 --variable_update=parameter_server +``` + +Note that the master branch of tf_cnn_benchmarks occasionally requires the +latest nightly version of TensorFlow. You can install the nightly version by +running `pip install tf-nightly-gpu` in a clean environment, or by installing +TensorFlow from source. We sometimes will create a branch of tf_cnn_benchmarks, +in the form of cnn_tf_vX.Y_compatible, that is compatible with TensorFlow +version X.Y. For example, branch +[cnn_tf_v1.9_compatible](https://github.com/tensorflow/benchmarks/tree/cnn_tf_v1.9_compatible/scripts/tf_cnn_benchmarks) +works with TensorFlow 1.9. However, as tf_cnn_benchmarks is no longer +maintained, we will likely no longer create new branches. + +Some important flags are + +* model: Model to use, e.g. resnet50, inception3, vgg16, and alexnet. +* num_gpus: Number of GPUs to use. +* data_dir: Path to data to process. If not set, synthetic data is used. To + use Imagenet data use these + [instructions](https://github.com/tensorflow/models/tree/master/research/inception#getting-started) + as a starting point. +* batch_size: Batch size for each GPU. +* variable_update: The method for managing variables: parameter_server + ,replicated, distributed_replicated, independent +* local_parameter_device: Device to use as parameter server: cpu or gpu. + +To see the full list of flags, run `python tf_cnn_benchmarks.py --help`. + +To run ResNet50 with real data with 8 GPUs, run: + +``` +python tf_cnn_benchmarks.py --data_format=NCHW --batch_size=256 \ +--model=resnet50 --optimizer=momentum --variable_update=replicated \ +--nodistortions --gradient_repacking=8 --num_gpus=8 \ +--num_epochs=90 --weight_decay=1e-4 --data_dir=${DATA_DIR} --use_fp16 \ +--train_dir=${CKPT_DIR} +``` +This will train a ResNet-50 model on ImageNet with 2048 batch size on 8 +GPUs. The model should train to around 76% accuracy. + +## Running the tests + +To run the tests, run + +```bash +pip install portpicker +python run_tests.py && python run_tests.py --run_distributed_tests +``` + +Note the tests require portpicker. + +The command above runs a subset of tests that is both fast and fairly +comprehensive. Alternatively, all the tests can be run, but this will take a +long time: + +```bash +python run_tests.py --full_tests && python run_tests.py --full_tests --run_distributed_tests +``` + +We will run all tests on every PR before merging them, so it is not necessary +to pass `--full_tests` when running tests yourself. + +To run an individual test, such as method `testParameterServer` of test class +`TfCnnBenchmarksTest` of module `benchmark_cnn_test`, run + +```bash +python -m unittest -v benchmark_cnn_test.TfCnnBenchmarksTest.testParameterServer +``` diff --git a/cv/classification/resnet50/tensorflow/all_reduce_benchmark.py b/cv/classification/resnet50/tensorflow/all_reduce_benchmark.py new file mode 100644 index 0000000000000000000000000000000000000000..155861c099089c59fe3439e6ef18b5e7e48d81ab --- /dev/null +++ b/cv/classification/resnet50/tensorflow/all_reduce_benchmark.py @@ -0,0 +1,290 @@ +# Copyright 2018 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Benchmarks the all-reduce algorithms of tf_cnn_benchmarks. + +tf_cnn_benchmarks uses all-reduce to aggregate gradients. This benchmark is +useful for benchmarking the performance of just this gradient aggregation, +instead of the entire model. All the flags that tf_cnn_benchmarks accepts are +also accepted by this script, although many are silently ignored. + +The number and shapes of the tensors all-reduced are those of the variables of +the model specified by the --model flag. +TODO(reedwm): Allow custom sizes to be specified. +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + + +import os +import time + +from absl import app +from absl import flags as absl_flags +import tensorflow.compat.v1 as tf + +from tensorflow.python.ops import control_flow_ops +import benchmark_cnn +import cnn_util +import flags +from cnn_util import log_fn + + +absl_flags.DEFINE_integer('iters_per_step', 5, + 'Number of iterations to run all-reduce for, per ' + 'step. Every step, a session will be run on a Graph ' + 'that contains this many copies of the all-reduce. ' + 'The copies are run sequentially. Setting this above ' + '1 is useful to lower the overhead of starting the ' + 'session run, running the VariableV2 ops at the ' + 'start of the step, etc.') + + +flags.define_flags() +for name in flags.param_specs.keys(): + absl_flags.declare_key_flag(name) + + +def get_var_shapes(model): + """Returns the list of variable shapes for a tf_cnn_benchmarks Model.""" + with tf.Graph().as_default(): + # The variable shapes do not depend on the batch size. + images = tf.placeholder(tf.float32, model.get_input_shapes('train')[0]) + model.build_network([images]) + return [[int(d) for d in v.shape.dims] for v in tf.trainable_variables()] + + +def all_reduce(all_device_tensors, variable_mgr): + """Performs a single batch all-reduce. + + Args: + all_device_tensors: List of lists of tensors. all_device_tensors[t][i] is + a tensor, where t is the tower the tensor is on and i is the index of + the tensor. + variable_mgr: The VariableMgr to perform the all-reduce. + Returns: + List of list of tensors in the same form as `all_device_tensors`, except the + tensors are aggregated across towers. + """ + tower_grads = [[(g, None) for g in device_tensors] for + device_tensors in all_device_tensors] + _, aggregated_tower_grads = variable_mgr.preprocess_device_grads(tower_grads) + return [ + [g for g, _ in agg_device_tensors] + for agg_device_tensors in aggregated_tower_grads] + + +def build_all_reduce_iterations(all_device_tensors, tower_devices, variable_mgr, + num_iters): + """Builds the all-reduce ops for multiple iterations to aggregate tensors. + + The tensors in `all_device_tensors` are aggregated `num_iters` times. Each + iteration aggregates the results from the previous iteration. The iterations + are run sequentially, so the aggregations for an iteration do not start + running until the previous iteration has completed. Each iteration after the + first is aggregating already-aggregated values, but it does not matter because + we are only aggregating for benchmarking purposes. + + Args: + all_device_tensors: List of lists of tensors. all_device_tensors[t][i] is + a tensor, where t is the tower the tensor is on and i is the index of + the tensor. + tower_devices: A list of device strings. tower_devices[t] is the device + of the tensors in all_device_tensors[t]. + variable_mgr: The VariableMgr to perform the all-reduce. + num_iters: Number of iterations to aggregate tensors for. + Returns: + An op that when run, causes the all-reduce ops to run. + """ + for i in range(num_iters): + with tf.name_scope('iteration_%d' % i): + # Step 1: Do the aggregation. + with tf.name_scope('tensor_aggregation'): + all_device_tensors = all_reduce(all_device_tensors, variable_mgr) + + # Step 2. Create identity ops, to bring the aggregated results back to + # each device. + new_all_device_tensors = [] + for device, device_tensors in zip(tower_devices, all_device_tensors): + with tf.device(device): + new_all_device_tensors.append([ + tf.identity(t, name='identity_after_allreduce') + for t in device_tensors + ]) + all_device_tensors = new_all_device_tensors + + # Step 3. Add control dependencies to delay the next iteration until this + # iteration is complete. To avoid extra overhead, we do not have any + # cross-device control dependencies, which means it's possible for two + # iterations to slightly overlap. + new_all_device_tensors = [] + for device_tensors in all_device_tensors: + new_all_device_tensors.append([ + control_flow_ops.with_dependencies( + device_tensors, t, name='identity_after_dependencies') + for t in device_tensors + ]) + all_device_tensors = new_all_device_tensors + + # To prevent the dependency optimizer from removing every op we created, + # we store the results in variables. + ops_to_run = [] + for device, device_tensors in zip(tower_devices, all_device_tensors): + with tf.device(device): + for t in device_tensors: + # The placeholder initial value is never run. + var = tf.Variable(tf.placeholder(tf.float32, t.shape), collections=[]) + ops_to_run.append(var.assign(t)) + return tf.group(*ops_to_run) + + +def build_graph(tower_devices, tensor_shapes, variable_mgr, num_iters): + """Builds the graph for the benchmark. + + Args: + tower_devices: A list of device strings of the devices to run the all-reduce + benchmark on. + tensor_shapes: A list of shapes of the tensors that will be aggregated for + the all-reduce. + variable_mgr: The VariableMgr to perform the all-reduce. + num_iters: Number of iterations to aggregate tensors for. + Returns: + An op that runs the benchmark. + """ + all_device_tensors = [] + for i, tower_device in enumerate(tower_devices): + with tf.device(tower_device): + device_tensors = [] + for j, shape in enumerate(tensor_shapes): + tensor = tf.Variable(tf.random_normal(shape, dtype=tf.float32), + name='tensor_%d_on_device_%d' % (j, i)) + device_tensors.append(tensor) + all_device_tensors.append(device_tensors) + + log_fn('Building all-reduce ops') + benchmark_op = build_all_reduce_iterations(all_device_tensors, tower_devices, + variable_mgr, num_iters) + log_fn('Done building all-reduce ops') + return benchmark_op + + +def run_graph(benchmark_op, bench_cnn, init_ops, dummy_loss_op): + """Runs the graph for the benchmark. + + Args: + benchmark_op: An op that runs the benchmark. + bench_cnn: The BenchmarkCNN where params and other attributes are obtained. + init_ops: A list of ops that are run before `benchmark_op` for + initialization. + dummy_loss_op: Any op. We must pass a loss op to + `benchmark_cnn.benchmark_one_step`, but the result of the op is never + actually used. + """ + config = benchmark_cnn.create_config_proto(bench_cnn.params) + with tf.Session(config=config) as sess: + for op in init_ops: + sess.run(op) + step_train_times = [] + fetches = {'average_loss': dummy_loss_op, 'benchmark_op': benchmark_op} + log_fn('Running warmup') + for i in range(-bench_cnn.num_warmup_batches, bench_cnn.num_batches): + if i == 0: + log_fn('Running all-reduce ops') + start = time.time() + if i > 0 and i % bench_cnn.params.display_every == 0: + log_fn('Iteration: %d. Average time per step so far: %s' % + (i, (time.time() - start) / i)) + # Call benchmark_one_step instead of directly calling sess.run(...), to + # potentially get a trace file, partitioned graphs, etc. + benchmark_cnn.benchmark_one_step( + sess=sess, + fetches=fetches, + step=i, + # The batch size is only used for the images/sec calculation, which is + # not actually calculated because we pass show_images_per_sec=False. + batch_size=None, + step_train_times=step_train_times, + trace_filename=bench_cnn.trace_filename, + partitioned_graph_file_prefix=( + bench_cnn.params.partitioned_graph_file_prefix), + profiler=None, + image_producer=None, + params=bench_cnn.params, + show_images_per_sec=False) + log_fn('Average time per step: %s' % + ((time.time() - start) / bench_cnn.num_batches)) + + +def run_benchmark(bench_cnn, num_iters): + """Runs the all-reduce benchmark. + + Args: + bench_cnn: The BenchmarkCNN where params, the variable manager, and other + attributes are obtained. + num_iters: Number of iterations to do all-reduce for for. + + Raises: + ValueError: Invalid params of bench_cnn. + """ + if bench_cnn.params.variable_update != 'replicated': + raise ValueError('--variable_update=replicated must be specified to use' + 'the all-reduce benchmark') + if bench_cnn.params.variable_consistency == 'relaxed': + raise ValueError('--variable_consistency=relaxed is not supported') + + benchmark_op = build_graph(bench_cnn.raw_devices, + get_var_shapes(bench_cnn.model), + bench_cnn.variable_mgr, num_iters) + init_ops = [ + tf.global_variables_initializer(), + bench_cnn.variable_mgr.get_post_init_ops() + ] + loss_op = tf.no_op() + + if bench_cnn.graph_file: + path, filename = os.path.split(bench_cnn.graph_file) + as_text = filename.endswith('txt') + log_fn('Writing GraphDef as %s to %s' % ( + 'text' if as_text else 'binary', bench_cnn.graph_file)) + tf.train.write_graph(tf.get_default_graph().as_graph_def(add_shapes=True), + path, filename, as_text) + + run_graph(benchmark_op, bench_cnn, init_ops, loss_op) + + +# TODO(reedwm): Reduce redundancy with tf_cnn_benchmarks +def main(positional_arguments): + # Command-line arguments like '--distortions False' are equivalent to + # '--distortions=True False', where False is a positional argument. To prevent + # this from silently running with distortions, we do not allow positional + # arguments. + assert len(positional_arguments) >= 1 + if len(positional_arguments) > 1: + raise ValueError('Received unknown positional arguments: %s' + % positional_arguments[1:]) + + params = benchmark_cnn.make_params_from_flags() + params = benchmark_cnn.setup(params) + bench = benchmark_cnn.BenchmarkCNN(params) + + tfversion = cnn_util.tensorflow_version_tuple() + log_fn('TensorFlow: %i.%i' % (tfversion[0], tfversion[1])) + + run_benchmark(bench, absl_flags.FLAGS.iters_per_step) + +if __name__ == '__main__': + tf.disable_v2_behavior() + app.run(main) # Raises error on invalid flags, unlike tf.app.run() diff --git a/cv/classification/resnet50/tensorflow/all_reduce_benchmark_test.py b/cv/classification/resnet50/tensorflow/all_reduce_benchmark_test.py new file mode 100644 index 0000000000000000000000000000000000000000..c8efd53f421049e697a4eeea7486a758c5a52a6c --- /dev/null +++ b/cv/classification/resnet50/tensorflow/all_reduce_benchmark_test.py @@ -0,0 +1,52 @@ +# Copyright 2018 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Tests for all_reduce_benchmark.py.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow.compat.v1 as tf + +import all_reduce_benchmark +import benchmark_cnn +import test_util + + +class AllReduceBenchmarkTest(tf.test.TestCase): + """Tests the all-reduce benchmark.""" + + def _test_run_benchmark(self, params): + """Tests that run_benchmark() runs successfully with the params.""" + logs = [] + with test_util.monkey_patch(all_reduce_benchmark, + log_fn=test_util.print_and_add_to_list(logs)): + bench_cnn = benchmark_cnn.BenchmarkCNN(params) + all_reduce_benchmark.run_benchmark(bench_cnn, num_iters=5) + self.assertRegex(logs[-1], '^Average time per step: [0-9.]+$') + + def test_run_benchmark(self): + """Tests that run_benchmark() runs successfully.""" + params = benchmark_cnn.make_params(num_batches=10, + variable_update='replicated', + num_gpus=2) + self._test_run_benchmark(params) + params = params._replace(hierarchical_copy=True, gradient_repacking=8, + num_gpus=8) + self._test_run_benchmark(params) + +if __name__ == '__main__': + tf.disable_v2_behavior() + tf.test.main() diff --git a/cv/classification/resnet50/tensorflow/allreduce.py b/cv/classification/resnet50/tensorflow/allreduce.py new file mode 100644 index 0000000000000000000000000000000000000000..fa51f843444b543622ec01c3322a282ea0fc5139 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/allreduce.py @@ -0,0 +1,648 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Utilities for allreduce.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import collections as pycoll +import re + +from six.moves import xrange # pylint: disable=redefined-builtin +import tensorflow.compat.v1 as tf + +# pylint: disable=g-direct-tensorflow-import +try: + from tensorflow.python.distribute.v1 import all_reduce +except: + from tensorflow.python.distribute import all_reduce +from tensorflow.python.framework import device as pydev +from tensorflow.python.framework import ops +from tensorflow.python.ops import collective_ops + +AllReduceSpecTuple = pycoll.namedtuple('AllReduceSpecTuple', 'alg shards limit') + + +def parse_general_int(s): + """Parse integer with power-of-2 suffix eg. 32k.""" + mo = re.match(r'(\d+)([KkMGT]?)$', s) + if mo: + i, suffix = mo.group(1, 2) + v = int(i) + if suffix: + if suffix == 'K' or suffix == 'k': + v *= 1024 + elif suffix == 'M': + v *= (1024 * 1024) + elif suffix == 'G': + v *= (1024 * 1024 * 1024) + elif suffix == 'T': + v *= (1024 * 1024 * 1024 * 1024) + else: + raise ValueError('invalid integer string %s' % s) + return v + else: + v = int(s) + return v + + +def parse_all_reduce_spec(all_reduce_spec): + """Parse all_reduce_spec. + + Args: + all_reduce_spec: a string specifying a combination of all-reduce + algorithms to apply for gradient reduction. + + Returns: + a list of AllReduceSpecTuple. + + Raises: + ValueError: all_reduce_spec is not well-formed. + + An all_reduce_spec has BNF form: + int ::= positive whole number + g_int ::= int[KkMGT]? + alg_spec ::= alg | alg#int + range_spec ::= alg_spec | alg_spec/alg_spec + spec ::= range_spec | range_spec:g_int:range_spec + + Not all syntactically correct specifications are supported. + Examples of supported all_reduce_spec strings, with semantics explained: + + 'collective' == apply tf.collective_reduce operator to all tensors. + 'collective#2' == apply tf.collective_reduce operator to all tensors, + requesting up to 2 simultaneous transfers at each node, if + feasible, by subdividing tensor by an additional factor of 2. + 'xring' == apply ring all-reduce to all tensors + 'xring#2' == apply ring all-reduce to all tensors, using two simultaneous + transfer rings, each operating on 1/2 of each tensor. + 'nccl' == apply NCCL all-reduce to all tensors (only works within + a single worker process where all devices are GPUs) + 'nccl/xring' == apply NCCL all-reduce to all tensors within each worker + to produce at least one full-reduced (locally) value, + then apply ring all-reduce to one such value from each + worker, then apply NCCL broadcast to propagate those globally + reduced values back to every device within each worker. + 'pscpu' == Shuffle reduce using worker CPUs as the gather devices: each + distributed tensor is reduced by copying all instances to + one of the worker CPUs, computing the reduction there, then + copying back to each participating device. Tensor reductions + are assigned to specific CPUs round-robin. + 'psgpu#4' == Arrange all GPUs across all workers into groups of 4. + Each distributed tensor is shuffle reduced against one + such group of 4 GPUs, selected round-robin. That is, each + tensor is split across 4 shards for the reduction. + 'pscpu:2k:pscpu#2:64k:xring' == Apply single-shard pscpu to + tensors of size <= 2048 elements, apply 2-shard pscpu to + tensors up to size 64k elements, apply xring to larger tensors. + 'pscpu/pscpu#2' == Use shuffle gather to locally reduce each tensor on + the worker's CPU, then use 2-shard shuffle to reduce those + locally reduced tensors across workers (on the worker CPUs), then + scatter the globally reduced values locally from each worker CPU. + """ + range_parts = all_reduce_spec.split(':') + ['-1'] + if len(range_parts) % 2: + raise ValueError('all_reduce_spec not well formed: %s' % all_reduce_spec) + limit = 0 + spec = [] + alg = None + shards = 1 + for i, range_part in enumerate(range_parts): + if i % 2 == 1: + try: + limit = parse_general_int(range_part) + spec.append(AllReduceSpecTuple(alg=alg, shards=shards, limit=limit)) + except ValueError: + raise ValueError('all_reduce_spec (%s) contains non-integer range %s' % + (all_reduce_spec, range_part)) + else: + alg = range_part + alg_parts = range_part.split('#') + alg = alg_parts[0] + if len(alg_parts) > 1: + try: + shards = int(alg_parts[1]) + except ValueError: + raise ValueError('all_reduce_spec (%s) contains non-integer ' + 'shards %s' % all_reduce_spec, alg_parts[1]) + else: + shards = 1 + if alg not in [ + 'nccl', 'nccl/xring', 'nccl/rechd', 'nccl/pscpu', 'xring', 'pscpu', + 'psgpu', 'pscpu/pscpu', 'collective' + ]: + raise ValueError('all_reduce_spec (%s) contains invalid alg %s' % + (all_reduce_spec, alg)) + return spec + + +def build_all_reduce_device_prefixes(job_name, num_tasks): + """Build list of device prefix names for all_reduce. + + Args: + job_name: 'worker', 'ps' or 'localhost'. + num_tasks: number of jobs across which device names should be generated. + + Returns: + A list of device name prefix strings. Each element spells out the full + host name without adding the device. + e.g. '/job:worker/task:0' + """ + if job_name != 'localhost': + return ['/job:%s/task:%d' % (job_name, d) for d in range(0, num_tasks)] + else: + assert num_tasks == 1 + return ['/job:%s' % job_name] + + +def group_device_names(devices, group_size): + """Group device names into groups of group_size. + + Args: + devices: list of strings naming devices. + group_size: int >= 1 + + Returns: + list of lists of devices, where each inner list is group_size long, + and each device appears at least once in an inner list. If + len(devices) % group_size = 0 then each device will appear + exactly once. + + Raises: + ValueError: group_size > len(devices) + """ + num_devices = len(devices) + if group_size > num_devices: + raise ValueError('only %d devices, but group_size=%d' % (num_devices, + group_size)) + num_groups = ( + num_devices // group_size + (1 if (num_devices % group_size != 0) else 0)) + groups = [[] for i in range(num_groups)] + for i in range(0, num_groups * group_size): + groups[i % num_groups].append(devices[i % num_devices]) + return groups + + +def split_grads_by_size(threshold_size, device_grads): + """Break gradients into two sets according to tensor size. + + Args: + threshold_size: int size cutoff for small vs large tensor. + device_grads: List of lists of (gradient, variable) tuples. The outer + list is over devices. The inner list is over individual gradients. + + Returns: + small_grads: Subset of device_grads where shape is <= theshold_size + elements. + large_grads: Subset of device_grads where shape is > threshold_size + elements. + """ + small_grads = [] + large_grads = [] + for dl in device_grads: + small_dl = [] + large_dl = [] + for (g, v) in dl: + tensor_size = g.get_shape().num_elements() + if tensor_size <= threshold_size: + small_dl.append([g, v]) + else: + large_dl.append([g, v]) + if small_dl: + small_grads.append(small_dl) + if large_dl: + large_grads.append(large_dl) + return small_grads, large_grads + + +_instance_key = 1 + + +def new_collective_instance_key(): + """Returns a new instance key for use in defining a collective op.""" + global _instance_key + v = _instance_key + _instance_key += 1 + return v + + +_group_key = 1 +_group_key_table = dict() + + +def collective_group_key(devices): + """Returns a group key for the set of devices. + + Args: + devices: list of strings naming devices in a collective group. + + Returns: + int key uniquely identifying the set of device names. + """ + global _group_key + global _group_key_table + parsed = [pydev.DeviceSpec.from_string(d) for d in devices] + names = sorted(['%s:%d' % (d.device_type, d.device_index) for d in parsed]) + concat = ','.join(names) + if concat not in _group_key_table.keys(): + new_key = _group_key + _group_key += 1 + _group_key_table[concat] = new_key + rv = _group_key_table[concat] + return rv + + +def build_collective_reduce(input_tensors, num_workers, num_shards, + red_op='Add', un_op='Id'): + """Build a subgraph that does one full all-reduce, using the collective Op. + + Args: + input_tensors: tensors within a single worker graph that are to be reduced + together; must be one per device. + num_workers: total number of workers with identical independent graphs that + will be doing this same reduction. The reduction will actually include + the corresponding tensors at all these workers. + num_shards: number of shards into which to divide each per-tick chunk, + normally 1 but could be higher on multi-data-path architectures. + red_op: string naming the reduction op + un_op: string naming the unary final op + + Returns: + An array of final tensors, one per device, computed by the full reduction. + + Raises: + ValueError: There must be at least two tensors over all the workers. + """ + group_size = len(input_tensors) * num_workers + if group_size < 2: + raise ValueError('num_workers * len(input_tensors) must be 2 or greater') + devices = [t.device for t in input_tensors] + num_devices = len(devices) + group_key = collective_group_key(devices) + instance_key = new_collective_instance_key() + out_tensors = [] + if num_shards == 1: + subdiv_offsets = [0] + elif num_shards == 2: + if num_devices > 1: + subdiv_offsets = [0, -(num_devices // 2)] + else: + subdiv_offsets = [0] + else: + raise ValueError('Unsupported num_shards %d' % num_shards) + for d in range(num_devices): + with ops.device(devices[d]): + reduce_op = collective_ops.all_reduce(input_tensors[d], + group_size, group_key, instance_key, + red_op, un_op, + subdiv_offsets) + out_tensors.append(reduce_op) + return out_tensors + + +def broadcast_send(t, shape, dtype, group_size, group_key, instance_key): + return collective_ops.broadcast_send(t, shape, dtype, group_size, group_key, + instance_key) + + +def broadcast_recv(shape, dtype, group_size, group_key, instance_key): + return collective_ops.broadcast_recv(shape, dtype, group_size, group_key, + instance_key) + + +def sum_grad_and_var_all_reduce(single_session, + grad_and_vars, + num_workers, + alg, + gpu_indices, + aux_devices=None, + num_shards=1): + """Apply all-reduce algorithm over specified gradient tensors.""" + scaled_grads = [g for g, _ in grad_and_vars] + if alg == 'collective': + assert not single_session + summed_grads = build_collective_reduce( + scaled_grads, num_workers, num_shards, 'Add', 'Id') + else: + with tf.name_scope('allreduce'): + # Note that each grad_and_vars looks like the following: + # ((grad0_gpu0, var0_gpu0), ... , (grad0_gpuN, var0_gpuN)) + if alg == 'nccl': + summed_grads = all_reduce.build_nccl_all_reduce(scaled_grads, tf.add) + elif alg == 'xring': + summed_grads = all_reduce.build_ring_all_reduce( + scaled_grads, num_workers, num_shards, gpu_indices, tf.add) + elif alg == 'nccl/xring': + summed_grads = all_reduce.build_nccl_then_ring(scaled_grads, num_shards, + tf.add) + elif alg == 'nccl/rechd': + summed_grads = all_reduce.build_nccl_then_recursive_hd( + scaled_grads, tf.add) + elif alg == 'nccl/pscpu': + summed_grads = all_reduce.build_nccl_then_shuffle( + scaled_grads, aux_devices, tf.add, tf.add_n) + elif alg == 'pscpu/pscpu': + summed_grads = all_reduce.build_shuffle_then_shuffle( + scaled_grads, + aux_devices, + # TODO(tucker): devise a way of better specifying the device set + # for the second level. + [aux_devices[0]], + tf.add_n) + elif alg in ['pscpu', 'psgpu']: + summed_grads = all_reduce.build_shuffle_all_reduce( + scaled_grads, aux_devices, tf.add_n) + else: + raise ValueError('unsupported all_reduce alg: ', alg) + + result = [] + for (_, v), g in zip(grad_and_vars, summed_grads): + result.append([g, v]) + return result + + +def contains_any(haystack, needles): + """Tests if any needle is a substring of haystack. + + Args: + haystack: a string + needles: list of strings + + Returns: + True if any element of needles is a substring of haystack, + False otherwise. + """ + for n in needles: + if n in haystack: + return True + return False + + +def sum_gradients_all_reduce(single_session, + dev_prefixes, + tower_grads, + num_workers, + alg, + num_shards, + gpu_indices, + agg_small_grads_max_bytes=0, + agg_small_grads_max_group=10, + allreduce_merge_scope=1): + """Apply all-reduce algorithm over specified gradient tensors. + + Args: + single_session: true if reduction is applied to one graph across + all workers, false if ths application is to a single-worker graph only. + dev_prefixes: list of prefix strings to use to generate PS device names. + tower_grads: the gradients to reduce. + num_workers: number of worker processes across entire job. + alg: the all-reduce algorithm to apply. + num_shards: alg-specific sharding factor. + gpu_indices: indices of local GPUs in order usable for ring-reduce. + agg_small_grads_max_bytes: largest tensor eligible for aggregation, + in number of bytes. + agg_small_grads_max_group: largest permitted aggregation of small + tensors. + allreduce_merge_scope: size of groups into which to partition consecutive + gradients grouped under a common 'allreduce' name scope for application + of ScopedAllocator optimization. + + Returns: + list of reduced tensors + """ + alg_contains_shuffle = contains_any(alg, ['pscpu', 'psgpu']) + is_hierarchical = '/' in alg + if 'pscpu' in alg: + aux_devices = [prefix + '/cpu:0' for prefix in dev_prefixes] + elif 'psgpu' in alg: + aux_devices = [ + prefix + '/gpu:%d' % i + for i in range(len(gpu_indices)) + for prefix in dev_prefixes + ] + else: + aux_devices = ['/job:localhost/cpu:0'] + aux_device_groups = group_device_names( + aux_devices, + num_shards if (alg != 'collective' and alg_contains_shuffle) else 1) + group_index = 0 + if agg_small_grads_max_bytes > 0 and agg_small_grads_max_group > 0: + tower_grads, packing = pack_small_tensors( + tower_grads, + max_bytes=agg_small_grads_max_bytes, + max_group=agg_small_grads_max_group) + else: + packing = None + reduced_gv_list = [] + gv = list(zip(*tower_grads)) + merge_scope = allreduce_merge_scope if allreduce_merge_scope > 0 else 1 + chunked_gv = [gv[x:x + merge_scope] + for x in xrange(0, len(gv), merge_scope)] + for chunk in chunked_gv: + with tf.name_scope('allreduce'): + for grad_and_vars in chunk: + reduced_gv_list.append(sum_grad_and_var_all_reduce( + single_session, + grad_and_vars, num_workers, alg, gpu_indices, + (aux_devices if is_hierarchical + else aux_device_groups[group_index]), + num_shards)) + group_index = (group_index + 1) % len(aux_device_groups) + new_tower_grads = [list(x) for x in zip(*reduced_gv_list)] + if packing: + new_tower_grads = unpack_small_tensors(new_tower_grads, packing) + return new_tower_grads + + +def extract_ranges(index_list, range_size_limit=32): + """Extract consecutive ranges and singles from index_list. + + Args: + index_list: List of monotone increasing non-negative integers. + range_size_limit: Largest size range to return. If a larger + consecutive range exists it will be returned as multiple + ranges. + + Returns: + ranges, singles where ranges is a list of [first, last] pairs of + consecutive elements in index_list, and singles is all of the + other elements, in original order. + """ + if not index_list: + return [], [] + first = index_list[0] + last = first + ranges = [] + singles = [] + for i in index_list[1:]: + if i == last + 1 and (last - first) <= range_size_limit: + last = i + else: + if last > first: + ranges.append([first, last]) + else: + singles.append(first) + first = i + last = i + if last > first: + ranges.append([first, last]) + else: + singles.append(first) + return ranges, singles + + +GradPackTuple = pycoll.namedtuple('GradPackTuple', 'indices vars shapes') + + +def pack_range(key, packing, grad_vars, rng): + """Form the concatenation of a specified range of gradient tensors. + + Args: + key: Value under which to store meta-data in packing that will be used + later to restore the grad_var list structure. + packing: Dict holding data describing packed ranges of small tensors. + grad_vars: List of (grad, var) pairs for one tower. + rng: A pair of integers giving the first, last indices of a consecutive + range of tensors to be packed. + + Returns: + A tensor that is the concatenation of all the specified small tensors. + """ + to_pack = grad_vars[rng[0]:rng[1] + 1] + members = [] + variables = [] + restore_shapes = [] + with tf.name_scope('pack'): + for g, v in to_pack: + variables.append(v) + restore_shapes.append(g.shape) + with tf.device(g.device): + members.append(tf.reshape(g, [-1])) + packing[key] = GradPackTuple( + indices=range(rng[0], rng[1] + 1), + vars=variables, + shapes=restore_shapes) + with tf.device(members[0].device): + return tf.concat(members, 0) + + +def unpack_grad_tuple(gv, gpt): + """Unpack a previously packed collection of gradient tensors. + + Args: + gv: A (grad, var) pair to be unpacked. + gpt: A GradPackTuple describing the packing operation that produced gv. + + Returns: + A list of (grad, var) pairs corresponding to the values that were + originally packed into gv, maybe following subsequent operations like + reduction. + """ + elt_widths = [x.num_elements() for x in gpt.shapes] + with tf.device(gv[0][0].device): + with tf.name_scope('unpack'): + splits = tf.split(gv[0], elt_widths) + unpacked_gv = [] + for idx, s in enumerate(splits): + unpacked_gv.append((tf.reshape(s, gpt.shapes[idx]), gpt.vars[idx])) + return unpacked_gv + + +def pack_small_tensors(tower_grads, max_bytes=0, max_group=0): + """Concatenate small gradient tensors together for reduction. + + Args: + tower_grads: List of lists of (gradient, variable) tuples. + max_bytes: Int giving max number of bytes in a tensor that + may be considered small. + max_group: Int giving max number of small tensors that may be + concatenated into one new tensor. + + Returns: + new_tower_grads, packing where new_tower_grads is identical to + tower_grads except that all feasible small_tensors have been removed + from their places and concatenated into larger tensors that are + now in the front of the list for each tower, and packing contains + the data necessary to restore the tower_grads structure. + + Look through the first tower for gradients of the same type (float), + and small size, that are all sequential. For each such group, + replace by a new tensor that is a flattened concatenation. Note + that the corresponding variable will be absent, which doesn't matter + because it isn't used during all-reduce. + + Requires: + Every gv_list in towers must have isomorphic structure including identical + tensor sizes and types. + """ + small_indices = [] + large_indices = [] + for idx, (g, _) in enumerate(tower_grads[0]): + if g.dtype == tf.float32 and (4 * g.shape.num_elements()) <= max_bytes: + small_indices.append(idx) + else: + large_indices.append(idx) + small_ranges, small_singles = extract_ranges( + small_indices, range_size_limit=max_group) + large_indices = sorted(large_indices + small_singles) + num_gv = len(tower_grads[0]) + packing = {} + if small_ranges: + new_tower_grads = [] + for dev_idx, gv_list in enumerate(tower_grads): + assert len(gv_list) == num_gv + new_gv_list = [] + for r in small_ranges: + key = '%d:%d' % (dev_idx, len(new_gv_list)) + new_gv_list.append((pack_range(key, packing, gv_list, r), + 'packing_var_placeholder')) + for i in large_indices: + new_gv_list.append(gv_list[i]) + new_tower_grads.append(new_gv_list) + return new_tower_grads, packing + else: + return tower_grads, None + + +def unpack_small_tensors(tower_grads, packing): + """Undo the structure alterations to tower_grads done by pack_small_tensors. + + Args: + tower_grads: List of List of (grad, var) tuples. + packing: A dict generated by pack_small_tensors describing the changes + it made to tower_grads. + + Returns: + new_tower_grads: identical to tower_grads except that concatentations + of small tensors have been split apart and returned to their original + positions, paired with their original variables. + """ + if not packing: + return tower_grads + new_tower_grads = [] + num_devices = len(tower_grads) + num_packed = len(packing.keys()) // num_devices + for dev_idx, gv_list in enumerate(tower_grads): + new_gv_list = gv_list[num_packed:] + for i in xrange(0, num_packed): + k = '%d:%d' % (dev_idx, i) + gpt = packing[k] + gv = unpack_grad_tuple(gv_list[i], gpt) + for gi, idx in enumerate(gpt.indices): + assert idx == gpt.indices[gi] + new_gv_list.insert(idx, gv[gi]) + new_tower_grads.append(new_gv_list) + return new_tower_grads diff --git a/cv/classification/resnet50/tensorflow/allreduce_test.py b/cv/classification/resnet50/tensorflow/allreduce_test.py new file mode 100644 index 0000000000000000000000000000000000000000..a372d7ebfbaa4d4d42921549be67d7d7683837a3 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/allreduce_test.py @@ -0,0 +1,448 @@ +# Copyright 2018 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for tf_cnn_benchmark.allreduce.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import collections as pycoll + +import numpy as np +import tensorflow.compat.v1 as tf +from tensorflow.python.framework import ops +from tensorflow.python.framework import test_util +from tensorflow.python.ops import variables +import allreduce + + +class AllReduceTest(tf.test.TestCase): + + def testGroupKey(self): + d0 = ['/job:worker/replica:0/task:0/device:GPU:1', + '/job:worker/replica:0/task:0/device:GPU:0', + '/job:worker/replica:0/task:0/device:GPU:3',] + d1 = ['/job:worker/replica:0/task:1/device:GPU:1', + '/job:worker/replica:0/task:1/device:GPU:0', + '/job:worker/replica:0/task:1/device:GPU:3',] + d2 = ['/job:worker/replica:0/task:1/device:GPU:1', + '/job:worker/replica:0/task:1/device:GPU:3', + '/job:worker/replica:0/task:1/device:GPU:0',] + d3 = ['/job:worker/replica:0/task:1/device:GPU:1', + '/job:worker/replica:0/task:1/device:GPU:3', + '/job:worker/replica:0/task:1/device:GPU:2',] + d4 = ['/job:worker/task:0/device:GPU:1', + '/job:worker/task:0/device:GPU:2', + '/job:worker/task:0/device:GPU:3',] + d5 = ['/job:worker/task:0/device:CPU:1', + '/job:worker/task:0/device:CPU:2'] + d6 = ['/job:worker/task:0/device:CPU:2', + '/job:worker/task:0/device:CPU:1'] + g0 = allreduce.collective_group_key(d0) + g1 = allreduce.collective_group_key(d1) + g2 = allreduce.collective_group_key(d2) + g3 = allreduce.collective_group_key(d3) + g4 = allreduce.collective_group_key(d4) + g5 = allreduce.collective_group_key(d5) + g6 = allreduce.collective_group_key(d6) + self.assertEqual(g0, g1) + self.assertEqual(g0, g2) + self.assertTrue(g0 != g3) + self.assertEqual(g3, g4) + self.assertEqual(g5, g6) + self.assertTrue(g4 != g5) + + def testExtractRanges(self): + x = [] + expected_ranges = [] + expected_singles = [] + ranges, singles = allreduce.extract_ranges(x) + self.assertEqual(expected_ranges, ranges) + self.assertEqual(expected_singles, singles) + x = [1, 3, 4, 6, 7, 8, 9] + expected_ranges = [[3, 4], [6, 9]] + expected_singles = [1] + ranges, singles = allreduce.extract_ranges(x) + self.assertEqual(expected_ranges, ranges) + self.assertEqual(expected_singles, singles) + x = [1, 2, 3, 4, 6, 7, 8, 9] + expected_ranges = [[1, 4], [6, 9]] + expected_singles = [] + ranges, singles = allreduce.extract_ranges(x) + self.assertEqual(expected_ranges, ranges) + self.assertEqual(expected_singles, singles) + x = [1, 3, 4, 6, 7, 9] + expected_ranges = [[3, 4], [6, 7]] + expected_singles = [1, 9] + ranges, singles = allreduce.extract_ranges(x) + self.assertEqual(expected_ranges, ranges) + self.assertEqual(expected_singles, singles) + x = [1, 3, 6, 9] + expected_ranges = [] + expected_singles = [1, 3, 6, 9] + ranges, singles = allreduce.extract_ranges(x) + self.assertEqual(expected_ranges, ranges) + self.assertEqual(expected_singles, singles) + + def testPackRange(self): + packing = {} + t0 = tf.constant([0, 1, 2, 3], dtype=tf.float32) + t1 = tf.constant([4, 5, 6, 7], dtype=tf.float32) + + gv = [(t0, 'v0'), (t1, 'v1')] + new_t = allreduce.pack_range('0:0', packing, gv, [0, 1]) + self.assertEqual(1, new_t.shape.ndims) + self.assertEqual(8, new_t.shape.dims[0]) + self.assertEqual( + packing, { + '0:0': + allreduce.GradPackTuple( + indices=range(2), + vars=['v0', 'v1'], + shapes=[tf.TensorShape([4]), + tf.TensorShape([4])]) + }) + + t2 = tf.constant([[0, 1, 2], [3, 4, 5], [6, 7, 8]], dtype=tf.float32) + t3 = tf.constant([[0, 1, 2], [3, 4, 5], [6, 7, 8]], dtype=tf.float32) + gv = [(t0, 'v0'), (t1, 'v1'), (t2, 'v2'), (t3, 'v3')] + packing = {} + new_t = allreduce.pack_range('1:0', packing, gv, [0, 3]) + self.assertEqual(1, new_t.shape.ndims) + self.assertEqual(26, new_t.shape.dims[0]) + self.assertEqual( + packing, { + '1:0': + allreduce.GradPackTuple( + indices=range(4), + vars=['v0', 'v1', 'v2', 'v3'], + shapes=[ + tf.TensorShape([4]), + tf.TensorShape([4]), + tf.TensorShape([3, 3]), + tf.TensorShape([3, 3]) + ]) + }) + + def testUnpackGradTuple(self): + packing = { + '0:0': + allreduce.GradPackTuple( + indices=range(4), + vars=['v0', 'v1', 'v2', 'v3'], + shapes=[ + tf.TensorShape([4]), + tf.TensorShape([4]), + tf.TensorShape([3, 3]), + tf.TensorShape([3, 3]) + ]) + } + tc = tf.constant([0, 1, 2, 3, 4, 5, 6, 7, + 0, 1, 2, 3, 4, 5, 6, 7, 8, + 0, 1, 2, 3, 4, 5, 6, 7, 8], dtype=tf.float32) + packed_gv = [tc, 'packing_var_placeholder'] + gv = allreduce.unpack_grad_tuple(packed_gv, packing['0:0']) + self.assertEqual(4, len(gv)) + self.assertEqual('v0', gv[0][1]) + self.assertEqual('v1', gv[1][1]) + self.assertEqual('v2', gv[2][1]) + self.assertEqual('v3', gv[3][1]) + self.assertEqual(1, gv[0][0].shape.ndims) + self.assertEqual(4, gv[0][0].shape.dims[0]) + self.assertEqual(1, gv[1][0].shape.ndims) + self.assertEqual(4, gv[1][0].shape.dims[0]) + self.assertEqual(2, gv[2][0].shape.ndims) + self.assertEqual(3, gv[2][0].shape.dims[0]) + self.assertEqual(3, gv[2][0].shape.dims[1]) + + def testPackSmallTensors(self): + t0 = tf.constant([0, 1, 2, 3], dtype=tf.float32) + t1 = tf.constant([4, 5, 6, 7], dtype=tf.float32) + t2 = tf.constant([[0, 1, 2], [3, 4, 5], [6, 7, 8]], dtype=tf.float32) + t3 = tf.constant([[0, 1, 2], [3, 4, 5], [6, 7, 8]], dtype=tf.float32) + tower_grads = [] + for d in range(0, 3): + gv = [(t0, 'v_%d_0' % d), (t1, 'v_%d_1' %d), (t2, 'v_%d_2' %d), + (t3, 'v_%d_3' % d)] + tower_grads.append(gv) + + # 1) Set the size limit so small that nothing gets concatenated. + new_tower_grads, packing = allreduce.pack_small_tensors( + tower_grads, max_bytes=12, + max_group=10) + self.assertEqual(tower_grads, new_tower_grads) + self.assertTrue(packing is None) + + # 2) Set the size limit so only the first two tensors get concatenated + new_tower_grads, packing = allreduce.pack_small_tensors( + tower_grads, max_bytes=16, # 16 bytes == 4 elements + max_group=10) + self.assertEqual(3, len(new_tower_grads)) + self.assertEqual(4, len(tower_grads[0])) + first_tower = new_tower_grads[0] + self.assertEqual(3, len(first_tower)) + self.assertEqual(1, first_tower[0][0].shape.ndims) + self.assertEqual(8, first_tower[0][0].shape.dims[0]) + self.assertEqual(packing, + {'0:0': allreduce.GradPackTuple( + indices=range(2), + vars=['v_0_0', 'v_0_1'], + shapes=[tf.TensorShape([4]), + tf.TensorShape([4])]), + '1:0': allreduce.GradPackTuple( + indices=range(2), + vars=['v_1_0', 'v_1_1'], + shapes=[tf.TensorShape([4]), + tf.TensorShape([4])]), + '2:0': allreduce.GradPackTuple( + indices=range(2), + vars=['v_2_0', 'v_2_1'], + shapes=[tf.TensorShape([4]), + tf.TensorShape([4])])}) + + # 3) Set the size limit so all tensors get concatenated + new_tower_grads, packing = allreduce.pack_small_tensors( + tower_grads, max_bytes=256, # bytes = 64 elements + max_group=10) + self.assertEqual(3, len(new_tower_grads)) + self.assertEqual(4, len(tower_grads[0])) + self.assertEqual(1, len(new_tower_grads[0])) + first_tower = new_tower_grads[0] + self.assertEqual(1, first_tower[0][0].shape.ndims) + self.assertEqual(26, first_tower[0][0].shape.dims[0]) + self.assertEqual(packing, + {'0:0': allreduce.GradPackTuple( + indices=range(4), + vars=['v_0_0', 'v_0_1', 'v_0_2', 'v_0_3'], + shapes=[tf.TensorShape([4]), + tf.TensorShape([4]), + tf.TensorShape([3, 3,]), + tf.TensorShape([3, 3,])]), + '1:0': allreduce.GradPackTuple( + indices=range(4), + vars=['v_1_0', 'v_1_1', 'v_1_2', 'v_1_3'], + shapes=[tf.TensorShape([4]), + tf.TensorShape([4]), + tf.TensorShape([3, 3,]), + tf.TensorShape([3, 3,])]), + '2:0': allreduce.GradPackTuple( + indices=range(4), + vars=['v_2_0', 'v_2_1', 'v_2_2', 'v_2_3'], + shapes=[tf.TensorShape([4]), + tf.TensorShape([4]), + tf.TensorShape([3, 3,]), + tf.TensorShape([3, 3,])])}) + + def testUnpackSmallTensors(self): + packing = {'0:0': allreduce.GradPackTuple(indices=range(2), + vars=['v_0_0', 'v_0_1'], + shapes=[tf.TensorShape([4]), + tf.TensorShape([4])]), + '0:1': allreduce.GradPackTuple(indices=range(3, 5), + vars=['v_0_3', 'v_0_4'], + shapes=[tf.TensorShape([3, 3,]), + tf.TensorShape([3, 3,])]), + '1:0': allreduce.GradPackTuple(indices=range(2), + vars=['v_1_0', 'v_1_1'], + shapes=[tf.TensorShape([4]), + tf.TensorShape([4])]), + '1:1': allreduce.GradPackTuple(indices=range(3, 5), + vars=['v_1_3', 'v_1_4'], + shapes=[tf.TensorShape([3, 3,]), + tf.TensorShape([3, 3,])])} + t0 = tf.constant([0, 1, 2, 3, 4, 5, 6, 7], dtype=tf.float32) + t1 = tf.constant([17, 17], dtype=tf.float32) + t2 = tf.constant([0, 1, 2, 3, 4, 5, 6, 7, 8, + 0, 1, 2, 3, 4, 5, 6, 7, 8], dtype=tf.float32) + t3 = tf.constant([0], dtype=tf.float32) + tower_grads = [] + for d in range(0, 2): + one_tower = [(t0, 'packing_var_placeholder'), + (t2, 'packing_var_placeholder'), + (t1, 'v_%d_2' % d), (t3, 'v_%d_5' %d)] + tower_grads.append(one_tower) + new_tower_grads = allreduce.unpack_small_tensors(tower_grads, packing) + self.assertEqual(2, len(new_tower_grads)) + for d, tg in enumerate(new_tower_grads): + self.assertEqual(6, len(tg)) + self.assertEqual('v_%d_0' % d, tg[0][1]) + self.assertEqual('v_%d_1' % d, tg[1][1]) + self.assertEqual('v_%d_2' % d, tg[2][1]) + self.assertEqual('v_%d_3' % d, tg[3][1]) + self.assertEqual('v_%d_4' % d, tg[4][1]) + self.assertEqual('v_%d_5' % d, tg[5][1]) + self.assertEqual(1, tg[0][0].shape.ndims) + self.assertEqual(4, tg[0][0].shape.dims[0]) + self.assertEqual(1, tg[1][0].shape.ndims) + self.assertEqual(4, tg[1][0].shape.dims[0]) + self.assertEqual(1, tg[2][0].shape.ndims) + self.assertEqual(2, tg[2][0].shape.dims[0]) + self.assertEqual(2, tg[3][0].shape.ndims) + self.assertEqual(3, tg[3][0].shape.dims[0]) + self.assertEqual(3, tg[3][0].shape.dims[1]) + self.assertEqual(2, tg[4][0].shape.ndims) + self.assertEqual(3, tg[4][0].shape.dims[0]) + self.assertEqual(3, tg[4][0].shape.dims[1]) + self.assertEqual(1, tg[5][0].shape.ndims) + self.assertEqual(1, tg[5][0].shape.dims[0]) + + +class DynamicPackingTest(test_util.TensorFlowTestCase): + """Packing/Unpacking tests that require executing a TensorFlow session.""" + + def _init_tensors(self, num_towers, tensor_shapes): + """Construct a collection of tensors across multiple devices.""" + num_tensors = len(tensor_shapes) + consts = [] + tensors = [] + vrbls = [] + tower_grads = [] + tf.Variable([-1], dtype=tf.int32, name='packing_var_placeholder') + for dev_idx in range(0, num_towers): + devname = '/job:localhost/device:GPU:%d' % dev_idx + consts.append([]) + tensors.append([]) + vrbls.append([]) + with tf.device(devname): + base_value = 0 + gv_tuples = [] + for t_idx in range(0, num_tensors): + shape = tensor_shapes[t_idx] + num_elts = 0 + for d in shape: + num_elts = (num_elts or 1) * d + c = np.fromiter(range(base_value, base_value + num_elts), + dtype=np.float32).reshape(shape) + base_value += num_elts + consts[dev_idx].append(c) + tensors[dev_idx].append(tf.constant(c)) + vrbls[dev_idx].append( + tf.Variable(c, name='v_d%d_t%d' % (dev_idx, t_idx))) + gv_tuples.append((tensors[dev_idx][-1], vrbls[dev_idx][-1])) + tower_grads.append(gv_tuples) + return tower_grads, consts, tensors, vrbls + + _test_tuple = pycoll.namedtuple('_test_tuple', + 'num_devices, in_shapes out_shapes out_i') + + def _do_pack_unpack_test(self, tt): + """Do a single pack-unpack test. + + Args: + tt: A _test_tuple defining the parameters of the test to do. + + This test executes a graph that performs a pack of tower_grads + followed by an unpack and verifies that the shapes and values + of gradient tensors are unchanged, along with paired variables. + """ + with ops.Graph().as_default(): + tower_grads, consts, _, vrbls = self._init_tensors( + tt.num_devices, tt.in_shapes) + packed_tg, packing = allreduce.pack_small_tensors( + tower_grads, max_bytes=40, max_group=10) + unpacked_tg = allreduce.unpack_small_tensors(packed_tg, packing) + with self.test_session() as sess: + sess.run(variables.global_variables_initializer()) + packed = sess.run(packed_tg) + for d in range(0, tt.num_devices): + for t in range(0, len(tt.out_shapes)): + num_elts = 0 + for dim in tt.out_shapes[t]: + num_elts = (num_elts or 1) * dim + self.assertTrue(np.array_equal( + np.array(range(tt.out_i[t], tt.out_i[t] + num_elts), + dtype=np.float32).reshape(tt.out_shapes[t]), + packed[d][t][0])) + unpacked = sess.run(unpacked_tg) + for d in range(0, tt.num_devices): + for t in range(0, len(tt.in_shapes)): + self.assertTrue(np.array_equal(consts[d][t], unpacked[d][t][0])) + self.assertEqual(vrbls[d][t], unpacked_tg[d][t][1]) + + def testPackUnpack0(self): + self._do_pack_unpack_test( + self._test_tuple(num_devices=3, + in_shapes=[[8], [3, 3], [12], [5, 5, 5]], + out_shapes=[[17], [12], [5, 5, 5]], + out_i=[0, 17, 29])) + + def testPackUnpack1(self): + self._do_pack_unpack_test( + self._test_tuple(num_devices=4, + in_shapes=[[5, 5, 5], [2, 3], [5]], + out_shapes=[[11], [5, 5, 5]], + out_i=[125, 0])) + + def testPackUnpack2(self): + self._do_pack_unpack_test( + self._test_tuple(num_devices=2, + in_shapes=[[5, 5, 5], [2, 3], [1, 5], [7], [100]], + out_shapes=[[18], [5, 5, 5], [100]], + out_i=[125, 0, 143])) + + def _do_all_reduce_pack_test(self, tt): + """Test that all-reduce results are the same with or without packing.""" + with ops.Graph().as_default(): + tower_grads, consts, _, _ = self._init_tensors( + tt.num_devices, tt.in_shapes) + dev_prefixes = ['/job:localhost'] + num_workers = 1 + alg = 'xring' + shards = 1 + single_session = True + gpu_indices = range(0, tt.num_devices) + assert len(gpu_indices) == len(tower_grads) + no_pack_all_reduce = allreduce.sum_gradients_all_reduce( + single_session, + dev_prefixes, tower_grads, num_workers, alg, shards, + gpu_indices, + agg_small_grads_max_bytes=0, agg_small_grads_max_group=1) + packed_tg, packing = allreduce.pack_small_tensors(tower_grads, 100, 100) + packed_all_reduce = allreduce.sum_gradients_all_reduce( + single_session, + dev_prefixes, packed_tg, num_workers, alg, shards, + gpu_indices, + agg_small_grads_max_bytes=0, agg_small_grads_max_group=1) + unpacked_tg = allreduce.unpack_small_tensors(packed_all_reduce, packing) + with self.test_session() as sess: + sess.run(variables.global_variables_initializer()) + no_pack_values = sess.run(no_pack_all_reduce) + pack_unpack_values = sess.run(unpacked_tg) + for d in range(1, tt.num_devices): + for t in range(0, len(tt.in_shapes)): + self.assertTrue(np.allclose(no_pack_values[d][t][0], + tt.num_devices * consts[0][t])) + self.assertTrue(np.array_equal(no_pack_values[d][t][0], + pack_unpack_values[d][t][0])) + + def testAllReducePacked0(self): + self._do_all_reduce_pack_test( + self._test_tuple(num_devices=3, + in_shapes=[[8], [3, 3], [12], [5, 5, 5]], + out_shapes=[[17], [12], [5, 5, 5]], + out_i=[0, 17, 29])) + + def testAllReducePacked1(self): + self._do_all_reduce_pack_test( + self._test_tuple(num_devices=2, + in_shapes=[[8], [3, 3], [12], [5, 5, 5], [3], [4]], + out_shapes=[[17], [7], [12], [5, 5, 5]], + out_i=[0, 17, 29, 154, 157])) + + +if __name__ == '__main__': + tf.disable_v2_behavior() + tf.test.main() diff --git a/cv/classification/resnet50/tensorflow/batch_allreduce.py b/cv/classification/resnet50/tensorflow/batch_allreduce.py new file mode 100644 index 0000000000000000000000000000000000000000..e36a39ed45b143302724cd7d5b6a9f2d5c952dad --- /dev/null +++ b/cv/classification/resnet50/tensorflow/batch_allreduce.py @@ -0,0 +1,628 @@ +# Copyright 2018 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Contains classes and functions for doing a single-machine batch all-reduce. + +An all-reduce is taking the reduction (typically a sum) of a list of tensors, +each on a different device. The result must end up back on each device, which is +where the word "all" comes from. In summary, each device starts with a single +tensor, and ends up with the reduction of all tensors. + +A batch all-reduce is doing several independent all-reduces. When doing a batch +all-reduce, care is taken to evenly distribute the reduction computations +across devices and inter-device tensor transfers across device links. +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +# TODO(reedwm): Support distributed all-reduces in this file. +# TODO(reedwm): Merge this code with allreduce.py, which contains some batch +# all-reduce code that this file calls. allreduce.py also supports distributed +# batch-reduce while this file only supports single-machine all-reduce. + +import abc + +import six +import tensorflow.compat.v1 as tf + +from tensorflow.python.ops import data_flow_ops +import allreduce +import constants + + +def _all_reduce_using_copy(tensors_across_devices, use_mean): + """Does an all-reduce of a list of tensors by copying to the current device. + + The tensors are copied to the current device and then reduced. + + Args: + tensors_across_devices: A list of tensors, each on a different device. + use_mean: Whether to take the mean of the tensors instead of a sum: + Returns: + A reduced tensor on the current device. + """ + reduced_tensor = tf.add_n(tensors_across_devices) + if use_mean: + reduced_tensor *= 1 / len(tensors_across_devices) + return reduced_tensor + + +@six.add_metaclass(abc.ABCMeta) +class BatchAllReduceAlgorithm(object): + """Represents an algorithm for performing a batch all-reduce operation.""" + + def batch_all_reduce(self, + all_device_tensors, + num_splits, + compact_tensors, + defer_tensors, + xla_compile=False): + """Performs a batch all-reduce. + + The reduction done is a sum. + + `all_device_tensors` is a list of list of tensors that will be batch + all-reduced. All tensors within a single inner list must be on the same + device. The nth element in each list, for any n, will be reduced together. + The return value is in the same form as `all_device_tensors`, except that + each tensor is reduced. + + For example, if `all_device_tensors` is: + [[ A, B ], # A and B are on GPU 0 + [ C, D ]] # C and D are on GPU 1 + + Then the return value will be: + [[ A+C, B+D ], # These two tensors are on GPU 0 + [ A+C, B+D ]] # These two tensors are on GPU 1 + + Arguments: + all_device_tensors: A list of list of tensors. `all_device_tensors[i][j]` + is a tensor where `i` is the device index and `j` is the tensor index. + num_splits: If not None, tensors will be concatenated and split into this + many pieces during the all-reduce, then split back into their original + shapes afterwards. Has no impact on correctness and can improve + performance. Requires all tensors to be the same type. + compact_tensors: If True, tensors are casted to fp16 before being all- + reduced. Improves performance, but hurts numerical stability. + defer_tensors: If True, every time the return value + `reduced_all_device_tensors` is evaluated, the result will be the + reduced tensors values of `all_device_tensors` from the previous session + run instead of the current session run, or zero on the first session + run. This can improve performance. When training neural networks, + deferring gradients often does not harm training, so this can be used to + improve performance. + xla_compile: If True, use XLA to compile gradients packing and unpacking + ops. + + Returns: + reduced_all_device_tensors: A list in the same form as + `all_device_tensors`, except each tensor has been reduced. + warmup_ops: A list of ops needed to be run once before the all-reduce can + occur. + """ + + # Before all-reducing tensors, we do several preprocessing functions that + # can speed up the all-reduce. We undo these functions after all-reducing + # the tensors. + + # all_device_packed_tensors is a 2-d list of tensors indexed by + # [device_id][tensor_id], holding packed tensors from all devices involved + # in all-reduce. + all_device_packed_tensors = [] + + # all_device_warmup_ops is a 2-d list of ops indexed by + # [device_id][tensor_id], holding warmup_ops that need to be run once before + # all-reduce can occur. + all_device_warmup_ops = [] + + # all_device_put_ops is a 2-d list of ops indexed by + # [device_id][tensor_id], holding put ops for deferred tensors. They will be + # called in each all-reduce step automatically due to control dependency. + all_device_put_ops = [] + + # packers is a list of _TensorPacker, one for each device involved in + # all-reduce. + packers = [ + _TensorPacker(num_splits, compact_tensors) for _ in all_device_tensors + ] + + for packer, device_tensors in zip(packers, all_device_tensors): + + def pack_single_device_tensors(packer=packer, + device_tensors=device_tensors): + """Pack gradient tensors of a device.""" + packed_tensors = packer.maybe_concat_tensors(device_tensors) + packed_tensors = packer.maybe_compact_tensors(packed_tensors) + # When xla_compile=False, defer tensors after concat for better + # performance. + if defer_tensors and not xla_compile: + packed_tensors, put_ops, warmup_ops = defer_single_device_tensors( + packed_tensors) + all_device_put_ops.append(put_ops) + all_device_warmup_ops.append(warmup_ops) + packed_tensors = packer.maybe_split_tensors(packed_tensors) + return packed_tensors + + with tf.device(device_tensors[0].device): + if xla_compile: + packed_tensors = tf.xla.experimental.compile( + pack_single_device_tensors) + # When xla_compile=True, intermediate tensors in packing process are + # not materialized. Thus, we defer tensors after packing process is + # completed instead of in the middle of it. + if defer_tensors: + packed_tensors, put_ops, warmup_ops = defer_single_device_tensors( + packed_tensors) + all_device_put_ops.append(put_ops) + all_device_warmup_ops.append(warmup_ops) + else: + packed_tensors = pack_single_device_tensors() + + all_device_packed_tensors.append(packed_tensors) + + # Perform all-reduce on packed tensors. + all_device_tensors = self._do_batch_all_reduce(all_device_packed_tensors) + + all_device_unpacked_tensors = [] + for packer, device_tensors in zip(packers, all_device_tensors): + + def unpack_single_device_tensors(packer=packer, + device_tensors=device_tensors): + """Unpack gradient tensors of a device.""" + unpacked_tensors = packer.undo_maybe_split_tensors(device_tensors) + unpacked_tensors = packer.undo_maybe_compact_tensors(unpacked_tensors) + unpacked_tensors = packer.undo_maybe_concat_tensors(unpacked_tensors) + return unpacked_tensors + + with tf.device(device_tensors[0].device): + if xla_compile: + unpacked_device_tensor = tf.xla.experimental.compile( + unpack_single_device_tensors) + else: + unpacked_device_tensor = unpack_single_device_tensors() + + all_device_unpacked_tensors.append(unpacked_device_tensor) + + # Note: There is no undo operation for deferring tensors. But we do need to + # call _add_put_op_control_deps at the end if we deferred the tensors. + if defer_tensors: + all_device_unpacked_tensors = _add_put_op_control_deps( + all_device_unpacked_tensors, num_splits, all_device_put_ops) + + return all_device_unpacked_tensors, all_device_warmup_ops + + @abc.abstractmethod + def _do_batch_all_reduce(self, all_device_tensors): + """Performs a batch all-reduce. + + Unlike `self.batch_all_reduce`, this does not do any preprocessing of the + tensors. + + Args: + all_device_tensors: A list of list of tensors. `all_device_tensors[i][j]` + is a tensor where `i` is the device index and `j` is the tensor index. + Returns: + reduced_all_device_tensors: A list in the same form as + `all_device_tensors`, except each tensor has been reduced. + """ + pass + + +class CopyToDeviceAlgorithm(BatchAllReduceAlgorithm): + """An algorithm that copies tensors to be reduced to a specific device.""" + + def __init__(self, devices_to_reduce_on, use_mean=False): + self._devices = devices_to_reduce_on + self._use_mean = use_mean + + def _do_batch_all_reduce(self, all_device_tensors): + reduced_tensors = [] + for i, tensors_across_devices in enumerate(zip(*all_device_tensors)): + with tf.device(self._devices[i % len(self._devices)]): + reduced_tensor = _all_reduce_using_copy(tensors_across_devices, + self._use_mean) + reduced_tensors.append(reduced_tensor) + # The tensors will be brought back to each device once they are used. + return [reduced_tensors] * len(all_device_tensors) + + +class HierarchicalCopyAlgorithm(BatchAllReduceAlgorithm): + """An algorithm that uses hierarchical copies. This is only optimized for + eight devices connected in NetworkTopology.DGX1 or NetworkTopology.GCP_V100 + topology. + """ + + def __init__(self, network_topology): + """Initializer for HierarchicalCopyAlgorithm. + + Args: + network_topology: An instance of Enum class constants.NetworkTopology. + """ + self._network_topology = network_topology + + def _do_batch_all_reduce(self, all_device_tensors): + avail_devices = [device_tensors[0].device + for device_tensors in all_device_tensors] + reduced_tensors = [] + num_devices = len(avail_devices) + group_size = num_devices // 2 + for i, tensors_across_devices in enumerate(zip(*all_device_tensors)): + group_0_main_device, group_1_main_device = self.__get_main_devices( + i, num_devices) + if group_0_main_device < group_size: + group_0_begin = 0 + group_1_begin = group_size + else: + group_0_begin = group_size + group_1_begin = 0 + + # Reduce the first group. + group_0_tensors = tensors_across_devices[group_0_begin: + group_0_begin + group_size] + with tf.device(avail_devices[group_0_main_device]): + group_0_reduced_tensor = _all_reduce_using_copy(group_0_tensors, False) + + # Reduce the second group. + group_1_tensors = tensors_across_devices[group_1_begin: + group_1_begin + group_size] + with tf.device(avail_devices[group_1_main_device]): + group_1_reduced_tensor = _all_reduce_using_copy(group_1_tensors, False) + + # Reduce between the groups. + with tf.device(avail_devices[group_0_main_device]): + total_reduced_tensor = _all_reduce_using_copy( + [group_0_reduced_tensor, group_1_reduced_tensor], False) + + # Broadcast the result back into the root of each group. + with tf.device(avail_devices[group_0_main_device]): + group_0_reduced_tensor_bcast = tf.identity(total_reduced_tensor) + with tf.device(avail_devices[group_1_main_device]): + group_1_reduced_tensor_bcast = tf.identity(total_reduced_tensor) + + reduced_tensors_bcast = [] + for j in range(len(tensors_across_devices)): + with tf.device(avail_devices[j]): + # Broadcast the result back to each member in the group from the root. + if (group_0_main_device < group_size) == (j < group_size): + src_device_tensor = group_0_reduced_tensor_bcast + else: + src_device_tensor = group_1_reduced_tensor_bcast + reduced_tensors_bcast.append(tf.identity(src_device_tensor)) + + reduced_tensors.append(reduced_tensors_bcast) + + reduced_tensors = list(zip(*reduced_tensors)) + return reduced_tensors + + def __get_main_devices(self, tensor_index, num_devices): + """Returns the pair of main devices to use for initial reduction. + + Args: + tensor_index: Index of the current tensor in the list of tensors to copy. + num_devices: Total number of devices. + + Returns: + A tuple containing pair of main device indices for the initial + reduction. Then, the first element of the tuple should be used for the + final reduction. + + Raises: + ValueError: Invalid input arguments. + """ + if self._network_topology == constants.NetworkTopology.DGX1: + return tensor_index % num_devices, (tensor_index + + (num_devices // 2)) % num_devices + elif self._network_topology == constants.NetworkTopology.GCP_V100: + if num_devices != 8: + raise ValueError('HierarchicalCopy only supports eight devices in %s.' % + self._network_topology) + # TODO(hinsu): Generalize main device indices to handle any other + # isomorphic connection graph that connects two cliques using connections + # other than 0-5 and 2-7. + main_device_pairs = [(0, 5), (2, 7), (5, 0), (7, 2)] + return main_device_pairs[tensor_index % len(main_device_pairs)] + else: + # TODO(reedwm): make this logic more general for arbitrary topology. + raise ValueError( + 'HierarchicalCopy is not supported for %s network topology.' % + self._network_topology) + + +class AllReduceSpecAlgorithm(BatchAllReduceAlgorithm): + """An algorithm that uses an all reduce spec.""" + + def __init__(self, all_reduce_spec, gpu_indices, agg_small_grads_max_bytes, + agg_small_grads_max_group): + spec = allreduce.parse_all_reduce_spec(all_reduce_spec) + if len(spec) != 1: + raise ValueError( + 'Replicated mode does not support hybrid all-reduce strategies') + self._all_reduce_spec = spec[0] + self._gpu_indices = gpu_indices + self._agg_small_grads_max_bytes = agg_small_grads_max_bytes + self._agg_small_grads_max_group = agg_small_grads_max_group + + def _do_batch_all_reduce(self, all_device_tensors): + # TODO(reedwm): Merge allreduce.sum_gradients_all_reduce with the other + # gradient aggregation code, since gradient aggregation is doing an all + # reduce. Currently, we do gradient repacking in two different places. + # TODO(reedwm): Change the allreduce code to reduce tensors instead of + # tower_grads. + tower_grads = [[(t, None) for t in device_tensors] + for device_tensors in all_device_tensors] + aggregated_device_grads = allreduce.sum_gradients_all_reduce( + False, # single_session + ['/job:localhost'], + tower_grads, + 1, + self._all_reduce_spec.alg, + self._all_reduce_spec.shards, + self._gpu_indices, + agg_small_grads_max_bytes=self._agg_small_grads_max_bytes, + agg_small_grads_max_group=self._agg_small_grads_max_group) + return [[t for t, _ in grad_vars] for grad_vars in aggregated_device_grads] + + +def algorithm_from_params(params): + """Returns a BatchAllReduceAlgorithm from a Params tuple.""" + if params.all_reduce_spec: + if params.gpu_indices: + gpu_indices = [int(x) for x in params.gpu_indices.split(',')] + else: + gpu_indices = [x for x in range(params.num_gpus)] + return AllReduceSpecAlgorithm(params.all_reduce_spec, gpu_indices, + params.agg_small_grads_max_bytes, + params.agg_small_grads_max_group) + elif params.hierarchical_copy: + return HierarchicalCopyAlgorithm(params.network_topology) + else: + if params.local_parameter_device == 'gpu': + devices_to_reduce_on = ['/gpu:%d' % i for i in range(params.num_gpus)] + else: + devices_to_reduce_on = ['/cpu:0'] + return CopyToDeviceAlgorithm(devices_to_reduce_on) + + +def _apply_to_all_device_tensors(all_device_tensors, apply_func, colocate=True): + """Applies a function to each tensor in `all_device_tensors`. + + A new list of lists of tensors is returned, where every tensor in + `all_device_tensors` has had `apply_func` called on it. `all_device_tensors` + is not modified. + + Args: + all_device_tensors: A list of list of tensors. `all_device_tensors[i][j]` is + a tensor where `i` is the device index and `j` is the tensor index. + apply_func: A function taking in three arguments: tensor, device_index, + tensor_index, and returning a modified tensor. + `tensor` is `all_device_tensors[device_index][tensor_index]`. + colocate: If True, apply_func will be run under context manager colocated + with it's input tensor. + Returns: + A list in the same form as `all_device_tensors`, except each tensor has had + `apply_func` called on it. + """ + new_all_device_tensors = [] + for device_index, device_tensors in enumerate(all_device_tensors): + new_device_tensors = [] + for tensor_index, t in enumerate(device_tensors): + if colocate: + with tf.colocate_with(t): + new_t = apply_func(t, device_index, tensor_index) + else: + new_t = apply_func(t, device_index, tensor_index) + new_device_tensors.append(new_t) + new_all_device_tensors.append(new_device_tensors) + return new_all_device_tensors + + +def _defer_tensor(tensor): + """Defers the retrieval of a tensor. + + The tensor is put into a StagingArea, and the return value is the + retrieval of the tensor from the StagingArea. The effect is that the + tensor returned from this function is the tensor that was put in the + StagingArea for the previous Session.run() call. + + Args: + tensor: The tensor to defer for one step. + + Returns: + deferred_tensor: The tensor deferred for one step. + put_op: An op to put `tensor` in the StagingArea. Must be run every step + that `deferred_tensor` is run. + warmup_op: A warmup op that should be called before the first step. Puts + a zero tensor into the StagingArea. + """ + tensor_stage = data_flow_ops.StagingArea([tensor.dtype], [tensor.shape]) + put_op = tensor_stage.put([tensor]) + warmup_op = tensor_stage.put([tf.zeros(tensor.shape, dtype=tensor.dtype)]) + + # Fetch the next tensor to use. + (tensor,) = tensor_stage.get() + return tensor, put_op, warmup_op + + +def defer_single_device_tensors(device_tensors): + """Defer tensors (gradients in this case) from a single device. + + Arguments: + device_tensors: A list of gradients tensors from a single device to defer. + + Returns: + deferred_tensors: A list of tensors deferred for one step. + put_ops: A list of ops that put `tensors` in the StagingAreas. Must be run + every step that `deferred_tensors` is run. + warmup_ops: Warmup ops that should be called before the first step. Puts + zero tensors into the StagingArea. + """ + put_ops = [] + warmup_ops = [] + deferred_tensors = [] + + for tensor in device_tensors: + deferred_tensor, put_op, warmup_op = _defer_tensor(tensor) + deferred_tensors.append(deferred_tensor) + put_ops.append(put_op) + warmup_ops.append(warmup_op) + + return deferred_tensors, put_ops, warmup_ops + + +def _add_put_op_control_deps(all_device_tensors, num_splits, put_ops): + """Add control dependencies from `put_ops` to `all_device_tensors`. + + This should only be called when deferred tensors are being used. + + The control dependencies are added so that the put ops are run whenever + `all_device_tensors` is run. That way, the caller does not have to explicitly + run the put ops. + + Args: + all_device_tensors: A list of list of tensors. `all_device_tensors[i][j]` is + a tensor where `i` is the device index and `j` is the tensor index. + num_splits: The number of splits that were used for the all-reduce. + put_ops: A list of put ops from deferring the tensors. + Returns: + A list in the same form as `all_device_tensors`, except each tensor has a + control dependency on an op in `put_ops`. + + """ + def apply_func(tensor, device_index, tensor_index): + if num_splits == 0: + deps = [put_ops[device_index][tensor_index]] + else: + deps = put_ops[device_index] + assert len(deps) == 1 + with tf.control_dependencies(deps): + return tf.identity(tensor, name='control_dependency') + return _apply_to_all_device_tensors(all_device_tensors, apply_func) + + +class _TensorPacker(object): + """Packs and unpacks tensors into groups. + + This class first concatenates a set of tensors, then split the concatenated + tensor into a small number of chunks. This is useful for all-reducing tensors, + as doing a small number of all-reduces on large tensors can be faster than + doing a large number of all-reduces on small tensors. + + It also provides option to compact tensors by casting them to fp16, for better + all-reduce performance. + + This class maintains states of processed tensors like shapes and types. So + each packer can only be used to pack and unpack one list of tensors. If you + need to pack multiple lists of tensors (say from multiple devices), then you + need multiple _TensorPacker object, one for each device. + """ + + def __init__(self, num_splits, compact): + """Initializes the _TensorPacker. + + Arguments: + num_splits: The number of tensors to split the concatenated tensor into. + The batch all-reduce will consist of `num_splits` all-reduces. if None + or zero, tensors are not split or concatenated. + compact: If True, tensors are casted to fp16 during packing and casted + back to their original dtypes during unpacking. + """ + self._num_splits = num_splits + self._compact = compact + self._before_compact_dtypes = [] + + def maybe_concat_tensors(self, device_tensors): + """Concatenate tensors into a single tensor.""" + if not self._num_splits: + return device_tensors + + flat_tensors = [tf.reshape(t, [-1]) for t in device_tensors] + self._orig_shapes = [t.shape for t in device_tensors] + self._orig_sizes = [s.num_elements() for s in self._orig_shapes] + # All shapes must be fully defined. + assert None not in self._orig_sizes + concatenated_grad = tf.concat(flat_tensors, 0) + return [concatenated_grad] + + def maybe_split_tensors(self, concatenated_tensor): + """Split concatenated tensor into `num_splits` pieces.""" + if not self._num_splits: + return concatenated_tensor + + if len(concatenated_tensor) != 1: + raise RuntimeError('tensors must be concatenated via ' + 'maybe_concat_tensors() before splitting') + + concatenated_tensor = concatenated_tensor[0] + total_tensor_size = concatenated_tensor.shape.num_elements() + split_size = total_tensor_size // self._num_splits + split_size_last = total_tensor_size - split_size * (self._num_splits - 1) + split_sizes = [split_size] * (self._num_splits - 1) + [split_size_last] + tensor_packs = tf.split(concatenated_tensor, split_sizes) + return tensor_packs + + def undo_maybe_split_tensors(self, tensor_packs): + """Undo maybe_split_tensors().""" + if not self._num_splits: + return tensor_packs + + return [tf.concat(tensor_packs, 0)] + + def undo_maybe_concat_tensors(self, concatenated_tensor): + """Undo maybe_concat_tensors().""" + if not self._num_splits: + return concatenated_tensor + + if len(concatenated_tensor) != 1: + raise RuntimeError( + 'undo_maybe_split_tensors() must be called before ' + 'undo_maybe_concat_tensors when num_splits is greater than 1') + concatenated_tensor = concatenated_tensor[0] + + tensors_with_sizes = tf.split(concatenated_tensor, + self._orig_sizes) + tensors_with_shapes = [ + tf.reshape(grad, shape) for grad, shape in zip( + tensors_with_sizes, self._orig_shapes) + ] + return tensors_with_shapes + + def maybe_compact_tensors(self, device_tensors): + """Cast tensors to fp16 and store their original types.""" + if not self._compact: + return device_tensors + + if self._before_compact_dtypes: + raise RuntimeError('maybe_compact_tensors can only be called once.') + + self._before_compact_dtypes = [t.dtype for t in device_tensors] + compact_tensors = [tf.cast(t, tf.float16) for t in device_tensors] + + return compact_tensors + + def undo_maybe_compact_tensors(self, compact_tensors): + """Undo maybe_compact_tensors().""" + if not self._compact: + return compact_tensors + + if not self._before_compact_dtypes: + raise RuntimeError('maybe_compact_tensors() must be called before ' + 'undo_maybe_compact_tensors()') + + device_tensors = [ + tf.cast(t, dtype) + for t, dtype in zip(compact_tensors, self._before_compact_dtypes) + ] + return device_tensors diff --git a/cv/classification/resnet50/tensorflow/benchmark_cnn.py b/cv/classification/resnet50/tensorflow/benchmark_cnn.py new file mode 100644 index 0000000000000000000000000000000000000000..6f65ea69b46f479a649c81aaddc797f30809c1ae --- /dev/null +++ b/cv/classification/resnet50/tensorflow/benchmark_cnn.py @@ -0,0 +1,3554 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""TensorFlow benchmark library. + +See the README for more information. +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import argparse +from collections import namedtuple +import contextlib +import math +import multiprocessing +import os +import re +import threading +import time +import traceback + +from absl import flags as absl_flags +import numpy as np + +import six +from six.moves import xrange # pylint: disable=redefined-builtin +import tensorflow.compat.v1 as tf + +# pylint: disable=g-direct-tensorflow-import +import cnn_util +import constants +import datasets +import flags +import mlperf +import variable_mgr +import variable_mgr_util +from cnn_util import log_fn +from models import model_config +from platforms import util as platforms_util +from google.protobuf import text_format +from tensorflow.core.protobuf import rewriter_config_pb2 +from tensorflow.python import debug as tf_debug +from tensorflow.python.client import timeline +from tensorflow.python.framework import graph_util +from tensorflow.python.framework import graph_util_impl +from tensorflow.python.framework import importer +from tensorflow.python.ops import data_flow_ops +from tensorflow.python.platform import gfile +from tensorflow.python.util import nest + + +_DEFAULT_NUM_BATCHES = 100 + + +# GraphInfo encapsulates the tensors/ops that we care about after building a +# graph. We use them to benchmark the graph. +GraphInfo = namedtuple( # pylint: disable=invalid-name + 'GraphInfo', + [ + # Ops that produce the input batches (before preprocessing). + 'input_producer_op', + # Ops that adds the preprocessed images to the staging areas + 'enqueue_ops', + # Fetches of sess.run() + 'fetches', + # Op that performs synchronization in distributed mode + 'execution_barrier', + # The global step variable + 'global_step', + # Group of ops that perform per-device initialization work + 'local_var_init_op_group', + # Op to produce summaries + 'summary_op' + ]) + + +# InputProcessingInfo contains various sources of inputs which will be later fed +# into the model. If synthetic data is used, all three fields are None. +InputProcessingInfo = namedtuple( + 'InputProcessingInfo', + [ + # The first two fields are non-None iff datasets prefetching is not + # used. + + # Ops that produce the input batches. + 'input_producer_op', + # A list of StagingArea for each device. + 'input_producer_stages', + + # Input produced using multi device iterator. Non-None iff datasets + # prefetching is used + 'multi_device_iterator_input' + ]) + + +# A string specifying the npy file postfix for saving predicted logits. +flags.DEFINE_string('save_dir', '.', 'The dir to which the predicted logits npy file will be saved.') + +# TODO(reedwm): add upper_bound and lower_bound to appropriate integer and +# float flags, and change certain string flags to enum flags. + +flags.DEFINE_string('model', 'trivial', + 'Name of the model to run, the list of supported models ' + 'are defined in models/model.py') +# The code will first check if it's running under benchmarking mode +# or evaluation mode, depending on 'eval': +# Under the evaluation mode, this script will read a saved model, +# and compute the accuracy of the model against a validation dataset. +# Additional ops for accuracy and top_k predictors are only used under +# this mode. +# Under the benchmarking mode, user can specify whether nor not to use +# the forward-only option, which will only compute the loss function. +# forward-only cannot be enabled with eval at the same time. +flags.DEFINE_boolean('eval', False, 'whether use eval or benchmarking') +flags.DEFINE_integer('eval_interval_secs', 0, + 'How often to run eval on saved checkpoints. Usually the ' + 'same as save_model_secs from the corresponding training ' + 'run. Pass 0 to eval only once.') +flags.DEFINE_integer('eval_during_training_every_n_steps', None, + 'Every n steps during training, pause training, run ' + 'evaluation, then resume training. Must not be used with ' + '--eval, as unlike --eval, this option causes both ' + 'training and eval to be done. This may take slightly ' + 'more GPU memory than running just training or evaluation ' + 'alone. It also may slightly slow down training, even ' + 'when not taking into account the additional time to ' + 'evaluate.', lower_bound=1) +flags.DEFINE_float('eval_during_training_every_n_epochs', None, + 'After every n training epochs, pause training, run ' + 'evaluation, then resume training. See ' + '--eval_during_training_every_n_steps for more information.') +flags.DEFINE_list('eval_during_training_at_specified_steps', [], + 'Specify a list of training steps, pause training at each of ' + 'these steps, run evaluation, then resume training. See ' + '--eval_during_training_every_n_steps for more information.') +flags.DEFINE_list('eval_during_training_at_specified_epochs', [], + 'Specify a list of training epochs, pause training after ' + 'each of these epochs, run evaluation, then resume training. ' + 'See --eval_during_training_every_n_steps for more ' + 'information.') +flags.DEFINE_boolean('forward_only', False, + 'whether use forward-only or training for benchmarking') +flags.DEFINE_boolean('freeze_when_forward_only', False, + 'whether to freeze the graph when in forward-only mode.') +flags.DEFINE_boolean('print_training_accuracy', False, + 'whether to calculate and print training accuracy during ' + 'training') +flags.DEFINE_integer('batch_size', 0, 'batch size per compute device') +flags.DEFINE_integer('eval_batch_size', 0, 'eval batch size per compute device') +flags.DEFINE_integer('batch_group_size', 1, + 'number of groups of batches processed in the image ' + 'producer.') +flags.DEFINE_integer('num_batches', None, 'number of batches to run, excluding ' + 'warmup. Defaults to %d' % _DEFAULT_NUM_BATCHES) +flags.DEFINE_integer('num_eval_batches', None, + 'number of eval batches to run, excluding warmup. ' + 'Defaults to --num_batches') +flags.DEFINE_float('num_epochs', 90, + 'number of epochs to run, excluding warmup. ' + 'This and --num_batches cannot both be specified.') +flags.DEFINE_float('num_eval_epochs', None, + 'number of eval epochs to run, excluding warmup. ' + 'Defaults to --num_epochs') +flags.DEFINE_float('stop_at_top_1_accuracy', None, + 'If set, stops training after the evaluation accuracy hits ' + 'this number. Can only be used with one of the ' + '--eval_during_training_* flags.') +flags.DEFINE_boolean('collect_eval_results_async', False, + 'If True, start a separate process to postprocess eval ' + 'results asynchronously. This currently only works with ' + 'the SSD model.') +flags.DEFINE_integer('num_warmup_batches', None, + 'number of batches to run before timing') +flags.DEFINE_integer('autotune_threshold', None, + 'The autotune threshold for the models') +# TODO(tucker): change num_gpus to num_devices +flags.DEFINE_integer('num_gpus', 1, 'the number of GPUs to run on') +flags.DEFINE_string('gpu_indices', '', 'indices of worker GPUs in ring order') +flags.DEFINE_integer('display_every', 10, + 'Number of local steps after which progress is printed ' + 'out') +flags.DEFINE_float('display_perf_ewma', None, + 'If set, display numbers of images/sec using exponentially ' + 'weighted moving avearge with the specified weight, which ' + 'defines how much current value contributes to the reported ' + 'average. Increasing weight makes the reported performance ' + 'number reflect more about the real-time speed instead of ' + 'the entire history', lower_bound=0, upper_bound=1) +flags.DEFINE_string('data_dir', None, + 'Path to dataset in TFRecord format (aka Example ' + 'protobufs). If not specified, synthetic data will be ' + 'used.') +flags.DEFINE_string('data_name', None, + 'Name of dataset: imagenet or cifar10. If not specified, ' + 'it is automatically guessed based on data_dir.') +flags.DEFINE_string('resize_method', 'bilinear', + 'Method for resizing input images: crop, nearest, ' + 'bilinear, bicubic, area, or round_robin. The `crop` mode ' + 'requires source images to be at least as large as the ' + 'network input size. The `round_robin` mode applies ' + 'different resize methods based on position in a batch in ' + 'a round-robin fashion. Other modes support any sizes and ' + 'apply random bbox distortions before resizing (even with ' + 'distortions=False).') +flags.DEFINE_boolean('distortions', False, + 'Enable/disable distortions during image preprocessing. ' + 'These include bbox and color distortions.') +flags.DEFINE_boolean('use_datasets', True, + 'Enable use of datasets for input pipeline') +flags.DEFINE_string('input_preprocessor', 'default', + 'Name of input preprocessor. The list of supported input ' + 'preprocessors are defined in preprocessing.py.') +flags.DEFINE_string('gpu_thread_mode', 'gpu_private', + 'Methods to assign GPU host work to threads. ' + 'global: all GPUs and CPUs share the same global threads; ' + 'gpu_private: a private threadpool for each GPU; ' + 'gpu_shared: all GPUs share the same threadpool.') +flags.DEFINE_integer('per_gpu_thread_count', 0, + 'The number of threads to use for GPU. Only valid when ' + 'gpu_thread_mode is not global.') +flags.DEFINE_boolean('hierarchical_copy', False, + 'Use hierarchical copies. Currently only optimized for ' + 'use on a DGX-1 with 8 GPUs and may perform poorly on ' + 'other hardware. Requires --num_gpus > 1, and only ' + 'recommended when --num_gpus=8') +# TODO(hinsu): Support auto-detection of the network topology while still +# retaining the ability to specify a particular topology for debugging. +flags.DEFINE_enum( + 'network_topology', constants.NetworkTopology.DGX1, + (constants.NetworkTopology.DGX1, constants.NetworkTopology.GCP_V100), + 'Network topology specifies the topology used to connect multiple devices. ' + 'Network topology is used to decide the hierarchy to use for the ' + 'hierarchical_copy.') +flags.DEFINE_integer('gradient_repacking', 0, 'Use gradient repacking. It' + 'currently only works with replicated mode. At the end of' + 'of each step, it repacks the gradients for more efficient' + 'cross-device transportation. A non-zero value specifies' + 'the number of split packs that will be formed.', + lower_bound=0) +flags.DEFINE_boolean('compact_gradient_transfer', True, 'Compact gradient' + 'as much as possible for cross-device transfer and ' + 'aggregation.') +flags.DEFINE_enum('variable_consistency', 'strong', ('strong', 'relaxed'), + 'The data consistency for trainable variables. With strong ' + 'consistency, the variable always have the updates from ' + 'previous step. With relaxed consistency, all the updates ' + 'will eventually show up in the variables. Likely one step ' + 'behind.') +flags.DEFINE_boolean('datasets_repeat_cached_sample', False, + 'Enable use of a special datasets pipeline that reads a ' + 'single TFRecord into memory and repeats it infinitely ' + 'many times. The purpose of this flag is to make it ' + 'possible to write regression tests that are not ' + 'bottlenecked by CNS throughput. ' + 'Use datasets_use_caching to cache input data.') +flags.DEFINE_enum('local_parameter_device', 'gpu', ('cpu', 'gpu', 'CPU', 'GPU'), + 'Device to use as parameter server: cpu or gpu. For ' + 'distributed training, it can affect where caching of ' + 'variables happens.') +flags.DEFINE_enum('device', 'gpu', ('cpu', 'gpu', 'CPU', 'GPU'), + 'Device to use for computation: cpu or gpu') +flags.DEFINE_enum('data_format', 'NCHW', ('NHWC', 'NCHW'), + 'Data layout to use: NHWC (TF native) or NCHW (cuDNN ' + 'native, requires GPU).') +flags.DEFINE_integer('num_intra_threads', None, + 'Number of threads to use for intra-op parallelism. If ' + 'set to 0, the system will pick an appropriate number. ' + 'None is the same as 0 except that it disables intra-op ' + 'parallelism on a GPU.') +flags.DEFINE_integer('num_inter_threads', 0, + 'Number of threads to use for inter-op parallelism. If ' + 'set to 0, the system will pick an appropriate number.') +flags.DEFINE_boolean('use_numa_affinity', False, + 'Whether to turn on NUMA affinity for CPU devices. ' + 'This is probably only useful when --device=cpu.') +flags.DEFINE_string('trace_file', '', + 'Enable TensorFlow tracing and write trace to this file.') +flags.DEFINE_boolean('use_chrome_trace_format', True, + 'If True, the trace_file, if specified, will be in a ' + 'Chrome trace format. If False, then it will be a ' + 'StepStats raw proto.') +flags.DEFINE_boolean('use_deep_stem', False, + 'If True, use deep stem style (replace 7*7 conv to 3 3*3 conv) ' + 'Resnet model only') +_NUM_STEPS_TO_PROFILE = 10 +_NUM_OPS_TO_PRINT = 20 +flags.DEFINE_string('tfprof_file', None, + 'If specified, write a tfprof ProfileProto to this file. ' + 'The performance and other aspects of the model can then ' + 'be analyzed with tfprof. See ' + 'https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/profiler/g3doc/command_line.md ' # pylint: disable=line-too-long + 'for more info on how to do this. The first %d steps ' + 'are profiled. Additionally, the top %d most time ' + 'consuming ops will be printed.\n' + 'Note: profiling with tfprof is very slow, but most of the ' + 'overhead is spent between steps. So, profiling results ' + 'are more accurate than the slowdown would suggest.' % + (_NUM_STEPS_TO_PROFILE, _NUM_OPS_TO_PRINT)) +flags.DEFINE_string('graph_file', None, + 'Write the model\'s graph definition to this file. ' + 'Defaults to binary format unless filename ends in "txt".') +flags.DEFINE_string('partitioned_graph_file_prefix', None, + 'If specified, after the graph has been partitioned and ' + 'optimized, write out each partitioned graph to a file ' + 'with the given prefix.') +flags.DEFINE_enum('optimizer', 'sgd', ('momentum', 'sgd', 'rmsprop', 'adam'), + 'Optimizer to use') +flags.DEFINE_float('init_learning_rate', None, + 'Initial learning rate for training.') +flags.DEFINE_string('piecewise_learning_rate_schedule', None, + 'Specifies a piecewise learning rate schedule based on the ' + 'number of epochs. This is the form LR0;E1;LR1;...;En;LRn, ' + 'where each LRi is a learning rate and each Ei is an epoch ' + 'indexed from 0. The learning rate is LRi if the ' + 'E(i-1) <= current_epoch < Ei. For example, if this ' + 'paramater is 0.3;10;0.2;25;0.1, the learning rate is 0.3 ' + 'for the first 10 epochs, then is 0.2 for the next 15 ' + 'epochs, then is 0.1 until training ends.') +flags.DEFINE_float('num_epochs_per_decay', 0, + 'Steps after which learning rate decays. If 0, the learning ' + 'rate does not decay.') +flags.DEFINE_float('learning_rate_decay_factor', 0, + 'Learning rate decay factor. Decay by this factor every ' + '`num_epochs_per_decay` epochs. If 0, learning rate does ' + 'not decay.') +flags.DEFINE_float('num_learning_rate_warmup_epochs', 0, + 'Slowly increase to the initial learning rate in the first ' + 'num_learning_rate_warmup_epochs linearly.') +flags.DEFINE_float('minimum_learning_rate', 0, + 'The minimum learning rate. The learning rate will ' + 'never decay past this value. Requires `learning_rate`, ' + '`num_epochs_per_decay` and `learning_rate_decay_factor` to ' + 'be set.') +flags.DEFINE_float('resnet_base_lr', None, "Base learning rate at bs=256. Only " + "relevant when training ResNet and utilizing the model's " + "learning rate heuristic (get_learning_rate).") +flags.DEFINE_float('momentum', 0.9, 'Momentum for training.') +flags.DEFINE_float('rmsprop_decay', 0.9, 'Decay term for RMSProp.') +flags.DEFINE_float('rmsprop_momentum', 0.9, 'Momentum in RMSProp.') +flags.DEFINE_float('rmsprop_epsilon', 1.0, 'Epsilon term for RMSProp.') +flags.DEFINE_float('adam_beta1', 0.9, 'Beta2 term for the Adam optimizer') +flags.DEFINE_float('adam_beta2', 0.999, 'Beta2 term for the Adam optimizer') +flags.DEFINE_float('adam_epsilon', 1e-8, 'Epsilon term for the Adam optimizer') +flags.DEFINE_float('gradient_clip', None, + 'Gradient clipping magnitude. Disabled by default.') +flags.DEFINE_float('weight_decay', 0.00004, + 'Weight decay factor for training.') +flags.DEFINE_float('gpu_memory_frac_for_testing', 0, + 'If non-zero, the fraction of GPU memory that will be used. ' + 'Useful for testing the benchmark script, as this allows ' + 'distributed mode to be run on a single machine. For ' + 'example, if there are two tasks, each can be allocated ' + '~40 percent of the memory on a single machine. This is ' + 'also useful for using unified memory, as this can be set ' + 'above 1 to oversubscribe the GPU using unified memory.', + lower_bound=0.) +flags.DEFINE_boolean('use_unified_memory', None, + 'If True, allocate unified memory enabling larger models ' + 'to fit in available device RAM.') +flags.DEFINE_boolean('timestamped_allocator', False, + 'If True marks free BFCAllocator::Chunks with time ' + 'at which they are freed which can allow more efficient ' + 'memory allocation in cases like RDMA networking.') +flags.DEFINE_integer('gpu_kt_max_interval', 0, + 'If > 0, the maximum number of GPU Ops that may be queued ' + 'in a row without also queuing a tracking event.') +flags.DEFINE_integer('gpu_kt_max_bytes', 0, + 'If > 0, the maximum number of bytes ' + 'of GPU memory that may be allocated by sequential ' + 'GPU Ops without queuing a tracking event.') +flags.DEFINE_integer('gpu_kt_max_pending', 0, + 'If > 0 no more than this many GPU tracking events may be ' + 'outstanding at any time. When this limit is reached ' + 'launch of additional kernels will stall until an ' + 'outstanding event completes.') +flags.DEFINE_boolean('use_tf_layers', True, + 'If True, use tf.layers for neural network layers. This ' + 'should not affect performance or accuracy in any way.') +flags.DEFINE_integer('tf_random_seed', 1234, + 'The TensorFlow random seed. Useful for debugging NaNs, ' + 'as this can be set to various values to see if the NaNs ' + 'depend on the seed.') +flags.DEFINE_string('debugger', None, + 'If set, use the TensorFlow debugger. If set to "cli", use ' + 'the local CLI debugger. Otherwise, this must be in the ' + 'form hostname:port (e.g., localhost:7007) in which case ' + 'the experimental TensorBoard debugger will be used') +flags.DEFINE_boolean('use_python32_barrier', False, + 'When on, use threading.Barrier at Python 3.2.') + +flags.DEFINE_boolean('ml_perf', False, + 'When True, change how the Imagenet input pipeline works ' + 'slightly to meet the MLPerf compliance rules. This slows ' + 'down the input pipeline. Without this option, at the end ' + 'of the input pipeline, the image is divided by 127.5, ' + 'then 1.0 is subtracted from it, bringing the image ' + 'values from [0, 255] to [-1.0, 1.0]. With this option, ' + 'each of the three channels (red, green, blue) have the ' + 'average channel value among all image subtracted from ' + 'it, and no division is done.') + +flags.DEFINE_boolean('datasets_use_prefetch', True, + 'Enable use of prefetched datasets for input pipeline. ' + 'This option is meaningless if use_datasets=False.') +flags.DEFINE_integer('datasets_prefetch_buffer_size', 1, + 'Prefetching op buffer size per compute device.') +flags.DEFINE_integer('datasets_num_private_threads', None, + 'Number of threads for a private threadpool created for ' + 'all datasets computation. By default, we pick an ' + 'appropriate number. If set to 0, we use the default ' + 'tf-Compute threads for dataset operations.') +flags.DEFINE_boolean('datasets_use_caching', False, + 'Cache the compressed input data in memory. This improves ' + 'the data input performance, at the cost of additional ' + 'memory.') +flags.DEFINE_integer('datasets_parallel_interleave_cycle_length', None, + 'Number of parallel file readers interleaving input data.') +flags.DEFINE_boolean('datasets_sloppy_parallel_interleave', False, + 'Allow parallel interleave to depart from deterministic ' + 'ordering, by temporarily skipping over files whose ' + 'elements are not readily available. This can increase ' + 'througput in particular in the presence of stragglers.') +flags.DEFINE_integer('datasets_parallel_interleave_prefetch', None, + 'The number of input elements to fetch before they are ' + 'needed for interleaving.') + +flags.DEFINE_integer( + 'multi_device_iterator_max_buffer_size', 1, + 'Configuration parameter for the MultiDeviceIterator that ' + ' specifies the host side buffer size for each device.') + +# Performance tuning parameters. +flags.DEFINE_boolean('winograd_nonfused', True, + 'Enable/disable using the Winograd non-fused algorithms.') +flags.DEFINE_boolean( + 'batchnorm_persistent', True, + 'Enable/disable using the CUDNN_BATCHNORM_SPATIAL_PERSISTENT ' + 'mode for batchnorm.') +flags.DEFINE_boolean('sync_on_finish', False, + 'Enable/disable whether the devices are synced after each ' + 'step.') +flags.DEFINE_boolean('staged_vars', False, + 'whether the variables are staged from the main ' + 'computation') +flags.DEFINE_boolean('force_gpu_compatible', False, + 'whether to enable force_gpu_compatible in GPU_Options') +flags.DEFINE_boolean('allow_growth', None, + 'whether to enable allow_growth in GPU_Options') +flags.DEFINE_boolean('xla', False, 'whether to enable XLA auto-jit compilation') +flags.DEFINE_boolean('xla_compile', False, + 'Enable xla to compile the graph. Uncompilable ops will ' + 'result in fatal errors.') +flags.DEFINE_boolean('fuse_decode_and_crop', True, + 'Fuse decode_and_crop for image preprocessing.') +flags.DEFINE_boolean('distort_color_in_yiq', True, + 'Distort color of input images in YIQ space.') +flags.DEFINE_boolean('enable_optimizations', True, + 'Whether to enable grappler and other optimizations.') +flags.DEFINE_string('rewriter_config', None, + 'Config for graph optimizers, described as a ' + 'RewriterConfig proto buffer.') +flags.DEFINE_enum('loss_type_to_report', 'total_loss', + ('base_loss', 'total_loss'), + 'Which type of loss to output and to write summaries for. ' + 'The total loss includes L2 loss while the base loss does ' + 'not. Note that the total loss is always used while ' + 'computing gradients during training if weight_decay > 0, ' + 'but explicitly computing the total loss, instead of just ' + 'computing its gradients, can have a performance impact.') +flags.DEFINE_boolean('single_l2_loss_op', False, + 'If True, instead of using an L2 loss op per variable, ' + 'concatenate the variables into a single tensor and do a ' + 'single L2 loss on the concatenated tensor.') +flags.DEFINE_boolean('use_resource_vars', False, + 'Use resource variables instead of normal variables. ' + 'Resource variables are slower, but this option is useful ' + 'for debugging their performance.') +flags.DEFINE_boolean('compute_lr_on_cpu', False, + 'If True, do computations related to learning rate on the ' + 'CPU instead of the GPU. This will significantly improve ' + 'XLA performance in some cases.') +flags.DEFINE_boolean('sparse_to_dense_grads', False, + 'If True, convert all sparse gradients to dense gradients ' + 'before passing them to the optimizer to update ' + 'variables. Only affects models with sparse gradients, ' + 'which currently is only the NCF model.') +# Performance tuning specific to MKL. +flags.DEFINE_boolean('mkl', False, 'If true, set MKL environment variables.') +flags.DEFINE_integer('kmp_blocktime', 0, + 'The time, in milliseconds, that a thread should wait, ' + 'after completing the execution of a parallel region, ' + 'before sleeping') +flags.DEFINE_string('kmp_affinity', 'granularity=fine,verbose,compact,1,0', + 'Restricts execution of certain threads (virtual execution ' + 'units) to a subset of the physical processing units in a ' + 'multiprocessor computer.') +flags.DEFINE_integer('kmp_settings', 1, + 'If set to 1, MKL settings will be printed.') + +# fp16 parameters. If use_fp16=False, no other fp16 parameters apply. +flags.DEFINE_boolean('use_fp16', False, + 'Use 16-bit floats for certain tensors instead of 32-bit ' + 'floats. This is currently experimental.') +# TODO(reedwm): The default loss scale of 128 causes most models to diverge +# on the second step with synthetic data. Changing the tf.set_random_seed +# call to tf.set_random_seed(1235) or most other seed values causes the +# issue not to occur. +flags.DEFINE_float('fp16_loss_scale', None, + 'If fp16 is enabled, the loss is multiplied by this amount ' + 'right before gradients are computed, then each gradient ' + 'is divided by this amount. Mathematically, this has no ' + 'effect, but it helps avoid fp16 underflow. Set to 1 to ' + 'effectively disable. Ignored during eval.') +flags.DEFINE_boolean('fp16_vars', False, + 'If fp16 is enabled, also use fp16 for variables. If ' + 'False, the variables are stored in fp32 and casted to ' + 'fp16 when retrieved. Recommended to leave as False.') +flags.DEFINE_boolean('fp16_enable_auto_loss_scale', False, + 'If True and use_fp16 is True, automatically adjust the ' + 'loss scale during training.') +flags.DEFINE_integer('fp16_inc_loss_scale_every_n', 1000, + 'If fp16 is enabled and fp16_enable_auto_loss_scale is ' + 'True, increase the loss scale every n steps.') + +# The method for managing variables: +# parameter_server: variables are stored on a parameter server that holds +# the master copy of the variable. In local execution, a local device +# acts as the parameter server for each variable; in distributed +# execution, the parameter servers are separate processes in the +# cluster. +# For each step, each tower gets a copy of the variables from the +# parameter server, and sends its gradients to the param server. +# replicated: each GPU has its own copy of the variables. To apply +# gradients, an all_reduce algorithm or or regular cross-device +# aggregation is used to replicate the combined gradients to all +# towers (depending on all_reduce_spec parameter setting). +# independent: each GPU has its own copy of the variables, and gradients +# are not shared between towers. This can be used to check performance +# when no data is moved between GPUs. +# distributed_replicated: Distributed training only. Each GPU has a copy +# of the variables, and updates its copy after the parameter servers +# are all updated with the gradients from all servers. Only works with +# cross_replica_sync=true. Unlike 'replicated', currently never uses +# nccl all-reduce for replicating within a server. +# distributed_all_reduce: Distributed training where all replicas run +# in a single session, using all-reduce to mutally reduce the +# gradients. Uses no parameter servers. When there is only one +# worker, this is the same as replicated. +# collective_all_reduce: Distributed training where all replicas run +# independepently except for variable initialization and for +# gradient reduction which is done via collective all-reduce. +# NOTE: collective_all_reduce in conjunction with use_fp16 can +# lead to NaNs in some models (resnet50). TODO(tucker): fix it. +# horovod: Distributed training using Horovod library. Runs workers using +# an MPI framework (e.g. Open MPI). Each worker runs training on +# single GPU, and averages gradients using NCCL or MPI all-reduce. +# See https://github.com/uber/horovod for more details. +flags.DEFINE_enum('variable_update', 'parameter_server', + ('parameter_server', 'replicated', 'distributed_replicated', + 'independent', 'distributed_all_reduce', + 'collective_all_reduce', 'horovod'), + 'The method for managing variables: parameter_server, ' + 'replicated, distributed_replicated, independent, ' + 'distributed_all_reduce, collective_all_reduce, horovod') +flags.DEFINE_string('all_reduce_spec', None, + 'A specification of the all_reduce algorithm to be used ' + 'for reducing gradients. For more details, see ' + 'parse_all_reduce_spec in variable_mgr.py. An ' + 'all_reduce_spec has BNF form:\n' + 'int ::= positive whole number\n' + 'g_int ::= int[KkMGT]?\n' + 'alg_spec ::= alg | alg#int\n' + 'range_spec ::= alg_spec | alg_spec/alg_spec\n' + 'spec ::= range_spec | range_spec:g_int:range_spec\n' + 'NOTE: not all syntactically correct constructs are ' + 'supported.\n\n' + 'Examples:\n ' + '"xring" == use one global ring reduction for all ' + 'tensors\n' + '"pscpu" == use CPU at worker 0 to reduce all tensors\n' + '"nccl" == use NCCL to locally reduce all tensors. ' + 'Limited to 1 worker.\n' + '"nccl/xring" == locally (to one worker) reduce values ' + 'using NCCL then ring reduce across workers.\n' + '"pscpu:32k:xring" == use pscpu algorithm for tensors of ' + 'size up to 32kB, then xring for larger tensors.') + +# If variable_update==distributed_all_reduce then it may be advantageous +# to aggregate small tensors into one prior to reduction. These parameters +# control that aggregation. +flags.DEFINE_integer('agg_small_grads_max_bytes', 0, + 'If > 0, try to aggregate tensors of less than this ' + 'number of bytes prior to all-reduce.') +flags.DEFINE_integer('agg_small_grads_max_group', 10, + 'When aggregating small tensors for all-reduce do not ' + 'aggregate more than this many into one new tensor.') +flags.DEFINE_integer('allreduce_merge_scope', 1, + 'Establish a name scope around this many ' + 'gradients prior to creating the all-reduce operations. ' + 'It may affect the ability of the backend to merge ' + 'parallel ops.') + +# Distributed training parameters. +flags.DEFINE_enum('job_name', '', ('ps', 'worker', 'controller', ''), + 'One of "ps", "worker", "controller", "". Empty for local ' + 'training') +flags.DEFINE_string('ps_hosts', '', 'Comma-separated list of target hosts') +flags.DEFINE_string('worker_hosts', '', 'Comma-separated list of target hosts') +flags.DEFINE_string('controller_host', None, 'optional controller host') +flags.DEFINE_integer('task_index', 0, 'Index of task within the job') +flags.DEFINE_string('server_protocol', 'grpc', 'protocol for servers') +flags.DEFINE_boolean('cross_replica_sync', True, '') +flags.DEFINE_string('horovod_device', '', 'Device to do Horovod all-reduce on: ' + 'empty (default), cpu or gpu. Default with utilize GPU if ' + 'Horovod was compiled with the HOROVOD_GPU_ALLREDUCE ' + 'option, and CPU otherwise.') + +# Summary and Save & load checkpoints. +flags.DEFINE_integer('summary_verbosity', 0, 'Verbosity level for summary ops. ' + 'level 0: disable any summary.\n' + 'level 1: small and fast ops, e.g.: learning_rate, ' + 'total_loss.\n' + 'level 2: medium-cost ops, e.g. histogram of all ' + 'gradients.\n' + 'level 3: expensive ops: images and histogram of each ' + 'gradient.\n') +flags.DEFINE_integer('save_summaries_steps', 0, + 'How often to save summaries for trained models. Pass 0 ' + 'to disable summaries.') +flags.DEFINE_integer('save_model_secs', 0, + 'How often to save trained models. Pass 0 to disable ' + 'saving checkpoints every N seconds. A checkpoint is ' + 'saved after training completes regardless of this ' + 'option.') +flags.DEFINE_integer('save_model_steps', None, + 'How often to save trained models. If specified, ' + 'save_model_secs must not be specified.') +flags.DEFINE_integer('max_ckpts_to_keep', 5, + 'Max number of checkpoints to keep.') +flags.DEFINE_string('train_dir', None, + 'Path to session checkpoints. Pass None to disable saving ' + 'checkpoint at the end.') +flags.DEFINE_string('eval_dir', '/tmp/tf_cnn_benchmarks/eval', + 'Directory where to write eval event logs.') +flags.DEFINE_string('backbone_model_path', None, + 'Path to pretrained backbone model checkpoint. Pass None ' + 'if not using a backbone model.') +flags.DEFINE_enum('trt_mode', '', ['', 'FP32', 'FP16', 'INT8'], + 'If this is specified in forward_only mode and ' + 'freeze_when_forward_only is set to True, use TensorRT to ' + 'optimize the graph before execution.') +flags.DEFINE_integer('trt_max_workspace_size_bytes', 4 << 30, + 'Max workspace size bytes used by the TensorRT optimizer.') + +# Benchmark logging for model garden metric +flags.DEFINE_string('benchmark_log_dir', None, + 'The directory to place the log files containing the ' + 'results of benchmark. The logs are created by ' + 'BenchmarkFileLogger. Requires the root of the Tensorflow ' + 'models repository to be in $PYTHTONPATH.') +flags.DEFINE_string('benchmark_test_id', None, + 'The unique test ID of the benchmark run. It could be the ' + 'combination of key parameters. It is hardware independent ' + 'and could be used compare the performance between ' + 'different test runs. This flag is designed for human ' + 'consumption, and does not have any impact within the ' + 'system.') + +platforms_util.define_platform_params() + + +class GlobalStepWatcher(threading.Thread): + """A helper class for global_step. + + Polls for changes in the global_step of the model, and finishes when the + number of steps for the global run are done. + """ + + def __init__(self, sess, global_step_op, start_at_global_step, + end_at_global_step): + threading.Thread.__init__(self) + self.sess = sess + self.global_step_op = global_step_op + self.start_at_global_step = start_at_global_step + self.end_at_global_step = end_at_global_step + + self.start_time = 0 + self.start_step = 0 + self.finish_time = 0 + self.finish_step = 0 + + def run(self): + while self.finish_time == 0: + time.sleep(.25) + global_step_val, = self.sess.run([self.global_step_op]) + if self.start_time == 0 and global_step_val >= self.start_at_global_step: + # Use tf.logging.info instead of log_fn, since print (which is log_fn) + # is not thread safe and may interleave the outputs from two parallel + # calls to print, which can break tests. + tf.logging.info('Starting real work at step %s at time %s' % + (global_step_val, time.ctime())) + self.start_time = time.time() + self.start_step = global_step_val + if self.finish_time == 0 and global_step_val >= self.end_at_global_step: + tf.logging.info('Finishing real work at step %s at time %s' % + (global_step_val, time.ctime())) + self.finish_time = time.time() + self.finish_step = global_step_val + + def done(self): + return self.finish_time > 0 + + def num_steps(self): + return self.finish_step - self.start_step + + def elapsed_time(self): + return self.finish_time - self.start_time + + +class CheckpointNotFoundException(Exception): + pass + + +def create_config_proto(params): + """Returns session config proto. + + Args: + params: Params tuple, typically created by make_params or + make_params_from_flags. + """ + config = tf.ConfigProto() + config.allow_soft_placement = True + if params.num_intra_threads is None: + if params.device == 'gpu': + config.intra_op_parallelism_threads = 1 + else: + config.intra_op_parallelism_threads = params.num_intra_threads + config.inter_op_parallelism_threads = params.num_inter_threads + config.experimental.collective_group_leader = '/job:worker/replica:0/task:0' + config.gpu_options.experimental.collective_ring_order = params.gpu_indices + config.gpu_options.force_gpu_compatible = params.force_gpu_compatible + config.experimental.use_numa_affinity = params.use_numa_affinity + if params.device == 'cpu': + # TODO(tucker): change num_gpus to num_devices + config.device_count['CPU'] = params.num_gpus + if params.allow_growth is not None: + config.gpu_options.allow_growth = params.allow_growth + if params.gpu_memory_frac_for_testing > 0: + config.gpu_options.per_process_gpu_memory_fraction = ( + params.gpu_memory_frac_for_testing) + if params.use_unified_memory: + config.gpu_options.experimental.use_unified_memory = ( + params.use_unified_memory) + if params.timestamped_allocator: + config.gpu_options.experimental.timestamped_allocator = ( + params.timestamped_allocator) + if params.gpu_kt_max_interval > 0: + config.gpu_options.experimental.kernel_tracker_max_interval = ( + params.gpu_kt_max_interval) + if params.gpu_kt_max_bytes > 0: + config.gpu_options.experimental.kernel_tracker_max_bytes = ( + params.gpu_kt_max_bytes) + if params.gpu_kt_max_pending > 0: + config.gpu_options.experimental.kernel_tracker_max_pending = ( + params.gpu_kt_max_pending) + if params.xla: + config.graph_options.optimizer_options.global_jit_level = ( + tf.OptimizerOptions.ON_1) + if params.rewriter_config: + rewriter_config = rewriter_config_pb2.RewriterConfig() + text_format.Merge(params.rewriter_config, rewriter_config) + config.graph_options.rewrite_options.CopyFrom(rewriter_config) + elif not params.enable_optimizations: + config.graph_options.optimizer_options.opt_level = tf.OptimizerOptions.L0 + config.graph_options.rewrite_options.disable_meta_optimizer = True + elif params.variable_update == 'collective_all_reduce': + rewrite_options = config.graph_options.rewrite_options + rewrite_options.scoped_allocator_optimization = ( + rewriter_config_pb2.RewriterConfig.ON) + rewrite_options.scoped_allocator_opts.enable_op.append('CollectiveReduce') + if params.variable_update == 'horovod': + import horovod.tensorflow as hvd # pylint: disable=g-import-not-at-top + config.gpu_options.visible_device_list = str(hvd.local_rank()) + # For collective_all_reduce, ignore all devices except current worker. + if params.variable_update == 'collective_all_reduce': + del config.device_filters[:] + config.device_filters.append( + '/job:%s/replica:0/task:%d' % (params.job_name, params.task_index)) + + # TODO(b/117324590): Re-enable PinToHostOptimizer when b/117324590 is fixed. + # Currently we have to disable PinToHostOptimizer w/ XLA since it causes + # OOM/perf cliffs. + config.graph_options.rewrite_options.pin_to_host_optimization = ( + rewriter_config_pb2.RewriterConfig.OFF) + return config + + +def get_mode_from_params(params): + """Returns the mode in which this script is running. + + Args: + params: Params tuple, typically created by make_params or + make_params_from_flags. + Raises: + ValueError: Unsupported params settings. + """ + if params.forward_only and params.eval: + raise ValueError('Only one of forward_only and eval parameters is true') + + if params.eval: + return constants.BenchmarkMode.EVAL + elif params.forward_only: + return constants.BenchmarkMode.FORWARD_ONLY + elif (params.eval_during_training_every_n_steps or + params.eval_during_training_every_n_epochs or + params.eval_during_training_at_specified_steps or + params.eval_during_training_at_specified_epochs): + return constants.BenchmarkMode.TRAIN_AND_EVAL + else: + return constants.BenchmarkMode.TRAIN + + +# How many digits to show for the loss and accuracies during training. +LOSS_AND_ACCURACY_DIGITS_TO_SHOW = 3 + + +def benchmark_one_step(sess, + fetches, + step, + batch_size, + step_train_times, + trace_filename, + partitioned_graph_file_prefix, + profiler, + image_producer, + params, + summary_op=None, + show_images_per_sec=True, + benchmark_logger=None, + collective_graph_key=0): + """Advance one step of benchmarking.""" + should_profile = profiler and 0 <= step < _NUM_STEPS_TO_PROFILE + need_options_and_metadata = ( + should_profile or collective_graph_key > 0 or + ((trace_filename or partitioned_graph_file_prefix) and step == -2) + ) + if need_options_and_metadata: + run_options = tf.RunOptions() + if (trace_filename and step == -2) or should_profile: + run_options.trace_level = tf.RunOptions.FULL_TRACE + if partitioned_graph_file_prefix and step == -2: + run_options.output_partition_graphs = True + if collective_graph_key > 0: + run_options.experimental.collective_graph_key = collective_graph_key + run_metadata = tf.RunMetadata() + else: + run_options = None + run_metadata = None + summary_str = None + start_time = time.time() + if summary_op is None: + results = sess.run(fetches, options=run_options, run_metadata=run_metadata) + else: + (results, summary_str) = sess.run( + [fetches, summary_op], options=run_options, run_metadata=run_metadata) + + if not params.forward_only: + lossval = results['average_loss'] + else: + lossval = 0. + if image_producer is not None: + image_producer.notify_image_consumption() + train_time = time.time() - start_time + step_train_times.append(train_time) + if (show_images_per_sec and step >= 0 and + (step == 0 or (step + 1) % params.display_every == 0)): + speed_mean, speed_uncertainty, speed_jitter = get_perf_timing( + batch_size, step_train_times, params.display_perf_ewma) + log_str = '%i\t%s\t%.*f' % ( + step + 1, + get_perf_timing_str(speed_mean, speed_uncertainty, speed_jitter), + LOSS_AND_ACCURACY_DIGITS_TO_SHOW, lossval) + if 'top_1_accuracy' in results: + log_str += '\t%.*f\t%.*f' % ( + LOSS_AND_ACCURACY_DIGITS_TO_SHOW, results['top_1_accuracy'], + LOSS_AND_ACCURACY_DIGITS_TO_SHOW, results['top_5_accuracy']) + log_fn(log_str) + if benchmark_logger: + benchmark_logger.log_metric( + 'current_examples_per_sec', speed_mean, global_step=step + 1) + if 'top_1_accuracy' in results: + benchmark_logger.log_metric( + 'top_1_accuracy', results['top_1_accuracy'], global_step=step + 1) + benchmark_logger.log_metric( + 'top_5_accuracy', results['top_5_accuracy'], global_step=step + 1) + if need_options_and_metadata: + if should_profile: + profiler.add_step(step, run_metadata) + if trace_filename and step == -2: + log_fn('Dumping trace to %s' % trace_filename) + trace_dir = os.path.dirname(trace_filename) + if not gfile.Exists(trace_dir): + gfile.MakeDirs(trace_dir) + with gfile.Open(trace_filename, 'w') as trace_file: + if params.use_chrome_trace_format: + trace = timeline.Timeline(step_stats=run_metadata.step_stats) + trace_file.write(trace.generate_chrome_trace_format(show_memory=True)) + else: + trace_file.write(str(run_metadata.step_stats)) + if partitioned_graph_file_prefix and step == -2: + path, filename = os.path.split(partitioned_graph_file_prefix) + if '.' in filename: + base_filename, ext = filename.rsplit('.', 1) + ext = '.' + ext + else: + base_filename, ext = filename, '' + as_text = filename.endswith('txt') + for graph_def in run_metadata.partition_graphs: + device = graph_def.node[0].device.replace('/', '_').replace(':', '_') + graph_filename = '%s%s%s' % (base_filename, device, ext) + log_fn('Writing partitioned GraphDef as %s to %s' % ( + 'text' if as_text else 'binary', + os.path.join(path, graph_filename))) + tf.train.write_graph(graph_def, path, graph_filename, as_text) + return (summary_str, lossval) + + +def get_perf_timing_str(speed_mean, speed_uncertainty, speed_jitter, scale=1): + if scale == 1: + # TODO(laigd): rename 'images' to maybe 'inputs', same below. + return ('images/sec: %.1f +/- %.1f (jitter = %.1f)' % + (speed_mean, speed_uncertainty, speed_jitter)) + else: + return 'images/sec: %.1f' % speed_mean + + +def get_perf_timing(batch_size, step_train_times, ewma_alpha=None, scale=1): + """Calculate benchmark processing speed.""" + times = np.array(step_train_times) + speeds = batch_size / times + if ewma_alpha: + weights = np.logspace(len(times)-1, 0, len(times), base=1-ewma_alpha) + time_mean = np.average(times, weights=weights) + else: + time_mean = np.mean(times) + speed_mean = scale * batch_size / time_mean + speed_uncertainty = np.std(speeds) / np.sqrt(float(len(speeds))) + speed_jitter = 1.4826 * np.median(np.abs(speeds - np.median(speeds))) + return speed_mean, speed_uncertainty, speed_jitter + + +def load_checkpoint(saver, sess, ckpt_dir): + """Loads checkpoint from provided directory or full path. + + Args: + saver: Saver used to restore the checkpoint. + sess: TensorFlow session. + ckpt_dir: Path to a folder of checkpoints or full path to a checkpoint. + + Returns: + Global step. + """ + model_checkpoint_path = _get_checkpoint_to_load(ckpt_dir) + global_step = model_checkpoint_path.split('/')[-1].split('-')[-1] + if not global_step.isdigit(): + global_step = 0 + else: + global_step = int(global_step) + saver.restore(sess, model_checkpoint_path) + log_fn('Successfully loaded model from %s.' % model_checkpoint_path) + return global_step + + +def _get_checkpoint_to_load(ckpt_dir): + """Returns which checkpoint to load. + + Args: + ckpt_dir: Path to a folder of checkpoints or full path to a checkpoint. + + Returns: + Full path to checkpoint to load. + + Raises: + CheckpointNotFoundException: If checkpoint is not found. + """ + p = re.compile(r'ckpt-\d+$') + if p.search(ckpt_dir): + model_checkpoint_path = ckpt_dir + else: + # Finds latest checkpoint in directory provided + ckpt = tf.train.get_checkpoint_state(ckpt_dir) + if ckpt and ckpt.model_checkpoint_path: + model_checkpoint_path = ckpt.model_checkpoint_path + else: + raise CheckpointNotFoundException('No checkpoint file found in dir:{}'. + format(ckpt_dir)) + return model_checkpoint_path + + +# Params are passed to BenchmarkCNN's constructor. Params is a map from name +# to value, with one field per key in flags.param_specs. +# +# Call make_params() or make_params_from_flags() below to construct a Params +# tuple with default values from flags.param_specs, rather than constructing +# Params directly. +Params = namedtuple('Params', flags.param_specs.keys()) # pylint: disable=invalid-name + + +def validate_params(params): + """Validates that the Params tuple had valid values. + + When command-line flags are defined for each ParamSpec by calling + flags.define_flags(), calling this function is unnecessary because absl + already does flag validation. Otherwise, this function should be called. + + Args: + params: A Params tuple. + Raises: + ValueError: An element of params had an invalid value. + """ + for name, value in params._asdict().items(): + param_spec = flags.param_specs[name] + if param_spec.flag_type in ('integer', 'float'): + if (value is not None and param_spec.kwargs['lower_bound'] is not None and + value < param_spec.kwargs['lower_bound']): + raise ValueError('Param %s value of %s is lower than the lower bound ' + 'of %s' % + (name, value, param_spec.kwargs['lower_bound'])) + if (value is not None and param_spec.kwargs['upper_bound'] is not None and + param_spec.kwargs['upper_bound'] < value): + raise ValueError('Param %s value of %s is higher than the upper bound ' + 'of %s' % + (name, value, param_spec.kwargs['upper_bound'])) + elif (value is not None and param_spec.flag_type == 'enum' and + value not in param_spec.kwargs['enum_values']): + raise ValueError('Param %s of value %s is not in %s'% + (name, value, param_spec.kwargs['enum_values'])) + + +def make_params(**kwargs): + """Create a Params tuple for BenchmarkCNN from kwargs. + + Default values are filled in from flags.param_specs. + + Args: + **kwargs: kwarg values will override the default values. + Returns: + Params namedtuple for constructing BenchmarkCNN. + """ + # Create a (name: default_value) map from flags.param_specs. + default_kwargs = { + name: flags.param_specs[name].default_value + for name in flags.param_specs + } + params = Params(**default_kwargs)._replace(**kwargs) + validate_params(params) + return params + + +def make_params_from_flags(): + """Create a Params tuple for BenchmarkCNN from absl_flags.FLAGS. + + Returns: + Params namedtuple for constructing BenchmarkCNN. + """ + # Collect (name: value) pairs for absl_flags.FLAGS with matching names in + # flags.param_specs. + flag_values = {name: getattr(absl_flags.FLAGS, name) + for name in flags.param_specs.keys()} + return Params(**flag_values) + + +def remove_param_fields(params, fields_to_remove): + """Remove fields from a Params namedtuple.""" + params_dict = params._asdict() + for field in fields_to_remove: + assert field in params_dict, 'Invalid Params field: ' + field + params_dict = {k: v for k, v in params_dict.items() + if k not in fields_to_remove} + new_params_type = namedtuple('Params', params_dict.keys()) + return new_params_type(**params_dict) + + +def get_num_batches_and_epochs(params, batch_size, num_examples_per_epoch): + """Returns the number of batches and epochs to run for. + + Args: + params: Params tuple, typically created by make_params or + make_params_from_flags. + batch_size: The number of images per step. + num_examples_per_epoch: The number of images in a single epoch. + + Returns: + num_batches: The number of batches to run for. + num_epochs: The number of epochs to run for. This might be slightly + smaller than params.num_epochs if specified, because the number of batches + must be an integer. + + Raises: + ValueError: Invalid or unsupported params. + """ + if params.num_batches and params.num_epochs: + raise ValueError('At most one of --num_batches and --num_epochs may be ' + 'specified.') + if params.num_epochs: + num_batches = int(params.num_epochs * num_examples_per_epoch + + batch_size - 1) // batch_size + else: + num_batches = params.num_batches or _DEFAULT_NUM_BATCHES + num_epochs = num_batches * batch_size / num_examples_per_epoch + return (num_batches, num_epochs) + + +def get_piecewise_learning_rate(piecewise_learning_rate_schedule, + global_step, num_batches_per_epoch): + """Returns a piecewise learning rate tensor. + + Args: + piecewise_learning_rate_schedule: The --piecewise_learning_rate_schedule + parameter + global_step: Scalar tensor representing the global step. + num_batches_per_epoch: float indicating the number of batches per epoch. + + Returns: + A scalar float tensor, representing the learning rate. + + Raises: + ValueError: piecewise_learning_rate_schedule is not formatted correctly. + """ + pieces = piecewise_learning_rate_schedule.split(';') + if len(pieces) % 2 == 0: + raise ValueError('--piecewise_learning_rate_schedule must have an odd ' + 'number of components') + values = [] + boundaries = [] + for i, piece in enumerate(pieces): + if i % 2 == 0: + try: + values.append(float(piece)) + except ValueError: + raise ValueError('Invalid learning rate: ' + piece) + else: + try: + boundaries.append(int(int(piece) * num_batches_per_epoch) - 1) + except ValueError: + raise ValueError('Invalid epoch: ' + piece) + return tf.train.piecewise_constant(global_step, boundaries, values, + name='piecewise_learning_rate') + + +def get_learning_rate(params, global_step, num_examples_per_epoch, model, + batch_size): + """Returns a learning rate tensor based on global_step. + + Args: + params: Params tuple, typically created by make_params or + make_params_from_flags. + global_step: Scalar tensor representing the global step. + num_examples_per_epoch: The number of examples per epoch. + model: The model.Model object to obtain the default learning rate from if no + learning rate is specified. + batch_size: Number of examples per step + + Returns: + A scalar float tensor, representing the learning rate. When evaluated, the + learning rate depends on the current value of global_step. + + Raises: + ValueError: Invalid or unsupported params. + """ + with tf.name_scope('learning_rate'): + num_batches_per_epoch = num_examples_per_epoch / batch_size + + if params.piecewise_learning_rate_schedule: + if (params.init_learning_rate is not None or + params.learning_rate_decay_factor or + params.minimum_learning_rate or params.num_epochs_per_decay): + raise ValueError('No other learning rate-related flags can be ' + 'specified if --piecewise_learning_rate_schedule is ' + 'specified') + learning_rate = get_piecewise_learning_rate( + params.piecewise_learning_rate_schedule, + global_step, num_batches_per_epoch) + elif params.init_learning_rate is not None: + learning_rate = params.init_learning_rate + if (params.num_epochs_per_decay > 0 and + params.learning_rate_decay_factor > 0): + decay_steps = int(num_batches_per_epoch * params.num_epochs_per_decay) + + # Decay the learning rate exponentially based on the number of steps. + learning_rate = tf.train.exponential_decay( + params.init_learning_rate, + global_step, + decay_steps, + params.learning_rate_decay_factor, + staircase=True) + + if params.minimum_learning_rate != 0.: + learning_rate = tf.maximum(learning_rate, + params.minimum_learning_rate) + else: + learning_rate = model.get_learning_rate(global_step, batch_size) + if params.num_learning_rate_warmup_epochs > 0 and ( + params.init_learning_rate is not None or + params.piecewise_learning_rate_schedule): + warmup_steps = int(num_batches_per_epoch * + params.num_learning_rate_warmup_epochs) + init_lr = params.init_learning_rate + if init_lr is None: + init_lr = float(params.piecewise_learning_rate_schedule.split(';')[0]) + warmup_lr = init_lr * tf.cast(global_step, tf.float32) / tf.cast( + warmup_steps, tf.float32) + learning_rate = tf.cond(global_step < warmup_steps, + lambda: warmup_lr, lambda: learning_rate) + + learning_rate = mlperf.logger.log_deferred_tensor_value( + mlperf.tags.OPT_LR, learning_rate, global_step, every_n=100) + return learning_rate + + +def get_optimizer(params, learning_rate): + """Returns the optimizer that should be used based on params.""" + if params.optimizer == 'momentum': + mlperf.logger.log(key=mlperf.tags.OPT_NAME, + value=mlperf.tags.SGD_WITH_MOMENTUM) + mlperf.logger.log(key=mlperf.tags.OPT_MOMENTUM, value=params.momentum) + opt = tf.train.MomentumOptimizer( + learning_rate, params.momentum, use_nesterov=True) + elif params.optimizer == 'sgd': + mlperf.logger.log(key=mlperf.tags.OPT_NAME, value=mlperf.tags.SGD) + opt = tf.train.GradientDescentOptimizer(learning_rate) + elif params.optimizer == 'rmsprop': + opt = tf.train.RMSPropOptimizer( + learning_rate, + params.rmsprop_decay, + momentum=params.rmsprop_momentum, + epsilon=params.rmsprop_epsilon) + elif params.optimizer == 'adam': + opt = tf.train.AdamOptimizer(learning_rate, params.adam_beta1, + params.adam_beta2, params.adam_epsilon) + else: + raise ValueError('Optimizer "{}" was not recognized'. + format(params.optimizer)) + return opt + + +def generate_tfprof_profile(profiler, tfprof_file): + """Generates a tfprof profile, writing it to a file and printing top ops. + + Args: + profiler: A tf.profiler.Profiler. `profiler.add_step` must have already been + called. + tfprof_file: The filename to write the ProfileProto to. + """ + profile_proto = profiler.serialize_to_string() + log_fn('Dumping ProfileProto to %s' % tfprof_file) + with gfile.Open(tfprof_file, 'wb') as f: + f.write(profile_proto) + + # Print out the execution times of the top operations. Note this + # information can also be obtained with the dumped ProfileProto, but + # printing it means tfprof doesn't have to be used if all the user wants + # is the top ops. + options = tf.profiler.ProfileOptionBuilder.time_and_memory() + options['max_depth'] = _NUM_OPS_TO_PRINT + options['order_by'] = 'accelerator_micros' + profiler.profile_operations(options) + + +class BenchmarkCNN(object): + """Class for benchmarking a cnn network.""" + + def __init__(self, params, dataset=None, model=None): + """Initialize BenchmarkCNN. + + Args: + params: Params tuple, typically created by make_params or + make_params_from_flags. + dataset: If not None, the dataset to use. Otherwise, params is used to + obtain the dataset. + model: If not None, the model to use. Otherwise, params is used to obtain + the model. + Raises: + ValueError: Unsupported params settings. + """ + mlperf.logger.log(key=mlperf.tags.RUN_START) + self.params = params + if params.eval: + self._doing_eval = True + else: + # Note self._doing_eval can later switch to True in self._do_eval() if + # self.params.eval_during_training_* is specified. + self._doing_eval = False + self.dataset = dataset or datasets.create_dataset(self.params.data_dir, + self.params.data_name) + self.model = model or model_config.get_model_config( + self.params.model, self.dataset, self.params) + self.trace_filename = self.params.trace_file + self.rewriter_config = self.params.rewriter_config + autotune_threshold = self.params.autotune_threshold if ( + self.params.autotune_threshold) else 1 + min_autotune_warmup = 5 * autotune_threshold * autotune_threshold + self.num_warmup_batches = self.params.num_warmup_batches if ( + self.params.num_warmup_batches is not None) else max( + 10, min_autotune_warmup) + self.graph_file = self.params.graph_file + self.resize_method = self.params.resize_method + self.sync_queue_counter = 0 + self.num_gpus = self.params.num_gpus + if self.params.gpu_indices: + self.gpu_indices = [int(x) for x in self.params.gpu_indices.split(',')] + else: + self.gpu_indices = [x for x in range(self.num_gpus)] + + if (self.params.device == 'cpu' and self.params.data_format == 'NCHW' and + not self.params.mkl): + raise ValueError('device=cpu requires that data_format=NHWC') + + if ((self.params.num_epochs_per_decay or + self.params.learning_rate_decay_factor) and + not (self.params.init_learning_rate is not None and + self.params.num_epochs_per_decay + and self.params.learning_rate_decay_factor)): + raise ValueError('If one of num_epochs_per_decay or ' + 'learning_rate_decay_factor is set, both must be set' + 'and learning_rate must be set') + if (self.params.minimum_learning_rate and + not (self.params.init_learning_rate is not None and + self.params.num_epochs_per_decay and + self.params.learning_rate_decay_factor)): + raise ValueError('minimum_learning_rate requires learning_rate,' + 'num_epochs_per_decay, and ' + 'learning_rate_decay_factor to be set') + + if (self.params.use_fp16 and self.params.fp16_vars and + 'replicated' in self.params.variable_update and + self.params.all_reduce_spec and 'nccl' in self.params.all_reduce_spec): + raise ValueError('fp16 variables are not supported with NCCL') + if (self.params.use_fp16 and self.params.fp16_vars and + self.params.gradient_repacking): + raise ValueError('--fp16_vars cannot be used with --gradient_repacking') + + if self.params.variable_update == 'horovod' and self.params.num_gpus > 1: + raise ValueError('Horovod benchmarks require num_gpus=1 on each worker') + + if self.params.variable_update == 'horovod' and self.params.job_name: + raise ValueError('job_name should not be specified for Horovod.') + + if self.params.use_fp16 and self.params.fp16_enable_auto_loss_scale: + if self.params.all_reduce_spec and 'nccl' in self.params.all_reduce_spec: + raise ValueError('Automatic loss scaling is not supported with NCCL.') + if self.params.variable_update not in ('parameter_server', 'replicated', + 'independent'): + raise ValueError('Automatic loss scaling is not supported with ' + 'variable_update=%s.' % self.params.variable_update) + if self.params.staged_vars: + raise ValueError('Automatic loss scaling is not supported with' + 'staged_vars.') + + if (self.params.debugger is not None and self.params.debugger != 'cli' and + ':' not in self.params.debugger): + raise ValueError('--debugger must be "cli" or in the form ' + 'host:port') + + if self.params.hierarchical_copy and self.params.num_gpus <= 1: + raise ValueError('--hierarchical_copy requires --num_gpus to be greater ' + 'than 1') + + if params.save_model_secs and params.save_model_steps: + raise ValueError('At most one of --save_model_secs and ' + '--save_model_steps can be specified') + + eval_during_training_flags = list(map(bool, [ + params.eval_during_training_every_n_steps, + params.eval_during_training_every_n_epochs, + params.eval_during_training_at_specified_steps, + params.eval_during_training_at_specified_epochs, + ])) + + if eval_during_training_flags.count(True) > 1: + raise ValueError('At most one flag with --eval_during_training_* prefix ' + 'must be specified.') + + eval_during_training_enabled = any(eval_during_training_flags) + + if eval_during_training_enabled: + if params.eval: + raise ValueError('At most one of --eval and --eval_during_training_* ' + 'must be specified') + if params.forward_only: + raise ValueError('At most one of --forward_only and ' + '--eval_during_training_* must be specified') + if params.job_name: + raise ValueError('--eval_during_training_* is not yet supported in ' + 'distributed mode.') + if params.staged_vars: + raise ValueError('--eval_during_training_* is not currently compatible ' + 'with --staged_vars') + + if params.stop_at_top_1_accuracy and not eval_during_training_enabled: + raise ValueError('--stop_at_top_1_accuracy is only supported with ' + '--eval_during_training_*') + if params.collect_eval_results_async and params.model != 'ssd300': + raise ValueError('--collect_eval_results_async only works with ssd300 ' + 'model currently.') + if self.params.forward_only and self.params.freeze_when_forward_only: + if self.params.train_dir is not None: + raise ValueError('In forward_only mode, when --freeze_when_forward_only' + ' is True, --train_dir should not be specified') + if self.params.data_dir and not self.params.datasets_use_prefetch: + raise ValueError('In forward_only mode, when --freeze_when_forward_only' + ' is True and --data_dir is set, ' + '--datasets_use_prefetch should be set to True') + if self.params.job_name: + raise ValueError('In forward_only mode, when --freeze_when_forward_only' + ' is True, --job_name should not be specified and ' + 'distributed running is not supported') + self.forward_only_and_freeze = True + else: + self.forward_only_and_freeze = False + if self.params.trt_mode: + raise ValueError('--trt_mode should not be specified if one of ' + '--forward_only and --freeze_when_forward_only is set ' + 'to False') + + self.mode = get_mode_from_params(self.params) + + # Use the batch size from the command line if specified, otherwise use the + # model's default batch size. Scale the benchmark's batch size by the + # number of GPUs. + if self.params.batch_size > 0: + self.model.set_batch_size(self.params.batch_size) + self.batch_size = self.model.get_batch_size() * self.num_gpus + if self.mode in (constants.BenchmarkMode.TRAIN, + constants.BenchmarkMode.TRAIN_AND_EVAL): + self.train_batch_size = self.batch_size + else: + self.train_batch_size = None + if self.mode in (constants.BenchmarkMode.EVAL, + constants.BenchmarkMode.TRAIN_AND_EVAL): + if self.params.eval_batch_size > 0: + self.eval_batch_size = self.params.eval_batch_size * self.num_gpus + else: + self.eval_batch_size = self.batch_size + else: + self.eval_batch_size = None + self.batch_group_size = self.params.batch_group_size + self.enable_auto_loss_scale = ( + self.params.use_fp16 and self.params.fp16_enable_auto_loss_scale) + self.loss_scale = None + self.loss_scale_normal_steps = None + + self.job_name = self.params.job_name # "" for local training + + # PS server is used for distributed jobs not using all-reduce. + use_ps_server = self.job_name and (self.params.variable_update != + 'distributed_all_reduce' and + self.params.variable_update != + 'collective_all_reduce') + # controller is used for distributed_all_reduce with > 1 worker. + use_controller = ( + self.params.variable_update == 'distributed_all_reduce' and + self.job_name) + if use_controller and not params.controller_host: + raise ValueError('When variable_update==distributed_all_reduce ' + 'controller_host must also be specified.') + # collective_all_reduce doesn't need a controller or ps + self.distributed_collective = ( + self.params.variable_update == 'collective_all_reduce' and + self.job_name) + + self.local_parameter_device_flag = self.params.local_parameter_device + if self.job_name: + self.task_index = self.params.task_index + self.cluster_manager = platforms_util.get_cluster_manager( + params, create_config_proto(params)) + assert isinstance(self.cluster_manager, cnn_util.BaseClusterManager) + + worker_prefix = '/job:worker/replica:0/task:%s' % self.task_index + if use_ps_server: + self.param_server_device = tf.train.replica_device_setter( + worker_device=worker_prefix + '/cpu:0', + cluster=self.cluster_manager.get_cluster_spec()) + # This device on which the queues for managing synchronization between + # servers should be stored. + self.sync_queue_devices = [ + '/job:ps/replica:0/task:%s/cpu:0' % i + for i in range(self.cluster_manager.num_ps()) + ] + else: + self.sync_queue_devices = ['/job:worker/replica:0/task:0/cpu:0'] + else: + self.task_index = 0 + self.cluster_manager = None + worker_prefix = '' + self.param_server_device = '/%s:0' % self.params.local_parameter_device + self.sync_queue_devices = [self.param_server_device] + + if self.cluster_manager: + self.num_workers = self.cluster_manager.num_workers() + elif self.params.variable_update == 'horovod': + import horovod.tensorflow as hvd # pylint: disable=g-import-not-at-top + self.num_workers = hvd.size() + else: + self.num_workers = 1 + self.num_ps = self.cluster_manager.num_ps() if self.cluster_manager else 0 + + if self.num_workers > 1 and self.params.all_reduce_spec == 'nccl': + raise ValueError('--all_reduce_spec=nccl is invalid in a ' + 'multi-worker job') + + # Device to use for ops that need to always run on the local worker's CPU. + self.cpu_device = '%s/cpu:0' % worker_prefix + + # Device to use for ops that need to always run on the local worker's + # compute device, and never on a parameter server device. + self.raw_devices = [ + '%s/%s:%i' % (worker_prefix, self.params.device, i) + for i in xrange(self.num_gpus) + ] + + subset = 'validation' if params.eval else 'train' + self.num_batches, self.num_epochs = get_num_batches_and_epochs( + params, self.batch_size * self.num_workers, + self.dataset.num_examples_per_epoch(subset)) + if self.mode in (constants.BenchmarkMode.EVAL, + constants.BenchmarkMode.TRAIN_AND_EVAL): + # TODO(reedwm): Currently we do extra eval logic for num_eval_batches and + # the preprocessor. We should encapsulate this logic into a shared + # function or class. + if params.num_eval_batches is None and params.num_eval_epochs is None: + eval_params = self.params + else: + eval_params = self.params._replace( + num_batches=self.params.num_eval_batches, + num_epochs=self.params.num_eval_epochs) + self.num_eval_batches, self.num_eval_epochs = get_num_batches_and_epochs( + eval_params, self.eval_batch_size * self.num_workers, + self.dataset.num_examples_per_epoch('validation')) + else: + self.num_eval_batches, self.num_eval_epochs = None, None + + num_train_examples_per_epoch = self.dataset.num_examples_per_epoch('train') + if self.params.eval_during_training_every_n_epochs: + n_epochs = self.params.eval_during_training_every_n_epochs + self.eval_during_training_at_specified_steps = { + (int(e * num_train_examples_per_epoch + self.batch_size - 1) // + self.batch_size) + for e in np.arange(n_epochs, self.num_epochs, n_epochs)} + + if self.params.eval_during_training_at_specified_steps: + try: + self.eval_during_training_at_specified_steps = set(map( + int, self.params.eval_during_training_at_specified_steps)) + except ValueError: + raise ValueError('Param eval_during_training_at_specified_steps value ' + 'of %s cannot be converted to a list of integers.' % + (self.params.eval_during_training_at_specified_steps)) + + if self.params.eval_during_training_at_specified_epochs: + try: + n_epochs = list(map( + float, self.params.eval_during_training_at_specified_epochs)) + offset = n_epochs[0] - 1 + if offset.is_integer(): + offset = int(offset) + mlperf.logger.log(key=mlperf.tags.EVAL_EPOCH_OFFSET, value=offset) + self.eval_during_training_at_specified_steps = { + (int(e * num_train_examples_per_epoch + self.batch_size - 1) // + self.batch_size) + for e in n_epochs} + except ValueError: + raise ValueError('Param eval_during_training_at_specified_epochs value ' + 'of %s cannot be converted to a list of floats.' % + (self.params.eval_during_training_at_specified_epochs)) + + if params.eval_during_training_every_n_epochs: + offset = params.eval_during_training_every_n_epochs - 1 + if offset.is_integer(): + offset = int(offset) + mlperf.logger.log(key=mlperf.tags.EVAL_EPOCH_OFFSET, value=offset) + + if (self.params.staged_vars and + self.params.variable_update != 'parameter_server'): + raise ValueError('staged_vars for now is only supported with ' + 'variable_update=parameter_server') + + if self.params.variable_update == 'parameter_server': + if self.job_name: + if not self.params.staged_vars: + self.variable_mgr = variable_mgr.VariableMgrDistributedFetchFromPS( + self) + else: + self.variable_mgr = ( + variable_mgr.VariableMgrDistributedFetchFromStagedPS(self)) + else: + if not self.params.staged_vars: + self.variable_mgr = variable_mgr.VariableMgrLocalFetchFromPS(self) + else: + self.variable_mgr = variable_mgr.VariableMgrLocalFetchFromStagedPS( + self) + elif self.params.variable_update == 'replicated': + if self.job_name: + raise ValueError('Invalid variable_update in distributed mode: %s' % + self.params.variable_update) + self.variable_mgr = variable_mgr.VariableMgrLocalReplicated( + self, self.params.all_reduce_spec, + self.params.agg_small_grads_max_bytes, + self.params.agg_small_grads_max_group, + self.params.allreduce_merge_scope) + elif self.params.variable_update == 'distributed_all_reduce': + assert self.params.cross_replica_sync + self.variable_mgr = variable_mgr.VariableMgrDistributedAllReduce( + self, self.params.all_reduce_spec, + ('worker' if self.num_workers > 1 else 'localhost'), + self.num_workers, self.params.agg_small_grads_max_bytes, + self.params.agg_small_grads_max_group, + self.params.allreduce_merge_scope) + elif self.params.variable_update == 'collective_all_reduce': + assert self.params.cross_replica_sync + self.variable_mgr = variable_mgr.VariableMgrCollectiveAllReduce( + self, self.params.all_reduce_spec, + self.num_workers, self.num_gpus, self.task_index, + self.params.allreduce_merge_scope) + elif self.params.variable_update == 'distributed_replicated': + assert self.params.cross_replica_sync + if not self.job_name: + raise ValueError('Invalid variable_update in local mode: %s' % + self.params.variable_update) + self.variable_mgr = variable_mgr.VariableMgrDistributedReplicated(self) + elif self.params.variable_update in ('independent', 'horovod'): + if self.job_name: + raise ValueError('Invalid variable_update in distributed mode: %s' % + self.params.variable_update) + self.variable_mgr = variable_mgr.VariableMgrIndependent(self) + else: + raise ValueError( + 'Invalid variable_update: %s' % self.params.variable_update) + + # Device to use for running on the local worker's compute device, but + # with variables assigned to parameter server devices. + self.devices = self.variable_mgr.get_devices() + if self.job_name: + if use_ps_server: + self.global_step_device = self.param_server_device + elif self.params.variable_update == 'collective_all_reduce': + self.global_step_device = self.cpu_device + else: + self.global_step_device = '/job:worker/replica:0/task:0/cpu:0' + else: + self.global_step_device = self.cpu_device + + self.input_preprocessor = None + self.eval_input_preprocessor = None + if not self.dataset.use_synthetic_gpu_inputs(): + if not self.params.eval: + self.input_preprocessor = self.get_input_preprocessor() + if self.mode in (constants.BenchmarkMode.EVAL, + constants.BenchmarkMode.TRAIN_AND_EVAL): + with self._do_eval(): + self.eval_input_preprocessor = self.get_input_preprocessor() + self.datasets_use_prefetch = ( + self.params.datasets_use_prefetch and + # TODO(rohanj): Figure out why --datasets_use_prefetch freezes on the + # CPU. + self.params.device.lower() != 'cpu' and + self.input_preprocessor and + self.input_preprocessor.supports_datasets()) + self.init_global_step = 0 + + self._config_benchmark_logger() + + if self.mode == constants.BenchmarkMode.TRAIN_AND_EVAL: + # Remove "eval" from params so it is not accidentally used. Since eval can + # still occur despite params.eval being False, params.eval should never + # be used. We cannot yet remove this unconditionally, because the SSD + # model still uses params.eval, and hence does not work properly with + # --eval_during_training_*. + # TODO(b/116627045): We should also remove fields that have an eval + # equivalent, like num_batches and num_eval_batches. + self.params = remove_param_fields(self.params, {'eval'}) + + @contextlib.contextmanager + def _do_eval(self): + """Context manager to switches BenchmarkCNN to eval mode. + + Any evaluation code should be put under this context manager. This context + manager switches self._doing_eval to True. It also switches certain + attributes, like self.num_batches and self.num_epochs, to be the number of + batches and epochs for evaluation respectively + + Yields: + Nothing. + """ + # TODO(b/116627045): Find a more general way of switching attributes to the + # eval equivalents. + old_doing_eval = self._doing_eval + old_num_batches = self.num_batches + old_num_epochs = self.num_epochs + old_batch_size = self.batch_size + try: + self._doing_eval = True + self.num_batches = self.num_eval_batches + self.num_epochs = self.num_eval_epochs + self.batch_size = self.eval_batch_size + self.model.set_batch_size(self.eval_batch_size // self.num_gpus) + yield + finally: + self._doing_eval = old_doing_eval + self.num_batches = old_num_batches + self.num_epochs = old_num_epochs + self.batch_size = old_batch_size + self.model.set_batch_size(old_batch_size // self.num_gpus) + + def _config_benchmark_logger(self): + """Config the model garden benchmark logger.""" + model_benchmark_logger = None + if self.params.benchmark_log_dir is not None: + try: + from official.utils.logs import logger as models_logger # pylint: disable=g-import-not-at-top + except ImportError: + tf.logging.fatal('Please include tensorflow/models to the PYTHONPATH ' + 'in order to use BenchmarkLogger. Configured ' + 'benchmark_log_dir: %s' + % self.params.benchmark_log_dir) + raise + model_benchmark_logger = models_logger.BenchmarkFileLogger( + self.params.benchmark_log_dir) + self.benchmark_logger = model_benchmark_logger + + # TODO(laigd): this changes the global device list which is used everywhere, + # consider refactoring it. + def reset_devices_for_task(self, task_num, is_local=False): + """Used to imitate another task when building a distributed graph.""" + worker_prefix = ('/job:localhost' if is_local else + '/job:worker/replica:0/task:%s' % task_num) + self.cpu_device = '%s/cpu:0' % worker_prefix + self.raw_devices = [ + '%s/%s:%i' % (worker_prefix, self.params.device, i) + for i in xrange(self.num_gpus) + ] + self.devices = self.variable_mgr.get_devices() + + def raw_devices_across_tasks(self, is_local=False): + """Returns list of raw device names across all tasks.""" + if is_local: + assert self.num_workers == 1 + return self.raw_devices + else: + return [ + 'job:worker/replica:0/task%s/%s:%i' % (t, self.params.device, i) + for t in xrange(self.num_workers) + for i in xrange(self.num_gpus) + ] + + def print_info(self): + """Print basic information.""" + benchmark_info = self._get_params_info() + log_fn('Model: %s' % self.model.get_model_name()) + log_fn('Dataset: %s' % benchmark_info['dataset_name']) + log_fn('Mode: %s' % self.mode) + log_fn('SingleSess: %s' % benchmark_info['single_session']) + log_fn('Batch size: %s global' % (self.batch_size * self.num_workers)) + log_fn(' %s per device' % (self.batch_size // + len(self.raw_devices))) + if self.batch_group_size > 1: + log_fn(' %d batches per prepocessing group' % + self.batch_group_size) + log_fn('Num batches: %d' % self.num_batches) + log_fn('Num epochs: %.2f' % self.num_epochs) + log_fn('Devices: %s' % benchmark_info['device_list']) + log_fn('NUMA bind: %s' % self.params.use_numa_affinity) + log_fn('Data format: %s' % self.params.data_format) + if self.rewriter_config: + log_fn('RewriterConfig: %s' % self.rewriter_config) + log_fn('Optimizer: %s' % self.params.optimizer) + log_fn('Variables: %s' % self.params.variable_update) + if (self.params.variable_update == 'replicated' or + self.params.variable_update == 'distributed_all_reduce' + or self.params.variable_update == 'collective_all_reduce'): + log_fn('AllReduce: %s' % self.params.all_reduce_spec) + if self.job_name: + log_fn('Sync: %s' % self.params.cross_replica_sync) + if self.params.staged_vars: + log_fn('Staged vars: %s' % self.params.staged_vars) + if self.params.variable_update == 'horovod' and self.params.horovod_device: + log_fn('Horovod on: %s' % self.params.horovod_device) + log_fn('==========') + + def _get_params_info(self): + """Get the common parameters info for the benchmark run. + + Returns: + A dict of processed parameters. + """ + dataset_name = self.dataset.name + if self.dataset.use_synthetic_gpu_inputs(): + dataset_name += ' (synthetic)' + single_session = self.params.variable_update == 'distributed_all_reduce' + if single_session: + device_list = self.raw_devices_across_tasks() + elif self.params.variable_update == 'horovod': + device_list = ['horovod/%s:%d' % (self.params.device, idx) + for idx in range(self.num_workers)] + else: + device_list = self.raw_devices + return { + 'dataset_name': dataset_name, + 'single_session': single_session, + 'device_list': device_list,} + + def _log_benchmark_run(self): + """Log the benchmark info to the logger. + + The info logged here should be similar to print_info(), but in a structured + JSON format. + """ + if self.benchmark_logger: + benchmark_info = self._get_params_info() + + run_param = { + 'model': self.model.get_model_name(), + 'dataset': benchmark_info['dataset_name'], + 'mode': self.mode, + 'single_sess': benchmark_info['single_session'], + 'devices': benchmark_info['device_list'], + 'batch_size': self.batch_size, + 'batch_size_per_device': self.batch_size // len(self.raw_devices), + 'num_batches': self.num_batches, + 'num_epochs': self.num_epochs, + 'data_format': self.params.data_format, + 'rewrite_config': self.rewriter_config, + 'optimizer': self.params.optimizer, + 'session_config': create_config_proto(self.params), + } + # TODO(scottzhu): tf_cnn_benchmark might execute several times with + # different param setting on the same box. This will cause the run file to + # only contain the latest info. The benchmark_log_dir should be updated + # for every new run. + self.benchmark_logger.log_run_info( + self.model.get_model_name(), benchmark_info['dataset_name'], + run_param, test_id=self.params.benchmark_test_id) + + def run(self): + """Run the benchmark task assigned to this process. + + Returns: + Dictionary of statistics for training or eval. + Raises: + ValueError: unrecognized job name. + """ + if self.params.job_name == 'ps': + log_fn('Running parameter server %s' % self.task_index) + self.cluster_manager.join_server() + return {} + + # For distributed_all_reduce with multiple workers, drive + # from a separate controller process. + if self.params.variable_update == 'distributed_all_reduce': + if self.params.job_name == 'worker': + log_fn('Starting worker %s' % self.task_index) + self.cluster_manager.join_server() + return + elif self.params.job_name and self.params.job_name != 'controller': + raise ValueError('unrecognized job name: %s' % self.params.job_name) + + self._log_benchmark_run() + if self._doing_eval: + with tf.Graph().as_default(): + # TODO(laigd): freeze the graph in eval mode. + return self._run_eval() + else: + return self._benchmark_train() + + def _run_eval(self): + """Evaluate a model every self.params.eval_interval_secs. + + Returns: + Dictionary containing eval statistics. Currently returns an empty + dictionary. + + Raises: + ValueError: If self.params.train_dir is unspecified. + """ + if self.params.train_dir is None: + raise ValueError('Trained model directory not specified') + graph_info = self._build_eval_graph() + saver = tf.train.Saver(self.variable_mgr.savable_variables()) + summary_writer = tf.summary.FileWriter(self.params.eval_dir, + tf.get_default_graph()) + target = '' + # TODO(huangyp): Check if checkpoints haven't updated for hours and abort. + while True: + with tf.Session( + target=target, config=create_config_proto(self.params)) as sess: + image_producer = None + try: + global_step = load_checkpoint(saver, sess, self.params.train_dir) + image_producer = self._initialize_eval_graph( + graph_info.enqueue_ops, graph_info.input_producer_op, + graph_info.local_var_init_op_group, sess) + except CheckpointNotFoundException: + log_fn('Checkpoint not found in %s' % self.params.train_dir) + else: # Only executes if an exception was not thrown + self._eval_once(sess, summary_writer, graph_info.fetches, + graph_info.summary_op, image_producer, global_step) + if image_producer is not None: + image_producer.done() + if self.params.eval_interval_secs <= 0: + break + time.sleep(self.params.eval_interval_secs) + return {} + + def _build_eval_graph(self, scope_name=None): + """Build the evaluation graph. + + Args: + scope_name: String to filter what summaries are collected. Only summary + ops whose name contains `scope_name` will be added, which is useful for + only including evaluation ops. + + Returns: + A GraphInfo named_tuple containing various useful ops and tensors of the + evaluation grpah. + """ + with self._do_eval(): + input_producer_op, enqueue_ops, fetches = self._build_model() + local_var_init_op = tf.local_variables_initializer() + table_init_ops = tf.tables_initializer() + variable_mgr_init_ops = [local_var_init_op] + if table_init_ops: + variable_mgr_init_ops.extend([table_init_ops]) + with tf.control_dependencies([local_var_init_op]): + variable_mgr_init_ops.extend(self.variable_mgr.get_post_init_ops()) + local_var_init_op_group = tf.group(*variable_mgr_init_ops) + + summary_op = tf.summary.merge_all(scope=scope_name) + # The eval graph has no execution barrier because it doesn't run in + # distributed mode. + execution_barrier = None + # We do not use the global step during evaluation. + global_step = None + return GraphInfo(input_producer_op, enqueue_ops, fetches, + execution_barrier, global_step, local_var_init_op_group, + summary_op) + + # TODO(reedwm): For consistency, we should have a similar + # "_initialize_train_graph" function. They can likely be the same function. + def _initialize_eval_graph(self, enqueue_ops, input_producer_op, + local_var_init_op_group, sess): + """Initializes the evaluation graph. + + Args: + enqueue_ops: Ops that adds the preprocessed images to the staging areas. + input_producer_op: Op that produce the input batches (before + preprocessing). + local_var_init_op_group: Group of ops that perform per-device + initialization work. + sess: The session to initialize the eval graph with. + + Returns: + An ImageProducer, or None if an ImageProducer isn't being used. + """ + with self._do_eval(): + if local_var_init_op_group is not None: + # We might reinitialize local variables if they were already initialized + # during training. This is OK. + sess.run(local_var_init_op_group) + if self.dataset.queue_runner_required(): + tf.train.start_queue_runners(sess=sess) + image_producer = None + if input_producer_op is not None: + image_producer = cnn_util.ImageProducer( + sess, input_producer_op, self.batch_group_size, + self.params.use_python32_barrier) + image_producer.start() + if enqueue_ops: + for i in xrange(len(enqueue_ops)): + sess.run(enqueue_ops[:(i + 1)]) + if image_producer is not None: + image_producer.notify_image_consumption() + return image_producer + + def _eval_once(self, sess, summary_writer, fetches, summary_op, + image_producer, global_step): + """Evaluate the model using the validation dataset.""" + with self._do_eval(): + mlperf.logger.log_eval_epoch( + mlperf.tags.EVAL_START, global_step, self.batch_size) + loop_start_time = start_time = time.time() + # TODO(laigd): refactor the part to compute/report the accuracy. Currently + # it only works for image models. + top_1_accuracy_sum = 0.0 + top_5_accuracy_sum = 0.0 + total_eval_count = self.num_batches * self.batch_size + pred_classes = [] + for step in xrange(self.num_batches): + if (summary_writer and self.params.save_summaries_steps > 0 and + (step + 1) % self.params.save_summaries_steps == 0): + results, summary_str = sess.run([fetches, summary_op]) + summary_writer.add_summary(summary_str) + else: + results = sess.run(fetches) + # Make global_step available in results for postprocessing. + results['global_step'] = global_step + results = self.model.postprocess(results) + pred_classes.append(results['all_logits']) + top_1_accuracy_sum += results['top_1_accuracy'] + top_5_accuracy_sum += results['top_5_accuracy'] + if (step + 1) % self.params.display_every == 0: + duration = time.time() - start_time + examples_per_sec = ( + self.batch_size * self.params.display_every / duration) + log_fn('%i\t%.1f examples/sec' % (step + 1, examples_per_sec)) + start_time = time.time() + if image_producer is not None: + image_producer.notify_image_consumption() + pred_classes = np.squeeze(np.array(pred_classes)) + save_postfix = 'nv' if 'nv' in self.params.save_dir else 'bi' + np.save('{}/pred_classes_{}_{}.npy'.format(self.params.save_dir, self.params.model, save_postfix), pred_classes) + loop_end_time = time.time() + accuracy_at_1 = top_1_accuracy_sum / self.num_batches + accuracy_at_5 = top_5_accuracy_sum / self.num_batches + summary = tf.Summary() + summary.value.add(tag='eval/Accuracy@1', simple_value=accuracy_at_1) + summary.value.add(tag='eval/Accuracy@5', simple_value=accuracy_at_5) + for result_key, result_value in results.items(): + if result_key.startswith(constants.SIMPLE_VALUE_RESULT_PREFIX): + prefix_len = len(constants.SIMPLE_VALUE_RESULT_PREFIX) + summary.value.add(tag='eval/' + result_key[prefix_len:], + simple_value=result_value) + if summary_writer: + summary_writer.add_summary(summary, global_step) + log_fn('Accuracy @ 1 = %.4f Accuracy @ 5 = %.4f [%d examples]' % + (accuracy_at_1, accuracy_at_5, total_eval_count)) + elapsed_time = loop_end_time - loop_start_time + images_per_sec = (self.num_batches * self.batch_size / elapsed_time) + if self.mode != constants.BenchmarkMode.TRAIN_AND_EVAL: + # Note that we compute the top 1 accuracy and top 5 accuracy for each + # batch, which will have a slight performance impact. + log_fn('-' * 64) + log_fn('total images/sec: %.2f' % images_per_sec) + log_fn('-' * 64) + if self.benchmark_logger: + eval_result = { + 'eval_top_1_accuracy', accuracy_at_1, + 'eval_top_5_accuracy', accuracy_at_5, + 'eval_average_examples_per_sec', images_per_sec, + tf.GraphKeys.GLOBAL_STEP, global_step, + } + self.benchmark_logger.log_evaluation_result(eval_result) + mlperf.logger.log_eval_epoch( + mlperf.tags.EVAL_STOP, global_step, self.batch_size) + mlperf.logger.log(key=mlperf.tags.EVAL_SIZE, + value=self.num_batches * self.batch_size) + if self.params.model != 'ssd300': # ssd300 logs eval accuracy elsewhere. + mlperf.logger.log_eval_accuracy( + accuracy_at_1, global_step, self.train_batch_size, + examples_per_epoch=self.dataset.num_examples_per_epoch('train')) + if self.params.stop_at_top_1_accuracy: + mlperf.logger.log(key=mlperf.tags.EVAL_TARGET, + value=self.params.stop_at_top_1_accuracy) + return accuracy_at_1, accuracy_at_5 + + def _benchmark_train(self): + """Run cnn in benchmark mode. Skip the backward pass if forward_only is on. + + Returns: + Dictionary containing training statistics (num_workers, num_steps, + average_wall_time, images_per_sec). + """ + graph = tf.Graph() + with graph.as_default(): + build_result = self._build_graph() + if self.mode == constants.BenchmarkMode.TRAIN_AND_EVAL: + with self.variable_mgr.reuse_variables(): + with tf.name_scope('Evaluation') as ns: + eval_build_results = self._build_eval_graph(ns) + else: + eval_build_results = None + (graph, result_to_benchmark) = self._preprocess_graph(graph, build_result) + with graph.as_default(): + return self._benchmark_graph(result_to_benchmark, eval_build_results) + + GPU_CACHED_INPUT_VARIABLE_NAME = 'gpu_cached_inputs' + + def _unfreezable_local_variables(self, graph): + """Get the local variables that we don't want to freeze.""" + return graph.get_collection( + tf.GraphKeys.LOCAL_VARIABLES, + # We don't freeze the gpu_cached_images local variable so it won't get + # constant folded with ops which process the input. + scope='.*' + BenchmarkCNN.GPU_CACHED_INPUT_VARIABLE_NAME) + + def _build_graph(self): + """Build the graph. + + Returns: + A namedtuple containing the ops/tensors that required by + _benchmark_graph(). + """ + if self.params.variable_update == 'distributed_all_reduce': + self.single_session = True + (input_producer_op, enqueue_ops, fetches) = ( + self._build_model_single_session()) + else: + self.single_session = False + (input_producer_op, enqueue_ops, fetches) = self._build_model() + fetches_list = nest.flatten(list(fetches.values())) + main_fetch_group = tf.group(*fetches_list, name='main_fetch_group') + execution_barrier = None + if (not self.single_session and self.job_name and + not self.params.cross_replica_sync): + execution_barrier = self.add_sync_queues_and_barrier( + 'execution_barrier_', []) + + global_step = tf.train.get_global_step() + with tf.device(self.global_step_device), tf.name_scope('inc_global_step'): + with tf.control_dependencies([main_fetch_group]): + fetches['inc_global_step'] = global_step.assign_add(1) + + if ((not self.single_session) and (not self.distributed_collective) and + self.job_name and self.params.cross_replica_sync): + # Block all replicas until all replicas are ready for next step. + fetches['sync_queues'] = self.add_sync_queues_and_barrier( + 'sync_queues_step_end_', [main_fetch_group]) + + # Skips the init ops for freezable local variables in forward_only mode so + # we can remove all the assign ops when converting variables to constants. + with tf.name_scope('local_variable_initialization'): + if self.forward_only_and_freeze: + local_var_init_op = tf.variables_initializer( + self._unfreezable_local_variables(tf.get_default_graph())) + else: + local_var_init_op = tf.local_variables_initializer() + table_init_ops = tf.tables_initializer() + + variable_manager_init_ops = [local_var_init_op] + if table_init_ops: + variable_manager_init_ops.extend([table_init_ops]) + if not self.forward_only_and_freeze: + with tf.control_dependencies([local_var_init_op]): + variable_manager_init_ops.extend(self.variable_mgr.get_post_init_ops()) + if ((not self.single_session) and (not self.distributed_collective) and + self.job_name and self.params.cross_replica_sync): + # Ensure all workers execute variable_manager_init_ops before they start + # executing the model. + variable_manager_init_ops.append( + self.add_sync_queues_and_barrier('init_ops_end_', + variable_manager_init_ops)) + local_var_init_op_group = tf.group(*variable_manager_init_ops, + name='local_var_init_op_group') + summary_op = tf.summary.merge_all() + + return GraphInfo( + input_producer_op=input_producer_op, + enqueue_ops=enqueue_ops, + fetches=fetches, + execution_barrier=execution_barrier, + global_step=global_step, + local_var_init_op_group=local_var_init_op_group, + summary_op=summary_op) + + def _benchmark_graph(self, graph_info, eval_graph_info): + """Benchmark the training graph. + + Args: + graph_info: the namedtuple returned by _build_graph() which + contains all necessary information to benchmark the graph, including + named tensors/ops list, fetches, etc. + eval_graph_info: Similar to graph_info but for the eval graph if + --eval_during_training_* is used. Otherwise, None. + Returns: + Dictionary containing training statistics (num_workers, num_steps, + average_wall_time, images_per_sec). + """ + log_fn('Initializing graph') + if self.params.variable_update == 'horovod': + import horovod.tensorflow as hvd # pylint: disable=g-import-not-at-top + # First worker will be 'chief' - it will write summaries and + # save checkpoints. + is_chief = hvd.rank() == 0 + else: + is_chief = (not self.job_name or self.task_index == 0) + + summary_writer = None + if (is_chief and self.params.summary_verbosity and self.params.train_dir and + self.params.save_summaries_steps > 0): + summary_writer = tf.summary.FileWriter(self.params.train_dir, + tf.get_default_graph()) + + # We want to start the benchmark timer right after a image_producer barrier + # and avoids undesired waiting times on barriers. + if ((self.num_warmup_batches + len(graph_info.enqueue_ops) - 1) % + self.batch_group_size) != 0: + self.num_warmup_batches = int( + math.ceil( + (self.num_warmup_batches + len(graph_info.enqueue_ops) - 1.0) / + (self.batch_group_size)) * self.batch_group_size - + len(graph_info.enqueue_ops) + 1) + log_fn('Round up warm up steps to %d to match batch_group_size' % + self.num_warmup_batches) + assert ((self.num_warmup_batches + len(graph_info.enqueue_ops) - 1) % + self.batch_group_size) == 0 + # We run the summaries in the same thread as the training operations by + # passing in None for summary_op to avoid a summary_thread being started. + # Running summaries and training operations in parallel could run out of + # GPU memory. + if is_chief and not self.forward_only_and_freeze: + saver = tf.train.Saver( + self.variable_mgr.savable_variables(), + save_relative_paths=True, + max_to_keep=self.params.max_ckpts_to_keep) + else: + saver = None + ready_for_local_init_op = None + if self.job_name and not (self.single_session or + self.distributed_collective): + # In distributed mode, we don't want to run local_var_init_op_group until + # the global variables are initialized, because local_var_init_op_group + # may use global variables (such as in distributed replicated mode). We + # don't set this in non-distributed mode, because in non-distributed mode, + # local_var_init_op_group may itself initialize global variables (such as + # in replicated mode). + ready_for_local_init_op = tf.report_uninitialized_variables( + tf.global_variables()) + if self.params.variable_update == 'horovod': + import horovod.tensorflow as hvd # pylint: disable=g-import-not-at-top + bcast_global_variables_op = hvd.broadcast_global_variables(0) + else: + bcast_global_variables_op = None + + if self.params.variable_update == 'collective_all_reduce': + # It doesn't matter what this collective_graph_key value is, + # so long as it's > 0 and the same at every worker. + init_run_options = tf.RunOptions() + init_run_options.experimental.collective_graph_key = 6 + else: + init_run_options = tf.RunOptions() + local_var_init_ops = [graph_info.local_var_init_op_group] + if eval_graph_info: + # `eval_graph_info.local_var_init_op_group` also includes some of the + # training initializer ops, since it's difficult to filter them out. + # Rerunning the training initializer ops is OK, but we add a control + # dependency since running two sets of training initializer ops at the + # same time can cause race conditions. + with tf.control_dependencies(local_var_init_ops): + local_var_init_ops.append(eval_graph_info.local_var_init_op_group) + sv = tf.train.Supervisor( + # For the purpose of Supervisor, all Horovod workers are 'chiefs', + # since we want session to be initialized symmetrically on all the + # workers. + is_chief=is_chief or (self.params.variable_update == 'horovod' + or self.distributed_collective), + # Log dir should be unset on non-chief workers to prevent Horovod + # workers from corrupting each other's checkpoints. + logdir=self.params.train_dir if is_chief else None, + ready_for_local_init_op=ready_for_local_init_op, + local_init_op=local_var_init_ops, + saver=saver, + global_step=graph_info.global_step, + summary_op=None, + save_model_secs=self.params.save_model_secs, + summary_writer=summary_writer, + local_init_run_options=init_run_options) + + profiler = tf.profiler.Profiler() if self.params.tfprof_file else None + if self.graph_file is not None: + path, filename = os.path.split(self.graph_file) + as_text = filename.endswith('txt') + log_fn('Writing GraphDef as %s to %s' % ( # pyformat break + 'text' if as_text else 'binary', self.graph_file)) + tf.train.write_graph(tf.get_default_graph().as_graph_def(add_shapes=True), + path, filename, as_text) + + start_standard_services = ( + self.params.train_dir or + self.dataset.queue_runner_required()) + target = self.cluster_manager.get_target() if self.cluster_manager else '' + with sv.managed_session( + master=target, + config=create_config_proto(self.params), + start_standard_services=start_standard_services) as sess: + # Anything that can potentially raise an OutOfRangeError with 'sess' MUST + # be under this try block. The managed_session() context manager silently + # ignores OutOfRangeError, so we must catch them and wrap them with + # a different exception type so that they can be propagated up to the + # caller. + try: + stats = self.benchmark_with_session( + sess, sv, graph_info, eval_graph_info, bcast_global_variables_op, + is_chief, summary_writer, profiler) + except tf.errors.OutOfRangeError: + raise RuntimeError( + 'Received OutOfRangeError. Wrapping in Runtime error to avoid ' + 'Supervisor from suppressing the error. Original OutOfRangeError ' + 'with traceback:\n' + traceback.format_exc()) + + sv.stop() + if profiler: + generate_tfprof_profile(profiler, self.params.tfprof_file) + return stats + + def benchmark_with_session(self, sess, supervisor, graph_info, + eval_graph_info, bcast_global_variables_op, + is_chief, summary_writer, profiler): + """Benchmarks the graph with the given session. + + Args: + sess: The session to benchmark the graph with + supervisor: The Supervisor that created the session. + graph_info: the namedtuple returned by _build_graph() which + contains all necessary information to benchmark the graph, including + named tensors/ops list, fetches, etc. + eval_graph_info: Similar to graph_info but for the eval graph if + --eval_during_training_every_n_steps is used. Otherwise, None. + bcast_global_variables_op: If Horovod is used, the op to broadcast the + global variables to all the processes. None if Horovod is not used. + is_chief: True if this is the chief process. + summary_writer: The SummaryWriter used to write summaries, or None if + summaries are not used. + profiler: The tf.profiler.Profiler, or None if tfprof is not used. + + Returns: + Dictionary containing training statistics (num_workers, num_steps, + average_wall_time, images_per_sec). + """ + if self.params.backbone_model_path is not None: + self.model.load_backbone_model(sess, self.params.backbone_model_path) + if bcast_global_variables_op: + sess.run(bcast_global_variables_op) + image_producer = None + if graph_info.input_producer_op is not None: + image_producer = cnn_util.ImageProducer( + sess, graph_info.input_producer_op, self.batch_group_size, + self.params.use_python32_barrier) + image_producer.start() + if graph_info.enqueue_ops: + for i in xrange(len(graph_info.enqueue_ops)): + sess.run(graph_info.enqueue_ops[:(i + 1)]) + if image_producer is not None: + image_producer.notify_image_consumption() + self.init_global_step, = sess.run([graph_info.global_step]) + if self.job_name and not self.params.cross_replica_sync: + # TODO(zhengxq): Do we need to use a global step watcher at all? + global_step_watcher = GlobalStepWatcher( + sess, graph_info.global_step, + self.num_workers * self.num_warmup_batches + + self.init_global_step, + self.num_workers * (self.num_warmup_batches + self.num_batches) - 1) + global_step_watcher.start() + else: + global_step_watcher = None + eval_image_producer = None + if eval_graph_info: + # We pass local_var_init_op_group=None because the Supervisor already + # initialized local variables above. We need to have the Supervisor + # initialize the local variables, because otherwise it throws an error + # complaining that not all variables were initialized. + eval_image_producer = self._initialize_eval_graph( + eval_graph_info.enqueue_ops, eval_graph_info.input_producer_op, + local_var_init_op_group=None, sess=sess) + step_train_times = [] + log_fn('Running warm up') + local_step = -1 * self.num_warmup_batches + if self.single_session: + # In single session mode, each step, the global_step is incremented by + # 1. In non-single session mode, each step, the global_step is + # incremented once per worker. This means we need to divide + # init_global_step by num_workers only in non-single session mode. + end_local_step = self.num_batches - self.init_global_step + else: + end_local_step = self.num_batches - (self.init_global_step // + self.num_workers) + if not global_step_watcher: + # In cross-replica sync mode, all workers must run the same number of + # local steps, or else the workers running the extra step will block. + done_fn = lambda: local_step >= end_local_step + else: + done_fn = global_step_watcher.done + if self.params.debugger is not None: + if self.params.debugger == 'cli': + log_fn('The CLI TensorFlow debugger will be used.') + sess = tf_debug.LocalCLIDebugWrapperSession(sess) + else: + log_fn('The TensorBoard debugger plugin will be used.') + sess = tf_debug.TensorBoardDebugWrapperSession(sess, + self.params.debugger) + mlperf.logger.log(key=mlperf.tags.TRAIN_LOOP) + skip_final_eval = False + accuracy_at_1 = None + accuracy_at_5 = None + last_eval_step = local_step + loop_start_time = time.time() + last_average_loss = None + while not done_fn(): + if local_step == 0: + log_fn('Done warm up') + if graph_info.execution_barrier: + log_fn('Waiting for other replicas to finish warm up') + sess.run([graph_info.execution_barrier]) + + # TODO(laigd): rename 'Img' to maybe 'Input'. + header_str = ('Step\tImg/sec\t' + + self.params.loss_type_to_report.replace('/', ' ')) + if self.params.print_training_accuracy or self.params.forward_only: + # TODO(laigd): use the actual accuracy op names of the model. + header_str += '\ttop_1_accuracy\ttop_5_accuracy' + log_fn(header_str) + assert len(step_train_times) == self.num_warmup_batches + # reset times to ignore warm up batch + step_train_times = [] + loop_start_time = time.time() + if (summary_writer and + (local_step + 1) % self.params.save_summaries_steps == 0): + fetch_summary = graph_info.summary_op + else: + fetch_summary = None + collective_graph_key = 7 if ( + self.params.variable_update == 'collective_all_reduce') else 0 + (summary_str, last_average_loss) = benchmark_one_step( + sess, graph_info.fetches, local_step, + self.batch_size * (self.num_workers + if self.single_session else 1), step_train_times, + self.trace_filename, self.params.partitioned_graph_file_prefix, + profiler, image_producer, self.params, fetch_summary, + benchmark_logger=self.benchmark_logger, + collective_graph_key=collective_graph_key) + if summary_str is not None and is_chief: + supervisor.summary_computed(sess, summary_str) + local_step += 1 + if (self.params.save_model_steps and + local_step % self.params.save_model_steps == 0 and + local_step > 0 and + is_chief): + supervisor.saver.save(sess, supervisor.save_path, + supervisor.global_step) + if (eval_graph_info and local_step > 0 and not done_fn() and + self._should_eval_during_training(local_step)): + python_global_step = sess.run(graph_info.global_step) + num_steps_since_last_eval = local_step - last_eval_step + # The INPUT_SIZE tag value might not match the + # PREPROC_NUM_TRAIN_EXAMPLES tag value, because the number of examples + # run, which is INPUT_SIZE, is rounded up to the nearest multiple of + # self.batch_size. + mlperf.logger.log( + key=mlperf.tags.INPUT_SIZE, + value=num_steps_since_last_eval * self.batch_size) + log_fn('Running evaluation at global_step {}'.format( + python_global_step)) + accuracy_at_1, accuracy_at_5 = self._eval_once( + sess, summary_writer, eval_graph_info.fetches, + eval_graph_info.summary_op, eval_image_producer, + python_global_step) + last_eval_step = local_step + if (self.params.stop_at_top_1_accuracy and + accuracy_at_1 >= self.params.stop_at_top_1_accuracy): + log_fn('Stopping, as eval accuracy at least %s was reached' % + self.params.stop_at_top_1_accuracy) + skip_final_eval = True + break + else: + log_fn('Resuming training') + if eval_graph_info and self.model.reached_target(): + log_fn('Stopping, as the model indicates its custom goal was reached') + skip_final_eval = True + break + loop_end_time = time.time() + # Waits for the global step to be done, regardless of done_fn. + if global_step_watcher: + while not global_step_watcher.done(): + time.sleep(.25) + if not global_step_watcher: + elapsed_time = loop_end_time - loop_start_time + average_wall_time = elapsed_time / local_step if local_step > 0 else 0 + images_per_sec = (self.num_workers * local_step * self.batch_size / + elapsed_time) + num_steps = local_step * self.num_workers + else: + # NOTE: Each worker independently increases the global step. So, + # num_steps will be the sum of the local_steps from each worker. + num_steps = global_step_watcher.num_steps() + elapsed_time = global_step_watcher.elapsed_time() + average_wall_time = (elapsed_time * self.num_workers / num_steps + if num_steps > 0 else 0) + images_per_sec = num_steps * self.batch_size / elapsed_time + + # We skip printing images/sec if --eval_during_training_* is specified, + # because we are both processing training and evaluation images, so a + # singular "images/sec" value is meaningless. + if self.mode != constants.BenchmarkMode.TRAIN_AND_EVAL: + log_fn('-' * 64) + # TODO(laigd): rename 'images' to maybe 'inputs'. + log_fn('total images/sec: %.2f' % images_per_sec) + log_fn('-' * 64) + else: + log_fn('Done with training') + num_steps_since_last_eval = local_step - last_eval_step + mlperf.logger.log( + key=mlperf.tags.INPUT_SIZE, + value=num_steps_since_last_eval * self.batch_size) + python_global_step = sess.run(graph_info.global_step) + if eval_graph_info and not skip_final_eval: + log_fn('Running final evaluation at global_step {}'.format( + python_global_step)) + accuracy_at_1, accuracy_at_5 = self._eval_once( + sess, summary_writer, eval_graph_info.fetches, + eval_graph_info.summary_op, eval_image_producer, python_global_step) + num_epochs_ran = (python_global_step * self.batch_size / + self.dataset.num_examples_per_epoch('train')) + mlperf.logger.log_train_epochs(num_epochs_ran) + if image_producer is not None: + image_producer.done() + if eval_image_producer is not None: + eval_image_producer.done() + if is_chief: + if self.benchmark_logger: + self.benchmark_logger.log_metric( + 'average_examples_per_sec', images_per_sec, global_step=num_steps) + + # Save the model checkpoint. + if self.params.train_dir is not None and is_chief: + checkpoint_path = os.path.join(self.params.train_dir, 'model.ckpt') + if not gfile.Exists(self.params.train_dir): + gfile.MakeDirs(self.params.train_dir) + supervisor.saver.save(sess, checkpoint_path, graph_info.global_step) + if graph_info.execution_barrier: + # Wait for other workers to reach the end, so this worker doesn't + # go away underneath them. + sess.run([graph_info.execution_barrier]) + stats = { + 'num_workers': self.num_workers, + 'num_steps': num_steps, + 'average_wall_time': average_wall_time, + 'images_per_sec': images_per_sec + } + if last_average_loss is not None: + stats['last_average_loss'] = last_average_loss + if accuracy_at_1 is not None: + stats['top_1_accuracy'] = accuracy_at_1 + if accuracy_at_5 is not None: + stats['top_5_accuracy'] = accuracy_at_5 + + success = bool(self.model.reached_target() or + (accuracy_at_1 and self.params.stop_at_top_1_accuracy and + accuracy_at_1 >= self.params.stop_at_top_1_accuracy)) + mlperf.logger.log(key=mlperf.tags.RUN_STOP, value={'success': success}) + mlperf.logger.log(key=mlperf.tags.RUN_FINAL) + return stats + + def _should_eval_during_training(self, step): + """Return True iff should run eval during training at current step.""" + + assert self.mode == constants.BenchmarkMode.TRAIN_AND_EVAL + + if self.params.eval_during_training_every_n_steps: + return step % self.params.eval_during_training_every_n_steps == 0 + + # All other --eval_during_training_* flags are converted to step numbers + # at which the model should run evaluation during training. + return step in self.eval_during_training_at_specified_steps + + def _preprocess_graph(self, graph, graph_info): + """Preprocess the graph before executing. + + Depending on the params, it runs various preprocessing on the graph, + including freezing, TensorRT conversion, etc. + + Args: + graph: the graph to preprocess. + graph_info: the namedtuple returned by _build_graph() which + contains all necessary information to benchmark the graph, including + named tensors/ops list, fetches, etc. + + Returns: + The updated graph and graph_info with the ops/tensors/fetches updated + according to the imported graph. + """ + assert isinstance(graph_info.fetches, dict) + assert isinstance(graph_info.global_step, tf.Variable) + if not self.forward_only_and_freeze: + return (graph, graph_info) + + # Get the names of the ops that need to keep during conversion. + flattened_op_names = list( + set([ + v.name.split(':')[0] + for v in nest.flatten(graph_info) + if v is not None + ])) + # Get variables that we don't want to freeze. + # Only keep unfreezable variables in forward_only_and_freeze mode. + # TODO(laigd): consider making global_step a constant. + variables_to_keep = {graph_info.global_step: tf.GraphKeys.GLOBAL_VARIABLES} + variables_to_keep.update({ + local_variable: tf.GraphKeys.LOCAL_VARIABLES + for local_variable in self._unfreezable_local_variables(graph) + }) + + variable_initializers = [ + variable.initializer.name for variable in variables_to_keep] + output_node_names = ( + flattened_op_names + + # Add variable initializer and read ops to the output list, so + # convert_variables_to_constants() will keep them. + variable_initializers + + [variable.value().op.name for variable in variables_to_keep]) + graphdef = graph.as_graph_def(add_shapes=True) + + # Freeze the graph. + with graph.as_default(): + with tf.Session(config=create_config_proto(self.params)) as sess: + sess.run(tf.global_variables_initializer()) + sess.run(tf.local_variables_initializer()) + graphdef = graph_util.convert_variables_to_constants( + sess, + graphdef, + output_node_names, + variable_names_blacklist=[ + variable.op.name for variable in variables_to_keep + ]) + + # Run TensorRT conversion. + if self.params.trt_mode: + # Import here instead of at top, because this will crash if TensorRT is + # not installed + from tensorflow.python.compiler.tensorrt import trt_convert # pylint: disable=g-import-not-at-top + # Avoid TF-TRT bridge from touching all variable initializer ops and their + # dependencies, since they can directly be fetched by sess.run()s that + # initialize the variables. + # pylint: disable=protected-access + name_to_input_name, _, _ = graph_util_impl._extract_graph_summary( + graphdef) + initializer_subgraph_ops = graph_util_impl._bfs_for_reachable_nodes( + variable_initializers, name_to_input_name) + # pylint: enable=protected-access + + graphdef = trt_convert.create_inference_graph( + graphdef, + outputs=output_node_names + list(initializer_subgraph_ops), + max_batch_size=self.model.get_batch_size(), + max_workspace_size_bytes=self.params.trt_max_workspace_size_bytes, + precision_mode=self.params.trt_mode) + + # Creates a new graph as the default and import the converted graph back. + updated_graph = tf.Graph() + + def _get_tensors_or_ops(inputs): + """Gets the updated tensors or ops from 'updated_graph'.""" + + def _get_fn(element): + if element is None: + return None + if ':' in element.name: + return updated_graph.get_tensor_by_name(element.name) + return updated_graph.get_operation_by_name(element.name) + + if isinstance(inputs, (list, dict, tuple)): + return nest.map_structure(_get_fn, inputs) + else: + return _get_fn(inputs) + + with updated_graph.as_default(): + importer.import_graph_def(graph_def=graphdef, name='') + + # Update the variables + for variable in variables_to_keep: + updated_variable = tf.Variable.from_proto(variable.to_proto()) + tf.add_to_collection(variables_to_keep[variable], updated_variable) + if variable is graph_info.global_step: + updated_global_step = updated_variable + + updated_graph_info = GraphInfo( + input_producer_op=_get_tensors_or_ops(graph_info.input_producer_op), + enqueue_ops=_get_tensors_or_ops(graph_info.enqueue_ops), + execution_barrier=_get_tensors_or_ops(graph_info.execution_barrier), + local_var_init_op_group=_get_tensors_or_ops( + graph_info.local_var_init_op_group), + fetches=_get_tensors_or_ops(graph_info.fetches), + global_step=updated_global_step, + summary_op=None) + return (updated_graph, updated_graph_info) + + def _build_input_processing(self, shift_ratio=0): + """"Build the image (pre)processing portion of the model graph. + + Args: + shift_ratio: shift_ratio for data_flow_ops.RecordInput. + + Returns: + An InputProcessingInfo containing all the input sources to the model. + """ + input_processing_info = InputProcessingInfo( + input_producer_op=None, + input_producer_stages=None, + multi_device_iterator_input=None) + + mlperf.logger.log(key=mlperf.tags.INPUT_ORDER) + if not self._doing_eval: + mlperf.logger.log(key=mlperf.tags.INPUT_BATCH_SIZE, value=self.batch_size) + + # If using synthetic gpu inputs, do nothing on the cpu side. + if self.dataset.use_synthetic_gpu_inputs(): + assert not self.datasets_use_prefetch + return input_processing_info + + if self._doing_eval: + input_preprocessor = self.eval_input_preprocessor + mlperf.logger.log(key=mlperf.tags.PREPROC_NUM_EVAL_EXAMPLES, + value=self.dataset.num_examples_per_epoch('validation')) + else: + input_preprocessor = self.input_preprocessor + mlperf.logger.log(key=mlperf.tags.PREPROC_NUM_TRAIN_EXAMPLES, + value=self.dataset.num_examples_per_epoch('train')) + + # Use prefetching mechanism provided by dataset input pipeline. + if self.datasets_use_prefetch: + multi_device_iterator = ( + input_preprocessor.build_multi_device_iterator( + self.batch_size, len(self.devices), self.cpu_device, self.params, + self.raw_devices, self.dataset, self._doing_eval)) + return input_processing_info._replace( + multi_device_iterator_input=multi_device_iterator.get_next()) + + # Not using dataset prefetching. Use a staging area to mimic the prefetching + # behavior instead. + with tf.device(self.cpu_device): + if self._doing_eval: + subset = 'validation' + else: + subset = 'train' + input_list = input_preprocessor.minibatch( + self.dataset, + subset=subset, + params=self.params, + shift_ratio=shift_ratio) + + input_producer_op = [] + input_producer_stages = [] + for device_num in range(len(self.devices)): + staging_area = data_flow_ops.StagingArea( + [parts[0].dtype for parts in input_list], + shapes=[parts[0].get_shape() for parts in input_list], + shared_name='input_producer_staging_area_%d_eval_%s' % + (device_num, self._doing_eval)) + input_producer_stages.append(staging_area) + for group_index in xrange(self.batch_group_size): + batch_index = group_index + device_num * self.batch_group_size + put_op = staging_area.put( + [parts[batch_index] for parts in input_list]) + input_producer_op.append(put_op) + assert input_producer_op + + return input_processing_info._replace( + input_producer_op=input_producer_op, + input_producer_stages=input_producer_stages) + + def _maybe_initialize_fp16(self): + """Initialize fp16 settings.""" + if self.params.use_fp16 and not self._doing_eval: + init_loss_scale_val = float(self.params.fp16_loss_scale or + self.model.get_fp16_loss_scale()) + self.loss_scale = None + self.loss_scale_normal_steps = None + if self.enable_auto_loss_scale or init_loss_scale_val != 1: + self.loss_scale = tf.get_variable( + name='loss_scale', + initializer=init_loss_scale_val, + dtype=tf.float32, + trainable=False) + if self.enable_auto_loss_scale: + self.loss_scale_normal_steps = tf.get_variable( + name='loss_scale_normal_steps', initializer=0, trainable=False) + + def _build_model(self): + """Build the TensorFlow graph.""" + if self.datasets_use_prefetch: + assert not self.params.staged_vars + assert not self.variable_mgr.supports_staged_vars() + + # Adjust seed so different workers start read different input files. + if self.params.variable_update == 'horovod': + import horovod.tensorflow as hvd # pylint: disable=g-import-not-at-top + seed_adjustment = hvd.rank() + else: + seed_adjustment = 0 + mlperf.logger.log(key=mlperf.tags.RUN_SET_RANDOM_SEED, + value=self.params.tf_random_seed + seed_adjustment) + tf.set_random_seed(self.params.tf_random_seed + seed_adjustment) + mlperf.logger.log(key=mlperf.tags.RUN_SET_RANDOM_SEED, + value=4321 + seed_adjustment) + np.random.seed(4321 + seed_adjustment) + phase_train = not (self._doing_eval or self.params.forward_only) + + if self._doing_eval: + mode_string = 'evaluation' + else: + mode_string = 'training' + + log_fn('Generating {} model'.format(mode_string)) + losses = [] + device_grads = [] + all_logits = [] + all_accuracy_ops = {} + gpu_compute_stage_ops = [] + gpu_grad_stage_ops = [] + + with tf.device(self.global_step_device): + global_step = tf.train.get_or_create_global_step() + self._maybe_initialize_fp16() + + # Build the processing and model for the worker. + input_producer_op = None + with tf.name_scope('input_processing'): + input_processing_info = self._build_input_processing(shift_ratio=0) + if input_processing_info.input_producer_op is not None: + input_producer_op = tf.group(*input_processing_info.input_producer_op) + update_ops = None + staging_delta_ops = [] + + for device_num in range(len(self.devices)): + with tf.name_scope('tower_%i' % device_num) as name_scope, ( + self.variable_mgr.create_outer_variable_scope(device_num)): + results = self.add_forward_pass_and_gradients( + phase_train, device_num, device_num, input_processing_info, + gpu_compute_stage_ops, gpu_grad_stage_ops) + + if self.params.backbone_model_path: + self.model.add_backbone_saver() + + if phase_train: + losses.append(results['loss']) + device_grads.append(results['gradvars']) + else: + all_logits.append(results['logits']) + if not phase_train or self.params.print_training_accuracy: + for name, op in results.items(): + if name.startswith('accuracy:'): + key = name[9:] + if key not in all_accuracy_ops: + all_accuracy_ops[key] = [] + all_accuracy_ops[key].append(op) + + if device_num == 0: + # Retain the Batch Normalization updates operations only from the + # first tower. These operations update the moving mean and moving + # variance variables, which are updated (but not used) during + # training, and used during evaluation. The moving mean and variance + # approximate the true mean and variance across all images in the + # dataset. Therefore, in replicated mode, these moving averages would + # be almost identical for each tower, and so we only update and save + # the moving averages for one tower. In parameter server mode, all + # towers share a copy of the variables so we also only need to update + # and save the moving averages once. + update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS, name_scope) + if self.datasets_use_prefetch: + assert not self.variable_mgr.staging_delta_ops + else: + staging_delta_ops = list(self.variable_mgr.staging_delta_ops) + + enqueue_ops = [] + if not self.datasets_use_prefetch: + if self.variable_mgr.supports_staged_vars(): + for staging_ops in self.variable_mgr.staging_vars_on_devices: + gpu_compute_stage_ops.extend( + [put_op for _, (put_op, _) in six.iteritems(staging_ops)]) + enqueue_ops.append(tf.group(*gpu_compute_stage_ops, + name='gpu_compute_stage_ops_group')) + if gpu_grad_stage_ops: + staging_delta_ops += gpu_grad_stage_ops + if staging_delta_ops: + enqueue_ops.append(tf.group(*(staging_delta_ops))) + + if (self.mode == constants.BenchmarkMode.TRAIN_AND_EVAL and + self.params.variable_update == 'replicated'): + # We need to get all the update ops instead of only those for the first + # tower. This is because during evaluation, each tower will read from its + # own tower's moving averages instead of the first tower's moving + # averages. + # TODO(reedwm): Have each tower read from the first tower's moving + # averages for a slight performance gain. + update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS) + mlperf.logger.log(key=mlperf.tags.INPUT_BN_SPAN, + value=self.batch_size // len(self.raw_devices)) + + fetches = self._build_fetches(global_step, all_logits, losses, device_grads, + enqueue_ops, update_ops, all_accuracy_ops, + phase_train) + fetches['all_logits'] = all_logits + return (input_producer_op, enqueue_ops, fetches) + + def _build_fetches(self, global_step, all_logits, losses, device_grads, + enqueue_ops, update_ops, all_accuracy_ops, phase_train): + """Complete construction of model graph, populating the fetches map.""" + fetches = {} + if enqueue_ops: + fetches['enqueue_ops'] = enqueue_ops + for name, ops in all_accuracy_ops.items(): + # For fetches that starts with 'tensor:', keep dimension and skip reducing + # them to scalars. + if name.startswith(constants.UNREDUCED_ACCURACY_OP_PREFIX): + key = name[len(constants.UNREDUCED_ACCURACY_OP_PREFIX):] + fetches[key] = tf.concat(ops, 0) + else: + fetches[name] = tf.reduce_sum(ops) / self.batch_size + if self.task_index == 0 and self.params.summary_verbosity >= 1: + tf.summary.scalar(name, fetches[name]) + + if not phase_train: + if self.params.forward_only: + fetches['all_logits'] = tf.concat(all_logits, 0) + return fetches + apply_gradient_devices, gradient_state = ( + self.variable_mgr.preprocess_device_grads(device_grads)) + + # TODO(reedwm): Greatly simplify the learning rate code. + if (self.params.variable_update == 'horovod' or + self.params.variable_update == 'collective_all_reduce'): + # Each worker independently increments global_step. + examples_per_step = self.batch_size * self.num_workers + else: + # global_step is shared by all workers, and so every iteration + # global_step is incremented by num_workers. + examples_per_step = self.batch_size + if self.params.compute_lr_on_cpu: + with tf.device(self.cpu_device): + learning_rate = get_learning_rate(self.params, global_step, + self.dataset.num_examples_per_epoch(), + self.model, examples_per_step) + + training_ops = [] + for d, device in enumerate(apply_gradient_devices): + with tf.device(device): + with tf.name_scope('average_loss'): + average_loss = tf.reduce_mean(losses) + with tf.name_scope('get_gradients_to_apply'): + avg_grads = self.variable_mgr.get_gradients_to_apply(d, + gradient_state) + + if not self.params.compute_lr_on_cpu: + # We compute the learning rate once for each device in + # `apply_gradient_devices`. + learning_rate = get_learning_rate( + self.params, global_step, self.dataset.num_examples_per_epoch(), + self.model, examples_per_step) + gradient_clip = self.params.gradient_clip + if gradient_clip is not None: + with tf.name_scope('clip_gradients'): + clipped_grads = [(tf.clip_by_value(grad, -gradient_clip, + +gradient_clip), var) + for grad, var in avg_grads] + else: + clipped_grads = avg_grads + + learning_rate = tf.identity(learning_rate, name='learning_rate_tensor') + opt = get_optimizer(self.params, learning_rate) + loss_scale_params = variable_mgr_util.AutoLossScaleParams( + enable_auto_loss_scale=self.enable_auto_loss_scale, + loss_scale=self.loss_scale, + loss_scale_normal_steps=self.loss_scale_normal_steps, + inc_loss_scale_every_n=self.params.fp16_inc_loss_scale_every_n, + is_chief=not self.job_name or self.task_index == 0) + + with tf.name_scope('append_apply_gradient_ops'): + self.variable_mgr.append_apply_gradients_ops( + gradient_state, opt, clipped_grads, training_ops, + loss_scale_params) + train_op = tf.group(*(training_ops + update_ops), name='train_ops_group') + + with tf.device(self.cpu_device): + if self.task_index == 0 and self.params.summary_verbosity >= 1: + tf.summary.scalar('learning_rate', learning_rate) + tf.summary.scalar(self.params.loss_type_to_report, average_loss) + if self.loss_scale is not None: + tf.summary.scalar('loss_scale', self.loss_scale) + if self.loss_scale_normal_steps: + tf.summary.scalar('loss_scale_normal_steps', + self.loss_scale_normal_steps) + + if self.params.summary_verbosity >= 2: + self.gradient_histogram_summary(avg_grads) + + if self.params.summary_verbosity >= 3: + for grad, var in avg_grads: + if grad is not None: + tf.summary.histogram(var.op.name + '/gradients', grad) + for var in tf.trainable_variables(): + tf.summary.histogram(var.op.name, var) + + fetches['train_op'] = train_op + fetches['average_loss'] = average_loss + return fetches + + def gradient_histogram_summary(self, avg_grads): + """Create histogram of log values of all non-zero gradients.""" + with tf.name_scope('log_gradients_summary'): + all_grads = [] + for grad, _ in avg_grads: + all_grads.append(tf.reshape(grad, [-1])) + grads = tf.abs(tf.concat(all_grads, 0)) + # exclude grads with zero values. + indices_for_non_zero_grads = tf.where(tf.not_equal(grads, 0)) + log_grads = tf.reshape( + tf.log(tf.gather(grads, indices_for_non_zero_grads)), [-1]) + tf.summary.histogram('log_gradients', log_grads) + + def _build_model_single_session(self): + """Build the TensorFlow graph for multiple replicas in a single_session. + + Returns: + input_producer_op: + enqueue_ops: + fetches: + + Raises: + ValueError: optimizer not recognized. + + Single session runs multiple model replicas as part of one large + distributed graph, whose global execution is always step-synchronized. + """ + # verify assumptions + assert self.params.task_index == 0 + assert not self._doing_eval + assert not self.params.forward_only + assert not self.params.staged_vars + + tf.set_random_seed(self.params.tf_random_seed) + np.random.seed(4321) + phase_train = True + + log_fn('Generating training model') + losses = [] + device_grads = [] + all_logits = [] + all_accuracy_ops = {} + gpu_compute_stage_ops = [] + gpu_grad_stage_ops = [] + + with tf.device(self.global_step_device): + global_step = tf.train.get_or_create_global_step() + + update_ops = [] + global_input_producer_op = [] + + is_local = not self.job_name + if is_local: + assert self.num_workers == 1 + for task_num in range(self.num_workers): + # Reset the devices that self.variable_mgr knows about to those + # belonging to the next worker (task). + self.reset_devices_for_task(task_num, is_local) + # Build the per-worker image processing + with tf.name_scope('input_processing'): + input_processing_info = self._build_input_processing( + shift_ratio=(task_num / self.num_workers)) + if input_processing_info.input_producer_op is not None: + global_input_producer_op.extend(input_processing_info.input_producer_op) + # Build the per-worker model replica. + for rel_device_num in range(len(self.devices)): + abs_device_num = task_num * len(self.devices) + rel_device_num + with self.variable_mgr.create_outer_variable_scope( + abs_device_num), tf.name_scope( + 'task_%i_tower_%i' % (task_num, rel_device_num)) as name_scope: + task_results = self.add_forward_pass_and_gradients( + phase_train, rel_device_num, abs_device_num, + input_processing_info, gpu_compute_stage_ops, gpu_grad_stage_ops) + + if self.params.backbone_model_path: + self.model.add_backbone_saver() + + if phase_train: + losses.append(task_results['loss']) + device_grads.append(task_results['gradvars']) + else: + all_logits.append(task_results['logits']) + if not phase_train or self.params.print_training_accuracy: + for name, op in task_results.items(): + if name.startswith('accuracy:'): + key = name[9:] + if key not in all_accuracy_ops: + all_accuracy_ops[key] = [] + all_accuracy_ops[key].append(op) + + if rel_device_num == 0: + # Retain the Batch Normalization updates operations only + # from the first tower. These operations update the moving + # mean and moving variance variables, which are updated + # (but not used) during training, and used during + # evaluation. The moving mean and variance approximate the + # true mean and variance across all images in the + # dataset. Therefore, in replicated mode, these moving + # averages would be almost identical for each tower, and + # so we only update and save the moving averages for one + # tower. In parameter server mode, all towers share a copy + # of the variables so we also only need to update and save + # the moving averages once. + update_ops.extend( + tf.get_collection(tf.GraphKeys.UPDATE_OPS, name_scope)) + assert not self.variable_mgr.staging_delta_ops + + enqueue_ops = [] + if gpu_compute_stage_ops: + enqueue_ops.append(tf.group(*gpu_compute_stage_ops, + name='gpu_compute_stage_ops')) + assert not self.variable_mgr.supports_staged_vars() + assert not gpu_grad_stage_ops + + fetches = self._build_fetches(global_step, all_logits, losses, device_grads, + enqueue_ops, update_ops, all_accuracy_ops, + phase_train) + if global_input_producer_op: + global_input_producer_op = tf.group(*global_input_producer_op) + else: + global_input_producer_op = None + return (global_input_producer_op, enqueue_ops, fetches) + + def add_forward_pass_and_gradients(self, + phase_train, + rel_device_num, + abs_device_num, + input_processing_info, + gpu_compute_stage_ops, + gpu_grad_stage_ops): + """Add ops for forward-pass and gradient computations.""" + nclass = self.dataset.num_classes + if self.datasets_use_prefetch: + assert input_processing_info.multi_device_iterator_input, ( + 'multi_device_iterator_input cannot be None if ' + 'datasets_use_prefetch=True') + input_list = ( + input_processing_info.multi_device_iterator_input[rel_device_num]) + else: + if not self.dataset.use_synthetic_gpu_inputs(): + input_producer_stage = input_processing_info.input_producer_stages[ + rel_device_num] + with tf.device(self.cpu_device): + host_input_list = input_producer_stage.get() + with tf.device(self.raw_devices[rel_device_num]): + gpu_compute_stage = data_flow_ops.StagingArea( + [inp.dtype for inp in host_input_list], + shapes=[inp.get_shape() for inp in host_input_list]) + # The CPU-to-GPU copy is triggered here. + gpu_compute_stage_op = gpu_compute_stage.put(host_input_list) + input_list = gpu_compute_stage.get() + gpu_compute_stage_ops.append(gpu_compute_stage_op) + else: + with tf.device(self.raw_devices[rel_device_num]): + # Minor hack to avoid H2D copy when using synthetic data + input_list = self.model.get_synthetic_inputs( + BenchmarkCNN.GPU_CACHED_INPUT_VARIABLE_NAME, nclass) + + # Labels reshaping happens all on gpu:0. Reshaping synthetic labels on + # multiple devices slows down XLA computation for an unknown reason. + # TODO(b/116875203): Find/address root cause of XLA slow down. + labels_device_placement_hack = ( + self.dataset.use_synthetic_gpu_inputs() and self.params.xla_compile) + + def device_aware_reshape(tensor, shape): + device = self.devices[rel_device_num] + # Labels are int32, place reshapes on gpu:0 (no device placement) when the + # hack is enabled. + if labels_device_placement_hack and tensor.dtype == tf.int32: + device = '' + with tf.device(device): + return tf.reshape(tensor, shape=shape) + + subset = 'validation' if self._doing_eval else 'train' + input_shapes = self.model.get_input_shapes(subset) + input_list = [ + device_aware_reshape(input_list[i], shape=input_shapes[i]) + for i in range(len(input_list)) + ] + + def forward_pass_and_gradients(): + """Builds forward pass and gradient computation network. + + When phase_train=True and print_training_accuracy=False: + return [loss] + grads + + When phase_train=True and print_training_accuracy=True: + return [logits, loss] + grads + + When phase_train=False, + return [logits] + + Its output can always be unpacked by + + ``` + outputs = forward_pass_and_gradients() + logits, loss, grads = unpack_forward_pass_and_gradients_output(outputs) + ``` + + Returns: + outputs: A list of tensors depending on different modes. + """ + + build_network_result = self.model.build_network( + input_list, phase_train, nclass) + logits = build_network_result.logits + + if not phase_train: + return [logits] + + base_loss = self.model.loss_function(input_list, build_network_result) + params = self.variable_mgr.trainable_variables_on_device( + rel_device_num, abs_device_num) + l2_loss = None + total_loss = base_loss + with tf.name_scope('l2_loss'): + fp32_params = params + if self.model.data_type == tf.float16 and self.params.fp16_vars: + # fp16 reductions are very slow on GPUs, so cast to fp32 before + # calling tf.nn.l2_loss and tf.add_n. + # TODO(b/36217816): Once the bug is fixed, investigate if we should do + # this reduction in fp16. + fp32_params = (tf.cast(p, tf.float32) for p in params) + filtered_params = self.model.filter_l2_loss_vars(fp32_params) + if rel_device_num == len(self.devices) - 1: + # We compute the L2 loss for only one device instead of all of them, + # because the L2 loss for each device is the same. To adjust for this, + # we multiply the L2 loss by the number of devices. We choose the + # last device because for some reason, on a Volta DGX1, the first four + # GPUs take slightly longer to complete a step than the last four. + # TODO(reedwm): Shard the L2 loss computations across GPUs. + if self.params.single_l2_loss_op: + # TODO(reedwm): If faster, create a fused op that does the L2 loss + # on multiple tensors, and use that instead of concatenating + # tensors. + reshaped_params = [tf.reshape(p, (-1,)) for p in filtered_params] + l2_loss = tf.nn.l2_loss(tf.concat(reshaped_params, axis=0)) + else: + l2_loss = tf.add_n([tf.nn.l2_loss(v) for v in filtered_params]) + weight_decay = self.params.weight_decay + mlperf.logger.log(key=mlperf.tags.OPT_WEIGHT_DECAY, value=weight_decay) + if (weight_decay is not None and weight_decay != 0. and + l2_loss is not None): + mlperf.logger.log(key=mlperf.tags.MODEL_L2_REGULARIZATION, + value=weight_decay) + total_loss += len(self.devices) * weight_decay * l2_loss + + aggmeth = tf.AggregationMethod.DEFAULT + scaled_loss = (total_loss if self.loss_scale is None + else total_loss * self.loss_scale) + grads = tf.gradients(scaled_loss, params, aggregation_method=aggmeth) + if self.params.sparse_to_dense_grads: + # Passing a sparse gradient to convert_to_tensor turns it into a dense + # gradient. A sparse gradient is an instance of tf.IndexedSlices. + # convert_to_tensor does not modify dense tensors. + grads = [tf.convert_to_tensor(g) for g in grads] + if self.loss_scale is not None: + # TODO(reedwm): If automatic loss scaling is not used, we could avoid + # these multiplications by directly modifying the learning rate instead. + # If this is done, care must be taken to ensure that this scaling method + # is correct, as some optimizers square gradients and do other + # operations which might not be compatible with modifying both the + # gradients and the learning rate. + + grads = [ + grad * tf.cast(1. / self.loss_scale, grad.dtype) for grad in grads + ] + + if self.params.variable_update == 'horovod': + import horovod.tensorflow as hvd # pylint: disable=g-import-not-at-top + if self.params.horovod_device: + horovod_device = '/%s:0' % self.params.horovod_device + else: + horovod_device = '' + # All-reduce gradients using Horovod. + grads = [hvd.allreduce(grad, average=False, device_dense=horovod_device) + for grad in grads] + + if self.params.staged_vars: + grad_dtypes = [grad.dtype for grad in grads] + grad_shapes = [grad.shape for grad in grads] + grad_stage = data_flow_ops.StagingArea(grad_dtypes, grad_shapes) + grad_stage_op = grad_stage.put(grads) + # In general, this decouples the computation of the gradients and + # the updates of the weights. + # During the pipeline warm up, this runs enough training to produce + # the first set of gradients. + gpu_grad_stage_ops.append(grad_stage_op) + grads = grad_stage.get() + + if self.params.loss_type_to_report == 'total_loss': + loss = total_loss + else: + loss = base_loss + + if self.params.print_training_accuracy: + return [logits, loss] + grads + else: + return [loss] + grads + + def unpack_forward_pass_and_gradients_output(forward_pass_and_grad_outputs): + """Unpacks outputs from forward_pass_and_gradients. + + Args: + forward_pass_and_grad_outputs: Output from forward_pass_and_gradients. + + Returns: + logits: Unscaled probability distribution from forward pass. + If unavailable, None is returned. + loss: Loss function result from logits. + If unavailable, None is returned. + grads: Gradients for all trainable variables. + If unavailable, None is returned. + """ + logits = None + # logits is only fetched in non-train mode or when + # print_training_accuracy is set. + if not phase_train or self.params.print_training_accuracy: + logits = forward_pass_and_grad_outputs.pop(0) + + loss = ( + forward_pass_and_grad_outputs[0] + if forward_pass_and_grad_outputs else None) + grads = ( + forward_pass_and_grad_outputs[1:] + if forward_pass_and_grad_outputs else None) + + return logits, loss, grads + + def make_results(logits, loss, grads): + """Generate results based on logits, loss and grads.""" + results = {} # The return value + + if logits is not None: + results['logits'] = logits + accuracy_ops = self.model.accuracy_function(input_list, logits) + for name, op in accuracy_ops.items(): + results['accuracy:' + name] = op + + if loss is not None: + results['loss'] = loss + + if grads is not None: + param_refs = self.variable_mgr.trainable_variables_on_device( + rel_device_num, abs_device_num, writable=True) + results['gradvars'] = list(zip(grads, param_refs)) + + return results + + with tf.device(self.devices[rel_device_num]): + outputs = maybe_compile(forward_pass_and_gradients, self.params) + logits, loss, grads = unpack_forward_pass_and_gradients_output(outputs) + return make_results(logits, loss, grads) + + def get_input_preprocessor(self): + """Returns the image preprocessor to used, based on the model. + + Returns: + The image preprocessor, or None if synthetic data should be used. + """ + shift_ratio = 0 + if self.job_name: + # shift_ratio prevents multiple workers from processing the same batch + # during a step + shift_ratio = self.task_index / self.num_workers + + processor_class = self.dataset.get_input_preprocessor( + self.params.input_preprocessor) + assert processor_class + subset = 'validation' if self._doing_eval else 'train' + return processor_class( + self.batch_size * self.batch_group_size, + self.model.get_input_shapes(subset), + len(self.devices) * self.batch_group_size, + dtype=self.model.data_type, + train=(not self._doing_eval), + # TODO(laigd): refactor away image model specific parameters. + distortions=self.params.distortions, + resize_method=self.resize_method, + shift_ratio=shift_ratio, + summary_verbosity=self.params.summary_verbosity, + distort_color_in_yiq=self.params.distort_color_in_yiq, + fuse_decode_and_crop=self.params.fuse_decode_and_crop, + match_mlperf=self.params.ml_perf) + + def add_sync_queues_and_barrier(self, name_prefix, enqueue_after_list): + """Adds ops to enqueue on all worker queues. + + Args: + name_prefix: prefixed for the shared_name of ops. + enqueue_after_list: control dependency from ops. + + Returns: + An op that should be used as control dependency before starting next step. + """ + self.sync_queue_counter += 1 + with tf.device(self.sync_queue_devices[( + self.sync_queue_counter % len(self.sync_queue_devices))]): + sync_queues = [ + tf.FIFOQueue(self.num_workers, [tf.bool], shapes=[[]], + shared_name='%s%s' % (name_prefix, i)) + for i in range(self.num_workers)] + queue_ops = [] + # For each other worker, add an entry in a queue, signaling that it can + # finish this step. + token = tf.constant(False) + with tf.control_dependencies(enqueue_after_list): + for i, q in enumerate(sync_queues): + if i == self.task_index: + queue_ops.append(tf.no_op()) + else: + queue_ops.append(q.enqueue(token)) + + # Drain tokens off queue for this worker, one for each other worker. + queue_ops.append( + sync_queues[self.task_index].dequeue_many(len(sync_queues) - 1)) + + return tf.group(*queue_ops) + + +def _is_mkl_flag_absent(mkl_flag): + return not (absl_flags.FLAGS.is_parsed() and mkl_flag in absl_flags.FLAGS + and absl_flags.FLAGS[mkl_flag].present) + + +def _print_os_env_ignored_warning(mkl_flag, flag_default_val, os_env_var): + tf.logging.warn( + ('OS ENV variable %s=%s is ignored and script default: ' + '%s is used. Use --%s to override.') % + (os_env_var, os.environ[os_env_var], flag_default_val, mkl_flag)) + + +def set_default_param_values_and_env_vars(params): + """Sets up the default param values and environment variables .""" + if params.batchnorm_persistent: + os.environ['TF_USE_CUDNN_BATCHNORM_SPATIAL_PERSISTENT'] = '1' + else: + os.environ.pop('TF_USE_CUDNN_BATCHNORM_SPATIAL_PERSISTENT', None) + if params.winograd_nonfused: + os.environ['TF_ENABLE_WINOGRAD_NONFUSED'] = '1' + else: + os.environ.pop('TF_ENABLE_WINOGRAD_NONFUSED', None) + if params.autotune_threshold: + os.environ['TF_AUTOTUNE_THRESHOLD'] = str(params.autotune_threshold) + os.environ['TF_SYNC_ON_FINISH'] = str(int(params.sync_on_finish)) + argparse.ArgumentParser( + formatter_class=argparse.ArgumentDefaultsHelpFormatter) + + # Sets environment variables for MKL + # If OS ENV vars are overridden by script defaults, a warning msg is printed. + if params.mkl: + mkl_flags = ['kmp_blocktime', 'kmp_settings', 'kmp_affinity', + 'num_intra_threads'] + for mkl_flag in mkl_flags: + os_env_var = mkl_flag.upper() + if mkl_flag == 'num_intra_threads': + os_env_var = 'OMP_NUM_THREADS' + flag_val = str(getattr(params, mkl_flag)) + if _is_mkl_flag_absent(mkl_flag) and os_env_var in os.environ: + _print_os_env_ignored_warning(mkl_flag, flag_val, os_env_var) + os.environ[os_env_var] = flag_val + if mkl_flag == 'num_intra_threads' and not params.num_intra_threads: + os.environ.pop(os_env_var, None) + + # Sets GPU thread settings + if params.device.lower() == 'gpu': + params = params._replace(gpu_thread_mode=params.gpu_thread_mode.lower()) + if params.gpu_thread_mode not in ['global', 'gpu_shared', 'gpu_private']: + raise ValueError('Invalid gpu_thread_mode: %s' % params.gpu_thread_mode) + os.environ['TF_GPU_THREAD_MODE'] = params.gpu_thread_mode + + if params.per_gpu_thread_count and params.gpu_thread_mode == 'global': + raise ValueError( + 'Invalid per_gpu_thread_count with gpu_thread_mode=global: %s' % + params.per_gpu_thread_count) + # Default to two threads. One for the device compute and the other for + # memory copies. + per_gpu_thread_count = params.per_gpu_thread_count or 2 + total_gpu_thread_count = per_gpu_thread_count * params.num_gpus + + if params.gpu_thread_mode == 'gpu_private': + os.environ['TF_GPU_THREAD_COUNT'] = str(per_gpu_thread_count) + elif params.gpu_thread_mode == 'gpu_shared': + os.environ['TF_GPU_THREAD_COUNT'] = str(total_gpu_thread_count) + + cpu_count = multiprocessing.cpu_count() + if not params.num_inter_threads and params.gpu_thread_mode in [ + 'gpu_private', 'gpu_shared' + ]: + main_thread_count = max(cpu_count - total_gpu_thread_count, 1) + params = params._replace(num_inter_threads=main_thread_count) + + if (params.datasets_use_prefetch and + params.datasets_num_private_threads is None): + # From the total cpu thread count, subtract the total_gpu_thread_count, + # and then 2 threads per GPU device for event monitoring and sending / + # receiving tensors + num_monitoring_threads = 2 * params.num_gpus + num_private_threads = max( + cpu_count - total_gpu_thread_count - num_monitoring_threads, 1) + params = params._replace(datasets_num_private_threads=num_private_threads) + return params + + +def setup(params): + """Sets up the environment that BenchmarkCNN should run in. + + Args: + params: Params tuple, typically created by make_params or + make_params_from_flags. + + Returns: + A potentially modified params. + Raises: + ValueError: invalid parames combinations. + """ + # Set up environment variables before doing any other global initialization to + # make sure it uses the appropriate environment variables. + params = set_default_param_values_and_env_vars(params) + + # horovod needs to be initialized before create_config_proto() call since + # it will be used in config generation if enabled. + if params.variable_update == 'horovod': + import horovod.tensorflow as hvd # pylint: disable=g-import-not-at-top + hvd.init() + + platforms_util.initialize(params, create_config_proto(params)) + + if not params.job_name: + # Create a dummy session to initialize TF global variables using the input + # params. Otherwise, ListDevices function may create global devices using + # the default config instead of using the user provided config. + # + # TODO(hinsu): Find a way to achieve the same for distributed benchmark. It + # is not legal to create distributed session after local session. It is also + # not possible to create distributed session here as that results in + # multiple creation of ClusterManager and Server. + with tf.Session(config=create_config_proto(params)) as sess: + del sess + + return params + + +def maybe_compile(computation, params): + if params and params.xla_compile: + return tf.xla.experimental.compile(computation) + else: + return computation() diff --git a/cv/classification/resnet50/tensorflow/benchmark_cnn_distributed_test.py b/cv/classification/resnet50/tensorflow/benchmark_cnn_distributed_test.py new file mode 100644 index 0000000000000000000000000000000000000000..43dac487f90e1014f9429b12a89fa93ac5ef19be --- /dev/null +++ b/cv/classification/resnet50/tensorflow/benchmark_cnn_distributed_test.py @@ -0,0 +1,493 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Tests running benchmark_cnn in distributed mode. + +This is done by spawning one process per task. Each process runs +benchmark_cnn_distributed_test_runner.py. + +The output for each process is written to disk and can be viewed to debug tests. +See get_test_output_dir() in platforms/default/util.py for more info. +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function +from collections import namedtuple +import os +import subprocess +import time +import unittest + +from absl import flags as absl_flags +import portpicker +import six +import tensorflow.compat.v1 as tf +import flags +import test_util +from platforms import util as platforms_util + +FLAGS = absl_flags.FLAGS + + +def _convert_params_to_flags_list(params): + """Converts Params to a list of flags. Skips default-valued parameters. + + E.g., converts + benchmark_cnn.make_params(batch_size=32, model='resnet50') + to + ['--batch_size=32', '--model=resnet50'] + + Args: + params: Params for BenchmarkCNN. + Returns: + A list of flags. + """ + return [ + '--%s=%s' % (k, str(v)) for k, v in six.iteritems(params._asdict()) + if v != flags.param_specs[k].default_value + ] + + +# When outputting a process's output in the log, maximum number of characters +# to output. The log system does not allow us to output more than this in a +# single log message, but this limit is also useful to avoid the logs from +# becoming too large (the full process output is written to disk). +MAX_OUTPUT_CHARS = 15000 + + +# A process. name is a string identifying the process in logs. stdout and +# stderr are file objects of the process's stdout and stderr, respectively. +_ProcessInfo = namedtuple('_ProcessInfo', ['name', 'popen', 'stdout', 'stderr']) + + +def _create_task_process(job_name, task_index, args, env, output_dir): + """Creates a process for a single task for benchmark_cnn. + + Args: + job_name: 'worker' or 'ps' or ''. Empty string used for non-distributed + mode. + task_index: The index of the task within the cluster. + args: A list of arguments to pass to the task. This function additionally + sets --task_index and --job_name + env: The environment to use for the task. + output_dir: Where to place the output files, storing the task's stdout and + stderr. + Returns: + A _ProcessInfo namedtuple of the running process. The stdout and stderr + fields of this tuple must be closed by the caller once the process ends. + """ + args = args[:] + args += ['--task_index=%s' % task_index, '--job_name=%s' % job_name] + name_prefix = job_name or 'local' + process_name = '%s_%s' % (name_prefix, task_index) + tf.logging.info('Spawning %s process: %s' % (process_name, ' '.join(args))) + stdout_filename = os.path.join(output_dir, '%s_stdout.txt' % process_name) + stderr_filename = os.path.join(output_dir, '%s_stderr.txt' % process_name) + stdout_file = open(stdout_filename, 'w+') + stderr_file = open(stderr_filename, 'w+') + popen = subprocess.Popen( + args, stdout=stdout_file, stderr=stderr_file, env=env) + return _ProcessInfo(process_name, popen, stdout_file, stderr_file) + + +def _wait_for_processes(wait_processes, kill_processes): + """Waits until all `wait_processes` finish, then kills `kill_processes`. + + Fails an assert if a process in `wait_processes` finishes unsuccessfully. + The processes in `kill_processes` are assumed to never finish so they are + killed. + + Args: + wait_processes: A list of _ProcessInfo tuples. This function will wait + for each to finish. + kill_processes: A list of _ProcessInfo tuples. Each will be killed once + every process in `wait_processes` is finished. + Returns: + A list of strings, each which is a string of the stdout of a wait process. + """ + wait_process_stdouts = [None] * len(wait_processes) + finished_wait_processes = set() + while len(finished_wait_processes) < len(wait_processes): + for i, wait_process in enumerate(wait_processes): + if i in finished_wait_processes: + continue + ret_code = wait_process.popen.poll() + if ret_code is None: + continue + tf.logging.info('{} finished'.format(wait_process.name)) + wait_process.stdout.seek(0) + wait_process_stdouts[i] = wait_process.stdout.read() + tf.logging.info('stdout for {} (last {} chars): {}\n'.format( + wait_process.name, MAX_OUTPUT_CHARS, + wait_process_stdouts[i][-MAX_OUTPUT_CHARS:])) + wait_process.stderr.seek(0) + tf.logging.info('stderr for {} (last {} chars): {}\n'.format( + wait_process.name, MAX_OUTPUT_CHARS, + wait_process.stderr.read()[-MAX_OUTPUT_CHARS:])) + assert ret_code == 0, 'Process failed with return code %d' % ret_code + finished_wait_processes.add(i) + for kill_process in kill_processes: + ret_code = kill_process.popen.poll() + # kill processes should not end until we kill them. + assert ret_code is None, 'Process returned early with code %d' % ret_code + time.sleep(0.25) + tf.logging.info('All wait processes finished') + for i, kill_process in enumerate(kill_processes): + # Kill each kill process. + kill_process.popen.kill() + kill_process.popen.wait() + kill_process.stdout.seek(0) + tf.logging.info('stdout for {} (last {} chars): {}\n'.format( + kill_process.name, MAX_OUTPUT_CHARS, + kill_process.stdout.read()[-MAX_OUTPUT_CHARS:])) + kill_process.stderr.seek(0) + tf.logging.info('stderr for {} (last {} chars): {}\n'.format( + kill_process.name, MAX_OUTPUT_CHARS, + kill_process.stderr.read()[-MAX_OUTPUT_CHARS:])) + return wait_process_stdouts + + +def _spawn_benchmark_processes(output_dir_path, num_workers, num_ps, + num_controllers, params): + """Run training or evaluation in spawned processes. + + Runs locally if num_workers == 1, num_ps == 0, and num_controllers == 0, + otherwise runs in distributed mode. In either case, one process is spawned + per worker and ps. Waits for training/evaluation to finish before returning. + + Args: + output_dir_path: Relative path where stdout and stderr files will be + placed. + num_workers: Number of workers to spawn. + num_ps: Number of ps processes to spawn. + num_controllers: Number of controller processes to spawn (must be 0 or 1). + params: Params for BenchmarkCNN in each subprocess. + Returns: + A list output_list of outputs from all processes that output the + images/sec and accuracy. This process is the controller host in + distributed_all_reduce, and the workers otherwise. output_list[i] is a + list of lines from the ith worker's stdout. + """ + run_distributed = num_workers != 1 or num_ps != 0 or num_controllers != 0 + if params.variable_update == 'distributed_all_reduce': + assert num_controllers == 1 or not run_distributed + assert num_ps == 0 + else: + assert num_controllers == 0 + output_base_dir = platforms_util.get_test_output_dir() + output_dir = os.path.join(output_base_dir, output_dir_path) + os.makedirs(output_dir) + tf.logging.info('Outputs of processes will be outputted to: %s' % output_dir) + + args = platforms_util.get_command_to_run_python_module( + 'benchmark_cnn_distributed_test_runner') + args += _convert_params_to_flags_list(params) + if run_distributed: + worker_ports = [portpicker.pick_unused_port() for _ in range(num_workers)] + ps_ports = [portpicker.pick_unused_port() for _ in range(num_ps)] + controller_ports = [portpicker.pick_unused_port() + for _ in range(num_controllers)] + # The numerator is 0.7 instead of 1 to leave some memory for the Cuda + # runtime, etc. + gpu_memory_frac = 0.7 / num_workers + args += [ + '--gpu_memory_frac_for_testing=%f' % gpu_memory_frac, + '--worker_hosts=' + ','.join('localhost:%d' % p for p in worker_ports) + ] + if num_ps > 0: + ps_hosts_str = ','.join('localhost:%d' % p for p in ps_ports) + args.append('--ps_hosts=' + ps_hosts_str) + else: + controller_host_str = ','.join('localhost:%d' % p + for p in controller_ports) + args.append('--controller_host=' + controller_host_str) + env = os.environ.copy() + # Allow stdout to be viewed before the process ends. + env['PYTHONUNBUFFERED'] = '1' + + worker_processes = [] + ps_processes = [] + controller_processes = [] + try: + for i in range(num_workers): + job_name = 'worker' if run_distributed else '' + process = _create_task_process(job_name, i, args, env, output_dir) + worker_processes.append(process) + # Don't let ps or controller processes use the gpu. + env['CUDA_VISIBLE_DEVICES'] = '' + + for i in range(num_ps): + process = _create_task_process('ps', i, args, env, output_dir) + ps_processes.append(process) + for i in range(num_controllers): + process = _create_task_process('controller', i, args, env, output_dir) + controller_processes.append(process) + # If all distributed all reduce mode is being used, the controller process + # finishes and the worker processes block forever. Otherwise, the worker + # processes finish and the ps processes block forever. We set + # wait_processes and kill_processes accordingly. + if controller_processes: + wait_processes = controller_processes + kill_processes = worker_processes + else: + wait_processes = worker_processes + kill_processes = ps_processes + outputs = _wait_for_processes(wait_processes, kill_processes) + finally: + for process in worker_processes + ps_processes + controller_processes: + try: + process.popen.kill() + except OSError: + pass # It's OK (and expected) if the process already exited. + process.stdout.close() + process.stderr.close() + return [output.splitlines() for output in outputs] + + +# When this test class is run, a method will fail about 0.3% of the time with a +# gRPC error. It is not clear why this occurs. +# TODO(reedwm): Fix this test class. +class TfCnnBenchmarksDistributedTest(tf.test.TestCase): + """Tests running benchmark_cnn in distributed mode.""" + + # We cannot check for a GPU via tf.test.is_gpu_available() before the tests in + # this class because it allocates all the GPU memory which would cause the + # spawned processes to run out of GPU memory. + + def _test_distributed(self, + test_name, + num_workers, + num_ps, + params, + num_controllers=0, + check_output_values=False, + skip=None): + # TODO(reedwm): check_output_values should default to True and be enabled + # on every test. See the TODO in benchmark_cnn_test.py. + def run_fn(run_type, inner_params): + output_dir_path = os.path.join(test_name, run_type) + if run_type == 'Evaluation': + # Distributed evaluation is not supported, so we use a single process. + # We still must spawn another process, because if we evaluate in the + # current process, it would allocate the GPU memory causing future test + # methods to fail. + if inner_params.variable_update == 'distributed_replicated': + inner_params = inner_params._replace(variable_update='replicated') + return _spawn_benchmark_processes( + output_dir_path, num_workers=1, num_ps=0, num_controllers=0, + params=inner_params) + else: + return _spawn_benchmark_processes(output_dir_path, num_workers, num_ps, + num_controllers, inner_params) + + return test_util.train_and_eval(self, run_fn, params, + check_output_values=check_output_values, + skip=skip) + + def testParameterServer(self): + test_name = 'testParameterServer' + params = test_util.get_params(test_name) + self._test_distributed(test_name, 2, 2, params) + + def testParameterServerStaged(self): + test_name = 'testParameterServerStaged' + params = test_util.get_params(test_name)._replace(staged_vars=True) + self._test_distributed(test_name, 2, 2, params) + + def testReplicated(self): + test_name = 'testReplicated' + params = test_util.get_params(test_name)._replace( + variable_update='distributed_replicated') + self._test_distributed(test_name, 2, 2, params) + + def testAllReducePsgpu(self): + test_name = 'testAllReducePsgpu' + flags_dict = test_util.get_params(test_name)._replace( + variable_update='distributed_all_reduce', + all_reduce_spec='psgpu#4') + self._test_distributed(test_name, 2, 0, flags_dict, num_controllers=1) + + def testAllReducePscpuXring(self): + test_name = 'testAllReducePscpuXring' + flags_dict = test_util.get_params(test_name)._replace( + variable_update='distributed_all_reduce', + all_reduce_spec='pscpu:2k:xring') + self._test_distributed(test_name, 2, 0, flags_dict, num_controllers=1) + + def testForwardOnly(self): + test_name = 'testForwardOnly' + params = test_util.get_params(test_name)._replace(forward_only=True) + # Evaluation is not supported with --forward_only, so we set skip='eval'. + self._test_distributed(test_name, 2, 2, params, skip='eval') + + def testSingleWorkerAndPs(self): + test_name = 'testSingleWorkerAndPs' + params = test_util.get_params(test_name) + self._test_distributed(test_name, 1, 1, params) + + def testThreeWorkersAndPses(self): + test_name = 'testThreeWorkersAndPses' + params = test_util.get_params(test_name) + self._test_distributed(test_name, 3, 3, params) + + def testOneWorkerThreePses(self): + test_name = 'testOneWorkerThreePses' + params = test_util.get_params(test_name) + self._test_distributed(test_name, 1, 3, params) + + def testThreeWorkersOnePs(self): + test_name = 'testThreeWorkersOnePs' + params = test_util.get_params(test_name) + self._test_distributed(test_name, 3, 1, params) + + def testNoPrintTrainingAccuracy(self): + test_name = 'testNoPrintTrainingAccuracy' + params = test_util.get_params(test_name)._replace( + print_training_accuracy=False) + self._test_distributed(test_name, 2, 2, params) + + def testRmspropParameterServer(self): + test_name = 'testRmspropParameterServer' + params = test_util.get_params(test_name)._replace(optimizer='rmsprop') + self._test_distributed(test_name, 2, 2, params) + + def testMomentumReplicated(self): + test_name = 'testMomentumReplicated' + params = test_util.get_params(test_name)._replace( + optimizer='momentum', variable_update='distributed_replicated') + self._test_distributed(test_name, 2, 2, params) + + def testNoCrossReplicaSyncParameterServerStaged(self): + test_name = 'testNoCrossReplicaSyncParameterServerStaged' + params = test_util.get_params(test_name)._replace( + staged_vars=True, cross_replica_sync=False) + self._test_distributed(test_name, 2, 2, params) + + def testSingleGpu(self): + test_name = 'testSingleGpu' + params = test_util.get_params(test_name)._replace(num_gpus=1) + self._test_distributed(test_name, 2, 2, params) + + def testBatchGroupSize(self): + test_name = 'testBatchGroupSize' + params = test_util.get_params(test_name)._replace( + batch_group_size=4, num_batches=100, num_warmup_batches=5) + self._test_distributed(test_name, 2, 2, params) + + def testFp16WithFp32Vars(self): + test_name = 'testFp16WithFp32Vars' + params = test_util.get_params(test_name)._replace( + use_fp16=True, fp16_vars=False) + self._test_distributed(test_name, 2, 2, params) + + def testFp16WithFp16Vars(self): + test_name = 'testFp16WithFp16Vars' + params = test_util.get_params(test_name)._replace( + use_fp16=True, fp16_vars=True, fp16_loss_scale=1.) + self._test_distributed(test_name, 2, 2, params) + + def testFp16Replicated(self): + test_name = 'testFp16Replicated' + params = test_util.get_params(test_name)._replace( + use_fp16=True, variable_update='distributed_replicated') + self._test_distributed(test_name, 2, 2, params) + + @unittest.skip('b/147310862: Fails for unknown reason') + def testReplicatedRealData(self): + test_name = 'testReplicatedRealData' + imagenet_dir = os.path.join(platforms_util.get_test_data_dir(), + 'fake_tf_record_data') + params = test_util.get_params(test_name)._replace( + variable_update='distributed_replicated', + data_dir=imagenet_dir, + data_name='imagenet') + self._test_distributed(test_name, 2, 2, params) + + +class DistributedVariableUpdateTest(tf.test.TestCase): + """Tests that variables are updated correctly in distributed mode.""" + + def _test_variable_update(self, + test_name, + num_workers, + num_ps, + params, + num_controllers=0): + """Tests variables are updated correctly when the given params are used.""" + output_dir_path = os.path.join(test_name, 'variable_update') + logs = _spawn_benchmark_processes(output_dir_path, num_workers, num_ps, + num_controllers, params) + actual_losses = [] + for worker_logs in logs: + outputs = test_util.get_training_outputs_from_logs( + worker_logs, params.print_training_accuracy) + actual_losses.append([x.loss for x in outputs]) + + inputs = test_util.get_fake_var_update_inputs() + expected_losses = test_util.TestCNNModel().manually_compute_losses( + inputs, num_workers, params) + if params.variable_update == 'distributed_all_reduce': + # In distributed all reduce, each step, the controller outputs the average + # of the loss from each worker. So we modify expected losses accordingly. + # E.g, we change [[1, 2], [4, 5]] to [[2.5, 3.5]] + expected_losses = [[sum(losses) / num_workers + for losses in zip(*expected_losses)]] + rtol = 3e-2 if params.use_fp16 else 1e-5 + for worker_actual_losses, worker_expected_losses in zip(actual_losses, + expected_losses): + self.assertAllClose(worker_actual_losses[:len(worker_expected_losses)], + worker_expected_losses, rtol=rtol, atol=0.) + + def _test_variable_updates(self, test_name, params): + """Tests variables are updated correctly with various variable updates.""" + + # Unfortunately, distributed parameter server is non-deterministic with + # multiple workers, because one worker may write to a variable before + # another worker reads it. This probably does not harm training, but it + # does mean we cannot easily test that case. So, we use one worker. + self._test_variable_update( + test_name + '_ps', num_workers=1, num_ps=2, num_controllers=0, + params=params._replace(variable_update='parameter_server')) + + self._test_variable_update( + test_name + '_rep', num_workers=2, num_ps=1, num_controllers=0, + params=params._replace(variable_update='distributed_replicated')) + + self._test_variable_update( + test_name + '_allreduce', num_workers=2, num_ps=0, num_controllers=1, + params=params._replace(variable_update='distributed_all_reduce', + all_reduce_spec='psgpu#%d' % params.num_gpus)) + + def testVarUpdateDefault(self): + params = test_util.get_var_update_params() + self._test_variable_updates('testVarUpdateDefault', params) + + def testVarUpdateCpuAsLocalParamDevice(self): + params = test_util.get_var_update_params()._replace( + local_parameter_device='cpu') + self._test_variable_updates('testVarUpdateCpuAsLocalParamDevice', params) + + def testVarUpdateFp16(self): + params = test_util.get_var_update_params()._replace(use_fp16=True) + self._test_variable_updates('testVarUpdateFp16', params) + + def testVarUpdateResourceVars(self): + params = test_util.get_var_update_params()._replace(use_resource_vars=True) + self._test_variable_updates('testVarUpdateResourceVars', params) + + +if __name__ == '__main__': + tf.disable_v2_behavior() + tf.test.main() diff --git a/cv/classification/resnet50/tensorflow/benchmark_cnn_distributed_test_runner.py b/cv/classification/resnet50/tensorflow/benchmark_cnn_distributed_test_runner.py new file mode 100644 index 0000000000000000000000000000000000000000..9291a801e4606c2b1982e5e1e0df833227a45e8f --- /dev/null +++ b/cv/classification/resnet50/tensorflow/benchmark_cnn_distributed_test_runner.py @@ -0,0 +1,122 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Used to run benchmark_cnn for distributed tests. + +In distributed tests, we spawn processes to run tf_cnn_benchmark tasks. We could +directly spawn tf_cnn_benchmark processes, but we want some added functionality, +such as being able to inject custom images during training. So instead, this +file is spawned as a Python process, which supports the added functionality. +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from absl import flags as absl_flags +import numpy as np +import tensorflow.compat.v1 as tf +import benchmark_cnn +import flags +import preprocessing +import test_util + + +absl_flags.DEFINE_string('fake_input', 'none', + """What fake input to inject into benchmark_cnn. This + is ignored if --model=test_model. + Options are: + none: Do not inject any fake input. + zeros_and_ones: Half the images will be all 0s with + a label of 0. Half the images will be all 1s with a + label of 1.""") + +flags.define_flags() +FLAGS = flags.FLAGS + + +def get_test_image_preprocessor(batch_size, params): + """Returns the preprocessing.TestImagePreprocessor that should be injected. + + Returns None if no preprocessor should be injected. + + Args: + batch_size: The batch size across all GPUs. + params: BenchmarkCNN's parameters. + Returns: + Returns the preprocessing.TestImagePreprocessor that should be injected. + Raises: + ValueError: Flag --fake_input is an invalid value. + """ + if FLAGS.fake_input == 'none': + return None + elif FLAGS.fake_input == 'zeros_and_ones': + half_batch_size = batch_size // 2 + images = np.zeros((batch_size, 227, 227, 3), dtype=np.float32) + images[half_batch_size:, :, :, :] = 1 + labels = np.array([0] * half_batch_size + [1] * half_batch_size, + dtype=np.int32) + preprocessor = preprocessing.TestImagePreprocessor( + batch_size, [227, 227, 3], params.num_gpus, + benchmark_cnn.get_data_type(params)) + preprocessor.set_fake_data(images, labels) + preprocessor.expected_subset = 'validation' if params.eval else 'train' + return preprocessor + else: + raise ValueError('Invalid --fake_input: %s' % FLAGS.fake_input) + + +def run_with_real_model(params): + """Runs tf_cnn_benchmarks with a real model.""" + bench = benchmark_cnn.BenchmarkCNN(params) + bench.print_info() + preprocessor = get_test_image_preprocessor(bench.batch_size, params) + if preprocessor is not None: + # The test image preprocessor requires queue runners. Since this file is + # used for testing, it is OK to access protected members. + # pylint: disable=protected-access + bench.dataset._queue_runner_required = True + # pylint: enable=protected-access + bench.input_preprocessor = preprocessor + bench.run() + + +def run_with_test_model(params): + """Runs tf_cnn_benchmarks with a test model.""" + model = test_util.TestCNNModel() + inputs = test_util.get_fake_var_update_inputs() + with test_util.monkey_patch(benchmark_cnn, + LOSS_AND_ACCURACY_DIGITS_TO_SHOW=15): + bench = benchmark_cnn.BenchmarkCNN(params, dataset=test_util.TestDataSet(), + model=model) + # The test model does not use labels when computing loss, so the label + # values do not matter as long as it's the right shape. + labels = np.array([1] * inputs.shape[0]) + bench.input_preprocessor.set_fake_data(inputs, labels) + bench.run() + + +def main(_): + params = benchmark_cnn.make_params_from_flags() + params = benchmark_cnn.setup(params) + if params.model == 'test_model': + run_with_test_model(params) + else: + run_with_real_model(params) + + +if __name__ == '__main__': + tf.disable_v2_behavior() + tf.app.run() diff --git a/cv/classification/resnet50/tensorflow/benchmark_cnn_test.py b/cv/classification/resnet50/tensorflow/benchmark_cnn_test.py new file mode 100644 index 0000000000000000000000000000000000000000..9e849739c4687e2f53803fdb8d40d9a7e97ccb80 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/benchmark_cnn_test.py @@ -0,0 +1,1493 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for benchmark_cnn.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function +import glob +import os +import re +import unittest + +import mock +import numpy as np +import tensorflow.compat.v1 as tf +from google.protobuf import text_format +from tensorflow.core.framework import step_stats_pb2 +from tensorflow.core.profiler import tfprof_log_pb2 +from tensorflow.python.platform import test +import benchmark_cnn +import datasets +import flags +import preprocessing +import test_util +import variable_mgr_util +from platforms import util as platforms_util + + +def _check_has_gpu(): + if not test.is_gpu_available(cuda_only=True): + raise ValueError( + """You have asked to run part or all of this on GPU, but it appears + that no GPU is available. If your machine has GPUs it is possible you + do not have a version of TensorFlow with GPU support. To build with GPU + support, add --config=cuda to the build flags.\n """) + + +class TfCnnBenchmarksModelTest(tf.test.TestCase): + """Tests which are run with multiple models.""" + + def setUp(self): + super(TfCnnBenchmarksModelTest, self).setUp() + benchmark_cnn.setup(benchmark_cnn.make_params()) + + def get_model_name(self): + return None + + # Return true to run tests that don't need to be run on every model. + # This should be done for one or two cheap models. + def extended_tests(self): + return False + + # Return false to suppress actually running the model; this is useful + # for tests that are large. + def model_execution_test(self): + return False + + # Return false to suppress actually saving and loading the model. + def model_save_load_test(self): + return False + + def testSaveLoadModel(self): + _check_has_gpu() + if not self.get_model_name() or not self.model_save_load_test(): + return + + params = benchmark_cnn.make_params( + model=self.get_model_name(), + num_batches=1, + num_intra_threads=0, + num_inter_threads=0, + distortions=False, + batch_size=2, + variable_update='replicated', + num_warmup_batches=0, + num_gpus=2, + train_dir=test_util.get_temp_dir('testSaveLoadModel_' + + self.get_model_name())) + + # Run one batch and save the model. + # Note that this uses a non-test session. + bench = benchmark_cnn.BenchmarkCNN(params) + bench.run() + self.assertEqual(bench.init_global_step, 0) + # Clear the default graph. + tf.reset_default_graph() + # Test if checkpoint had been saved. + ckpt = tf.train.get_checkpoint_state(params.train_dir) + match = re.match(os.path.join(params.train_dir, r'model.ckpt-(\d+).index'), + ckpt.model_checkpoint_path + '.index') + self.assertTrue(match) + self.assertGreaterEqual(int(match.group(1)), params.num_batches) + params = params._replace(num_batches=2) + # Reload the model + bench = benchmark_cnn.BenchmarkCNN(params) + bench.run() + # Check if global step has been restored. + self.assertNotEqual(bench.init_global_step, 0) + ckpt = tf.train.get_checkpoint_state(params.train_dir) + match = re.match(os.path.join(params.train_dir, r'model.ckpt-(\d+).index'), + ckpt.model_checkpoint_path + '.index') + self.assertTrue(match) + self.assertGreaterEqual(int(match.group(1)), params.num_batches) + # Check that the batch norm moving averages are restored from checkpoints + with tf.Graph().as_default(): + bench = benchmark_cnn.BenchmarkCNN(params) + bench._build_model() + saver = tf.train.Saver(bench.variable_mgr.savable_variables()) + with tf.Session(config=benchmark_cnn.create_config_proto(params)) as sess: + benchmark_cnn.load_checkpoint(saver, sess, params.train_dir) + sess.run(bench.variable_mgr.get_post_init_ops()) + bn_moving_vars = [ + v for v in tf.global_variables() + if '/batchnorm' in v.name and '/moving' in v.name + ] + self.assertGreater(len(bn_moving_vars), 0) + for moving_var in bn_moving_vars: + moving_var_value = sess.run(moving_var) + # Check that the moving means and moving variances have been restored + # by asserting they are not their default values of 0 and 1, + # respectively + if '/moving_mean' in moving_var.name: + self.assertFalse(np.array_equal(moving_var_value, + np.zeros(moving_var_value.shape, + moving_var_value.dtype))) + else: + self.assertIn('/moving_variance', moving_var.name) + self.assertFalse(np.array_equal(moving_var_value, + np.ones(moving_var_value.shape, + moving_var_value.dtype))) + + def testModel(self): + _check_has_gpu() + if not self.get_model_name() or not self.model_execution_test(): + return + + params = benchmark_cnn.make_params( + model=self.get_model_name(), + num_batches=1, + num_intra_threads=1, + num_inter_threads=12, + batch_size=2, + distortions=False) + + # Run this one; note that this uses a non-test session. + bench = benchmark_cnn.BenchmarkCNN(params) + bench.run() + + def testSendRecvVariables(self): + self._testVariables('parameter_server') + if self.extended_tests(): + self._testVariables('parameter_server', local_parameter_device='CPU') + self._testVariables('parameter_server', optimizer='sgd') + + def testReplicatedVariables(self): + self._testVariables('replicated') + if self.extended_tests(): + self._testVariables('replicated', all_reduce_spec=None) + self._testVariables('replicated', use_fp16=True, fp16_vars=False) + self._testVariables( + 'replicated', + all_reduce_spec=None, + use_fp16=True, + fp16_vars=False, + fp16_enable_auto_loss_scale=True, + fp16_inc_loss_scale_every_n=4) + + def testIndependentVariables(self): + self._testVariables('independent') + self._testVariables( + 'independent', + all_reduce_spec=None, + use_fp16=True, + fp16_vars=False, + fp16_enable_auto_loss_scale=True, + fp16_inc_loss_scale_every_n=4) + + def testSummaryVerbosity(self): + self._testVariables('parameter_server', summary_verbosity=1) + if self.extended_tests(): + self._testVariables('parameter_server', summary_verbosity=2) + self._testVariables('parameter_server', summary_verbosity=3) + + def testStagedVariables(self): + self._testVariables('parameter_server', staged_vars=True) + if self.extended_tests(): + self._testVariables('parameter_server', staged_vars=True, + local_parameter_device='CPU') + self._testVariables('parameter_server', staged_vars=True, use_fp16=True, + fp16_vars=True) + + def _assert_correct_var_type(self, var, params): + if 'gpu_cached_inputs' not in var.name: + if params.use_fp16 and params.fp16_vars and 'batchnorm' not in var.name: + expected_type = tf.float16 + else: + expected_type = tf.float32 + self.assertEqual(var.dtype.base_dtype, expected_type) + + def _testVariables(self, + variable_update, + summary_verbosity=0, + local_parameter_device='GPU', + staged_vars=False, + optimizer='momentum', + # TODO(b/80125832): Enable nccl in tests + # all_reduce_spec='nccl', + all_reduce_spec='', + use_fp16=False, + fp16_vars=False, + fp16_enable_auto_loss_scale=False, + fp16_inc_loss_scale_every_n=10): + if not self.get_model_name(): + return + _check_has_gpu() + + params = benchmark_cnn.make_params( + model=self.get_model_name(), + num_batches=1, + num_intra_threads=1, + num_inter_threads=12, + distortions=False, + variable_update=variable_update, + local_parameter_device=local_parameter_device, + num_gpus=2, + summary_verbosity=summary_verbosity, + staged_vars=staged_vars, + optimizer=optimizer, + all_reduce_spec=all_reduce_spec, + compact_gradient_transfer=False if all_reduce_spec == 'nccl' else True, + use_fp16=use_fp16, + fp16_loss_scale=2., + fp16_vars=fp16_vars, + fp16_enable_auto_loss_scale=fp16_enable_auto_loss_scale, + fp16_inc_loss_scale_every_n=fp16_inc_loss_scale_every_n, + ) + + # Test building models using multiple GPUs, but don't + # run them. + with self.test_session(graph=tf.Graph()): + bench = benchmark_cnn.BenchmarkCNN(params) + bench._build_model() + + # Rough validation of variable type and placement, depending on mode. + all_vars = tf.global_variables() + tf.local_variables() + if params.variable_update == 'parameter_server': + for v in all_vars: + tf.logging.debug('var: %s' % v.name) + match = re.match(r'tower_(\d+)/v/gpu_cached_inputs:0', v.name) + if match: + self.assertEqual(v.device, '/device:GPU:%s' % match.group(1)) + elif v.name.startswith('v/'): + self.assertEqual(v.device, '/device:%s:0' % local_parameter_device) + self._assert_correct_var_type(v, params) + elif v.name in ('input_processing/images:0', + 'input_processing/labels:0', 'init_learning_rate:0', + 'global_step:0', 'loss_scale:0', + 'loss_scale_normal_steps:0'): + self.assertEqual(v.device, '/device:CPU:0') + else: + raise ValueError('Unexpected variable %s' % v.name) + else: + v0_count = 0 + v1_count = 0 + for v in all_vars: + if v.name.startswith('tower_0/v0/'): + self.assertEqual(v.name, 'tower_0/v0/gpu_cached_inputs:0') + self.assertEqual(v.device, '/device:GPU:0') + elif v.name.startswith('tower_1/v1/'): + self.assertEqual(v.name, 'tower_1/v1/gpu_cached_inputs:0') + self.assertEqual(v.device, '/device:GPU:1') + elif v.name.startswith('v0/'): + v0_count += 1 + self.assertEqual(v.device, '/device:GPU:0') + self._assert_correct_var_type(v, params) + elif v.name.startswith('v1/'): + v1_count += 1 + self.assertEqual(v.device, '/device:GPU:1') + self._assert_correct_var_type(v, params) + elif v.name in ('input_processing/images:0', + 'input_processing/labels:0', 'init_learning_rate:0', + 'global_step:0', 'loss_scale:0', + 'loss_scale_normal_steps:0'): + self.assertEqual(v.device, '/device:CPU:0') + else: + raise ValueError('Unexpected variable %s' % v.name) + self.assertEqual(v0_count, v1_count) + + # Validate summary ops in the model depending on verbosity level + summary_ops = tf.get_collection(tf.GraphKeys.SUMMARIES) + num_summary_ops = len(summary_ops) + self.assertEqual(num_summary_ops > 0, summary_verbosity > 0) + if summary_verbosity > 0: + has_affine_histogram = False + has_gradient_histogram = False + has_log_gradients_histogram = False + for op in summary_ops: + if '/gradients' in op.name: + has_gradient_histogram = True + elif '/affine' in op.name: + has_affine_histogram = True + elif 'log_gradients' in op.name: + has_log_gradients_histogram = True + self.assertEqual(summary_verbosity >= 3, has_affine_histogram) + self.assertEqual(summary_verbosity >= 3, has_gradient_histogram) + self.assertEqual(summary_verbosity >= 2, has_log_gradients_histogram) + if summary_verbosity == 1: + self.assertLess(num_summary_ops, 10) + + +class TrivialModelTest(TfCnnBenchmarksModelTest): + + def get_model_name(self): + return 'trivial' + + +class TestVgg1Model(TfCnnBenchmarksModelTest): + + def get_model_name(self): + return 'vgg11' + + +class TestVgg19Model(TfCnnBenchmarksModelTest): + + def get_model_name(self): + return 'vgg19' + + +class TestLenet5Model(TfCnnBenchmarksModelTest): + + def get_model_name(self): + return 'lenet' + + +class TestGooglenetModel(TfCnnBenchmarksModelTest): + + def get_model_name(self): + return 'googlenet' + + +class TestOverfeatModel(TfCnnBenchmarksModelTest): + + def get_model_name(self): + return 'overfeat' + + +class TestAlexnetModel(TfCnnBenchmarksModelTest): + + def get_model_name(self): + return 'alexnet' + + def extended_tests(self): + return True + + +class TestTrivialModel(TfCnnBenchmarksModelTest): + + def get_model_name(self): + return 'trivial' + + +class TestInceptionv3Model(TfCnnBenchmarksModelTest): + + def get_model_name(self): + return 'inception3' + + def extended_tests(self): + return True + + +class TestInceptionv4Model(TfCnnBenchmarksModelTest): + + def get_model_name(self): + return 'inception4' + + +class TestResnet50Model(TfCnnBenchmarksModelTest): + + def get_model_name(self): + return 'resnet50' + + def model_save_load_test(self): + return True + + +class TestResnet101Model(TfCnnBenchmarksModelTest): + + def get_model_name(self): + return 'resnet101' + + +class TestResnet152Model(TfCnnBenchmarksModelTest): + + def get_model_name(self): + return 'resnet152' + + +class TestResnet50V2Model(TfCnnBenchmarksModelTest): + + def get_model_name(self): + return 'resnet50_v2' + + +class TestResnet101V2Model(TfCnnBenchmarksModelTest): + + def get_model_name(self): + return 'resnet101_v2' + + +class TestResnet152V2Model(TfCnnBenchmarksModelTest): + + def get_model_name(self): + return 'resnet152_v2' + + +class TfCnnBenchmarksTest(tf.test.TestCase): + """Tests that benchmark_cnn runs correctly.""" + + def setUp(self): + super(TfCnnBenchmarksTest, self).setUp() + _check_has_gpu() + benchmark_cnn.setup(benchmark_cnn.make_params()) + + def _run_benchmark_cnn(self, params): + logs = [] + benchmark_cnn.log_fn = test_util.print_and_add_to_list(logs) + benchmark_cnn.BenchmarkCNN(params).run() + return logs + + def _run_benchmark_cnn_with_fake_images(self, params, images, labels): + logs = [] + benchmark_cnn.log_fn = test_util.print_and_add_to_list(logs) + bench = benchmark_cnn.BenchmarkCNN(params) + bench.input_preprocessor = preprocessing.TestImagePreprocessor( + params.batch_size * params.num_gpus, + [[params.batch_size, 227, 227, 3], [params.batch_size]], + params.num_gpus, + bench.model.data_type) + bench.dataset._queue_runner_required = True + bench.input_preprocessor.set_fake_data(images, labels) + bench.input_preprocessor.expected_subset = ('validation' + if params.eval else 'train') + bench.run() + return logs + + def _run_benchmark_cnn_with_black_and_white_images(self, params): + """Runs BenchmarkCNN with black and white images. + + A BenchmarkCNN is created and run with black and white images as input. Half + the images are black (i.e., filled with 0s) and half are white (i.e., filled + with 255s). + + Args: + params: Params for BenchmarkCNN. + + Returns: + A list of lines from the output of BenchmarkCNN. + """ + # TODO(reedwm): Instead of generating images here, use black and white + # tfrecords by calling test_util.create_black_and_white_images(). + effective_batch_size = params.batch_size * params.num_gpus + half_batch_size = effective_batch_size // 2 + images = np.zeros((effective_batch_size, 227, 227, 3), dtype=np.float32) + images[half_batch_size:, :, :, :] = 255 + labels = np.array([0] * half_batch_size + [1] * half_batch_size, + dtype=np.int32) + return self._run_benchmark_cnn_with_fake_images(params, images, labels) + + def _train_and_eval_local(self, + params, + check_output_values=False, + max_final_loss=10., + skip=None, + use_test_preprocessor=True): + # TODO(reedwm): check_output_values should default to True and be enabled + # on every test. Currently, if check_output_values=True and the calls to + # tf.set_random_seed(...) and np.seed(...) are passed certain seed values in + # benchmark_cnn.py, then most tests will fail. This indicates the tests + # are brittle and could fail with small changes when + # check_output_values=True, so check_output_values defaults to False for + # now. + + def run_fn(run_type, inner_params): + del run_type + if use_test_preprocessor: + return [ + self._run_benchmark_cnn_with_black_and_white_images(inner_params) + ] + else: + return [self._run_benchmark_cnn(inner_params)] + + return test_util.train_and_eval(self, run_fn, params, + check_output_values=check_output_values, + max_final_loss=max_final_loss, + skip=skip) + + def testAlexnet(self): + params = test_util.get_params('testAlexnet')._replace( + num_batches=30, init_learning_rate=0.01, model='alexnet') + self._train_and_eval_local(params) + + def testNoPrintAccuracy(self): + params = test_util.get_params('testNoPrintAccuracy')._replace( + print_training_accuracy=False) + self._train_and_eval_local(params) + + def testLowAccuracy(self): + params = test_util.get_params('testLowAccuracy')._replace( + print_training_accuracy=True, batch_size=5, num_batches=10) + # We force low accuracy by having each batch containing 10 identical images, + # each with a different label. This guarantees a top-1 accuracy of exactly + # 0.1 and a top-5 accuracy of exactly 0.5. + images = np.zeros((10, 227, 227, 3), dtype=np.float32) + labels = np.arange(10, dtype=np.int32) + logs = self._run_benchmark_cnn_with_fake_images(params, images, labels) + training_outputs = test_util.get_training_outputs_from_logs( + logs, params.print_training_accuracy) + last_output = training_outputs[-1] + # TODO(reedwm): These should be assertEqual but for some reason, + # occasionally the accuracies are lower (Running this test 500 times, these + # asserts failed twice). Investigate this problem. + self.assertLessEqual(last_output.top_1_accuracy, 0.1) + self.assertLessEqual(last_output.top_5_accuracy, 0.5) + + def testParameterServer(self): + params = test_util.get_params('testParameterServer') + self._train_and_eval_local(params) + + def testParameterServerStaged(self): + params = test_util.get_params('testParameterServerStaged')._replace( + staged_vars=True) + self._train_and_eval_local(params) + + def testReplicated(self): + params = test_util.get_params('testReplicated')._replace( + variable_update='replicated') + self._train_and_eval_local(params) + + def testIndependent(self): + params = test_util.get_params('testIndependent')._replace( + variable_update='independent') + self._train_and_eval_local(params) + + def testForwardOnly(self): + params = test_util.get_params('testForwardOnly')._replace(forward_only=True) + # Evaluation is not supported with --forward_only, so we set skip='eval'. + self._train_and_eval_local(params, skip='eval') + + def testForwardOnlyAndFreeze(self): + params = test_util.get_params('testForwardOnlyAndFreeze')._replace( + forward_only=True, freeze_when_forward_only=True, train_dir=None) + # Training is not supported with --freeze_when_forward_only. + self._train_and_eval_local(params, skip='eval_and_train_from_checkpoint') + + def testNoDistortions(self): + params = test_util.get_params('testNoDistortions')._replace( + distortions=False) + self._train_and_eval_local(params) + + def testCpuAsLocalParamDevice(self): + params = test_util.get_params('testCpuAsLocalParamDevice')._replace( + local_parameter_device='cpu') + self._train_and_eval_local(params) + + def testNHWC(self): + params = test_util.get_params('testNHWC')._replace(data_format='NHWC') + self._train_and_eval_local(params) + + def testCpuAsDevice(self): + params = test_util.get_params('testCpuAsDevice')._replace( + device='cpu', data_format='NHWC') # NHWC required when --device=cpu + self._train_and_eval_local(params) + + def testMomentumParameterServer(self): + params = test_util.get_params('testMomentumParameterServer')._replace( + optimizer='momentum', momentum=0.8) + self._train_and_eval_local(params) + + def testRmspropReplicated(self): + params = test_util.get_params('testRmspropReplicated')._replace( + variable_update='replicated', + optimizer='rmsprop', + rmsprop_decay=0.8, + rmsprop_momentum=0.6, + rmsprop_epsilon=0.7, + init_learning_rate=0.01) + self._train_and_eval_local(params) + + def testBatchGroupSize(self): + params = test_util.get_params('testBatchGroupSize')._replace( + batch_group_size=4, num_batches=100, num_warmup_batches=5) + self._train_and_eval_local(params) + + def testGradientClip(self): + params = test_util.get_params('testGradientClip')._replace( + gradient_clip=100.0) + self._train_and_eval_local(params) + + def testWeightDecay(self): + params = test_util.get_params('testWeightDecay')._replace( + weight_decay=0.0001) + self._train_and_eval_local(params) + + def testNoLayers(self): + params = test_util.get_params('testNoLayers')._replace(use_tf_layers=False) + self._train_and_eval_local(params) + + def testSaveModelSteps(self): + params = test_util.get_params('testSaveModelSteps')._replace( + save_model_steps=2, num_warmup_batches=0, num_batches=10, + max_ckpts_to_keep=3) + self._train_and_eval_local(params) + for i in range(1, 20 + 1): + # We train for 20 steps, since self._train_and_eval_local() does two + # training runs of 10 steps each. We save a checkpoint every 2 steps and + # keep the last 3 checkpoints, so at the end, we should have checkpoints + # for steps 16, 18, and 20. + matches = glob.glob(os.path.join(params.train_dir, + 'model.ckpt-{}.*'.format(i))) + if i in (16, 18, 20): + self.assertTrue(matches) + else: + self.assertFalse(matches) + + def testFp16WithFp32Vars(self): + params = test_util.get_params('testFp16WithFp32Vars')._replace( + use_fp16=True, fp16_vars=False, fp16_loss_scale=1.) + self._train_and_eval_local(params) + + def testFp16WithFp16Vars(self): + params = test_util.get_params('testFp16WithFp16Vars')._replace( + use_fp16=True, fp16_vars=True) + self._train_and_eval_local(params) + + def testXlaCompile(self): + params = test_util.get_params('testXlaCompile')._replace(xla_compile=True) + self._train_and_eval_local(params) + + @unittest.skip('Fails for unknown reason') + def testXlaCompileWithFp16(self): + params = test_util.get_params('testXlaCompileWithFp16')._replace( + use_fp16=True, xla_compile=True) + self._train_and_eval_local(params) + + def testGradientRepacking(self): + params = test_util.get_params('testGradientRepacking1')._replace( + gradient_repacking=2) + self._train_and_eval_local(params, skip='eval_and_train_from_checkpoint') + params = test_util.get_params('testGradientRepacking2')._replace( + gradient_repacking=2, use_fp16=True) + self._train_and_eval_local(params, skip='eval_and_train_from_checkpoint') + + def testTraceFileChromeTraceFormat(self): + trace_file = os.path.join(self.get_temp_dir(), + 'testTraceFileChromeTraceFormat_tracefile') + params = test_util.get_params('testTraceFileChromeTraceFormat')._replace( + trace_file=trace_file, use_chrome_trace_format=True) + self._train_and_eval_local(params) + self.assertGreater(os.stat(trace_file).st_size, 0) + + def testTraceFileStepStatsProto(self): + trace_file = os.path.join(self.get_temp_dir(), + 'testTraceFileStepStatsProto_tracefile') + params = test_util.get_params('testTraceFileStepStatsProto')._replace( + trace_file=trace_file, use_chrome_trace_format=False) + self._train_and_eval_local(params) + self.assertGreater(os.stat(trace_file).st_size, 0) + with open(trace_file) as f: + step_stats = step_stats_pb2.StepStats() + # The following statement should not raise an exception. + contents = f.read() + text_format.Merge(contents, step_stats) + + def testTfprofFile(self): + tfprof_file = os.path.join(self.get_temp_dir(), 'testTfprofFile_tfproffile') + params = test_util.get_params('testTfprofFile')._replace( + tfprof_file=tfprof_file) + self._train_and_eval_local(params, skip='eval_and_train_from_checkpoint') + self.assertGreater(os.stat(tfprof_file).st_size, 0) + with open(tfprof_file, 'rb') as f: + profile_proto = tfprof_log_pb2.ProfileProto() + # The following statement should not raise an exception. + profile_proto.ParseFromString(f.read()) + + @unittest.skip('Fails for unknown reason') + def testMoveTrainDir(self): + params = test_util.get_params('testMoveTrainDir') + self._train_and_eval_local(params) + new_train_dir = params.train_dir + '_moved' + os.rename(params.train_dir, new_train_dir) + params = params._replace(train_dir=new_train_dir, eval=True) + self._run_benchmark_cnn_with_black_and_white_images(params) + + @mock.patch('tensorflow.compat.v1.train.Saver') + @mock.patch('benchmark_cnn._get_checkpoint_to_load') + def testLoadCheckpoint(self, mock_checkpoint_to_load, mock_saver): + """Tests load checkpoint with full path to checkpoint.""" + expected_checkpoint = '/path/to/checkpoints/model.ckpt-1243' + mock_checkpoint_to_load.return_value = expected_checkpoint + + global_batch = benchmark_cnn.load_checkpoint(mock_saver, + None, + expected_checkpoint) + self.assertEqual(global_batch, 1243) + + def testGetCheckpointToLoadFullPath(self): + """Tests passing full path.""" + ckpt_path = '/foo/bar/model.ckpt-189' + full_path = benchmark_cnn._get_checkpoint_to_load(ckpt_path) + self.assertEqual(full_path, ckpt_path) + + def testGetCheckpointToLoadException(self): + """Tests exception for directory without a checkpoint.""" + ckpt_path = '/foo/bar/checkpoints' + self.assertRaises(benchmark_cnn.CheckpointNotFoundException, + benchmark_cnn._get_checkpoint_to_load, ckpt_path) + + @mock.patch('tensorflow.compat.v1.train.get_checkpoint_state') + def testGetCheckpointToLoad(self, mock_checkpoint_state): + """Tests passing path to checkpoint folder.""" + expected_checkpoint = '/path/to/checkpoints/model.ckpt-1243' + mock_checkpoint_state.return_value = mock.Mock( + model_checkpoint_path=expected_checkpoint) + ckpt_path = '/path/to/checkpoints/' + full_path = benchmark_cnn._get_checkpoint_to_load(ckpt_path) + self.assertEqual(full_path, expected_checkpoint) + + def testImagenetPreprocessor(self): + imagenet_dir = os.path.join(platforms_util.get_test_data_dir(), + 'fake_tf_record_data') + params = test_util.get_params('testImagenetPreprocessor')._replace( + data_dir=imagenet_dir, data_name='imagenet') + self._train_and_eval_local(params, use_test_preprocessor=False) + + def testImagenetPreprocessorNoDistortions(self): + imagenet_dir = os.path.join(platforms_util.get_test_data_dir(), + 'fake_tf_record_data') + params = test_util.get_params( + 'testImagenetPreprocessorNoDistortions')._replace( + data_dir=imagenet_dir, data_name='imagenet', distortions=False) + self._train_and_eval_local(params, use_test_preprocessor=False) + + def testImagenetPreprocessorVerboseSummary(self): + imagenet_dir = os.path.join(platforms_util.get_test_data_dir(), + 'fake_tf_record_data') + params = test_util.get_params( + 'testImagenetPreprocessorVerboseSummary')._replace( + data_dir=imagenet_dir, data_name='imagenet', distortions=False, + summary_verbosity=2) + self._train_and_eval_local(params, use_test_preprocessor=False) + + def testCifar10SyntheticData(self): + params = test_util.get_params('testCifar10SyntheticData')._replace( + data_name='cifar10') + self._train_and_eval_local(params) + + def testShiftRatio(self): + test_util.monkey_patch_base_cluster_manager() + params = benchmark_cnn.make_params( + data_name='imagenet', + data_dir=os.path.join(platforms_util.get_test_data_dir(), + 'fake_tf_record_data'), + job_name='worker', + worker_hosts='w1,w2,w3,w4', + ps_hosts='p1', + task_index=0) + self.assertEqual( + benchmark_cnn.BenchmarkCNN(params).input_preprocessor.shift_ratio, 0.0) + params = params._replace(task_index=3) + self.assertEqual( + benchmark_cnn.BenchmarkCNN(params).input_preprocessor.shift_ratio, 0.75) + + def testDistributedReplicatedSavableVars(self): + test_util.monkey_patch_base_cluster_manager() + params = benchmark_cnn.make_params( + variable_update='distributed_replicated', + model='inception4', + data_name='imagenet', + data_dir=os.path.join(platforms_util.get_test_data_dir(), + 'fake_tf_record_data'), + job_name='worker', + worker_hosts='w1,w2,w3,w4', + ps_hosts='p1', + datasets_use_prefetch=False) + + bench = benchmark_cnn.BenchmarkCNN(params) + with tf.Graph().as_default(): + bench._build_model() + savable_vars = bench.variable_mgr.savable_variables() + # Assert all global variables are in savable_vars + for v in tf.global_variables(): + if not v.name.startswith( + variable_mgr_util.PS_SHADOW_VAR_PREFIX + '/v0'): + self.assertEqual(v.name, 'global_step:0') + name = bench.variable_mgr._strip_port(v.name) + if name.startswith(variable_mgr_util.PS_SHADOW_VAR_PREFIX): + name = name[len(variable_mgr_util.PS_SHADOW_VAR_PREFIX + '/'):] + self.assertIn(name, savable_vars) + self.assertIn(savable_vars[name], tf.global_variables()) + # Assert all local variables on the first tower are in savable_vars + for v in tf.local_variables(): + if v.name.startswith('v0/'): + name = bench.variable_mgr._strip_port(v.name) + self.assertIn(name, savable_vars) + + def _test_preprocessing_eval(self, image_height, image_width, output_height, + output_width): + image = tf.fill((image_height, image_width, 3), + tf.constant(128, dtype=tf.uint8)) + params = benchmark_cnn.make_params() + new_image = preprocessing.eval_image(image, output_height, output_width, 0, + 'bilinear', params.summary_verbosity) + with self.test_session() as sess: + new_image_value = sess.run(new_image) + self.assertAllEqual(new_image_value, + np.full((output_height, output_width, 3), 128, + dtype=np.uint8)) + + def testPreprocessingEval(self): + self._test_preprocessing_eval(10, 10, 4, 4) + self._test_preprocessing_eval(4, 4, 10, 10) + self._test_preprocessing_eval(1, 100, 100, 1) + self._test_preprocessing_eval(100, 1, 1, 100) + self._test_preprocessing_eval(1, 100, 1, 100) + + def _test_preprocessing_traing(self, image_buf, image_color, + output_height, output_width, bbox, + batch_position, resize_method, distortions, + summary_verbosity, fuse_decode_and_crop): + new_image = preprocessing.train_image( + image_buf, + output_height, + output_width, + bbox, + batch_position, + resize_method, + distortions, + summary_verbosity=summary_verbosity, + fuse_decode_and_crop=fuse_decode_and_crop) + self.assertEqual(new_image.shape, [output_height, output_width, 3]) + with self.test_session(use_gpu=True) as sess: + new_image_value = sess.run(new_image) + self.assertAllClose( + new_image_value, + np.full( + [output_height, output_width, 3], + image_color, + dtype=np.float32), + atol=50., + rtol=0.) + + def testPreprocessingTrain(self): + test_data_dir = os.path.join(platforms_util.get_test_data_dir(), 'images') + black_file = os.path.join(test_data_dir, 'black_image.jpg') + with open(black_file, 'rb') as f: + black_jpg_buffer = f.read() + white_file = os.path.join(test_data_dir, 'white_image.jpg') + with open(white_file, 'rb') as f: + white_jpg_buffer = f.read() + bbox = tf.zeros((1, 0, 4), dtype=tf.float32) + batch_position = 0 + # Each size config is (output_height, output_width, resize_method) + size_configs = [(100, 100, 'round_robin'), (150, 10, 'bilinear'), + (10, 150, 'nearest')] + # Each image config is (image_buf, image_color) + image_configs = [(white_jpg_buffer, 255), (black_jpg_buffer, 0)] + for (image_buf, image_color) in image_configs: + for output_height, output_width, resize_method in size_configs: + for distortions in [True, False]: + for summary_verbosity in [0, 2]: + for fuse_decode_and_crop in [True, False]: + self._test_preprocessing_traing( + image_buf, image_color, output_height, output_width, bbox, + batch_position, resize_method, distortions, summary_verbosity, + fuse_decode_and_crop) + + def _test_learning_rate(self, params, global_step_to_expected_learning_rate): + self.longMessage = True # pylint: disable=invalid-name + bench = benchmark_cnn.BenchmarkCNN(params) + with tf.Graph().as_default() as graph: + bench._build_model() + global_step = graph.get_tensor_by_name('global_step:0') + learning_rate = graph.get_tensor_by_name('learning_rate_tensor:0') + with self.test_session(graph=graph, use_gpu=True) as sess: + items = global_step_to_expected_learning_rate.items() + for global_step_val, expected_learning_rate in items: + self.assertAlmostEqual(sess.run(learning_rate, + {global_step: global_step_val}), + expected_learning_rate, + msg='at global_step:{}'. + format(global_step_val)) + + def testLearningRateModelSpecificResNet(self): + params = benchmark_cnn.make_params(model='resnet50', + batch_size=256, + variable_update='parameter_server', + num_gpus=1) + self._test_learning_rate(params, { + 0: 0, + 150136: 0.128, + 150137: 0.0128, + 300273: 0.0128, + 300274: 0.00128, + 10000000: 0.0000128 + }) + + def testLearningRateUserProvidedInitLr(self): + params = benchmark_cnn.make_params(model='resnet50', + batch_size=256, + variable_update='replicated', + init_learning_rate=1.) + self._test_learning_rate(params, { + 0: 1., + 10000000: 1. + }) + + def testLearningRateUserProvidedInitLrAndWarmup(self): + params = benchmark_cnn.make_params(model='resnet50', + batch_size=256, + variable_update='replicated', + init_learning_rate=1., + num_learning_rate_warmup_epochs=5) + self._test_learning_rate(params, { + 0: 0., + 12511: 0.5, + 25022: 1., + 10000000: 1. + }) + + def testLearningRateUserProvidedDecayInfo(self): + params = benchmark_cnn.make_params(model='resnet50', + init_learning_rate=1., + learning_rate_decay_factor=0.5, + num_epochs_per_decay=2, + minimum_learning_rate=0.3750, + batch_size=32) + self._test_learning_rate(params, { + 0: 1., + 80071: 1., + 80072: 0.5, + 160143: 0.5, + 160144: 0.375, + 10000000: 0.375 + }) + + def testLearningRateUserProvidedZeroDecay(self): + params = benchmark_cnn.make_params(model='resnet50', + num_learning_rate_warmup_epochs=0, + learning_rate_decay_factor=0.5, + num_epochs_per_decay=0, + minimum_learning_rate=0.3750, + batch_size=32) + with self.assertRaises(ValueError): + with tf.Graph().as_default(): + # This will fail because params.learning_rate_decay_factor cannot be + # nonzero if params.num_epochs_per_decay is zero. + benchmark_cnn.BenchmarkCNN(params)._build_model() + + def testLearningRateUserProvidedSchedule(self): + params = benchmark_cnn.make_params( + model='trivial', + batch_size=32, + piecewise_learning_rate_schedule='1;3;.1;5;.01') + self._test_learning_rate(params, { + 0: 1., + 120108: 1., + 120109: 0.1, + 200181: 0.1, + 200182: 0.01, + 100000000: 0.01 + }) + + def testNumBatchesAndEpochs(self): + params = benchmark_cnn.make_params() + batches, epochs = benchmark_cnn.get_num_batches_and_epochs(params, 10, 100) + self.assertEqual(batches, benchmark_cnn._DEFAULT_NUM_BATCHES) + self.assertAlmostEqual(epochs, + float(benchmark_cnn._DEFAULT_NUM_BATCHES) / 10) + + params = benchmark_cnn.make_params(num_batches=21) + batches, epochs = benchmark_cnn.get_num_batches_and_epochs(params, 25, 50) + self.assertEqual(batches, 21) + self.assertAlmostEqual(epochs, 10.5) + + params = benchmark_cnn.make_params(num_epochs=3) + batches, epochs = benchmark_cnn.get_num_batches_and_epochs(params, 2, 3) + self.assertEqual(batches, 5) + self.assertAlmostEqual(epochs, 10./3.) + + params = benchmark_cnn.make_params(num_epochs=4) + batches, epochs = benchmark_cnn.get_num_batches_and_epochs(params, 2, 3) + self.assertEqual(batches, 6) + self.assertAlmostEqual(epochs, 4) + + with self.assertRaises(ValueError): + params = benchmark_cnn.make_params(num_batches=100, num_epochs=100) + benchmark_cnn.get_num_batches_and_epochs(params, 1, 1) + + def _testEvalDuringTraining(self, params, expected_num_eval_batches_found): + # The idea of this test is that all train images are black and all eval + # images are white. We pass the images through the TestModel, and ensure + # the outputs are as expected. + + batch_size = params.batch_size + eval_batch_size = params.eval_batch_size or params.batch_size + + class TestModel(test_util.TestCNNModel): + + def __init__(self): + super(TestModel, self).__init__() + self.depth = 3 + + def add_inference(self, cnn): + if cnn.phase_train: + # This will allow us to test that 100 is only added during training + # and not during eval. + cnn.top_layer += 100 + assert cnn.top_layer.shape[0] == batch_size + else: + assert cnn.top_layer.shape[0] == eval_batch_size + + # Reduce the image to a single number. The number should be (-1 + 100) + # during training and 1 during testing. + cnn.top_layer = tf.reshape(cnn.top_layer, (cnn.top_layer.shape[0], -1)) + cnn.top_layer = tf.reduce_mean(cnn.top_layer, axis=1) + cnn.top_layer = tf.reshape(cnn.top_layer, + (cnn.top_layer.shape[0], 1, 1, 1)) + cnn.top_size = 1 + trainable_vars = tf.trainable_variables() + + # The super method will compute image*A*B, where A=1 and B=2. + super(TestModel, self).add_inference(cnn) + + if not cnn.phase_train: + # Assert no new variables were added, since they should be reused from + # training. + assert len(trainable_vars) == len(tf.trainable_variables()) + + model = TestModel() + dataset = datasets.ImagenetDataset(params.data_dir) + logs = [] + bench_cnn = benchmark_cnn.BenchmarkCNN(params, model=model, dataset=dataset) + with test_util.monkey_patch(benchmark_cnn, + log_fn=test_util.print_and_add_to_list(logs)): + bench_cnn.run() + training_outputs = test_util.get_training_outputs_from_logs( + logs, print_training_accuracy=False) + self.assertEqual(len(training_outputs), params.num_batches) + expected_training_output = (-1 + 100) * 1 * 2 + for training_output in training_outputs: + self.assertEqual(training_output.loss, expected_training_output) + eval_outputs = test_util.get_evaluation_outputs_from_logs(logs) + self.assertTrue(eval_outputs) + expected_eval_output = 1 * 1 * 2 + for eval_output in eval_outputs: + self.assertEqual(eval_output.top_1_accuracy, expected_eval_output) + self.assertEqual(eval_output.top_5_accuracy, expected_eval_output) + + num_eval_batches_found = 0 + eval_batch_regex = re.compile(r'^\d+\t[0-9.]+ examples/sec$') + for log in logs: + if eval_batch_regex.match(log): + num_eval_batches_found += 1 + self.assertEqual(num_eval_batches_found, expected_num_eval_batches_found) + + def testEvalDuringTraining(self): + data_dir = test_util.create_black_and_white_images() + base_params = test_util.get_params('testEvalDuringTraining') + train_dir = base_params.train_dir + base_params = base_params._replace( + train_dir=None, print_training_accuracy=False, num_warmup_batches=0, + num_batches=7, num_eval_batches=2, display_every=1, + init_learning_rate=0, weight_decay=0, + distortions=False, data_dir=data_dir) + expected_num_eval_batches_found = ( + base_params.num_eval_batches * (base_params.num_batches // 2 + 1)) + + # Test --eval_during_training_every_n_steps + self._testEvalDuringTraining( + base_params._replace(eval_during_training_every_n_steps=2, + variable_update='parameter_server'), + expected_num_eval_batches_found) + self._testEvalDuringTraining( + base_params._replace(eval_during_training_every_n_steps=2, + variable_update='replicated'), + expected_num_eval_batches_found) + self._testEvalDuringTraining( + base_params._replace(eval_during_training_every_n_steps=2, + variable_update='replicated', + summary_verbosity=2, + save_summaries_steps=2, + datasets_use_prefetch=False), + expected_num_eval_batches_found) + self._testEvalDuringTraining( + base_params._replace(eval_during_training_every_n_steps=2, + variable_update='replicated', + use_fp16=True, train_dir=train_dir, + eval_batch_size=base_params.batch_size + 2), + expected_num_eval_batches_found) + + # Test --eval_during_training_every_n_epochs + every_n_epochs = (2 * base_params.batch_size * base_params.num_gpus / + datasets.IMAGENET_NUM_TRAIN_IMAGES) + self._testEvalDuringTraining( + base_params._replace(eval_during_training_every_n_epochs=every_n_epochs, + variable_update='replicated'), + expected_num_eval_batches_found) + + # Test --eval_during_training_at_specified_steps + list_steps = [2, 3, 5, 7, 1000] + num_eval_steps = 1 + sum(1 for step in list_steps + if step < base_params.num_batches) + expected_num_eval_batches_found = ( + base_params.num_eval_batches * num_eval_steps) + + self._testEvalDuringTraining( + base_params._replace(eval_during_training_at_specified_steps=list_steps, + variable_update='replicated'), + expected_num_eval_batches_found) + + # Test --eval_during_training_at_specified_epochs + list_epochs = [(step * base_params.batch_size * base_params.num_gpus / + datasets.IMAGENET_NUM_TRAIN_IMAGES) + for step in list_steps] + self._testEvalDuringTraining( + base_params._replace( + eval_during_training_at_specified_epochs=list_epochs, + variable_update='replicated'), + expected_num_eval_batches_found) + + # Test --eval_during_training_every_n_steps runs with synthetic data. + params = base_params._replace( + variable_update='replicated', data_dir=None, + eval_during_training_every_n_steps=2, num_batches=2) + benchmark_cnn.BenchmarkCNN(params).run() + + def testEvalDuringTrainingNumEpochs(self): + params = benchmark_cnn.make_params( + batch_size=1, eval_batch_size=2, eval_during_training_every_n_steps=1, + num_batches=30, num_eval_epochs=100 / datasets.IMAGENET_NUM_VAL_IMAGES) + bench_cnn = benchmark_cnn.BenchmarkCNN(params) + self.assertEqual(bench_cnn.num_batches, 30) + self.assertAlmostEqual(bench_cnn.num_epochs, + 30 / datasets.IMAGENET_NUM_TRAIN_IMAGES) + self.assertAlmostEqual(bench_cnn.num_eval_batches, 50) + self.assertAlmostEqual(bench_cnn.num_eval_epochs, + 100 / datasets.IMAGENET_NUM_VAL_IMAGES) + + def testEarlyStopping(self): + params = benchmark_cnn.make_params( + batch_size=2, + display_every=1, + num_batches=100, + eval_during_training_every_n_steps=2, + stop_at_top_1_accuracy=0.4, + ) + with mock.patch.object(benchmark_cnn.BenchmarkCNN, '_eval_once', + side_effect=[(0.1, 0.1), (0.5, 0.5), (0.2, 0.2)] + ) as mock_eval_once: + logs = [] + bench_cnn = benchmark_cnn.BenchmarkCNN(params) + with test_util.monkey_patch(benchmark_cnn, + log_fn=test_util.print_and_add_to_list(logs)): + bench_cnn.run() + training_outputs = test_util.get_training_outputs_from_logs( + logs, print_training_accuracy=False) + # We should stop after the second evaluation, and we evaluate every 2 + # steps. So there should be 2 * 2 = 4 training outputs. + self.assertEqual(len(training_outputs), 4) + self.assertEqual(mock_eval_once.call_count, 2) + + def testOutOfRangeErrorsAreNotIgnored(self): + error_msg = 'Fake OutOfRangeError error message' + with mock.patch.object(benchmark_cnn.BenchmarkCNN, 'benchmark_with_session', + side_effect=tf.errors.OutOfRangeError(None, None, + error_msg)): + with self.assertRaisesRegex(RuntimeError, error_msg): + benchmark_cnn.BenchmarkCNN(benchmark_cnn.make_params()).run() + + def testInvalidFlags(self): + params = benchmark_cnn.make_params(device='cpu', data_format='NCHW') + with self.assertRaises(ValueError): + benchmark_cnn.BenchmarkCNN(params) + + params = benchmark_cnn.make_params(use_fp16=True, fp16_vars=True, + variable_update='replicated', + all_reduce_spec='nccl') + with self.assertRaises(ValueError): + benchmark_cnn.BenchmarkCNN(params) + + # Automatic loss scaling is only supported for 'replicated', 'ps', + # and 'independent' variable_updates. + invalid_variable_updates = [ + 'distributed_replicated', 'distributed_all_reduce' + ] + for variable_update in invalid_variable_updates: + params = benchmark_cnn.make_params( + use_fp16=True, + fp16_vars=True, + fp16_enable_auto_loss_scale=True, + variable_update=variable_update) + with self.assertRaises(ValueError): + benchmark_cnn.BenchmarkCNN(params) + + # Automatic loss scaling is not supported for 'nccl'. + params = benchmark_cnn.make_params( + use_fp16=True, + fp16_vars=True, + fp16_enable_auto_loss_scale=True, + all_reduce_spec='nccl') + with self.assertRaises(ValueError): + benchmark_cnn.BenchmarkCNN(params) + + # Automatic loss scaling is not supported for 'staged_vars'. + params = benchmark_cnn.make_params( + use_fp16=True, + fp16_vars=True, + fp16_enable_auto_loss_scale=True, + staged_vars=True) + with self.assertRaises(ValueError): + benchmark_cnn.BenchmarkCNN(params) + + def testMakeParams(self): + default_params = benchmark_cnn.make_params() + self.assertEqual(default_params.model, + flags.param_specs['model'].default_value) + params = benchmark_cnn.make_params(model='foo') + self.assertEqual(params.model, 'foo') + with self.assertRaises(ValueError): + benchmark_cnn.make_params(job_name='foo') + with self.assertRaises(ValueError): + benchmark_cnn.make_params(gpu_memory_frac_for_testing=-1.) + + +class VariableUpdateTest(tf.test.TestCase): + """Tests that variables are updated correctly. + + These tests use a very simple deterministic model. For example, some tests use + the model + + loss = image * A * B + + where image is a 1x1 images (with a single scalar value), and A and B are + scalar variables. Tests will run tf_cnn_benchmarks with such a model, on a + sequence of scalar images, and assert that the losses are the correct value. + Since the losses depend on the variables, this indirectly tests variables are + updated correctly. + """ + + def setUp(self): + super(VariableUpdateTest, self).setUp() + _check_has_gpu() + benchmark_cnn.setup(benchmark_cnn.make_params()) + + def _get_benchmark_cnn_losses(self, inputs, params): + """Returns the losses of BenchmarkCNN on the given inputs and params.""" + logs = [] + model = test_util.TestCNNModel() + with test_util.monkey_patch(benchmark_cnn, + log_fn=test_util.print_and_add_to_list(logs), + LOSS_AND_ACCURACY_DIGITS_TO_SHOW=15): + bench = benchmark_cnn.BenchmarkCNN( + params, dataset=test_util.TestDataSet(), model=model) + # The test model does not use labels when computing loss, so the label + # values do not matter as long as it's the right shape. + labels = np.array([1] * inputs.shape[0]) + bench.input_preprocessor.set_fake_data(inputs, labels) + if bench.eval_input_preprocessor: + bench.eval_input_preprocessor.set_fake_data(inputs, labels) + bench.run() + + outputs = test_util.get_training_outputs_from_logs( + logs, params.print_training_accuracy) + return [x.loss for x in outputs] + + def _test_variable_update(self, params): + """Tests variables are updated correctly when the given params are used. + + A BenchmarkCNN is created with a TestCNNModel, and is run with some scalar + images. The losses are then compared with the losses obtained with + TestCNNModel().manually_compute_losses() + + Args: + params: a Params tuple used to create BenchmarkCNN. + """ + inputs = test_util.get_fake_var_update_inputs() + actual_losses = self._get_benchmark_cnn_losses(inputs, params) + expected_losses, = test_util.TestCNNModel().manually_compute_losses( + inputs, 1, params) + rtol = 3e-2 if params.use_fp16 else 1e-5 + self.assertAllClose(actual_losses[:len(expected_losses)], expected_losses, + rtol=rtol, atol=0.) + + def _test_variable_updates(self, params, + var_updates=('parameter_server', 'replicated')): + for var_update in var_updates: + self._test_variable_update(params._replace(variable_update=var_update)) + + def testDefault(self): + params = test_util.get_var_update_params() + self._test_variable_updates(params) + + # For some reason, this test doesn't always pass + + # def testCpuAsDevice(self): + # params = test_util.get_var_update_params()._replace( + # device='cpu', + # data_format='NHWC') # NHWC required when --device=cpu + # self._test_variable_updates(params) + + def testCpuAsLocalParamDevice(self): + params = test_util.get_var_update_params()._replace( + local_parameter_device='cpu') + self._test_variable_updates(params) + + def testFp16(self): + params = test_util.get_var_update_params()._replace(use_fp16=True) + self._test_variable_updates(params) + + def testMomentum(self): + params = test_util.get_var_update_params()._replace(optimizer='momentum') + self._test_variable_updates(params) + + def testRmsprop(self): + params = test_util.get_var_update_params()._replace(optimizer='rmsprop') + self._test_variable_updates(params) + + def testNoLayers(self): + params = test_util.get_var_update_params()._replace(use_tf_layers=False) + self._test_variable_updates(params) + + def testVariousAllReduceSpecs(self): + # We do not test xring, because it requires all Variables to have at least + # two elements. + params = test_util.get_var_update_params()._replace(all_reduce_spec='pscpu') + self._test_variable_updates(params, var_updates=('replicated',)) + params = params._replace(all_reduce_spec='psgpu') + self._test_variable_updates(params, var_updates=('replicated',)) + # TODO(b/80125832): Enable nccl in tests + # params = params._replace(all_reduce_spec='nccl', + # compact_gradient_transfer=False) + # self._test_variable_updates(params, var_updates=('replicated',)) + + def testPrintBaseLoss(self): + params = test_util.get_var_update_params()._replace( + loss_type_to_report='base_loss') + self._test_variable_updates(params) + + def testSingleL2LossOp(self): + params = test_util.get_var_update_params()._replace( + single_l2_loss_op=True) + self._test_variable_updates(params) + + def testResourceVars(self): + params = test_util.get_var_update_params()._replace( + use_resource_vars=True) + self._test_variable_updates(params) + + def testEvalDuringTrainingEveryNSteps(self): + # TODO(reedwm): Test that the eval results are correct. This only tests that + # training results are correct. + params = test_util.get_var_update_params()._replace( + eval_during_training_every_n_steps=1) + self._test_variable_updates(params, var_updates=('replicated',)) + + +class VariableMgrLocalReplicatedTest(tf.test.TestCase): + + def _test_grad_aggregation_with_var_mgr(self, variable_mgr, num_towers, + num_vars, deferred_grads): + tower_devices = ['/gpu:%d' % i for i in range(num_towers)] + tower_grads = [] + expected_sums = [0.] * num_vars + for i, tower_device in enumerate(tower_devices): + with tf.device(tower_device): + grad_vars = [] + for j in range(num_vars): + n = num_towers * i + j + grad_vars.append((tf.constant(n, dtype=tf.float32), + tf.Variable(n, dtype=tf.float32))) + expected_sums[j] += n + tower_grads.append(grad_vars) + + _, agg_device_grads = variable_mgr.preprocess_device_grads( + tower_grads) + expected_device_grads = [] + for i in range(num_towers): + expected_grad_vars = [] + for j in range(num_vars): + expected_grad_and_var = [expected_sums[j], num_towers * i + j] + if isinstance(agg_device_grads[i][j], tuple): + # agg_device_grads[i][j] can be a list or tuple. + expected_grad_and_var = tuple(expected_grad_and_var) + expected_grad_vars.append(expected_grad_and_var) + if isinstance(agg_device_grads[i], tuple): + # agg_device_grads[i] can be a list or tuple. + expected_grad_vars = tuple(expected_grad_vars) + expected_device_grads.append(expected_grad_vars) + config = tf.ConfigProto(allow_soft_placement=True) + with tf.Session(config=config) as sess: + sess.run(tf.initialize_all_variables()) + sess.run(variable_mgr._warmup_ops) + if deferred_grads: + # With deferred grads, the result of a session run is always the summed + # gradients from the previous session run. + sess.run(agg_device_grads) + feed_dict = {g: 0 for grad_vars in tower_grads for g, _ in grad_vars} + agg_device_grads_ = sess.run(agg_device_grads, feed_dict) + else: + agg_device_grads_ = sess.run(agg_device_grads) + self.assertEqual(agg_device_grads_, expected_device_grads) + + def _test_grad_aggregation(self, params, num_vars): + bench = benchmark_cnn.BenchmarkCNN(params) + deferred_grads = (params.variable_consistency == 'relaxed') + self._test_grad_aggregation_with_var_mgr(bench.variable_mgr, bench.num_gpus, + num_vars, deferred_grads) + + def test_grad_aggregation(self): + base_params = benchmark_cnn.make_params(num_gpus=10, + variable_update='replicated', + use_fp16=True) + params = base_params + self._test_grad_aggregation(params, 10) + params = base_params._replace(gradient_repacking=3) + self._test_grad_aggregation(params, 10) + params = base_params._replace(variable_consistency='relaxed') + self._test_grad_aggregation(params, 10) + params = base_params._replace(compact_gradient_transfer=False) + self._test_grad_aggregation(params, 10) + params = base_params._replace(gradient_repacking=3, + variable_consistency='relaxed') + self._test_grad_aggregation(params, 10) + params = base_params._replace(gradient_repacking=3, + compact_gradient_transfer=False) + self._test_grad_aggregation(params, 10) + params = base_params._replace(variable_consistency='relaxed', + compact_gradient_transfer=False) + self._test_grad_aggregation(params, 10) + params = base_params._replace(gradient_repacking=3, + variable_consistency='relaxed', + compact_gradient_transfer=False) + self._test_grad_aggregation(params, 10) + params = base_params._replace(num_gpus=8, hierarchical_copy=True) + self._test_grad_aggregation(params, 10) + # TODO(b/80125832): Enable nccl in tests + # params = base_params._replace(all_reduce_spec='nccl', + # compact_gradient_transfer=False, + # # For some reason, this test freezes when + # # num_gpus=10 + # num_gpus=8) + # self._test_grad_aggregation(params, 10) + params = base_params._replace(all_reduce_spec='pscpu') + self._test_grad_aggregation(params, 10) + + params = base_params._replace(num_gpus=8, + gradient_repacking=3, + variable_consistency='relaxed', + hierarchical_copy=True) + self._test_grad_aggregation(params, 10) + # TODO(b/80125832): Enable nccl in tests + # params = base_params._replace(num_gpus=8, + # gradient_repacking=3, + # variable_consistency='relaxed', + # all_reduce_spec='nccl', + # compact_gradient_transfer=False) + # self._test_grad_aggregation(params, 10) + params = base_params._replace(gradient_repacking=3, + variable_consistency='relaxed', + all_reduce_spec='pscpu') + self._test_grad_aggregation(params, 10) + params = base_params._replace(gradient_repacking=3, + variable_consistency='relaxed', + all_reduce_spec='xring') + self._test_grad_aggregation(params, 10) + + +if __name__ == '__main__': + tf.disable_v2_behavior() + tf.test.main() diff --git a/cv/classification/resnet50/tensorflow/cnn_util.py b/cv/classification/resnet50/tensorflow/cnn_util.py new file mode 100644 index 0000000000000000000000000000000000000000..09e2fe3501e1c49ce30ea9d2131229bf39ed5707 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/cnn_util.py @@ -0,0 +1,253 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Utilities for CNN benchmarks.""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import sys +import threading + +import numpy as np +import tensorflow.compat.v1 as tf + + +def tensorflow_version_tuple(): + v = tf.__version__ + major, minor, patch = v.split('.') + return (int(major), int(minor), patch) + + +def tensorflow_version(): + vt = tensorflow_version_tuple() + return vt[0] * 1000 + vt[1] + + +def log_fn(log): + print(log) + + +def roll_numpy_batches(array, batch_size, shift_ratio): + """Moves a proportion of batches from start to the end of the array. + + This function moves a proportion of batches, specified by `shift_ratio`, from + the starts of the array to the end. The number of batches moved is rounded + down to the nearest integer. For example, + + ``` + roll_numpy_batches([1, 2, 3, 4, 5, 6], 2, 0.34) == [3, 4, 5, 6, 1, 2] + ``` + + Args: + array: A Numpy array whose first dimension is the batch dimension. + batch_size: The batch size. + shift_ratio: Proportion of batches to move from the start of the array to + the end of the array. + Returns: + A new Numpy array, with a proportion of the batches at the start of `array` + moved to the end. + """ + num_items = array.shape[0] + assert num_items % batch_size == 0 + num_batches = num_items // batch_size + starting_batch = int(num_batches * shift_ratio) + starting_item = starting_batch * batch_size + return np.roll(array, -starting_item, axis=0) + + +# For Python 2.7 compatibility, we do not use threading.Barrier. +class Barrier(object): + """Implements a lightweight Barrier. + + Useful for synchronizing a fixed number of threads at known synchronization + points. Threads block on 'wait()' and simultaneously return once they have + all made that call. + + # Implementation adopted from boost/thread/barrier.hpp + """ + + def __init__(self, parties): + """Create a barrier, initialised to 'parties' threads.""" + self.cond = threading.Condition(threading.Lock()) + self.parties = parties + # Indicates the number of waiting parties. + self.waiting = 0 + # generation is needed to deal with spurious wakeups. If self.cond.wait() + # wakes up for other reasons, generation will force it go back to wait(). + self.generation = 0 + self.broken = False + + def wait(self): + """Wait for the barrier.""" + with self.cond: + # Check if the barrier has been disabled or not. + if self.broken: + return + gen = self.generation + self.waiting += 1 + if self.waiting == self.parties: + self.waiting = 0 + self.generation += 1 + self.cond.notify_all() + # loop because of spurious wakeups + while gen == self.generation: + self.cond.wait() + + # TODO(huangyp): Remove this method once we find a way to know which step + # is the last barrier. + def abort(self): + """Clear existing barrier and disable this barrier.""" + with self.cond: + if self.waiting > 0: + self.generation += 1 + self.cond.notify_all() + self.broken = True + + +class ImageProducer(object): + """An image producer that puts images into a staging area periodically. + + This class is useful for periodically running a set of ops, `put_ops` on a + different thread every `batch_group_size` steps. + + The notify_image_consumption() method is used to increment an internal counter + so that every `batch_group_size` times it is called, `put_ops` is executed. A + barrier is placed so that notify_image_consumption() will block until + the previous call to `put_ops` has been executed. + + The start() method is used to start the thread that runs `put_ops`. + + The done() method waits until the last put_ops is executed and stops the + thread. + + The purpose of this class is to fill an image input pipeline every + `batch_group_size` steps. Suppose `put_ops` supplies `batch_group_size` images + to the input pipeline when run, and that every step, 1 batch of images is + consumed. Then, by calling notify_image_consumption() every step, images are + supplied to the input pipeline at the same amount they are consumed. + + Example usage: + ``` + put_ops = ... # Enqueues `batch_group_size` batches to a StagingArea + get_op = ... # Dequeues 1 batch, and does some operations on it + batch_group_size = 4 + with tf.Session() as sess: + image_producer = cnn_util.ImageProducer(sess, put_op, batch_group_size) + image_producer.start() + for _ in range(100): + sess.run(get_op) + image_producer.notify_image_consumption() + ``` + """ + + def __init__(self, sess, put_ops, batch_group_size, use_python32_barrier): + self.sess = sess + self.num_gets = 0 + self.put_ops = put_ops + self.batch_group_size = batch_group_size + self.done_event = threading.Event() + if (use_python32_barrier and + sys.version_info[0] == 3 and sys.version_info[1] >= 2): + self.put_barrier = threading.Barrier(2) + else: + self.put_barrier = Barrier(2) + + def _should_put(self): + return (self.num_gets + 1) % self.batch_group_size == 0 + + def done(self): + """Stop the image producer.""" + self.done_event.set() + self.put_barrier.abort() + self.thread.join() + + def start(self): + """Start the image producer.""" + self.sess.run([self.put_ops]) + self.thread = threading.Thread(target=self._loop_producer) + # Set daemon to true to allow Ctrl + C to terminate all threads. + self.thread.daemon = True + self.thread.start() + + def notify_image_consumption(self): + """Increment the counter of image_producer by 1. + + This should only be called by the main thread that consumes images and runs + the model computation. One batch of images should be consumed between + calling start() and the first call to this method. Then, one batch of images + should be consumed between any two successive calls to this method. + """ + if self._should_put(): + self.put_barrier.wait() + self.num_gets += 1 + + def _loop_producer(self): + while not self.done_event.isSet(): + self.sess.run([self.put_ops]) + self.put_barrier.wait() + + +class BaseClusterManager(object): + """The manager for the cluster of servers running the benchmark.""" + + def __init__(self, params): + worker_hosts = params.worker_hosts.split(',') + ps_hosts = params.ps_hosts.split(',') if params.ps_hosts else [] + cluster = {'worker': worker_hosts} + if ps_hosts: + cluster['ps'] = ps_hosts + self._cluster_spec = tf.train.ClusterSpec(cluster) + + def get_target(self): + """Returns a target to be passed to tf.Session().""" + raise NotImplementedError('get_target must be implemented by subclass') + + def join_server(self): + raise NotImplementedError('join must be implemented by subclass') + + def get_cluster_spec(self): + return self._cluster_spec + + def num_workers(self): + return len(self._cluster_spec.job_tasks('worker')) + + def num_ps(self): + if 'ps' in self._cluster_spec.jobs: + return len(self._cluster_spec.job_tasks('ps')) + else: + return 0 + + +class GrpcClusterManager(BaseClusterManager): + """A cluster manager for a cluster networked with gRPC.""" + + def __init__(self, params, config_proto): + super(GrpcClusterManager, self).__init__(params) + if params.job_name == 'controller': + self._target = 'grpc://%s' % self._cluster_spec.job_tasks('worker')[0] + else: + self._server = tf.train.Server(self._cluster_spec, + job_name=params.job_name, + task_index=params.task_index, + config=config_proto, + protocol=params.server_protocol) + self._target = self._server.target + + def get_target(self): + return self._target + + def join_server(self): + return self._server.join() diff --git a/cv/classification/resnet50/tensorflow/cnn_util_test.py b/cv/classification/resnet50/tensorflow/cnn_util_test.py new file mode 100644 index 0000000000000000000000000000000000000000..7c245afbf8de9d72f8b9287e5a104f1ffd42bde8 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/cnn_util_test.py @@ -0,0 +1,129 @@ +# Copyright 2018 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Tests for tf_cnn_benchmarks.cnn_util.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import threading +import time + +import tensorflow.compat.v1 as tf + +import cnn_util + + +class CnnUtilBarrierTest(tf.test.TestCase): + + def testBarrier(self): + num_tasks = 20 + num_waits = 4 + barrier = cnn_util.Barrier(num_tasks) + threads = [] + sync_matrix = [] + for i in range(num_tasks): + sync_times = [0] * num_waits + thread = threading.Thread( + target=self._run_task, args=(barrier, sync_times)) + thread.start() + threads.append(thread) + sync_matrix.append(sync_times) + for thread in threads: + thread.join() + for wait_index in range(num_waits - 1): + # Max of times at iteration i < min of times at iteration i + 1 + self.assertLessEqual( + max([sync_matrix[i][wait_index] for i in range(num_tasks)]), + min([sync_matrix[i][wait_index + 1] for i in range(num_tasks)])) + + def _run_task(self, barrier, sync_times): + for wait_index in range(len(sync_times)): + sync_times[wait_index] = time.time() + barrier.wait() + + def testBarrierAbort(self): + num_tasks = 2 + num_waits = 1 + sync_times = [0] * num_waits + barrier = cnn_util.Barrier(num_tasks) + thread = threading.Thread( + target=self._run_task, args=(barrier, sync_times)) + thread.start() + barrier.abort() + # thread won't be blocked by done barrier. + thread.join() + + +class ImageProducerTest(tf.test.TestCase): + + def _slow_tensorflow_op(self): + """Returns a TensorFlow op that takes approximately 0.1s to complete.""" + def slow_func(v): + time.sleep(0.1) + return v + return tf.py_func(slow_func, [tf.constant(0.)], tf.float32).op + + def _test_image_producer(self, batch_group_size, put_slower_than_get): + # We use the variable x to simulate a staging area of images. x represents + # the number of batches in the staging area. + x = tf.Variable(0, dtype=tf.int32) + if put_slower_than_get: + put_dep = self._slow_tensorflow_op() + get_dep = tf.no_op() + else: + put_dep = tf.no_op() + get_dep = self._slow_tensorflow_op() + with tf.control_dependencies([put_dep]): + put_op = x.assign_add(batch_group_size, use_locking=True) + with tf.control_dependencies([get_dep]): + get_op = x.assign_sub(1, use_locking=True) + with self.test_session() as sess: + sess.run(tf.variables_initializer([x])) + image_producer = cnn_util.ImageProducer(sess, put_op, batch_group_size, + use_python32_barrier=False) + image_producer.start() + for _ in range(5 * batch_group_size): + sess.run(get_op) + # We assert x is nonnegative, to ensure image_producer never causes + # an unstage op to block. We assert x is at most 2 * batch_group_size, + # to ensure it doesn't use too much memory by storing too many batches + # in the staging area. + self.assertGreaterEqual(sess.run(x), 0) + self.assertLessEqual(sess.run(x), 2 * batch_group_size) + image_producer.notify_image_consumption() + self.assertGreaterEqual(sess.run(x), 0) + self.assertLessEqual(sess.run(x), 2 * batch_group_size) + + image_producer.done() + time.sleep(0.1) + self.assertGreaterEqual(sess.run(x), 0) + self.assertLessEqual(sess.run(x), 2 * batch_group_size) + + def test_image_producer(self): + self._test_image_producer(1, False) + self._test_image_producer(1, True) + self._test_image_producer(2, False) + self._test_image_producer(2, True) + self._test_image_producer(3, False) + self._test_image_producer(3, True) + self._test_image_producer(8, False) + self._test_image_producer(8, True) + + +if __name__ == '__main__': + tf.disable_v2_behavior() + tf.test.main() diff --git a/cv/classification/resnet50/tensorflow/coco_metric.py b/cv/classification/resnet50/tensorflow/coco_metric.py new file mode 100644 index 0000000000000000000000000000000000000000..d8ba67da47c79da96ec3d96feae91169cac7509c --- /dev/null +++ b/cv/classification/resnet50/tensorflow/coco_metric.py @@ -0,0 +1,198 @@ +# Copyright 2018 Google. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""COCO-style evaluation metrics. + +Forked from reference model implementation. + +COCO API: github.com/cocodataset/cocoapi/ +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import atexit +import tempfile + +from absl import flags + +import numpy as np +from pycocotools.coco import COCO +from pycocotools.cocoeval import COCOeval +import six + +import tensorflow.compat.v1 as tf + +import mlperf +import ssd_constants + +FLAGS = flags.FLAGS + + +# https://github.com/cocodataset/cocoapi/issues/49 +if six.PY3: + import pycocotools.coco + pycocotools.coco.unicode = str + + +def async_eval_runner(queue_predictions, queue_results, val_json_file): + """Load intermediate eval results and get COCO metrics.""" + while True: + message = queue_predictions.get() + if message == 'STOP': # poison pill + break + step, predictions = message + results = compute_map(predictions, val_json_file) + queue_results.put((step, results)) + + +def compute_map(predictions, val_json_file): + """Use model predictions to compute mAP. + + Args: + predictions: a list of tuples returned by decoded_predictions function, + each containing the following elements: + image source_id, box coordinates in XYWH order, probability score, label + val_json_file: path to COCO annotation file + Returns: + A dictionary that maps all COCO metrics (keys) to their values + """ + + if val_json_file.startswith("gs://"): + _, local_val_json = tempfile.mkstemp(suffix=".json") + tf.gfile.Remove(local_val_json) + + tf.gfile.Copy(val_json_file, local_val_json) + atexit.register(tf.gfile.Remove, local_val_json) + else: + local_val_json = val_json_file + + cocoGt = COCO(local_val_json) + cocoDt = cocoGt.loadRes(np.array(predictions)) + E = COCOeval(cocoGt, cocoDt, iouType='bbox') + E.evaluate() + E.accumulate() + E.summarize() + print("Current AP: {:.5f}".format(E.stats[0])) + metric_names = ['AP', 'AP50', 'AP75', 'APs', 'APm', 'APl', 'ARmax1', + 'ARmax10', 'ARmax100', 'ARs', 'ARm', 'ARl'] + + # Prefix with "COCO" to group in TensorBoard. + return {"COCO/" + key: value for key, value in zip(metric_names, E.stats)} + + +def calc_iou(target, candidates): + target_tiled = np.tile(target[np.newaxis, :], (candidates.shape[0], 1)) + # Left Top & Right Bottom + lt = np.maximum(target_tiled[:,:2], candidates[:,:2]) + + rb = np.minimum(target_tiled[:,2:], candidates[:,2:]) + + delta = np.maximum(rb - lt, 0) + + intersect = delta[:,0] * delta[:,1] + + delta1 = target_tiled[:,2:] - candidates[:,:2] + area1 = delta1[:,0] * delta1[:,1] + delta2 = target_tiled[:,2:] - candidates[:,:2] + area2 = delta2[:,0] * delta2[:,1] + + iou = intersect/(area1 + area2 - intersect) + return iou + + +# TODO(haoyuzhang): Rewrite this NumPy based implementation to TensorFlow based +# implementation under ssd_model.py accuracy_function. +def decode_predictions(labels_and_predictions): + """Decode predictions and remove unused boxes and labels.""" + predictions = [] + for example in labels_and_predictions: + source_id = int(example[ssd_constants.SOURCE_ID]) + pred_box = example[ssd_constants.PRED_BOXES] + pred_scores = example[ssd_constants.PRED_SCORES] + + locs, labels, probs = decode_single( + pred_box, pred_scores, ssd_constants.OVERLAP_CRITERIA, + ssd_constants.MAX_NUM_EVAL_BOXES, ssd_constants.MAX_NUM_EVAL_BOXES) + + raw_height, raw_width, _ = example[ssd_constants.RAW_SHAPE] + for loc, label, prob in zip(locs, labels, probs): + # Ordering convention differs, hence [1], [0] rather than [0], [1] + x, y = loc[1] * raw_width, loc[0] * raw_height + w, h = (loc[3] - loc[1]) * raw_width, (loc[2] - loc[0]) * raw_height + predictions.append( + [source_id, x, y, w, h, prob, ssd_constants.CLASS_INV_MAP[label]]) + mlperf.logger.log(key=mlperf.tags.NMS_THRESHOLD, + value=ssd_constants.OVERLAP_CRITERIA) + mlperf.logger.log(key=mlperf.tags.NMS_MAX_DETECTIONS, + value=ssd_constants.MAX_NUM_EVAL_BOXES) + return predictions + + +def decode_single(bboxes_in, scores_in, criteria, max_output, max_num=200): + # Reference to https://github.com/amdegroot/ssd.pytorch + + bboxes_out = [] + scores_out = [] + labels_out = [] + + for i, score in enumerate(np.split(scores_in, scores_in.shape[1], 1)): + score = np.squeeze(score, 1) + + # skip background + if i == 0: + continue + + mask = score > ssd_constants.MIN_SCORE + if not np.any(mask): + continue + + bboxes, score = bboxes_in[mask, :], score[mask] + + score_idx_sorted = np.argsort(score) + score_sorted = score[score_idx_sorted] + + score_idx_sorted = score_idx_sorted[-max_num:] + candidates = [] + + # perform non-maximum suppression + while len(score_idx_sorted): + idx = score_idx_sorted[-1] + bboxes_sorted = bboxes[score_idx_sorted, :] + bboxes_idx = bboxes[idx, :] + iou = calc_iou(bboxes_idx, bboxes_sorted) + + score_idx_sorted = score_idx_sorted[iou < criteria] + candidates.append(idx) + + bboxes_out.append(bboxes[candidates, :]) + scores_out.append(score[candidates]) + labels_out.extend([i]*len(candidates)) + + if len(scores_out) == 0: + tf.logging.info("No objects detected. Returning dummy values.") + return ( + np.zeros(shape=(1, 4), dtype=np.float32), + np.zeros(shape=(1,), dtype=np.int32), + np.ones(shape=(1,), dtype=np.float32) * ssd_constants.DUMMY_SCORE, + ) + + bboxes_out = np.concatenate(bboxes_out, axis=0) + scores_out = np.concatenate(scores_out, axis=0) + labels_out = np.array(labels_out) + + max_ids = np.argsort(scores_out)[-max_output:] + + return bboxes_out[max_ids, :], labels_out[max_ids], scores_out[max_ids] diff --git a/cv/classification/resnet50/tensorflow/constants.py b/cv/classification/resnet50/tensorflow/constants.py new file mode 100644 index 0000000000000000000000000000000000000000..dbb32271bb2669e0ba12588d87d39f7c8924b161 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/constants.py @@ -0,0 +1,67 @@ +# Copyright 2019 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Constants used in tf_cnn_benchmarks.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from enum import Enum + +# Results fetched with this prefix will not be reduced. Instead, they will be +# passed as matrices to model's postprocess function. +UNREDUCED_ACCURACY_OP_PREFIX = "tensor:" + +# Eval result values with this name prefix will be included in summary. +SIMPLE_VALUE_RESULT_PREFIX = "simple_value:" + + +class BenchmarkMode(object): + """Benchmark running mode.""" + TRAIN = "training" + EVAL = "evaluation" + TRAIN_AND_EVAL = "training + evaluation" + FORWARD_ONLY = "forward only" + + +class NetworkTopology(str, Enum): + """Network topology describes how multiple GPUs are inter-connected. + """ + # DGX-1 uses hybrid cube mesh topology with the following device peer to peer + # matrix: + # DMA: 0 1 2 3 4 5 6 7 + # 0: Y Y Y Y Y N N N + # 1: Y Y Y Y N Y N N + # 2: Y Y Y Y N N Y N + # 3: Y Y Y Y N N N Y + # 4: Y N N N Y Y Y Y + # 5: N Y N N Y Y Y Y + # 6: N N Y N Y Y Y Y + # 7: N N N Y Y Y Y Y + DGX1 = "dgx1" + + # V100 in GCP are connected with the following device peer to peer matrix. + # In this topology, bandwidth of the connection depends on if it uses NVLink + # or PCIe link. + # DMA: 0 1 2 3 4 5 6 7 + # 0: Y Y Y Y N Y N N + # 1: Y Y Y Y N N N N + # 2: Y Y Y Y N N N Y + # 3: Y Y Y Y N N N N + # 4: N N N N Y Y Y Y + # 5: Y N N N Y Y Y Y + # 6: N N N N Y Y Y Y + # 7: N N Y N Y Y Y Y + GCP_V100 = "gcp_v100" diff --git a/cv/classification/resnet50/tensorflow/convnet_builder.py b/cv/classification/resnet50/tensorflow/convnet_builder.py new file mode 100644 index 0000000000000000000000000000000000000000..9903de9247e7401b2982bb061fb6f4bdce7be179 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/convnet_builder.py @@ -0,0 +1,498 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""CNN builder.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from collections import defaultdict +import contextlib + +import numpy as np + +import tensorflow.compat.v1 as tf + +# pylint: disable=g-direct-tensorflow-import +import mlperf +from tensorflow.python.layers import convolutional as conv_layers +from tensorflow.python.layers import core as core_layers +from tensorflow.python.layers import normalization as normalization_layers +from tensorflow.python.layers import pooling as pooling_layers +from tensorflow.python.training import moving_averages + + +_data_format_to_channel_axis = {'NCHW': 1, 'NHWC': 3} + + +class ConvNetBuilder(object): + """Builder of cnn net.""" + + def __init__(self, + input_op, + input_nchan, + phase_train, + use_tf_layers, + data_format='NCHW', + dtype=tf.float32, + variable_dtype=tf.float32): + self.top_layer = input_op + self.top_size = input_nchan + self.phase_train = phase_train + self.use_tf_layers = use_tf_layers + self.data_format = data_format + self.dtype = dtype + self.variable_dtype = variable_dtype + self.counts = defaultdict(lambda: 0) + self.use_batch_norm = False + self.batch_norm_config = {} # 'decay': 0.997, 'scale': True} + self.channel_pos = ('channels_last' + if data_format == 'NHWC' else 'channels_first') + self.aux_top_layer = None + self.aux_top_size = 0 + + def get_custom_getter(self): + """Returns a custom getter that this class's methods must be called under. + + All methods of this class must be called under a variable scope that was + passed this custom getter. Example: + + ```python + network = ConvNetBuilder(...) + with tf.variable_scope('cg', custom_getter=network.get_custom_getter()): + network.conv(...) + # Call more methods of network here + ``` + + Currently, this custom getter only does anything if self.use_tf_layers is + True. In that case, it causes variables to be stored as dtype + self.variable_type, then casted to the requested dtype, instead of directly + storing the variable as the requested dtype. + """ + def inner_custom_getter(getter, *args, **kwargs): + """Custom getter that forces variables to have type self.variable_type.""" + if not self.use_tf_layers: + return getter(*args, **kwargs) + requested_dtype = kwargs['dtype'] + if not (requested_dtype == tf.float32 and + self.variable_dtype == tf.float16): + # Only change the variable dtype if doing so does not decrease variable + # precision. + kwargs['dtype'] = self.variable_dtype + var = getter(*args, **kwargs) + # This if statement is needed to guard the cast, because batch norm + # assigns directly to the return value of this custom getter. The cast + # makes the return value not a variable so it cannot be assigned. Batch + # norm variables are always in fp32 so this if statement is never + # triggered for them. + if var.dtype.base_dtype != requested_dtype: + var = tf.cast(var, requested_dtype) + return var + return inner_custom_getter + + @contextlib.contextmanager + def switch_to_aux_top_layer(self): + """Context that construct cnn in the auxiliary arm.""" + if self.aux_top_layer is None: + raise RuntimeError('Empty auxiliary top layer in the network.') + saved_top_layer = self.top_layer + saved_top_size = self.top_size + self.top_layer = self.aux_top_layer + self.top_size = self.aux_top_size + yield + self.aux_top_layer = self.top_layer + self.aux_top_size = self.top_size + self.top_layer = saved_top_layer + self.top_size = saved_top_size + + def get_variable(self, name, shape, dtype, cast_dtype, *args, **kwargs): + # TODO(reedwm): Currently variables and gradients are transferred to other + # devices and machines as type `dtype`, not `cast_dtype`. In particular, + # this means in fp16 mode, variables are transferred as fp32 values, not + # fp16 values, which uses extra bandwidth. + var = tf.get_variable(name, shape, dtype, *args, **kwargs) + return tf.cast(var, cast_dtype) + + def _conv2d_impl(self, input_layer, num_channels_in, filters, kernel_size, + strides, padding, kernel_initializer): + if self.use_tf_layers: + return conv_layers.conv2d(input_layer, filters, kernel_size, strides, + padding, self.channel_pos, + kernel_initializer=kernel_initializer, + use_bias=False) + else: + weights_shape = [kernel_size[0], kernel_size[1], num_channels_in, filters] + # We use the name 'conv2d/kernel' so the variable has the same name as its + # tf.layers equivalent. This way, if a checkpoint is written when + # self.use_tf_layers == True, it can be loaded when + # self.use_tf_layers == False, and vice versa. + weights = self.get_variable('conv2d/kernel', weights_shape, + self.variable_dtype, self.dtype, + initializer=kernel_initializer) + if self.data_format == 'NHWC': + strides = [1] + strides + [1] + else: + strides = [1, 1] + strides + return tf.nn.conv2d(input_layer, weights, strides, padding, + data_format=self.data_format) + + def conv(self, + num_out_channels, + k_height, + k_width, + d_height=1, + d_width=1, + mode='SAME', + input_layer=None, + num_channels_in=None, + use_batch_norm=None, + stddev=None, + activation='relu', + bias=0.0, + kernel_initializer=None): + """Construct a conv2d layer on top of cnn.""" + if input_layer is None: + input_layer = self.top_layer + if num_channels_in is None: + num_channels_in = self.top_size + if stddev is not None and kernel_initializer is None: + kernel_initializer = tf.truncated_normal_initializer(stddev=stddev) + if kernel_initializer is None: + kernel_initializer = tf.variance_scaling_initializer() + name = 'conv' + str(self.counts['conv']) + self.counts['conv'] += 1 + with tf.variable_scope(name): + strides = [1, d_height, d_width, 1] + if self.data_format == 'NCHW': + strides = [strides[0], strides[3], strides[1], strides[2]] + if mode != 'SAME_RESNET': + conv = self._conv2d_impl(input_layer, num_channels_in, num_out_channels, + kernel_size=[k_height, k_width], + strides=[d_height, d_width], padding=mode, + kernel_initializer=kernel_initializer) + else: # Special padding mode for ResNet models + if d_height == 1 and d_width == 1: + conv = self._conv2d_impl(input_layer, num_channels_in, + num_out_channels, + kernel_size=[k_height, k_width], + strides=[d_height, d_width], padding='SAME', + kernel_initializer=kernel_initializer) + else: + rate = 1 # Unused (for 'a trous' convolutions) + kernel_height_effective = k_height + (k_height - 1) * (rate - 1) + pad_h_beg = (kernel_height_effective - 1) // 2 + pad_h_end = kernel_height_effective - 1 - pad_h_beg + kernel_width_effective = k_width + (k_width - 1) * (rate - 1) + pad_w_beg = (kernel_width_effective - 1) // 2 + pad_w_end = kernel_width_effective - 1 - pad_w_beg + padding = [[0, 0], [pad_h_beg, pad_h_end], + [pad_w_beg, pad_w_end], [0, 0]] + if self.data_format == 'NCHW': + padding = [padding[0], padding[3], padding[1], padding[2]] + padded_input_layer = tf.pad(input_layer, padding) + conv = self._conv2d_impl(padded_input_layer, num_channels_in, + num_out_channels, + kernel_size=[k_height, k_width], + strides=[d_height, d_width], padding='VALID', + kernel_initializer=kernel_initializer) + if use_batch_norm is None: + use_batch_norm = self.use_batch_norm + mlperf.logger.log_conv2d(input_tensor=input_layer, output_tensor=conv, + stride_height=d_height, stride_width=d_width, + filters=num_out_channels, + initializer=kernel_initializer, + use_bias=not use_batch_norm and bias is not None) + if not use_batch_norm: + if bias is not None: + biases = self.get_variable('biases', [num_out_channels], + self.variable_dtype, self.dtype, + initializer=tf.constant_initializer(bias)) + biased = tf.reshape( + tf.nn.bias_add(conv, biases, data_format=self.data_format), + conv.get_shape()) + else: + biased = conv + else: + self.top_layer = conv + self.top_size = num_out_channels + biased = self.batch_norm(**self.batch_norm_config) + if activation == 'relu': + mlperf.logger.log(key=mlperf.tags.MODEL_HP_RELU) + conv1 = tf.nn.relu(biased) + elif activation == 'linear' or activation is None: + conv1 = biased + elif activation == 'tanh': + conv1 = tf.nn.tanh(biased) + else: + raise KeyError('Invalid activation type \'%s\'' % activation) + self.top_layer = conv1 + self.top_size = num_out_channels + return conv1 + + def _pool(self, + pool_name, + pool_function, + k_height, + k_width, + d_height, + d_width, + mode, + input_layer, + num_channels_in): + """Construct a pooling layer.""" + if input_layer is None: + input_layer = self.top_layer + else: + self.top_size = num_channels_in + name = pool_name + str(self.counts[pool_name]) + self.counts[pool_name] += 1 + if self.use_tf_layers: + pool = pool_function( + input_layer, [k_height, k_width], [d_height, d_width], + padding=mode, + data_format=self.channel_pos, + name=name) + else: + if self.data_format == 'NHWC': + ksize = [1, k_height, k_width, 1] + strides = [1, d_height, d_width, 1] + else: + ksize = [1, 1, k_height, k_width] + strides = [1, 1, d_height, d_width] + pool = tf.nn.max_pool(input_layer, ksize, strides, padding=mode, + data_format=self.data_format, name=name) + if pool_name == 'mpool': + mlperf.logger.log_max_pool(input_tensor=input_layer, + output_tensor=pool) + self.top_layer = pool + return pool + + def mpool(self, + k_height, + k_width, + d_height=2, + d_width=2, + mode='VALID', + input_layer=None, + num_channels_in=None): + """Construct a max pooling layer.""" + return self._pool('mpool', pooling_layers.max_pooling2d, k_height, k_width, + d_height, d_width, mode, input_layer, num_channels_in) + + def apool(self, + k_height, + k_width, + d_height=2, + d_width=2, + mode='VALID', + input_layer=None, + num_channels_in=None): + """Construct an average pooling layer.""" + return self._pool('apool', pooling_layers.average_pooling2d, k_height, + k_width, d_height, d_width, mode, input_layer, + num_channels_in) + + def reshape(self, shape, input_layer=None): + if input_layer is None: + input_layer = self.top_layer + self.top_layer = tf.reshape(input_layer, shape) + self.top_size = shape[-1] # HACK This may not always work + return self.top_layer + + def affine(self, + num_out_channels, + input_layer=None, + num_channels_in=None, + bias=0.0, + stddev=None, + activation='relu'): + if input_layer is None: + input_layer = self.top_layer + if num_channels_in is None: + num_channels_in = self.top_size + name = 'affine' + str(self.counts['affine']) + self.counts['affine'] += 1 + with tf.variable_scope(name): + init_factor = 2. if activation == 'relu' else 1. + stddev = stddev or np.sqrt(init_factor / num_channels_in) + kernel = self.get_variable( + 'weights', [num_channels_in, num_out_channels], + self.variable_dtype, self.dtype, + initializer=tf.truncated_normal_initializer(stddev=stddev)) + biases = self.get_variable('biases', [num_out_channels], + self.variable_dtype, self.dtype, + initializer=tf.constant_initializer(bias)) + mlperf.logger.log(key=mlperf.tags.MODEL_HP_DENSE, + value=num_out_channels) + logits = tf.nn.xw_plus_b(input_layer, kernel, biases) + if activation == 'relu': + mlperf.logger.log(key=mlperf.tags.MODEL_HP_RELU) + affine1 = tf.nn.relu(logits, name=name) + elif activation == 'linear' or activation is None: + affine1 = logits + else: + raise KeyError('Invalid activation type \'%s\'' % activation) + self.top_layer = affine1 + self.top_size = num_out_channels + return affine1 + + def inception_module(self, name, cols, input_layer=None, in_size=None): + if input_layer is None: + input_layer = self.top_layer + if in_size is None: + in_size = self.top_size + name += str(self.counts[name]) + self.counts[name] += 1 + with tf.variable_scope(name): + col_layers = [] + col_layer_sizes = [] + for c, col in enumerate(cols): + col_layers.append([]) + col_layer_sizes.append([]) + for l, layer in enumerate(col): + ltype, args = layer[0], layer[1:] + kwargs = { + 'input_layer': input_layer, + 'num_channels_in': in_size + } if l == 0 else {} + if ltype == 'conv': + self.conv(*args, **kwargs) + elif ltype == 'mpool': + self.mpool(*args, **kwargs) + elif ltype == 'apool': + self.apool(*args, **kwargs) + elif ltype == 'share': # Share matching layer from previous column + self.top_layer = col_layers[c - 1][l] + self.top_size = col_layer_sizes[c - 1][l] + else: + raise KeyError( + 'Invalid layer type for inception module: \'%s\'' % ltype) + col_layers[c].append(self.top_layer) + col_layer_sizes[c].append(self.top_size) + catdim = 3 if self.data_format == 'NHWC' else 1 + self.top_layer = tf.concat([layers[-1] for layers in col_layers], catdim) + self.top_size = sum([sizes[-1] for sizes in col_layer_sizes]) + return self.top_layer + + def spatial_mean(self, keep_dims=False): + name = 'spatial_mean' + str(self.counts['spatial_mean']) + self.counts['spatial_mean'] += 1 + axes = [1, 2] if self.data_format == 'NHWC' else [2, 3] + self.top_layer = tf.reduce_mean( + self.top_layer, axes, keepdims=keep_dims, name=name) + return self.top_layer + + def dropout(self, keep_prob=0.5, input_layer=None): + if input_layer is None: + input_layer = self.top_layer + else: + self.top_size = None + name = 'dropout' + str(self.counts['dropout']) + with tf.variable_scope(name): + if not self.phase_train: + keep_prob = 1.0 + if self.use_tf_layers: + dropout = core_layers.dropout(input_layer, 1. - keep_prob, + training=self.phase_train) + else: + dropout = tf.nn.dropout(input_layer, keep_prob) + self.top_layer = dropout + return dropout + + def _batch_norm_without_layers(self, input_layer, decay, use_scale, epsilon): + """Batch normalization on `input_layer` without tf.layers.""" + # We make this function as similar as possible to the + # tf.contrib.layers.batch_norm, to minimize the differences between using + # layers and not using layers. + shape = input_layer.shape + num_channels = shape[3] if self.data_format == 'NHWC' else shape[1] + beta = self.get_variable('beta', [num_channels], tf.float32, tf.float32, + initializer=tf.zeros_initializer()) + if use_scale: + gamma = self.get_variable('gamma', [num_channels], tf.float32, + tf.float32, initializer=tf.ones_initializer()) + else: + gamma = tf.constant(1.0, tf.float32, [num_channels]) + # For moving variables, we use tf.get_variable instead of self.get_variable, + # since self.get_variable returns the result of tf.cast which we cannot + # assign to. + moving_mean = tf.get_variable('moving_mean', [num_channels], + tf.float32, + initializer=tf.zeros_initializer(), + trainable=False) + moving_variance = tf.get_variable('moving_variance', [num_channels], + tf.float32, + initializer=tf.ones_initializer(), + trainable=False) + if self.phase_train: + bn, batch_mean, batch_variance = tf.nn.fused_batch_norm( + input_layer, gamma, beta, epsilon=epsilon, + data_format=self.data_format, is_training=True) + mean_update = moving_averages.assign_moving_average( + moving_mean, batch_mean, decay=decay, zero_debias=False) + variance_update = moving_averages.assign_moving_average( + moving_variance, batch_variance, decay=decay, zero_debias=False) + tf.add_to_collection(tf.GraphKeys.UPDATE_OPS, mean_update) + tf.add_to_collection(tf.GraphKeys.UPDATE_OPS, variance_update) + else: + bn, _, _ = tf.nn.fused_batch_norm( + input_layer, gamma, beta, mean=moving_mean, + variance=moving_variance, epsilon=epsilon, + data_format=self.data_format, is_training=False) + return bn + + def batch_norm(self, input_layer=None, decay=0.999, scale=False, + epsilon=0.001): + """Adds a Batch Normalization layer.""" + if input_layer is None: + input_layer = self.top_layer + else: + self.top_size = None + name = 'batchnorm' + str(self.counts['batchnorm']) + self.counts['batchnorm'] += 1 + + center = True + with tf.variable_scope(name) as scope: + if self.use_tf_layers: + layer_obj = normalization_layers.BatchNormalization( + momentum=decay, + scale=scale, + epsilon=epsilon, + fused=True, + axis=_data_format_to_channel_axis[self.data_format], + # We pass this 'scope' argument for compatibility with checkpoints + # created with the contrib version of batch norm. tf_cnn_benchmarks + # used to use the contrib version. + _scope=scope, + center=center, + name=scope.name) + bn = layer_obj.apply(input_layer, training=self.phase_train) + else: + bn = self._batch_norm_without_layers(input_layer, decay, scale, epsilon) + self.top_layer = bn + self.top_size = bn.shape[3] if self.data_format == 'NHWC' else bn.shape[1] + self.top_size = int(self.top_size) + mlperf.logger.log_batch_norm( + input_tensor=input_layer, output_tensor=bn, momentum=decay, + epsilon=epsilon, center=center, scale=scale, training=self.phase_train) + return bn + + def lrn(self, depth_radius, bias, alpha, beta): + """Adds a local response normalization layer.""" + name = 'lrn' + str(self.counts['lrn']) + self.counts['lrn'] += 1 + self.top_layer = tf.nn.lrn( + self.top_layer, depth_radius, bias, alpha, beta, name=name) + return self.top_layer diff --git a/cv/classification/resnet50/tensorflow/datasets.py b/cv/classification/resnet50/tensorflow/datasets.py new file mode 100644 index 0000000000000000000000000000000000000000..e51743e3d37231256288636ead999b8d23eb3dfe --- /dev/null +++ b/cv/classification/resnet50/tensorflow/datasets.py @@ -0,0 +1,272 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Benchmark dataset utilities. +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from abc import abstractmethod +import os + +import numpy as np +import six +from six.moves import cPickle +from six.moves import xrange # pylint: disable=redefined-builtin +import tensorflow.compat.v1 as tf + +from tensorflow.python.platform import gfile +import preprocessing + +IMAGENET_NUM_TRAIN_IMAGES = 1281167 +IMAGENET_NUM_VAL_IMAGES = 50000 + +IMAGENETTE_NUM_TRAIN_IMAGES = 9469 +IMAGENETTE_NUM_VAL_IMAGES = 3925 + +COCO_NUM_TRAIN_IMAGES = 118287 +COCO_NUM_VAL_IMAGES = 4952 + + +class Dataset(object): + """Abstract class for cnn benchmarks dataset.""" + + def __init__(self, + name, + data_dir=None, + queue_runner_required=False, + num_classes=None): + self.name = name + self.data_dir = data_dir + self._queue_runner_required = queue_runner_required + self._num_classes = num_classes + + def tf_record_pattern(self, subset): + return os.path.join(self.data_dir, '%s-*-of-*' % subset) + + def reader(self): + return tf.TFRecordReader() + + @property + def num_classes(self): + return self._num_classes + + @num_classes.setter + def num_classes(self, val): + self._num_classes = val + + @abstractmethod + def num_examples_per_epoch(self, subset): + pass + + def __str__(self): + return self.name + + def get_input_preprocessor(self, input_preprocessor='default'): + assert not self.use_synthetic_gpu_inputs() + return _SUPPORTED_INPUT_PREPROCESSORS[self.name][input_preprocessor] + + def queue_runner_required(self): + return self._queue_runner_required + + def use_synthetic_gpu_inputs(self): + return not self.data_dir + + +class LibrispeechDataset(Dataset): + """Configuration for LibriSpeech dataset.""" + + def __init__(self, data_dir=None): + super(LibrispeechDataset, self).__init__( + 'librispeech', data_dir, num_classes=29) + + def tf_record_pattern(self, subset): + if subset == 'train': + return os.path.join(self.data_dir, 'train-clean-*.tfrecords') + elif subset == 'validation': + return os.path.join(self.data_dir, 'test-clean.tfrecords') + else: + return '' + + def num_examples_per_epoch(self, subset='train'): + del subset + return 2 # TODO(laigd): currently this is an arbitrary number. + + +class ImageDataset(Dataset): + """Abstract class for image datasets.""" + + def __init__(self, + name, + height, + width, + depth=None, + data_dir=None, + queue_runner_required=False, + num_classes=1001): + super(ImageDataset, self).__init__(name, data_dir, queue_runner_required, + num_classes) + self.height = height + self.width = width + self.depth = depth or 3 + + +class ImagenetDataset(ImageDataset): + """Configuration for Imagenet dataset.""" + + def __init__(self, data_dir=None): + super(ImagenetDataset, self).__init__( + 'imagenet', 300, 300, data_dir=data_dir) + + def num_examples_per_epoch(self, subset='train'): + if subset == 'train': + return IMAGENET_NUM_TRAIN_IMAGES + elif subset == 'validation': + return IMAGENET_NUM_VAL_IMAGES + else: + raise ValueError('Invalid data subset "%s"' % subset) + +class ImagenetteDataset(ImageDataset): + """Configuration for Imagenette dataset.""" + def __init__(self, data_dir=None): + super(ImagenetteDataset, self).__init__( + 'imagenette', 300, 300, data_dir=data_dir, num_classes=10) + + def num_examples_per_epoch(self, subset='train'): + if subset == 'train': + return IMAGENETTE_NUM_TRAIN_IMAGES + elif subset == 'validation': + return IMAGENETTE_NUM_VAL_IMAGES + else: + raise ValueError('Invalid data subset "%s"' % subset) + +class Cifar10Dataset(ImageDataset): + """Configuration for cifar 10 dataset. + + It will mount all the input images to memory. + """ + + def __init__(self, data_dir=None): + super(Cifar10Dataset, self).__init__( + 'cifar10', + 32, + 32, + data_dir=data_dir, + queue_runner_required=True, + num_classes=11) + + def read_data_files(self, subset='train'): + """Reads from data file and returns images and labels in a numpy array.""" + assert self.data_dir, ('Cannot call `read_data_files` when using synthetic ' + 'data') + if subset == 'train': + filenames = [ + os.path.join(self.data_dir, 'data_batch_%d' % i) + for i in xrange(1, 6) + ] + elif subset == 'validation': + filenames = [os.path.join(self.data_dir, 'test_batch')] + else: + raise ValueError('Invalid data subset "%s"' % subset) + + inputs = [] + for filename in filenames: + with gfile.Open(filename, 'rb') as f: + # python2 does not have the encoding parameter + encoding = {} if six.PY2 else {'encoding': 'bytes'} + inputs.append(cPickle.load(f, **encoding)) + # See http://www.cs.toronto.edu/~kriz/cifar.html for a description of the + # input format. + all_images = np.concatenate( + [each_input[b'data'] for each_input in inputs]).astype(np.float32) + all_labels = np.concatenate( + [each_input[b'labels'] for each_input in inputs]) + return all_images, all_labels + + def num_examples_per_epoch(self, subset='train'): + if subset == 'train': + return 50000 + elif subset == 'validation': + return 10000 + else: + raise ValueError('Invalid data subset "%s"' % subset) + + +class COCODataset(ImageDataset): + """COnfiguration for COCO dataset.""" + + def __init__(self, data_dir=None, image_size=300): + super(COCODataset, self).__init__( + 'coco', image_size, image_size, data_dir=data_dir, num_classes=81) + + def num_examples_per_epoch(self, subset='train'): + if subset == 'train': + return COCO_NUM_TRAIN_IMAGES + elif subset == 'validation': + return COCO_NUM_VAL_IMAGES + else: + raise ValueError('Invalid data subset "%s"' % subset) + + +_SUPPORTED_DATASETS = { + 'imagenet': ImagenetDataset, + 'imagenette' : ImagenetteDataset, + 'cifar10': Cifar10Dataset, + 'librispeech': LibrispeechDataset, + 'coco': COCODataset, +} + +_SUPPORTED_INPUT_PREPROCESSORS = { + 'imagenet': { + 'default': preprocessing.RecordInputImagePreprocessor, + 'official_models_imagenet': preprocessing.ImagenetPreprocessor, + }, + 'imagenette': { + 'default': preprocessing.RecordInputImagePreprocessor, + 'official_models_imagenet': preprocessing.ImagenetPreprocessor, + }, + 'cifar10': { + 'default': preprocessing.Cifar10ImagePreprocessor + }, + 'librispeech': { + 'default': preprocessing.LibrispeechPreprocessor + }, + 'coco': { + 'default': preprocessing.COCOPreprocessor + }, +} + + +def create_dataset(data_dir, data_name): + """Create a Dataset instance based on data_dir and data_name.""" + if not data_dir and not data_name: + # When using synthetic data, use synthetic imagenet images by default. + data_name = 'imagenet' + + # Infere dataset name from data_dir if data_name is not provided. + if data_name is None: + for supported_name in _SUPPORTED_DATASETS: + if supported_name in data_dir: + data_name = supported_name + break + else: # Failed to identify dataset name from data dir. + raise ValueError('Could not identify name of dataset. ' + 'Please specify with --data_name option.') + if data_name not in _SUPPORTED_DATASETS: + raise ValueError('Unknown dataset. Must be one of %s' % ', '.join( + [key for key in sorted(_SUPPORTED_DATASETS.keys())])) + + return _SUPPORTED_DATASETS[data_name](data_dir) diff --git a/cv/classification/resnet50/tensorflow/download_script.sh b/cv/classification/resnet50/tensorflow/download_script.sh new file mode 100644 index 0000000000000000000000000000000000000000..dcb821844d056ae198a58a067ee3b112afc991f3 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/download_script.sh @@ -0,0 +1,3 @@ +#!/bin/bash +set -e +exit 0 \ No newline at end of file diff --git a/cv/classification/resnet50/tensorflow/flags.py b/cv/classification/resnet50/tensorflow/flags.py new file mode 100644 index 0000000000000000000000000000000000000000..f65898ae2e68c3d0891dd605b877b78cf108e6c0 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/flags.py @@ -0,0 +1,93 @@ +# Copyright 2018 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Contains functions to define flags and params. + +Calling a DEFINE_* function will add a ParamSpec namedtuple to the param_spec +dict. The DEFINE_* arguments match those in absl. Calling define_flags() creates +a command-line flag for every ParamSpec defined by a DEFINE_* functions. + +The reason we don't use absl flags directly is that we want to be able to use +tf_cnn_benchmarks as a library. When using it as a library, we don't want to +define any flags, but instead pass parameters to the BenchmarkCNN constructor. +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from collections import namedtuple + +from absl import flags as absl_flags +import six + + +FLAGS = absl_flags.FLAGS + + +# ParamSpec describes one of benchmark_cnn.BenchmarkCNN's parameters. +ParamSpec = namedtuple('_ParamSpec', + ['flag_type', 'default_value', 'description', + 'kwargs']) + + +# Maps from parameter name to its ParamSpec. +param_specs = {} + + +def DEFINE_string(name, default, help): # pylint: disable=invalid-name,redefined-builtin + param_specs[name] = ParamSpec('string', default, help, {}) + + +def DEFINE_boolean(name, default, help): # pylint: disable=invalid-name,redefined-builtin + param_specs[name] = ParamSpec('boolean', default, help, {}) + + +def DEFINE_integer(name, default, help, lower_bound=None, upper_bound=None): # pylint: disable=invalid-name,redefined-builtin + kwargs = {'lower_bound': lower_bound, 'upper_bound': upper_bound} + param_specs[name] = ParamSpec('integer', default, help, kwargs) + + +def DEFINE_float(name, default, help, lower_bound=None, upper_bound=None): # pylint: disable=invalid-name,redefined-builtin + kwargs = {'lower_bound': lower_bound, 'upper_bound': upper_bound} + param_specs[name] = ParamSpec('float', default, help, kwargs) + + +def DEFINE_enum(name, default, enum_values, help): # pylint: disable=invalid-name,redefined-builtin + kwargs = {'enum_values': enum_values} + param_specs[name] = ParamSpec('enum', default, help, kwargs) + + +def DEFINE_list(name, default, help): # pylint: disable=invalid-name,redefined-builtin + param_specs[name] = ParamSpec('list', default, help, {}) + + +def define_flags(specs=None): + """Define a command line flag for each ParamSpec in flags.param_specs.""" + specs = specs or param_specs + define_flag = { + 'boolean': absl_flags.DEFINE_boolean, + 'float': absl_flags.DEFINE_float, + 'integer': absl_flags.DEFINE_integer, + 'string': absl_flags.DEFINE_string, + 'enum': absl_flags.DEFINE_enum, + 'list': absl_flags.DEFINE_list + } + for name, param_spec in six.iteritems(specs): + if param_spec.flag_type not in define_flag: + raise ValueError('Unknown flag_type %s' % param_spec.flag_type) + else: + define_flag[param_spec.flag_type](name, param_spec.default_value, + help=param_spec.description, + **param_spec.kwargs) diff --git a/cv/classification/resnet50/tensorflow/get_imagenette.sh b/cv/classification/resnet50/tensorflow/get_imagenette.sh new file mode 100644 index 0000000000000000000000000000000000000000..9c3d2927fedf404b55392931c5137994025e57d6 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/get_imagenette.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +: ${DATA_DIR:="./"} + + +if [ ! -d "./imagenette" ]; then + echo "Make soft link form ${DATA_DIR} to tf_cnn_benckmarks" + ln -s "${DATA_DIR}/imagenette_tfrecord" imagenette +fi + diff --git a/cv/classification/resnet50/tensorflow/get_num_devices.sh b/cv/classification/resnet50/tensorflow/get_num_devices.sh new file mode 100644 index 0000000000000000000000000000000000000000..e28edae741e3014606c4c0eef2b78a22223b2418 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/get_num_devices.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +devices=$CUDA_VISIBLE_DEVICES +if [ -n "$devices" ]; then + _devices=(${devices//,/ }) + num_devices=${#_devices[@]} +else + num_devices=2 + export CUDA_VISIBLE_DEVICES=0,1 + echo "Not found CUDA_VISIBLE_DEVICES, set nproc_per_node = ${num_devices}" +fi +export IX_NUM_CUDA_VISIBLE_DEVICES=${num_devices} \ No newline at end of file diff --git a/cv/classification/resnet50/tensorflow/leading_indicators_test.py b/cv/classification/resnet50/tensorflow/leading_indicators_test.py new file mode 100644 index 0000000000000000000000000000000000000000..1bd8715261afc5e19ca4484fe95c81f6c2330d26 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/leading_indicators_test.py @@ -0,0 +1,1003 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Benchmark various leading indicators CNNs. + +The purpose of these tests is to test each model as a high level baseline and +to ensure the various variable_update options have not regressing. Not all +options are tested. The tests focus on the most viable options. +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import ctypes +import logging +import os +import sys + +from absl import flags +from absl.testing import absltest # pylint: disable=unused-import +import tensorflow.compat.v1 as tf # pylint: disable=g-bad-import-order +import benchmark_cnn +from platforms import util as platforms_util + +flags.DEFINE_integer('num_batches', None, + 'number of batches to run, excluding warmup') + + +class BenchmarkBase(tf.test.Benchmark): + """Base class for all benchmarks in this file.""" + + def __init__(self, output_dir=None, root_data_dir=None, **kwargs): + """Base class for all benchmarks in this file. + + Args: + output_dir: directory where to output e.g. log files + root_data_dir: directory under which to look for dataset + **kwargs: arbitrary named arguments. This is needed to make the + constructor forward compatible in case PerfZero provides more + named arguments before updating the constructor. + """ + + # Load default values if the benchmark is not run with absl.app.run() + if not flags.FLAGS.is_parsed(): + flags.FLAGS.mark_as_parsed() + + self.fake_data_dir = os.path.join(platforms_util.get_test_data_dir(), + 'fake_tf_record_data') + self.output_dir = output_dir + if root_data_dir is None: + self.data_dir = ('/readahead/200M/placer/prod/home/distbelief/' + 'imagenet-tensorflow/imagenet-2012-tfrecord') + else: + self.data_dir = os.path.join(root_data_dir, 'imagenet') + + def _run_benchmark(self, params): + """Run a CNN benchmark and report its results. + + Args: + params: Params tuple, typically created by benchmark_cnn.make_params or + benchmark_cnn.make_params_from_flags. + """ + logging.info('Running benchmark [%s]', self._get_name()) + params = benchmark_cnn.setup(params) + bench = benchmark_cnn.BenchmarkCNN(params) + bench.print_info() + stats = bench.run() + extras = {} + extras['examples_per_sec'] = stats.get('images_per_sec') + if 'last_average_loss' in stats: + extras['last_average_loss'] = stats['last_average_loss'] + if 'top_1_accuracy' in stats: + extras['top_1_accuracy'] = stats['top_1_accuracy'] + if 'top_5_accuracy' in stats: + extras['top_5_accuracy'] = stats['top_5_accuracy'] + self.report_benchmark( + iters=stats.get('num_steps'), + wall_time=stats.get('average_wall_time'), + extras=extras) + + def _shared_params(self): + """Returns shared parameters for all benchmarks in this file.""" + params = {} + if flags.FLAGS.num_batches is not None: + params['num_batches'] = flags.FLAGS.num_batches + if self.output_dir is not None: + params['benchmark_log_dir'] = self.output_dir + return benchmark_cnn.make_params(**params) + + def _binary_search_batch_size(self, params, init_batch_size): + """Find the max batch_size using binary search.""" + assert init_batch_size > 0 + low_batch_size = 0 + high_batch_size = None + batch_size = init_batch_size + + # No need to run a warmup or many batches; if it doesn't OOM after 10 + # batches, it should work in general. + params = params._replace(num_batches=10, num_warmup_batches=0) + + # Find high_batch_size first. + tf.logging.info( + 'Looking for upper bound to batch size, starting with %d' % batch_size) + while high_batch_size is None: + tf.logging.info('Trying batch_size %d' % batch_size) + params = params._replace(batch_size=batch_size) + bench = benchmark_cnn.BenchmarkCNN(params) + bench.print_info() + try: + bench.run() + low_batch_size = batch_size + batch_size *= 2 + except tf.errors.ResourceExhaustedError: + high_batch_size = batch_size - 1 + + # Binary Search + tf.logging.info( + 'Max batch size is in range (%d, %d]. Starting binary search to find ' + 'exact max batch size.' % (low_batch_size, batch_size)) + while low_batch_size < high_batch_size: + batch_size = (low_batch_size + high_batch_size + 1) // 2 + tf.logging.info('Trying batch_size %d' % batch_size) + params = params._replace(batch_size=batch_size) + bench = benchmark_cnn.BenchmarkCNN(params) + bench.print_info() + try: + bench.run() + low_batch_size = batch_size + except tf.errors.ResourceExhaustedError: + high_batch_size = batch_size - 1 + self.report_benchmark(extras={'max_batch_size': low_batch_size}) + + +class Resnet50BenchmarksInferenceCpu(BenchmarkBase): + """"Benchmarks for ResNet50 inference on CPU.""" + + def _shared_params(self): + """Returns shared parameters for all ResNet50 benchmarks.""" + return BenchmarkBase._shared_params(self)._replace( + num_gpus=1, + model='resnet50', + num_warmup_batches=5, + num_batches=50, + distortions=False, + forward_only=True, + device='cpu', + data_format='NHWC', + num_intra_threads=0) + + def benchmark_synth_forward_batch1(self): + """Tests 1 CPU batch size 1.""" + params = self._shared_params()._replace(batch_size=1) + self._run_benchmark(params) + + def benchmark_synth_forward_batch16(self): + """Tests 1 CPU batch size 16.""" + params = self._shared_params()._replace(batch_size=16) + self._run_benchmark(params) + + +class FrozenResnet50BenchmarksInferenceCpu(Resnet50BenchmarksInferenceCpu): + """"Benchmarks for ResNet50 frozen graph inference on CPU.""" + + def _shared_params(self): + return super(FrozenResnet50BenchmarksInferenceCpu, + self)._shared_params()._replace(freeze_when_forward_only=True) + + +class Resnet50BenchmarksInference(BenchmarkBase): + """"Benchmarks for ResNet50 inference.""" + + def _shared_params(self): + """Returns shared parameters for all ResNet50 benchmarks.""" + return BenchmarkBase._shared_params(self)._replace( + num_gpus=1, model='resnet50', distortions=False, forward_only=True) + + def benchmark_synth_forward_batch128(self): + """Tests 1 GPU batch size 128.""" + params = self._shared_params()._replace(batch_size=128) + self._run_benchmark(params) + + def benchmark_fp16_synth_forward_batch128(self): + """Tests 1 GPU batch size 128 FP16.""" + params = self._shared_params()._replace(batch_size=128, use_fp16=True) + self._run_benchmark(params) + + def benchmark_fp16_synth_forward_batch16(self): + """Tests 1 GPU batch size 16 FP16.""" + params = self._shared_params()._replace(batch_size=16, use_fp16=True) + self._run_benchmark(params) + + def benchmark_xla_synth_forward_batch128(self): + """Tests 1 GPU batch size 128 with XLA.""" + params = self._shared_params()._replace(batch_size=128, xla=True) + self._run_benchmark(params) + + def benchmark_fp16_xla_synth_forward_batch128(self): + """Tests 1 GPU batch size 128 FP16 with XLA.""" + params = self._shared_params()._replace( + batch_size=128, use_fp16=True, xla=True) + self._run_benchmark(params) + + def benchmark_fp16_xla_synth_forward_batch16(self): + """Tests 1 GPU batch size 16 FP16 with XLA.""" + params = self._shared_params()._replace( + batch_size=16, use_fp16=True, xla=True) + self._run_benchmark(params) + + +class FrozenResnet50BenchmarksInference(Resnet50BenchmarksInference): + """"Benchmarks for ResNet50 frozen graph inference.""" + + def _shared_params(self): + return super(FrozenResnet50BenchmarksInference, + self)._shared_params()._replace(freeze_when_forward_only=True) + + def benchmark_trt_synth_forward_batch128(self): + """Tests 1 GPU batch size 128.""" + params = self._shared_params()._replace(batch_size=128, trt_mode='FP32') + self._run_benchmark(params) + + # TODO(laigd): enable fp16 tests for TF-TRT, it's currently not supported yet. + # def benchmark_fp16_trt_synth_forward_batch128(self): + # """Tests 1 GPU batch size 128 FP16.""" + # params = self._shared_params()._replace( + # batch_size=128, use_fp16=True, trt_mode='FP16') + # self._run_benchmark(params) + + # Test with batch size 16 to compare with native TF GPU implementation and + # XLA. + # def benchmark_fp16_trt_synth_forward_batch16(self): + # """Tests 1 GPU batch size 16 FP16.""" + # params = self._shared_params()._replace( + # batch_size=16, use_fp16=True, trt_mode='FP16') + # self._run_benchmark(params) + + +class Resnet50Benchmarks(BenchmarkBase): + """"Benchmark resnet50 configurations.""" + + def _shared_params(self): + """Returns shared parameters for all ResNet50 benchmarks.""" + return BenchmarkBase._shared_params(self)._replace( + model='resnet50', batch_size=128, distortions=False, + optimizer='momentum') + + def _shared_params_fp16(self): + """Returns shared parameters for all ResNet50 FP16 benchmarks.""" + return BenchmarkBase._shared_params(self)._replace( + model='resnet50', + batch_size=256, + distortions=False, + use_fp16=True, + optimizer='momentum', + loss_type_to_report='base_loss', + compute_lr_on_cpu=True, + single_l2_loss_op=True + ) + + def benchmark_synth_1gpu_gpuparams(self): + """Tests 1 gpu with synthetic data.""" + params = self._shared_params()._replace(num_gpus=1) + self._run_benchmark(params) + + def benchmark_fake_1gpu_gpuparams(self): + """Tests 1 gpu with fake data.""" + params = self._shared_params()._replace( + num_gpus=1, data_dir=self.fake_data_dir, data_name='imagenet') + self._run_benchmark(params) + + def benchmark_synth_1gpu_max_batch_size(self): + """Finds largest batch size that can be run with 1 gpu using synth data.""" + params = self._shared_params()._replace( + num_gpus=1, variable_update='parameter_server') + self._binary_search_batch_size(params, init_batch_size=128) + + def benchmark_synth_4gpu_gpureplicated(self): + """Tests 4 gpu with synthetic data with parameters replicated.""" + params = self._shared_params()._replace( + num_gpus=4, + variable_update='replicated', + all_reduce_spec='nccl', + gradient_repacking=2) + self._run_benchmark(params) + + def benchmark_synth_8gpu_gpureplicated(self): + """Tests 8 gpu with synthetic data with parameters replicated.""" + params = self._shared_params()._replace( + num_gpus=8, + variable_update='replicated', + all_reduce_spec='nccl', + gradient_repacking=2) + self._run_benchmark(params) + + def benchmark_fake_8gpu_gpureplicated(self): + """Tests 8 gpu with fake data with parameters replicated.""" + params = self._shared_params()._replace( + num_gpus=8, + data_dir=self.fake_data_dir, + data_name='imagenet', + variable_update='replicated', + all_reduce_spec='nccl', + gradient_repacking=2) + self._run_benchmark(params) + + # FP16 mixed-precision tests. + + def benchmark_fp16_synth_1gpu_gpuparams(self): + """Tests 1 gpu with synthetic data with parameters on the gpu.""" + params = self._shared_params_fp16()._replace( + num_gpus=1, variable_update='parameter_server') + self._run_benchmark(params) + + def benchmark_fp16_synth_1gpu_gpuparams_batch128(self): + """Tests 1 gpu with synthetic data with parameters on the gpu.""" + params = self._shared_params_fp16()._replace( + num_gpus=1, batch_size=128, variable_update='parameter_server') + self._run_benchmark(params) + + def benchmark_fp16_synth_4gpu_gpureplicated(self): + """Tests 4 gpu with synthetic data with nccl and all_reduce.""" + params = self._shared_params_fp16()._replace( + num_gpus=4, + variable_update='replicated', + all_reduce_spec='nccl', + gradient_repacking=2) + self._run_benchmark(params) + + def benchmark_fp16_synth_8gpu_gpureplicated(self): + """Tests 8 gpu with synthetic with nccl and all_reduce.""" + params = self._shared_params_fp16()._replace( + num_gpus=8, + variable_update='replicated', + all_reduce_spec='nccl', + gradient_repacking=2) + self._run_benchmark(params) + + def benchmark_fp16_fake_1gpu_gpuparams(self): + """Tests 1 gpus with fake data.""" + params = self._shared_params_fp16()._replace( + num_gpus=1, + data_dir=self.fake_data_dir, + data_name='imagenet', + variable_update='parameter_server') + self._run_benchmark(params) + + def benchmark_fp16_fake_8gpu_gpureplicated(self): + """Tests 8 gpus with fake data.""" + params = self._shared_params_fp16()._replace( + num_gpus=8, + data_dir=self.fake_data_dir, + data_name='imagenet', + variable_update='replicated', + all_reduce_spec='nccl', + gradient_repacking=2) + self._run_benchmark(params) + + def benchmark_fp16_fakedistort_8gpu_gpureplicated(self): + """Tests 8 gpus with fake distorted data.""" + params = self._shared_params_fp16()._replace( + num_gpus=8, + data_dir=self.fake_data_dir, + data_name='imagenet', + distortions=True, + variable_update='replicated', + all_reduce_spec='nccl', + gradient_repacking=2) + self._run_benchmark(params) + + # XLA versions of Resnet50 tests only for single GPU. + def benchmark_xla_synth_1gpu_gpuparams(self): + """Tests 1 gpu with synthetic data with XLA.""" + params = self._shared_params()._replace( + num_gpus=1, variable_update='parameter_server', xla=True) + self._run_benchmark(params) + + def benchmark_fp16_xla_synth_1gpu_gpuparams(self): + """Tests 1 gpu with fp16, synthetic data with XLA.""" + params = self._shared_params_fp16()._replace( + num_gpus=1, variable_update='parameter_server', xla=True) + self._run_benchmark(params) + + # Test does not run as part of continuous testing on guitar. + def benchmark_ng_xla_batch64_synth_1gpu_gpuparams(self): + """Tests 1 gpu with XLA, synth data, and batch 64.""" + params = self._shared_params()._replace( + num_gpus=1, batch_size=64, variable_update='parameter_server', xla=True) + self._run_benchmark(params) + + def benchmark_fp16_xla_batch64_synth_1gpu_gpuparams(self): + """Tests 1 gpu with fp16, XLA, synth data, and batch 64.""" + params = self._shared_params_fp16()._replace( + num_gpus=1, + batch_size=64, + variable_update='parameter_server', + xla=True) + self._run_benchmark(params) + + def benchmark_fp16_xla_batch128_synth_1gpu_gpuparams(self): + """Tests 1 gpu with fp16, XLA, and synth data.""" + params = self._shared_params_fp16()._replace( + num_gpus=1, + batch_size=128, + variable_update='parameter_server', + xla=True) + self._run_benchmark(params) + + def benchmark_xla_synth_1gpu_max_batch_size(self): + """Finds largest batch that can be run with XLA, 1 gpu, and synth data.""" + params = self._shared_params()._replace( + num_gpus=1, variable_update='parameter_server', xla=True) + self._binary_search_batch_size(params, init_batch_size=128) + + def benchmark_xla_real_1gpu_gpuparams(self): + """Tests 1 gpu with real data with XLA.""" + params = self._shared_params()._replace( + num_gpus=1, + data_dir=self.data_dir, + variable_update='parameter_server', + xla=True) + self._run_benchmark(params) + + # Test does not run as part of continuous testing. + def benchmark_xla_fake_1gpu_gpuparams(self): + """Tests 1 gpu with fake data with XLA.""" + params = self._shared_params()._replace( + num_gpus=1, + data_dir=self.fake_data_dir, + data_name='imagenet', + variable_update='parameter_server', + xla=True) + self._run_benchmark(params) + + # Test does not run as part of continuous testing. + def benchmark_xla_fakedistort_1gpu_gpuparams(self): + """Tests 1 gpu with fake distorted data with XLA.""" + params = self._shared_params()._replace( + num_gpus=1, + data_dir=self.fake_data_dir, + data_name='imagenet', + distortions=True, + variable_update='parameter_server', + xla=True) + self._run_benchmark(params) + + +class Resnet50v15Benchmarks(BenchmarkBase): + """"Benchmark various ResNet50V1.5 configurations. + + ResNetV1.5 differs from V1 in stride 2 is used in the first 3x3 convolution of + each block instead of the first 1x1 convolution. + """ + + def _shared_params_fp16(self): + """Returns shared parameters for all ResNet50v1.5 FP16 benchmarks.""" + return BenchmarkBase._shared_params(self)._replace( + model='resnet50_v1.5', + batch_size=256, + distortions=False, + use_fp16=True, + optimizer='momentum', + loss_type_to_report='base_loss', + compute_lr_on_cpu=True, + single_l2_loss_op=True + ) + + def benchmark_fp16_synth_1gpu_gpuparams(self): + """Tests 1 gpu with synthetic data.""" + params = self._shared_params_fp16()._replace(num_gpus=1) + self._run_benchmark(params) + + def benchmark_fp16_batch256_synth_8gpu_gpuparams(self): + """Tests 8 gpus with synthetic data at batch 256.""" + params = self._shared_params_fp16()._replace(num_gpus=8) + self._run_benchmark(params) + + def benchmark_fp16_batch128_synth_1gpu_gpuparams(self): + """Tests 1 gpu with synthetic data at batch 128 (useful for small GPUs).""" + params = self._shared_params_fp16()._replace(num_gpus=1, batch_size=128) + self._run_benchmark(params) + + def benchmark_fp16_fake_1gpu_gpuparams(self): + """Tests 1 gpu with fake data.""" + params = self._shared_params_fp16()._replace( + num_gpus=1, data_dir=self.fake_data_dir, data_name='imagenet') + self._run_benchmark(params) + + def benchmark_fp16_synth_8gpu_gpureplicated(self): + """Tests 8 gpu with synthetic data with parameters replicated.""" + params = self._shared_params_fp16()._replace( + num_gpus=8, + num_batches=200, + variable_update='replicated', + all_reduce_spec='nccl', + gradient_repacking=2) + self._run_benchmark(params) + + def benchmark_fp16_fake_8gpu_gpureplicated(self): + """Tests 8 gpu with fake data with parameters replicated.""" + params = self._shared_params_fp16()._replace( + num_gpus=8, + num_batches=200, + data_dir=self.fake_data_dir, + data_name='imagenet', + variable_update='replicated', + all_reduce_spec='nccl', + gradient_repacking=2) + self._run_benchmark(params) + + # XLA versions of Resnet50v1.5 tests. + def benchmark_fp16_xla_synth_1gpu_gpuparams(self): + """Tests 1 gpu with fp16, synthetic data with XLA.""" + params = self._shared_params_fp16()._replace(num_gpus=1, xla=True) + self._run_benchmark(params) + + def benchmark_fp16_xla_batch128_synth_1gpu_gpuparams(self): + """Tests 1 gpu with fp16, batch128, synthetic data with XLA.""" + params = self._shared_params_fp16()._replace( + num_gpus=1, batch_size=128, xla=True) + self._run_benchmark(params) + + def benchmark_fp16_xla_compile_synth_1gpu_gpuparams(self): + """Tests 1 gpu with synthetic data.""" + params = self._shared_params_fp16()._replace(num_gpus=1, xla_compile=True) + self._run_benchmark(params) + + def benchmark_fp16_xla_compile_batch128_synth_1gpu_gpuparams(self): + """Tests 1 gpu with synthetic data at batch 128 (useful for small GPUs).""" + params = self._shared_params_fp16()._replace( + num_gpus=1, num_batches=200, batch_size=128, xla_compile=True) + self._run_benchmark(params) + + def benchmark_fp16_xla_batch256_synth_8gpu_gpuparams(self): + """Tests 8 gpu with synthetic data and xla autojit.""" + params = self._shared_params_fp16()._replace( + num_gpus=8, num_batches=200, batch_size=256, xla=True) + self._run_benchmark(params) + + def benchmark_fp16_xla_compile_fake_1gpu_gpuparams(self): + """Tests 1 gpu with fake data.""" + params = self._shared_params_fp16()._replace( + num_gpus=1, + data_dir=self.fake_data_dir, + data_name='imagenet', + xla_compile=True) + self._run_benchmark(params) + + def benchmark_fp16_xla_compile_synth_8gpu_gpureplicated(self): + """Tests 8 gpu with synthetic data with parameters replicated.""" + params = self._shared_params_fp16()._replace( + num_gpus=8, + num_batches=200, + variable_update='replicated', + all_reduce_spec='nccl', + gradient_repacking=2, + xla_compile=True) + self._run_benchmark(params) + + def benchmark_fp16_xla_synth_8gpu_gpureplicated(self): + """Tests 8 gpu with synthetic data with parameters replicated.""" + params = self._shared_params_fp16()._replace( + num_gpus=8, + num_batches=200, + variable_update='replicated', + all_reduce_spec='nccl', + gradient_repacking=2, + xla=True) + self._run_benchmark(params) + + def benchmark_fp16_xla_compile_fake_8gpu_gpureplicated(self): + """Tests 8 gpu with fake data with parameters replicated.""" + params = self._shared_params_fp16()._replace( + num_gpus=8, + num_batches=200, + data_dir=self.fake_data_dir, + data_name='imagenet', + variable_update='replicated', + all_reduce_spec='nccl', + gradient_repacking=2, + xla_compile=True) + self._run_benchmark(params) + + +class Vgg16Benchmarks(BenchmarkBase): + """"Benchmark various vgg16 configurations.""" + + def _shared_params(self): + """Returns shared parameters for all vgg16 benchmarks.""" + return BenchmarkBase._shared_params(self)._replace( + model='vgg16', batch_size=128, distortions=False) + + def benchmark_synth_1gpu_gpuparams(self): + """Tests 1 gpu with synthetic data with parameters on gpu.""" + params = self._shared_params()._replace( + num_gpus=1, variable_update='parameter_server') + self._run_benchmark(params) + + def benchmark_fp16_synth_1gpu_gpuparams(self): + """Tests 1 gpu with synthetic data with parameters on gpu.""" + params = self._shared_params()._replace( + num_gpus=1, use_fp16=True, variable_update='parameter_server') + self._run_benchmark(params) + + def benchmark_synth_8gpu_gpureplicated(self): + """Tests 8 gpu with synthetic data with parameters replicated.""" + params = self._shared_params()._replace( + num_gpus=8, + all_reduce_spec='nccl', + variable_update='replicated', + compact_gradient_transfer=False, + gradient_repacking=2) + self._run_benchmark(params) + + # XLA versions of VGG16 tests only for single GPU. + def benchmark_xla_synth_1gpu_gpuparams(self): + """Tests 1 gpu with synthetic data and XLA.""" + params = self._shared_params()._replace( + num_gpus=1, variable_update='parameter_server', xla=True) + self._run_benchmark(params) + + def benchmark_fp16_xla_synth_1gpu_gpuparams(self): + """Tests 1 gpu with fp16, synthetic data, and XLA.""" + params = self._shared_params()._replace( + num_gpus=1, variable_update='parameter_server', xla=True, use_fp16=True) + self._run_benchmark(params) + + # Test does not run as part of continuous testing. + def benchmark_xla_fake_1gpu_gpuparams(self): + """Tests 1 gpu with fake data and XLA.""" + params = self._shared_params()._replace( + num_gpus=1, + data_dir=self.fake_data_dir, + data_name='imagenet', + variable_update='parameter_server', + xla=True) + self._run_benchmark(params) + + def benchmark_xla_real_1gpu_gpuparams(self): + """Tests 1 gpu with real data and XLA.""" + params = self._shared_params()._replace( + num_gpus=1, + data_dir=self.data_dir, + variable_update='parameter_server', + xla=True) + self._run_benchmark(params) + + +class TrivialBenchmarks(BenchmarkBase): + """"Benchmarks for trivial model. + + The purpose of these tests is to verify the upper bound for the input + pipeline. Fake data creates an upperbound on the input pipeline throughput. + """ + + def _shared_params(self): + """Returns shared parameters for all trivial benchmarks.""" + return BenchmarkBase._shared_params(self)._replace( + model='trivial', + num_gpus=8, + distortions=False, + variable_update='independent', + data_dir=self.fake_data_dir) + + def benchmark_fake_64batch(self): + params = self._shared_params()._replace(batch_size=64, data_name='imagenet') + self._run_benchmark(params) + + def benchmark_fake_128batch(self): + params = self._shared_params()._replace( + batch_size=128, data_name='imagenet') + self._run_benchmark(params) + + def benchmark_fake_256batch(self): + params = self._shared_params()._replace( + batch_size=256, data_name='imagenet') + self._run_benchmark(params) + + def benchmark_fakedistort_128batch(self): + params = self._shared_params()._replace( + batch_size=128, data_name='imagenet', distortions=True) + self._run_benchmark(params) + + +class AlexnetBenchmarks(BenchmarkBase): + """"Benchmarks for alexnet.""" + + def _shared_params(self): + """Returns shared parameters for all alexnet benchmarks.""" + return BenchmarkBase._shared_params(self)._replace( + model='alexnet', batch_size=512, distortions=False) + + def benchmark_synth_1gpu_gpuparams(self): + """Tests 1 gpu with synthetic data with parameters on gpu.""" + params = self._shared_params()._replace( + num_gpus=1, variable_update='parameter_server') + self._run_benchmark(params) + + def benchmark_fp16_synth_1gpu_gpuparams(self): + """Tests 1 gpu with synthetic data with parameters on gpu.""" + params = self._shared_params()._replace( + num_gpus=1, use_fp16=True, variable_update='parameter_server') + self._run_benchmark(params) + + def benchmark_synth_8gpu_gpureplicated(self): + """Tests 8 gpus with synthetic data with parameters replicated.""" + params = self._shared_params()._replace( + num_gpus=8, + variable_update='replicated', + all_reduce_spec='nccl', + compact_gradient_transfer=False, + gradient_repacking=2) + self._run_benchmark(params) + + def benchmark_fake_8gpu_gpureplicated(self): + """Tests 8 gpus with fake data with parameters replicated.""" + params = self._shared_params()._replace( + num_gpus=8, + data_dir=self.fake_data_dir, + data_name='imagenet', + variable_update='replicated', + all_reduce_spec='nccl', + compact_gradient_transfer=False, + gradient_repacking=2) + self._run_benchmark(params) + + # XLA Benchmark tests for AlexNet. + def benchmark_xla_synth_1gpuparams(self): + """Tests 1 gpu with synthetic data and XLA.""" + params = self._shared_params()._replace( + num_gpus=1, variable_update='parameter_server', xla=True) + self._run_benchmark(params) + + def benchmark_fp16_xla_synth_1gpu_gpuparams(self): + """Tests 1 gpu with fp16, synthetic data and XLA.""" + params = self._shared_params()._replace( + num_gpus=1, variable_update='parameter_server', xla=True, use_fp16=True) + self._run_benchmark(params) + + # Test does not run as part of continuous testing. + def benchmark_xla_fake_1gpuparams(self): + """Tests 1 gpu with fake data and XLA.""" + params = self._shared_params()._replace( + num_gpus=1, + data_dir=self.fake_data_dir, + data_name='imagenet', + variable_update='parameter_server', + xla=True) + self._run_benchmark(params) + + def benchmark_xla_real_1gpuparams(self): + """Tests 1 gpu with real data and XLA.""" + params = self._shared_params()._replace( + num_gpus=1, + data_dir=self.data_dir, + variable_update='parameter_server', + xla=True) + self._run_benchmark(params) + + +class InceptionV3Benchmarks(BenchmarkBase): + """"Benchmark for InceptionV3.""" + + def _shared_params(self): + """Returns shared parameters for all InceptionV3 benchmarks.""" + return BenchmarkBase._shared_params(self)._replace( + model='inception3', batch_size=64, distortions=False) + + def benchmark_synth_1gpu_gpuparams(self): + """Tests 1 gpu with synthetic data.""" + params = self._shared_params()._replace( + num_gpus=1, variable_update='parameter_server') + self._run_benchmark(params) + + def benchmark_fp16_synth_1gpu_gpuparams(self): + """Tests 1 gpu with synthetic data.""" + params = self._shared_params()._replace( + num_gpus=1, use_fp16=True, variable_update='parameter_server') + self._run_benchmark(params) + + def benchmark_synth_1gpu_max_batch_size(self): + """Finds largest batch size that can be run with 1 gpu using synth data.""" + params = self._shared_params()._replace( + num_gpus=1, variable_update='parameter_server') + self._binary_search_batch_size(params, init_batch_size=128) + + def benchmark_xla_synth_1gpu_gpuparams(self): + """Tests 1 gpu with synthetic and XLA.""" + params = self._shared_params()._replace( + num_gpus=1, variable_update='parameter_server', xla=True) + self._run_benchmark(params) + + def benchmark_fp16_xla_synth_1gpu_gpuparams(self): + """Tests 1 gpu with fp16, XLA and synthetic data.""" + params = self._shared_params()._replace( + num_gpus=1, variable_update='parameter_server', xla=True, use_fp16=True) + self._run_benchmark(params) + + def benchmark_xla_synth_1gpu_max_batch_size(self): + """Finds largest batch that can be run with XLA, 1 gpu, and synth data.""" + params = self._shared_params()._replace( + num_gpus=1, variable_update='parameter_server', xla=True) + self._binary_search_batch_size(params, init_batch_size=128) + + # Test does not run as part of continuous testing. + def benchmark_xla_fake_1gpu_gpuparams(self): + """Tests 1 gpu with fake data with XLA.""" + params = self._shared_params()._replace( + num_gpus=1, + data_dir=self.fake_data_dir, + data_name='imagenet', + variable_update='parameter_server', + xla=True) + self._run_benchmark(params) + + def benchmark_xla_real_1gpu_gpuparams(self): + """Tests 1 gpu with real data with XLA.""" + params = self._shared_params()._replace( + num_gpus=1, + data_dir=self.data_dir, + variable_update='parameter_server', + xla=True) + self._run_benchmark(params) + + +class NcfBenchmarks(BenchmarkBase): + """Benchmarks for neural collaborative filtering.""" + + def _shared_params(self): + return BenchmarkBase._shared_params(self)._replace( + model='ncf', batch_size=64*1024, num_gpus=1, num_warmup_batches=1) + + def benchmark_synth_1gpu_gpuparams(self): + params = self._shared_params()._replace(variable_update='parameter_server') + self._run_benchmark(params) + + def benchmark_fp16_synth_1gpu_gpuparams(self): + params = self._shared_params()._replace( + variable_update='parameter_server', use_fp16=True) + self._run_benchmark(params) + + def benchmark_xla_synth_1gpu_gpuparams(self): + params = self._shared_params()._replace( + variable_update='parameter_server', xla=True) + self._run_benchmark(params) + + def benchmark_fp16_xla_synth_1gpu_gpuparams(self): + params = self._shared_params()._replace( + variable_update='parameter_server', xla=True, use_fp16=True) + self._run_benchmark(params) + + def benchmark_xla_compile_synth_1gpu_gpuparams(self): + params = self._shared_params()._replace( + variable_update='parameter_server', xla_compile=True) + self._run_benchmark(params) + + def benchmark_fp16_xla_compile_synth_1gpu_gpuparams(self): + params = self._shared_params()._replace( + variable_update='parameter_server', xla_compile=True, use_fp16=True) + self._run_benchmark(params) + + +class DeepSpeech2Benchmarks(BenchmarkBase): + """Benchmarks for DeepSpeech2 model.""" + + def _shared_params(self): + return BenchmarkBase._shared_params(self)._replace( + model='deepspeech2', batch_size=32, num_gpus=1, data_name='librispeech') + + def benchmark_synth_1gpu_gpuparams(self): + params = self._shared_params()._replace(variable_update='parameter_server') + self._run_benchmark(params) + + def benchmark_xla_synth_1gpu_gpuparams(self): + params = self._shared_params()._replace( + variable_update='parameter_server', xla=True) + self._run_benchmark(params) + + def benchmark_xla_compile_synth_1gpu_gpuparams(self): + params = self._shared_params()._replace( + variable_update='parameter_server', xla_compile=True) + self._run_benchmark(params) + + +class SsdBenchmarks(BenchmarkBase): + """Benchmarks for SSD model.""" + + def _cudnn_version(self): + if sys.platform == 'win32': + return None + + lib = ctypes.cdll.LoadLibrary(None) + if hasattr(lib, 'cudnnGetErrorString'): + version = lib.cudnnGetVersion() + return version + + return None + + def _shared_params(self): + cudnn_version = self._cudnn_version() + if cudnn_version is None or cudnn_version < 7300: + raise RuntimeError( + 'Needs at least cuDNN 7.3 to work with fp16 (b/112048183). ' + 'Build with --define=use_experimental_cudnn=1') + + return BenchmarkBase._shared_params(self)._replace( + # TODO(b/115672206): Replace backbone model and data dir with replicated + # placer location for better performance. + backbone_model_path=platforms_util.get_ssd_backborn_model_file(), # pylint: disable=line-too-long + data_dir=platforms_util.get_ssd_backboard_data_dir(), + batch_size=128, + data_name='coco', + model='ssd300', + num_batches=10, + num_warmup_batches=1, + num_gpus=1, + optimizer='momentum', + momentum=0.9, + weight_decay=5e-4, + loss_type_to_report='base_loss', + single_l2_loss_op=True, + compute_lr_on_cpu=True, + ) + + def benchmark_xla_compile_real_1gpu_gpuparams(self): + params = self._shared_params()._replace( + num_gpus=1, + xla_compile=True, + ) + self._run_benchmark(params) + + def benchmark_real_1gpu_gpuparams(self): + params = self._shared_params()._replace(num_gpus=1,) + self._run_benchmark(params) + + def benchmark_xla_compile_fp16_real_1gpu_gpuparams(self): + params = self._shared_params()._replace( + num_gpus=1, xla_compile=True, use_fp16=True) + self._run_benchmark(params) + + def benchmark_fp16_real_1gpu_gpuparams(self): + params = self._shared_params()._replace(num_gpus=1, use_fp16=True) + self._run_benchmark(params) + + def benchmark_xla_compile_real_8gpu_gpuparams(self): + params = self._shared_params()._replace( + num_gpus=8, + xla_compile=True, + variable_update='replicated', + all_reduce_spec='nccl', + gradient_repacking=2, + num_batches=50, + ) + self._run_benchmark(params) + + def benchmark_real_8gpu_gpuparams(self): + params = self._shared_params()._replace( + num_gpus=8, + variable_update='replicated', + all_reduce_spec='nccl', + gradient_repacking=2, + num_batches=50, + ) + self._run_benchmark(params) + + def benchmark_xla_compile_fp16_real_8gpu_gpuparams(self): + params = self._shared_params()._replace( + num_gpus=8, + xla_compile=True, + use_fp16=True, + variable_update='replicated', + all_reduce_spec='nccl', + gradient_repacking=2, + num_batches=50, + ) + self._run_benchmark(params) + + def benchmark_fp16_real_8gpu_gpuparams(self): + params = self._shared_params()._replace( + num_gpus=8, + use_fp16=True, + variable_update='replicated', + all_reduce_spec='nccl', + gradient_repacking=2, + num_batches=50, + ) + self._run_benchmark(params) + + +if __name__ == '__main__': + tf.disable_v2_behavior() + tf.test.main() diff --git a/cv/classification/resnet50/tensorflow/mlperf.py b/cv/classification/resnet50/tensorflow/mlperf.py new file mode 100644 index 0000000000000000000000000000000000000000..932f3136e1b5d4abb5afefebaf3c9512a7b0ca15 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/mlperf.py @@ -0,0 +1,260 @@ +# Copyright 2018 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Contains functions related to MLPerf compliance. + +MLPerf requires submissions to log what the benchmark does, in order to verify +that the benchmark meets the MLPerf requirements. This module contains a global +object `logger` that is used by other files to log what tf_cnn_benchmarks does +for compliance. + +By default, `logger` does nothing, as the MLPerf compliance logs are verbose and +unnecessary if one is not concerned about MLPerf compliance. The logger can be +enabled by using the `mlperf_logger` context manager. + +To enable the logger with `mlperf_logger`, the MLPerf compliance library at +https://github.com/mlperf/training/tree/master/compliance is required. If +the logger is not enabled, the library is not needed. +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + + +from collections import namedtuple +import contextlib +import os +import sys + +import tensorflow.compat.v1 as tf + +# pylint: disable=g-import-not-at-top +try: + # Not all users have the MLPerf compliance library, so we don't want to + # unconditionally crash if these imports fail. + from mlperf_compliance import mlperf_log + from mlperf_compliance import resnet_log_helper + from mlperf_compliance import tags + import_successful = True +except ImportError: + # The logger cannot be enabled in this case since the MLPerf library isn't + # found. We return empty strings from the `tags` attribute so that + # the benchmark can still run without crashing. This empty tags are passed + # to an instance of `NullMlPerfLogger`, which does not log anything and + # ignores the tag values. + + class _Tags(object): + + def __getattr__(self, item): + return '' + tags = _Tags() + import_successful = False +# pylint: enable=g-import-not-at-top + + +_ModelInfo = namedtuple('_ModelInfo', ['print_fn', 'tag_set', + 'mlperf_model_name']) + + +_MLPERF_LOG_PREFIX = ':::MLPv0.5.0' + + +class MlPerfLogger(object): + """Logs various aspects about a benchmark run for MLPerf compliance.""" + + def __init__(self, model): + self._root_dir = os.path.split(os.path.abspath(__file__))[0] + mlperf_log.ROOT_DIR_RESNET = self._root_dir + mlperf_log.ROOT_DIR_SSD = self._root_dir + self.model = model + model_to_info = { + 'resnet50_v1.5': _ModelInfo(mlperf_log.resnet_print, + mlperf_log.RESNET_TAG_SET, tags.RESNET), + 'ssd300': _ModelInfo(mlperf_log.ssd_print, mlperf_log.SSD_TAG_SET, + tags.SSD) + } + + try: + self._log_fn, self.tag_set, self.mlperf_model_name = model_to_info[model] + except KeyError: + raise ValueError('--ml_perf_compliance_logging is only compatible when ' + '--model is one of the following: ' + + ', '.join(model_to_info.keys())) + + def log(self, key, value=None, stack_offset=2): + if key in self.tag_set: + self._log_fn(key, value, stack_offset) + else: + print('Ignoring MLPerf logging item key=%s, value=%s for model %s' % + (key, value, self.model)) + + def log_deferred_tensor_value(self, key, tensor_value, global_step, + stack_offset=2, every_n=1): + """Logs the value of a tensor when the graph is run.""" + caller = '(%s)' % mlperf_log.get_caller(stack_offset, self._root_dir) + def create_print_op(): + return tf.print(_MLPERF_LOG_PREFIX, self.mlperf_model_name, + tf.timestamp(), caller, key, + ': { "deferred": true, "value":', tensor_value, '}', + output_stream=sys.stdout) + maybe_print = tf.cond(tf.equal(global_step % every_n, 0), create_print_op, + tf.no_op) + with tf.control_dependencies([maybe_print]): + return tf.identity(tensor_value) + + def log_max_pool(self, input_tensor, output_tensor): + if self.model == 'resnet50_v1.5': + resnet_log_helper.log_max_pool(input_tensor, output_tensor) + + def log_begin_block(self, input_tensor, block_type): + if self.model == 'resnet50_v1.5': + resnet_log_helper.log_begin_block(input_tensor, block_type) + + def log_end_block(self, output_tensor): + if self.model == 'resnet50_v1.5': + resnet_log_helper.log_end_block(output_tensor) + + def log_projection(self, input_tensor, output_tensor): + if self.model == 'resnet50_v1.5': + resnet_log_helper.log_projection(input_tensor, output_tensor) + + def log_conv2d(self, input_tensor, output_tensor, stride_height, stride_width, + filters, initializer, use_bias): + """Log a conv2d call.""" + if self.model == 'resnet50_v1.5': + assert stride_height == stride_width, ( + '--ml_perf_compliance_logging does not support convolutions where ' + 'the stride height is not equal to the stride width. ' + 'stride_height=%d, stride_width=%d' % (stride_height, stride_width)) + if isinstance(initializer, tf.truncated_normal_initializer) or ( + isinstance(initializer, tf.variance_scaling_initializer) and + initializer.distribution == 'truncated_normal'): + initializer = tags.TRUNCATED_NORMAL + elif (isinstance(initializer, tf.glorot_uniform_initializer) or + initializer is None): + initializer = 'glorot_uniform' + resnet_log_helper.log_conv2d(input_tensor, output_tensor, stride_width, + filters, initializer, use_bias) + + def log_batch_norm(self, input_tensor, output_tensor, momentum, epsilon, + center, scale, training): + if self.model == 'resnet50_v1.5': + resnet_log_helper.log_batch_norm(input_tensor, output_tensor, momentum, + epsilon, center, scale, training) + + def log_train_epochs(self, num_epochs): + """Logs all the TRAIN_EPOCHs log lines.""" + num_epochs_int = int(num_epochs) + for i in range(num_epochs_int): + # MLPerf allows us to print all the train epochs at once instead of + # printing them as we do them. + self.log(key=mlperf_log.TRAIN_EPOCH, value=i, stack_offset=3) + if num_epochs_int != num_epochs: + value = (str(num_epochs_int) + + ', but this epoch only has {}% of the examples of a normal epoch' + .format(100 * (num_epochs - num_epochs_int))) + self.log(key=mlperf_log.TRAIN_EPOCH, value=value, stack_offset=3) + + def log_input_resize_aspect_preserving(self, height, width, scale_factor): + assert height == width, ( + '--ml_perf_compliance_logging does not support models with nonsquare ' + 'images. Cannot process image with height=%d and width=%d' % + (height, width)) + self.log(key=tags.INPUT_RESIZE_ASPECT_PRESERVING, + value={'min': int(height * scale_factor)}) + + def log_eval_epoch(self, tag, global_step, batch_size, stack_offset=2): + if self.model == 'resnet50_v1.5': + self.log(key=tag, stack_offset=stack_offset+1) + elif self.model == 'ssd300': + epoch = int(global_step * batch_size / 118287) + self.log(key=tag, value=epoch, stack_offset=stack_offset+1) + + def log_eval_accuracy(self, accuracy, global_step, batch_size, + examples_per_epoch, stack_offset=2): + """Logs eval accuracy.""" + epoch = int(global_step * batch_size / examples_per_epoch) + eval_accuracy = {'epoch': epoch, 'value': accuracy} + eval_iteration_accuracy = {'iteration': global_step, 'value': accuracy} + self.log(key=tags.EVAL_ACCURACY, value=eval_accuracy, + stack_offset=stack_offset+1) + self.log(key=tags.EVAL_ITERATION_ACCURACY, + value=eval_iteration_accuracy, + stack_offset=stack_offset+1) + + +def _empty_fn(*args, **kwargs): + del args, kwargs + + +class NullMlPerfLogger(object): + """A version of `MlPerfLogger` that does not log anything. + + This class has the same interface as `MlPerfLogger`, but does not actually do + anything. This is used when logging is disabled, which is the default + behavior. + """ + + def __getattr__(self, item): + return _empty_fn + + def log_deferred_tensor_value(self, key, tensor_value, *args, **kwargs): + del key, args, kwargs + return tensor_value + + +# A global singleton logger. By default, it's the null logger but can be +# switched to an MlPerfLogger with `mlperf_logger()`. +logger = NullMlPerfLogger() + + +@contextlib.contextmanager +def mlperf_logger(use_mlperf_logger, model): + """Optionally enable the mlperf logger. + + If `use_mlperf_logger` is True, sets the `logger` global variable to an + instance of MlPerfLogger that will print logs for MLPerf compliance. If + `use_mlperf_logger` is False, does nothing. + + Args: + use_mlperf_logger: If True, enables the mlperf logger. If False, this + function does nothing. + model: The model that will be logged. Required, because different models + must log different things for MLPerf compliance. + + Yields: + Nothing. + + Raises: + ImportError: If `use_mlperf_logger` is True but the MLPerf compliance + library cannot be imported + """ + global logger + if use_mlperf_logger: + if not import_successful: + raise ImportError('Failed to import MLPerf compliance library, which is ' + 'required when --ml_perf_compliance_logging is ' + 'specified. Clone this repo and add this directory ' + 'https://github.com/mlperf/training/tree/master/' + 'compliance to the PYTHONPATH environmental variable.') + logger_ = MlPerfLogger(model) + old_logger = logger + try: + logger = logger_ + yield + finally: + logger = old_logger + else: + yield diff --git a/cv/classification/resnet50/tensorflow/mlperf_test.py b/cv/classification/resnet50/tensorflow/mlperf_test.py new file mode 100644 index 0000000000000000000000000000000000000000..7e83fc29603580b24466c22db2de3732f3d6c13e --- /dev/null +++ b/cv/classification/resnet50/tensorflow/mlperf_test.py @@ -0,0 +1,189 @@ +# Copyright 2018 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Contains tests related to MLPerf. + +Note this test only passes if the MLPerf compliance library is installed. +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from collections import Counter +import logging +import re + +import six +import tensorflow.compat.v1 as tf +import benchmark_cnn +import datasets +import mlperf +import test_util +from models import model +from mlperf_compliance import mlperf_log + + +class _MlPerfTestModel(model.CNNModel): + """A model to test the MLPerf compliance logging on.""" + + def __init__(self): + super(_MlPerfTestModel, self).__init__( + 'mlperf_test_model', image_size=224, batch_size=2, learning_rate=1) + + def add_inference(self, cnn): + assert cnn.top_layer.shape[1:] == (3, 224, 224) + cnn.conv(1, 1, 1, 1, 1, use_batch_norm=True) + cnn.mpool(1, 1, 1, 1, num_channels_in=1) + cnn.reshape([-1, 224 * 224]) + cnn.affine(1, activation=None) + + # Assert that the batch norm variables are filtered out for L2 loss. + variables = tf.global_variables() + tf.local_variables() + assert len(variables) > len(self.filter_l2_loss_vars(variables)) + + +class MlPerfComplianceTest(tf.test.TestCase): + """Tests the MLPerf compliance logs. + + This serves as a quick check that we probably didn't break the compliance + logging. It is not mean to be as comprehensive as the official MLPerf + compliance checker will be. + """ + + def setUp(self): + super(MlPerfComplianceTest, self).setUp() + benchmark_cnn.setup(benchmark_cnn.make_params()) + + # Map between regex and the number of times we expect to see that regex in the + # logs. Entry commented out with the comment FIXME indicate that + # tf_cnn_benchmarks currently fails compliance in that regard, and needs to be + # fixed to be MLPerf compliant. + EXPECTED_LOG_REGEXES = { + # Preprocessing tags + mlperf.tags.INPUT_ORDER: 2, # 1 for training, 1 for eval + # We pass --tf_random_seed=9876 in the test. + r'%s: 9876' % mlperf.tags.RUN_SET_RANDOM_SEED: 2, + # The Numpy random seed is hardcoded to 4321. + r'%s: 4321' % mlperf.tags.RUN_SET_RANDOM_SEED: 2, + r'%s: %d' % (mlperf.tags.PREPROC_NUM_TRAIN_EXAMPLES, + datasets.IMAGENET_NUM_TRAIN_IMAGES): 1, + r'%s: %d' % (mlperf.tags.PREPROC_NUM_EVAL_EXAMPLES, + datasets.IMAGENET_NUM_VAL_IMAGES): 1, + mlperf.tags.PREPROC_NUM_EVAL_EXAMPLES + '.*': 1, + mlperf.tags.INPUT_DISTORTED_CROP_MIN_OBJ_COV + '.*': 1, + mlperf.tags.INPUT_DISTORTED_CROP_RATIO_RANGE + '.*': 1, + mlperf.tags.INPUT_DISTORTED_CROP_AREA_RANGE + '.*': 1, + mlperf.tags.INPUT_DISTORTED_CROP_MAX_ATTEMPTS + '.*': 1, + mlperf.tags.INPUT_RANDOM_FLIP + '.*': 1, + r'%s: \[224, 224\].*' % mlperf.tags.INPUT_CENTRAL_CROP: 1, + + r'%s: \[123.68, 116.78, 103.94\].*' % mlperf.tags.INPUT_MEAN_SUBTRACTION: + 2, + + r'%s: {"min": 256}.*' % mlperf.tags.INPUT_RESIZE_ASPECT_PRESERVING: 1, + + # 1 for training, 1 for eval + r'%s: \[224, 224\].*' % mlperf.tags.INPUT_RESIZE: 2, + + # Resnet model tags + mlperf.tags.MODEL_HP_BATCH_NORM + '.*': 2, + # 2 for training, 2 for eval. Although there's only 1 conv2d, each conv2d + # produces 2 logs. + mlperf.tags.MODEL_HP_CONV2D_FIXED_PADDING + '.*': 4, + mlperf.tags.MODEL_HP_RELU + '.*': 2, + mlperf.tags.MODEL_HP_INITIAL_MAX_POOL + '.*': 2, + mlperf.tags.MODEL_HP_DENSE + '.*': 4, + mlperf.tags.MODEL_HP_DENSE + '.*': 4, + + # Note that tags our test model does not emit, like MODEL_HP_SHORTCUT_ADD, + # are omitted here. + + r'%s: "categorical_cross_entropy".*' % mlperf.tags.MODEL_HP_LOSS_FN: 1, + + # 1 for training, 2 because the _MlPerfTestModel calls this when building + # the model for both training and eval + r'%s: true' % mlperf.tags.MODEL_EXCLUDE_BN_FROM_L2: 3, + + r'%s: 0.5.*' % mlperf.tags.MODEL_L2_REGULARIZATION: 1, + + # Note we do not handle OPT_LR, since that is printed to stderr using + # tf.Print, which we cannot easily intercept. + + # Other tags + '%s: "%s"' % (mlperf.tags.OPT_NAME, mlperf.tags.SGD_WITH_MOMENTUM): 1, + '%s: 0.5' % mlperf.tags.OPT_MOMENTUM: 1, + mlperf.tags.RUN_START: 1, + '%s: 2' % mlperf.tags.INPUT_BATCH_SIZE: 1, + mlperf.tags.TRAIN_LOOP: 1, + mlperf.tags.TRAIN_EPOCH + '.*': 1, + '%s: 2' % mlperf.tags.INPUT_SIZE: 2, + mlperf.tags.EVAL_START: 2, + mlperf.tags.EVAL_STOP: 2, + '%s: 6' % mlperf.tags.EVAL_SIZE: 2, + mlperf.tags.EVAL_ACCURACY + '.*': 2, + '%s: 2.0' % mlperf.tags.EVAL_TARGET: 2, + mlperf.tags.RUN_STOP + '.*': 1, + mlperf.tags.RUN_FINAL: 1 + } + EXPECTED_LOG_REGEXES = Counter({re.compile(k): v for + k, v in EXPECTED_LOG_REGEXES.items()}) + + def testMlPerfCompliance(self): + string_io = six.StringIO() + handler = logging.StreamHandler(string_io) + data_dir = test_util.create_black_and_white_images() + try: + mlperf_log.LOGGER.addHandler(handler) + params = benchmark_cnn.make_params(data_dir=data_dir, + data_name='imagenet', + batch_size=2, + num_warmup_batches=0, + num_batches=2, + num_eval_batches=3, + eval_during_training_every_n_steps=1, + distortions=False, + weight_decay=0.5, + optimizer='momentum', + momentum=0.5, + stop_at_top_1_accuracy=2.0, + tf_random_seed=9876, + ml_perf=True) + with mlperf.mlperf_logger(use_mlperf_logger=True, model='resnet50_v1.5'): + bench_cnn = benchmark_cnn.BenchmarkCNN(params, model=_MlPerfTestModel()) + bench_cnn.run() + logs = string_io.getvalue().splitlines() + log_regexes = Counter() + for log in logs: + for regex in self.EXPECTED_LOG_REGEXES: + if regex.search(log): + log_regexes[regex] += 1 + if log_regexes != self.EXPECTED_LOG_REGEXES: + diff_counter = Counter(log_regexes) + diff_counter.subtract(self.EXPECTED_LOG_REGEXES) + differences = [] + for regex in (k for k in diff_counter.keys() if diff_counter[k]): + found_count = log_regexes[regex] + expected_count = self.EXPECTED_LOG_REGEXES[regex] + differences.append(' For regex %s: Found %d lines matching but ' + 'expected to find %d' % + (regex.pattern, found_count, expected_count)) + raise AssertionError('Logs did not match expected logs. Differences:\n' + '%s' % '\n'.join(differences)) + finally: + mlperf_log.LOGGER.removeHandler(handler) + +if __name__ == '__main__': + tf.disable_v2_behavior() + tf.test.main() diff --git a/cv/classification/resnet50/tensorflow/models/__init__.py b/cv/classification/resnet50/tensorflow/models/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cv/classification/resnet50/tensorflow/models/alexnet_model.py b/cv/classification/resnet50/tensorflow/models/alexnet_model.py new file mode 100644 index 0000000000000000000000000000000000000000..2f4611fd60d19a3dd704e47323e7fa9a5320f596 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/models/alexnet_model.py @@ -0,0 +1,93 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Alexnet model configuration. + +References: + Krizhevsky, Alex, Ilya Sutskever, and Geoffrey E. Hinton + ImageNet Classification with Deep Convolutional Neural Networks + Advances in Neural Information Processing Systems. 2012 +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow.compat.v1 as tf +from models import model + + +class AlexnetModel(model.CNNModel): + """Alexnet cnn model.""" + + def __init__(self, params=None): + super(AlexnetModel, self).__init__( + 'alexnet', 224 + 3, 512, 0.005, params=params) + + def add_inference(self, cnn): + # Note: VALID requires padding the images by 3 in width and height + cnn.conv(64, 11, 11, 4, 4, 'VALID') + cnn.mpool(3, 3, 2, 2) + cnn.conv(192, 5, 5) + cnn.mpool(3, 3, 2, 2) + cnn.conv(384, 3, 3) + cnn.conv(384, 3, 3) + cnn.conv(256, 3, 3) + cnn.mpool(3, 3, 2, 2) + cnn.reshape([-1, 256 * 6 * 6]) + cnn.affine(4096) + cnn.dropout() + cnn.affine(4096) + cnn.dropout() + + +class AlexnetCifar10Model(model.CNNModel): + """Alexnet cnn model for cifar datasets. + + The model architecture follows the one defined in the tensorflow tutorial + model. + + Reference model: tensorflow/models/tutorials/image/cifar10/cifar10.py + Paper: http://www.cs.toronto.edu/~kriz/learning-features-2009-TR.pdf + """ + + def __init__(self, params=None): + super(AlexnetCifar10Model, self).__init__( + 'alexnet', 32, 128, 0.1, params=params) + + def add_inference(self, cnn): + cnn.conv(64, 5, 5, 1, 1, 'SAME', stddev=5e-2) + cnn.mpool(3, 3, 2, 2, mode='SAME') + cnn.lrn(depth_radius=4, bias=1.0, alpha=0.001 / 9.0, beta=0.75) + cnn.conv(64, 5, 5, 1, 1, 'SAME', bias=0.1, stddev=5e-2) + cnn.lrn(depth_radius=4, bias=1.0, alpha=0.001 / 9.0, beta=0.75) + cnn.mpool(3, 3, 2, 2, mode='SAME') + shape = cnn.top_layer.get_shape().as_list() + flat_dim = shape[1] * shape[2] * shape[3] + cnn.reshape([-1, flat_dim]) + cnn.affine(384, stddev=0.04, bias=0.1) + cnn.affine(192, stddev=0.04, bias=0.1) + + def get_learning_rate(self, global_step, batch_size): + num_examples_per_epoch = 50000 + num_epochs_per_decay = 100 + decay_steps = ( + num_epochs_per_decay * num_examples_per_epoch // batch_size) + decay_factor = 0.1 + return tf.train.exponential_decay( + self.learning_rate, + global_step, + decay_steps, + decay_factor, + staircase=True) diff --git a/cv/classification/resnet50/tensorflow/models/densenet_model.py b/cv/classification/resnet50/tensorflow/models/densenet_model.py new file mode 100644 index 0000000000000000000000000000000000000000..cb61b9b3f3332587daa2e308ba6d722cba408e1b --- /dev/null +++ b/cv/classification/resnet50/tensorflow/models/densenet_model.py @@ -0,0 +1,100 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Densenet model configuration. + +References: + "Densely Connected Convolutional Networks": https://arxiv.org/pdf/1608.06993 +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import numpy as np +from six.moves import xrange # pylint: disable=redefined-builtin +import tensorflow.compat.v1 as tf +from models import model as model_lib + + +class DensenetCifar10Model(model_lib.CNNModel): + """Densenet cnn network configuration.""" + + def __init__(self, model, layer_counts, growth_rate, params=None): + self.growth_rate = growth_rate + super(DensenetCifar10Model, self).__init__( + model, 32, 64, 0.1, layer_counts=layer_counts, params=params) + self.batch_norm_config = {'decay': 0.9, 'epsilon': 1e-5, 'scale': True} + + def dense_block(self, cnn, growth_rate): + input_layer = cnn.top_layer + c = cnn.batch_norm(input_layer, **self.batch_norm_config) + c = tf.nn.relu(c) + c = cnn.conv(growth_rate, 3, 3, 1, 1, stddev=np.sqrt(2.0/9/growth_rate), + activation=None, input_layer=c) + channel_index = 3 if cnn.channel_pos == 'channels_last' else 1 + cnn.top_layer = tf.concat([input_layer, c], channel_index) + cnn.top_size += growth_rate + + def transition_layer(self, cnn): + in_size = cnn.top_size + cnn.batch_norm(**self.batch_norm_config) + cnn.top_layer = tf.nn.relu(cnn.top_layer) + cnn.conv(in_size, 1, 1, 1, 1, stddev=np.sqrt(2.0/9/in_size)) + cnn.apool(2, 2, 2, 2) + + def add_inference(self, cnn): + if self.layer_counts is None: + raise ValueError('Layer counts not specified for %s' % self.get_model()) + if self.growth_rate is None: + raise ValueError('Growth rate not specified for %s' % self.get_model()) + + cnn.conv(16, 3, 3, 1, 1, activation=None) + # Block 1 + for _ in xrange(self.layer_counts[0]): + self.dense_block(cnn, self.growth_rate) + self.transition_layer(cnn) + # Block 2 + for _ in xrange(self.layer_counts[1]): + self.dense_block(cnn, self.growth_rate) + self.transition_layer(cnn) + # Block 3 + for _ in xrange(self.layer_counts[2]): + self.dense_block(cnn, self.growth_rate) + cnn.batch_norm(**self.batch_norm_config) + cnn.top_layer = tf.nn.relu(cnn.top_layer) + channel_index = 3 if cnn.channel_pos == 'channels_last' else 1 + cnn.top_size = cnn.top_layer.get_shape().as_list()[channel_index] + cnn.spatial_mean() + + def get_learning_rate(self, global_step, batch_size): + num_batches_per_epoch = 50000 // batch_size + boundaries = num_batches_per_epoch * np.array([150, 225, 300], + dtype=np.int64) + boundaries = [x for x in boundaries] + values = [0.1, 0.01, 0.001, 0.0001] + return tf.train.piecewise_constant(global_step, boundaries, values) + + +def create_densenet40_k12_model(): + return DensenetCifar10Model('densenet40_k12', (12, 12, 12), 12) + + +def create_densenet100_k12_model(): + return DensenetCifar10Model('densenet100_k12', (32, 32, 32), 12) + + +def create_densenet100_k24_model(): + return DensenetCifar10Model('densenet100_k24', (32, 32, 32), 24) diff --git a/cv/classification/resnet50/tensorflow/models/experimental/__init__.py b/cv/classification/resnet50/tensorflow/models/experimental/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cv/classification/resnet50/tensorflow/models/experimental/deepspeech.py b/cv/classification/resnet50/tensorflow/models/experimental/deepspeech.py new file mode 100644 index 0000000000000000000000000000000000000000..24e242f6db9d113a718194df3f9aca45a03da886 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/models/experimental/deepspeech.py @@ -0,0 +1,449 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""DeepSpeech2 model configuration. + +References: + https://arxiv.org/abs/1512.02595 + Deep Speech 2: End-to-End Speech Recognition in English and Mandarin +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import itertools + +import numpy as np +from six.moves import xrange # pylint: disable=redefined-builtin +import tensorflow.compat.v1 as tf +import constants +from cnn_util import log_fn +from models import model as model_lib +from tensorflow.python.ops import variables # pylint: disable=g-direct-tensorflow-import + + +class DeepSpeechDecoder(object): + """Greedy decoder implementation for Deep Speech model.""" + + def __init__(self, labels, blank_index=28): + """Decoder initialization. + + Arguments: + labels: a string specifying the speech labels for the decoder to use. + blank_index: an integer specifying index for the blank character. Defaults + to 28. + """ + self.labels = labels + self.blank_index = blank_index + self.int_to_char = dict([(i, c) for (i, c) in enumerate(labels)]) + + def convert_to_string(self, sequence): + """Convert a sequence of indexes into corresponding string.""" + return ''.join([self.int_to_char[i] for i in sequence]) + + def wer(self, decode, target): + """Computes the Word Error Rate (WER). + + WER is defined as the edit distance between the two provided sentences after + tokenizing to words. + + Args: + decode: string of the decoded output. + target: a string for the ground truth label. + + Returns: + A float number for the WER of the current decode-target pair. + """ + try: + from nltk.metrics import distance # pylint: disable=g-import-not-at-top + except ImportError as e: + if 'nltk.metrics' not in e.message: + raise + raise ImportError('To use the experimental deepspeech model, you must ' + 'pip install -U nltk') + + # Map each word to a new char. + words = set(decode.split() + target.split()) + word2char = dict(zip(words, range(len(words)))) + + new_decode = [chr(word2char[w]) for w in decode.split()] + new_target = [chr(word2char[w]) for w in target.split()] + + return distance.edit_distance(''.join(new_decode), ''.join(new_target)) + + def cer(self, decode, target): + """Computes the Character Error Rate (CER). + + CER is defined as the edit distance between the two given strings. + + Args: + decode: a string of the decoded output. + target: a string for the ground truth label. + + Returns: + A float number denoting the CER for the current sentence pair. + """ + try: + from nltk.metrics import distance # pylint: disable=g-import-not-at-top + except ImportError as e: + if 'nltk.metrics' not in e.message: + raise + raise ImportError('To use the experimental deepspeech model, you must ' + 'pip install -U nltk') + return distance.edit_distance(decode, target) + + def decode(self, char_indexes): + """Decode the best guess from logits using greedy algorithm.""" + # Merge repeated chars. + merge = [k for k, _ in itertools.groupby(char_indexes)] + # Remove the blank index in the decoded sequence. + merge_remove_blank = [] + for k in merge: + if k != self.blank_index: + merge_remove_blank.append(k) + + return self.convert_to_string(merge_remove_blank) + + def decode_logits(self, logits): + """Decode the best guess from logits using greedy algorithm.""" + # Choose the class with maximimum probability. + best = list(np.argmax(logits, axis=1)) + return self.decode(best) + + +class DeepSpeech2Model(model_lib.Model): + """Define DeepSpeech2 model.""" + + # Supported rnn cells. + SUPPORTED_RNNS = { + 'lstm': tf.nn.rnn_cell.BasicLSTMCell, + 'rnn': tf.nn.rnn_cell.RNNCell, + 'gru': tf.nn.rnn_cell.GRUCell, + } + + # Parameters for batch normalization. + BATCH_NORM_EPSILON = 1e-5 + BATCH_NORM_DECAY = 0.997 + + # Filters of convolution layer + CONV_FILTERS = 32 + + def __init__(self, + num_rnn_layers=5, + rnn_type='lstm', + is_bidirectional=True, + rnn_hidden_size=800, + use_bias=True, + params=None): + """Initialize DeepSpeech2 model. + + Args: + num_rnn_layers: an integer, the number of rnn layers (default: 5). + rnn_type: a string, one of the supported rnn cells: gru, rnn or lstm. + is_bidirectional: a boolean to indicate if the rnn layer is bidirectional. + rnn_hidden_size: an integer for the number of hidden units in the RNN + cell. + use_bias: a boolean specifying whether to use a bias in the last fc layer. + params: the params from BenchmarkCNN. + """ + super(DeepSpeech2Model, self).__init__( + 'deepspeech2', + batch_size=128, + learning_rate=0.0005, + fp16_loss_scale=128, + params=params) + self.num_rnn_layers = num_rnn_layers + self.rnn_type = rnn_type + self.is_bidirectional = is_bidirectional + self.rnn_hidden_size = rnn_hidden_size + self.use_bias = use_bias + self.num_feature_bins = 161 + self.max_time_steps = 3494 + self.max_label_length = 576 + + def _batch_norm(self, inputs, training): + """Batch normalization layer. + + Note that the momentum to use will affect validation accuracy over time. + Batch norm has different behaviors during training/evaluation. With a large + momentum, the model takes longer to get a near-accurate estimation of the + moving mean/variance over the entire training dataset, which means we need + more iterations to see good evaluation results. If the training data is + evenly distributed over the feature space, we can also try setting a smaller + momentum (such as 0.1) to get good evaluation result sooner. + + Args: + inputs: input data for batch norm layer. + training: a boolean to indicate if it is in training stage. + + Returns: + tensor output from batch norm layer. + """ + return tf.layers.batch_normalization( + inputs=inputs, + momentum=DeepSpeech2Model.BATCH_NORM_DECAY, + epsilon=DeepSpeech2Model.BATCH_NORM_EPSILON, + fused=True, + training=training) + + def _conv_bn_layer(self, inputs, padding, filters, kernel_size, strides, + layer_id, training): + """Defines 2D convolutional + batch normalization layer. + + Args: + inputs: input data for convolution layer. + padding: padding to be applied before convolution layer. + filters: an integer, number of output filters in the convolution. + kernel_size: a tuple specifying the height and width of the 2D convolution + window. + strides: a tuple specifying the stride length of the convolution. + layer_id: an integer specifying the layer index. + training: a boolean to indicate which stage we are in (training/eval). + + Returns: + tensor output from the current layer. + """ + # Perform symmetric padding on the feature dimension of time_step + # This step is required to avoid issues when RNN output sequence is shorter + # than the label length. + inputs = tf.pad( + inputs, + [[0, 0], [padding[0], padding[0]], [padding[1], padding[1]], [0, 0]]) + inputs = tf.layers.conv2d( + inputs=inputs, + filters=filters, + kernel_size=kernel_size, + strides=strides, + padding='valid', + use_bias=False, + activation=tf.nn.relu6, + name='cnn_{}'.format(layer_id)) + return self._batch_norm(inputs, training) + + def _rnn_layer(self, inputs, rnn_cell, rnn_hidden_size, layer_id, + use_batch_norm, is_bidirectional, training): + """Defines a batch normalization + rnn layer. + + Args: + inputs: input tensors for the current layer. + rnn_cell: RNN cell instance to use. + rnn_hidden_size: an integer for the dimensionality of the rnn output + space. + layer_id: an integer for the index of current layer. + use_batch_norm: a boolean specifying whether to perform batch + normalization on input states. + is_bidirectional: a boolean specifying whether the rnn layer is + bi-directional. + training: a boolean to indicate which stage we are in (training/eval). + + Returns: + tensor output for the current layer. + """ + if use_batch_norm: + inputs = self._batch_norm(inputs, training) + + # Construct forward/backward RNN cells. + fw_cell = rnn_cell( + num_units=rnn_hidden_size, name='rnn_fw_{}'.format(layer_id)) + + if is_bidirectional: + bw_cell = rnn_cell( + num_units=rnn_hidden_size, name='rnn_bw_{}'.format(layer_id)) + outputs, _ = tf.nn.bidirectional_dynamic_rnn( + cell_fw=fw_cell, + cell_bw=bw_cell, + inputs=inputs, + dtype=tf.float32, + swap_memory=True) + rnn_outputs = tf.concat(outputs, -1) + else: + rnn_outputs = tf.nn.dynamic_rnn( + fw_cell, inputs, dtype=tf.float32, swap_memory=True) + + return rnn_outputs + + def get_input_data_types(self, subset): + """Returns the list of data types of the inputs.""" + del subset # Same data types for both train and validation subsets. + return [self.data_type, tf.int32, tf.int32, tf.int32] + + def get_input_shapes(self, subset): + """Returns the list of shapes of the padded inputs.""" + del subset # Same shapes for both train and validation subsets + return [ + [self.batch_size, self.max_time_steps, self.num_feature_bins, 1], + [self.batch_size, self.max_label_length], + [self.batch_size, 1], + [self.batch_size, 1], + ] + + def get_synthetic_inputs(self, input_name, nclass): + inputs = tf.random_uniform(self.get_input_shapes('train')[0], + dtype=self.get_input_data_types('train')[0]) + inputs = variables.VariableV1(inputs, trainable=False, + collections=[tf.GraphKeys.LOCAL_VARIABLES], + name=input_name) + labels = tf.convert_to_tensor( + np.random.randint(28, size=[self.batch_size, self.max_label_length])) + input_lengths = tf.convert_to_tensor( + [self.max_time_steps] * self.batch_size) + label_lengths = tf.convert_to_tensor( + [self.max_label_length] * self.batch_size) + return [inputs, labels, input_lengths, label_lengths] + + # TODO(laigd): support fp16. + # TODO(laigd): support multiple gpus. + def build_network(self, inputs, phase_train=True, nclass=29): + """Builds the forward pass of the deepspeech2 model. + + Args: + inputs: The input list of the model. + phase_train: True during training. False during evaluation. + nclass: Number of classes that the input spectrogram can belong to. + + Returns: + A BuildNetworkResult which contains the logits and model-specific extra + information. + """ + inputs = inputs[0] # Get the spectrogram feature. + + # Two cnn layers. + inputs = self._conv_bn_layer( + inputs, + padding=(20, 5), + filters=DeepSpeech2Model.CONV_FILTERS, + kernel_size=(41, 11), + strides=(2, 2), + layer_id=1, + training=phase_train) + + inputs = self._conv_bn_layer( + inputs, + padding=(10, 5), + filters=DeepSpeech2Model.CONV_FILTERS, + kernel_size=(21, 11), + strides=(2, 1), + layer_id=2, + training=phase_train) + + # output of conv_layer2 with the shape of + # [batch_size (N), times (T), features (F), channels (C)]. + # Convert the conv output to rnn input. + + # batch_size = tf.shape(inputs)[0] + feat_size = inputs.get_shape().as_list()[2] + inputs = tf.reshape( + inputs, + [self.batch_size, -1, feat_size * DeepSpeech2Model.CONV_FILTERS]) + + # RNN layers. + rnn_cell = DeepSpeech2Model.SUPPORTED_RNNS[self.rnn_type] + for layer_counter in xrange(self.num_rnn_layers): + # No batch normalization on the first layer. + use_batch_norm = (layer_counter != 0) + inputs = self._rnn_layer(inputs, rnn_cell, self.rnn_hidden_size, + layer_counter + 1, use_batch_norm, + self.is_bidirectional, phase_train) + + # FC layer with batch norm. + inputs = self._batch_norm(inputs, phase_train) + logits = tf.layers.dense(inputs, nclass, use_bias=self.use_bias) + + return model_lib.BuildNetworkResult(logits=logits, extra_info=None) + + def loss_function(self, inputs, build_network_result): + """Computes the ctc loss for the current batch of predictions. + + Args: + inputs: the input list of the model. + build_network_result: a BuildNetworkResult returned by build_network(). + + Returns: + The loss tensor of the model. + """ + logits = build_network_result.logits + actual_time_steps = inputs[2] + probs = tf.nn.softmax(logits) + ctc_time_steps = tf.shape(probs)[1] + ctc_input_length = tf.to_float( + tf.multiply(actual_time_steps, ctc_time_steps)) + ctc_input_length = tf.to_int32( + tf.floordiv(ctc_input_length, tf.to_float(self.max_time_steps))) + + label_length = inputs[3] + label_length = tf.to_int32(tf.squeeze(label_length)) + ctc_input_length = tf.to_int32(tf.squeeze(ctc_input_length)) + + labels = inputs[1] + sparse_labels = tf.to_int32( + tf.keras.backend.ctc_label_dense_to_sparse(labels, label_length)) + y_pred = tf.log( + tf.transpose(probs, perm=[1, 0, 2]) + tf.keras.backend.epsilon()) + + losses = tf.expand_dims( + tf.nn.ctc_loss( + labels=sparse_labels, + inputs=y_pred, + sequence_length=ctc_input_length, + ignore_longer_outputs_than_inputs=True), + axis=1) + loss = tf.reduce_mean(losses) + return loss + + PROBABILITY_TENSOR = 'deepspeech2_prob' + LABEL_TENSOR = 'deepspeech2_label' + + def accuracy_function(self, inputs, logits): + """Returns the ops to evaluate the model performance.""" + # Get probabilities of each predicted class + probs = tf.nn.softmax(logits) + assert probs.shape.as_list()[0] == self.batch_size + return { + (constants.UNREDUCED_ACCURACY_OP_PREFIX + self.PROBABILITY_TENSOR): + probs, + (constants.UNREDUCED_ACCURACY_OP_PREFIX + self.LABEL_TENSOR): + inputs[1], + } + + def postprocess(self, results): + """Postprocess results returned from model in Python.""" + probs = results[self.PROBABILITY_TENSOR] + + total_wer, total_cer = 0, 0 + speech_labels = " abcdefghijklmnopqrstuvwxyz'-" + greedy_decoder = DeepSpeechDecoder(speech_labels) + + # Evaluate the performance using WER (Word Error Rate) and CER (Character + # Error Rate) as metrics. + targets = results[self.LABEL_TENSOR] # The ground truth transcript + for i in range(self.batch_size): + # Decode string. + predicted_str = greedy_decoder.decode_logits(probs[i]) + expected_str = greedy_decoder.decode(targets[i]) + # Compute CER. + total_cer += (greedy_decoder.cer(predicted_str, expected_str) / + len(expected_str)) + # Compute WER. + total_wer += (greedy_decoder.wer(predicted_str, expected_str) / + len(expected_str.split())) + + # Get mean value + total_cer /= self.batch_size + total_wer /= self.batch_size + + log_fn('total CER: {:f}; total WER: {:f}; total example: {:d}.'.format( + total_cer, total_wer, self.batch_size)) + # TODO(laigd): get rid of top_N_accuracy bindings in benchmark_cnn.py + return {'top_1_accuracy': 0., 'top_5_accuracy': 0.} diff --git a/cv/classification/resnet50/tensorflow/models/experimental/official_ncf_model.py b/cv/classification/resnet50/tensorflow/models/experimental/official_ncf_model.py new file mode 100644 index 0000000000000000000000000000000000000000..9e6ca513f9f0c3f9b7c67bc7a072ed0b35fd4f5a --- /dev/null +++ b/cv/classification/resnet50/tensorflow/models/experimental/official_ncf_model.py @@ -0,0 +1,172 @@ +# Copyright 2018 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Wrap the official recommendation model in a tf_cnn_benchmarks Model. + +This allows the recommendation NCF model to be used in tf_cnn_benchmarks. +Currently, the implementation is fairly hacky, because tf_cnn_benchmarks is +intended to be used only with CNNs. + +Only synthetic data with 1 GPU is currently supported. +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow.compat.v1 as tf + +from models import model + + +# Obtained by running the official NCF model with the following command: +# python ncf_main.py --dataset ml-20m +# and printing the number of users and items here: +# https://github.com/tensorflow/models/blob/d089975f630a8a01be63e45ef08a31be14bb96b4/official/recommendation/data_preprocessing.py#L68 +_NUM_USERS_20M = 138493 +_NUM_ITEMS_20M = 26744 + + +# TODO(reedwm): Support multi-GPU. Currently keras layers, which this model +# uses, ignore variable_scopes, which we rely on for multi-GPU support. +# TODO(reedwm): Support real data. This will require a significant refactor. +# TODO(reedwm): All-reduce IndexedSlices more effectively. +# TODO(reedwm): Support the 1M variant of this model. + + +class NcfModel(model.Model): + r"""A model.Model wrapper around the official NCF recommendation model. + + To do an NCF run with synthetic data that roughly matches what the official + model does, run: + + python tf_cnn_benchmarks.py --optimizer=adam --model=ncf --batch_size=65536 \ + --weight_decay=0 --sparse_to_dense_grads + """ + + def __init__(self, params=None): + super(NcfModel, self).__init__( + 'official_ncf', batch_size=2048, learning_rate=0.0005, + fp16_loss_scale=128, params=params) + if self.fp16_vars: + raise ValueError('NCF model only supports float32 variables for now.') + + def build_network(self, inputs, phase_train=True, nclass=1001): + try: + from official.recommendation import neumf_model # pylint: disable=g-import-not-at-top + except ImportError as e: + if 'neumf_model' not in e.message: + raise + raise ImportError('To use the experimental NCF model, you must clone the ' + 'repo https://github.com/tensorflow/models and add ' + 'tensorflow/models to the PYTHONPATH.') + del nclass + + users, items, _ = inputs + params = { + 'num_users': _NUM_USERS_20M, + 'num_items': _NUM_ITEMS_20M, + 'model_layers': (256, 256, 128, 64), + 'mf_dim': 64, + 'mf_regularization': 0, + 'mlp_reg_layers': (0, 0, 0, 0), + 'use_tpu': False + } + user_input = tf.keras.layers.Input(tensor=users, name='user_input') + item_input = tf.keras.layers.Input(tensor=items, name='item_input') + if self.data_type == tf.float32: + keras_model = neumf_model.construct_model(user_input, item_input, params) + logits = keras_model.output + else: + assert self.data_type == tf.float16 + old_floatx = tf.keras.backend.floatx() + try: + tf.keras.backend.set_floatx('float16') + # We cannot rely on the variable_scope's fp16 custom getter here, + # because the NCF model uses keras layers, which ignore variable scopes. + # So we use a variable_creator_scope instead. + with tf.variable_creator_scope(_fp16_variable_creator): + keras_model = neumf_model.construct_model(user_input, item_input, + params) + logits = tf.cast(keras_model.output, tf.float32) + finally: + tf.keras.backend.set_floatx(old_floatx) + return model.BuildNetworkResult(logits=logits, extra_info=None) + + def loss_function(self, inputs, build_network_result): + logits = build_network_result.logits + + # Softmax with the first column of ones is equivalent to sigmoid. + # TODO(reedwm): Actually, the first column should be zeros to be equivalent + # to sigmoid. But, we keep it at ones to match the official models. + logits = tf.concat([tf.ones(logits.shape, dtype=logits.dtype), logits], + axis=1) + + return tf.losses.sparse_softmax_cross_entropy( + labels=inputs[2], + logits=logits + ) + + def get_synthetic_inputs(self, input_name, nclass): + """Returns the ops to generate synthetic inputs and labels.""" + def users_init_val(): + return tf.random_uniform((self.batch_size, 1), minval=0, + maxval=_NUM_USERS_20M, dtype=tf.int32) + users = tf.Variable(users_init_val, dtype=tf.int32, trainable=False, + collections=[tf.GraphKeys.LOCAL_VARIABLES], + name='synthetic_users') + def items_init_val(): + return tf.random_uniform((self.batch_size, 1), minval=0, + maxval=_NUM_ITEMS_20M, dtype=tf.int32) + items = tf.Variable(items_init_val, dtype=tf.int32, trainable=False, + collections=[tf.GraphKeys.LOCAL_VARIABLES], + name='synthetic_items') + + def labels_init_val(): + return tf.random_uniform((self.batch_size,), minval=0, maxval=2, + dtype=tf.int32) + labels = tf.Variable(labels_init_val, dtype=tf.int32, trainable=False, + collections=[tf.GraphKeys.LOCAL_VARIABLES], + name='synthetic_labels') + + return [users, items, labels] + + def get_input_shapes(self, subset): + del subset + return [[self.batch_size, 1], [self.batch_size, 1], [self.batch_size]] + + def get_input_data_types(self, subset): + del subset + return [self.int32, tf.int32, tf.int32] + + +def _fp16_variable_creator(next_creator, **kwargs): + """Variable creator to create variables in fp32 and cast them to fp16.""" + dtype = kwargs.get('dtype', None) + initial_value = kwargs.get('initial_value', None) + if dtype is None: + if initial_value is not None and not callable(initial_value): + dtype = initial_value.dtype + if dtype == tf.float16: + if callable(initial_value): + new_initial_value = lambda: tf.cast(initial_value(), tf.float32) + else: + new_initial_value = tf.cast(initial_value, tf.float32) + kwargs['dtype'] = tf.float32 + kwargs['initial_value'] = new_initial_value + var = next_creator(**kwargs) + return tf.cast(var, dtype=tf.float16) + else: + return next_creator(**kwargs) + diff --git a/cv/classification/resnet50/tensorflow/models/googlenet_model.py b/cv/classification/resnet50/tensorflow/models/googlenet_model.py new file mode 100644 index 0000000000000000000000000000000000000000..3505594ec933cc05cb96b00eeac81cbc4334693c --- /dev/null +++ b/cv/classification/resnet50/tensorflow/models/googlenet_model.py @@ -0,0 +1,63 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Googlenet model configuration. + +References: + Szegedy, Christian, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, + Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, and Andrew Rabinovich + Going deeper with convolutions + arXiv preprint arXiv:1409.4842 (2014) +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from models import model + + +class GooglenetModel(model.CNNModel): + """GoogLeNet.""" + + def __init__(self, params=None): + super(GooglenetModel, self).__init__( + 'googlenet', 224, 32, 0.005, params=params) + + def add_inference(self, cnn): + + def inception_v1(cnn, k, l, m, n, p, q): + cols = [[('conv', k, 1, 1)], [('conv', l, 1, 1), ('conv', m, 3, 3)], + [('conv', n, 1, 1), ('conv', p, 5, 5)], + [('mpool', 3, 3, 1, 1, 'SAME'), ('conv', q, 1, 1)]] + cnn.inception_module('incept_v1', cols) + + cnn.conv(64, 7, 7, 2, 2) + cnn.mpool(3, 3, 2, 2, mode='SAME') + cnn.conv(64, 1, 1) + cnn.conv(192, 3, 3) + cnn.mpool(3, 3, 2, 2, mode='SAME') + inception_v1(cnn, 64, 96, 128, 16, 32, 32) + inception_v1(cnn, 128, 128, 192, 32, 96, 64) + cnn.mpool(3, 3, 2, 2, mode='SAME') + inception_v1(cnn, 192, 96, 208, 16, 48, 64) + inception_v1(cnn, 160, 112, 224, 24, 64, 64) + inception_v1(cnn, 128, 128, 256, 24, 64, 64) + inception_v1(cnn, 112, 144, 288, 32, 64, 64) + inception_v1(cnn, 256, 160, 320, 32, 128, 128) + cnn.mpool(3, 3, 2, 2, mode='SAME') + inception_v1(cnn, 256, 160, 320, 32, 128, 128) + inception_v1(cnn, 384, 192, 384, 48, 128, 128) + cnn.apool(7, 7, 1, 1, mode='VALID') + cnn.reshape([-1, 1024]) diff --git a/cv/classification/resnet50/tensorflow/models/inception_model.py b/cv/classification/resnet50/tensorflow/models/inception_model.py new file mode 100644 index 0000000000000000000000000000000000000000..b8835edb88cb57fde2b67bc8cb5fb2caffa0527f --- /dev/null +++ b/cv/classification/resnet50/tensorflow/models/inception_model.py @@ -0,0 +1,213 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Inception model configuration. + +Includes multiple models: inception3, inception4, inception-resnet2. + +References: + Christian Szegedy, Sergey Ioffe, Vincent Vanhoucke, Alex Alemi + Inception-v4, Inception-ResNet and the Impact of Residual Connections on + Learning + + Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, + Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, Andrew Rabinovich + Going Deeper with Convolutions + http://arxiv.org/pdf/1409.4842v1.pdf + + Christian Szegedy, Vincent Vanhoucke, Sergey Ioffe, Jonathon Shlens, + Zbigniew Wojna + Rethinking the Inception Architecture for Computer Vision + arXiv preprint arXiv:1512.00567 (2015) + + Inception v3 model: http://arxiv.org/abs/1512.00567 + + Inception v4 and Resnet V2 architectures: http://arxiv.org/abs/1602.07261 +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from six.moves import xrange # pylint: disable=redefined-builtin +from models import model + + +class Inceptionv3Model(model.CNNModel): + """InceptionV3.""" + + def __init__(self, auxiliary=False, params=None): + self._auxiliary = auxiliary + super(Inceptionv3Model, self).__init__( + 'inception3', 299, 32, 0.005, params=params) + + def add_inference(self, cnn): + def inception_v3_a(cnn, n): + cols = [[('conv', 64, 1, 1)], [('conv', 48, 1, 1), ('conv', 64, 5, 5)], + [('conv', 64, 1, 1), ('conv', 96, 3, 3), ('conv', 96, 3, 3)], + [('apool', 3, 3, 1, 1, 'SAME'), ('conv', n, 1, 1)]] + cnn.inception_module('incept_v3_a', cols) + + def inception_v3_b(cnn): + cols = [[('conv', 384, 3, 3, 2, 2, 'VALID')], + [('conv', 64, 1, 1), + ('conv', 96, 3, 3), + ('conv', 96, 3, 3, 2, 2, 'VALID')], + [('mpool', 3, 3, 2, 2, 'VALID')]] + cnn.inception_module('incept_v3_b', cols) + + def inception_v3_c(cnn, n): + cols = [[('conv', 192, 1, 1)], + [('conv', n, 1, 1), ('conv', n, 1, 7), ('conv', 192, 7, 1)], + [('conv', n, 1, 1), ('conv', n, 7, 1), ('conv', n, 1, 7), + ('conv', n, 7, 1), ('conv', 192, 1, 7)], + [('apool', 3, 3, 1, 1, 'SAME'), ('conv', 192, 1, 1)]] + cnn.inception_module('incept_v3_c', cols) + + def inception_v3_d(cnn): + cols = [[('conv', 192, 1, 1), ('conv', 320, 3, 3, 2, 2, 'VALID')], + [('conv', 192, 1, 1), ('conv', 192, 1, 7), ('conv', 192, 7, 1), + ('conv', 192, 3, 3, 2, 2, 'VALID')], + [('mpool', 3, 3, 2, 2, 'VALID')]] + cnn.inception_module('incept_v3_d', cols) + + def inception_v3_e(cnn, pooltype): + cols = [[('conv', 320, 1, 1)], [('conv', 384, 1, 1), ('conv', 384, 1, 3)], + [('share',), ('conv', 384, 3, 1)], + [('conv', 448, 1, 1), ('conv', 384, 3, 3), ('conv', 384, 1, 3)], + [('share',), ('share',), ('conv', 384, 3, 1)], + [('mpool' if pooltype == 'max' else 'apool', 3, 3, 1, 1, 'SAME'), + ('conv', 192, 1, 1)]] + cnn.inception_module('incept_v3_e', cols) + + def incept_v3_aux(cnn): + assert cnn.aux_top_layer is None + cnn.aux_top_layer = cnn.top_layer + cnn.aux_top_size = cnn.top_size + with cnn.switch_to_aux_top_layer(): + cnn.apool(5, 5, 3, 3, mode='VALID') + cnn.conv(128, 1, 1, mode='SAME') + cnn.conv(768, 5, 5, mode='VALID', stddev=0.01) + cnn.reshape([-1, 768]) + + cnn.use_batch_norm = True + cnn.conv(32, 3, 3, 2, 2, mode='VALID') # 299 x 299 x 3 + cnn.conv(32, 3, 3, 1, 1, mode='VALID') # 149 x 149 x 32 + cnn.conv(64, 3, 3, 1, 1, mode='SAME') # 147 x 147 x 64 + cnn.mpool(3, 3, 2, 2, mode='VALID') # 147 x 147 x 64 + cnn.conv(80, 1, 1, 1, 1, mode='VALID') # 73 x 73 x 80 + cnn.conv(192, 3, 3, 1, 1, mode='VALID') # 71 x 71 x 192 + cnn.mpool(3, 3, 2, 2, 'VALID') # 35 x 35 x 192 + inception_v3_a(cnn, 32) # 35 x 35 x 256 mixed. + inception_v3_a(cnn, 64) # 35 x 35 x 288 mixed_1. + inception_v3_a(cnn, 64) # 35 x 35 x 288 mixed_2 + inception_v3_b(cnn) # 17 x 17 x 768 mixed_3 + inception_v3_c(cnn, 128) # 17 x 17 x 768 mixed_4 + inception_v3_c(cnn, 160) # 17 x 17 x 768 mixed_5 + inception_v3_c(cnn, 160) # 17 x 17 x 768 mixed_6 + inception_v3_c(cnn, 192) # 17 x 17 x 768 mixed_7 + if self._auxiliary: + incept_v3_aux(cnn) # Auxillary Head logits + inception_v3_d(cnn) # 17 x 17 x 1280 mixed_8 + inception_v3_e(cnn, 'avg') # 8 x 8 x 2048 mixed_9 + inception_v3_e(cnn, 'max') # 8 x 8 x 2048 mixed_10 + cnn.apool(8, 8, 1, 1, 'VALID') # 8 x 8 x 2048 + cnn.reshape([-1, 2048]) # 1 x 1 x 2048 + + +# Stem functions +def inception_v4_sa(cnn): + cols = [[('mpool', 3, 3, 2, 2, 'VALID')], [('conv', 96, 3, 3, 2, 2, 'VALID')]] + cnn.inception_module('incept_v4_sa', cols) + + +def inception_v4_sb(cnn): + cols = [[('conv', 64, 1, 1), ('conv', 96, 3, 3, 1, 1, 'VALID')], + [('conv', 64, 1, 1), ('conv', 64, 7, 1), ('conv', 64, 1, 7), + ('conv', 96, 3, 3, 1, 1, 'VALID')]] + cnn.inception_module('incept_v4_sb', cols) + + +def inception_v4_sc(cnn): + cols = [[('conv', 192, 3, 3, 2, 2, 'VALID')], + [('mpool', 3, 3, 2, 2, 'VALID')]] + cnn.inception_module('incept_v4_sc', cols) + + +# Reduction functions +def inception_v4_ra(cnn, k, l, m, n): + cols = [ + [('mpool', 3, 3, 2, 2, 'VALID')], [('conv', n, 3, 3, 2, 2, 'VALID')], + [('conv', k, 1, 1), ('conv', l, 3, 3), ('conv', m, 3, 3, 2, 2, 'VALID')] + ] + cnn.inception_module('incept_v4_ra', cols) + + +def inception_v4_rb(cnn): + cols = [[('mpool', 3, 3, 2, 2, 'VALID')], + [('conv', 192, 1, 1), ('conv', 192, 3, 3, 2, 2, 'VALID')], + [('conv', 256, 1, 1), ('conv', 256, 1, 7), ('conv', 320, 7, 1), + ('conv', 320, 3, 3, 2, 2, 'VALID')]] + cnn.inception_module('incept_v4_rb', cols) + + +class Inceptionv4Model(model.CNNModel): + """Inceptionv4.""" + + def __init__(self, params=None): + super(Inceptionv4Model, self).__init__( + 'inception4', 299, 32, 0.005, params=params) + + def add_inference(self, cnn): + def inception_v4_a(cnn): + cols = [[('apool', 3, 3, 1, 1, 'SAME'), ('conv', 96, 1, 1)], + [('conv', 96, 1, 1)], [('conv', 64, 1, 1), ('conv', 96, 3, 3)], + [('conv', 64, 1, 1), ('conv', 96, 3, 3), ('conv', 96, 3, 3)]] + cnn.inception_module('incept_v4_a', cols) + + def inception_v4_b(cnn): + cols = [[('apool', 3, 3, 1, 1, 'SAME'), ('conv', 128, 1, 1)], + [('conv', 384, 1, 1)], + [('conv', 192, 1, 1), ('conv', 224, 1, 7), ('conv', 256, 7, 1)], + [('conv', 192, 1, 1), ('conv', 192, 1, 7), ('conv', 224, 7, 1), + ('conv', 224, 1, 7), ('conv', 256, 7, 1)]] + cnn.inception_module('incept_v4_b', cols) + + def inception_v4_c(cnn): + cols = [[('apool', 3, 3, 1, 1, 'SAME'), ('conv', 256, 1, 1)], + [('conv', 256, 1, 1)], [('conv', 384, 1, 1), ('conv', 256, 1, 3)], + [('share',), ('conv', 256, 3, 1)], + [('conv', 384, 1, 1), ('conv', 448, 1, 3), ('conv', 512, 3, 1), + ('conv', 256, 3, 1)], [('share',), ('share',), ('share',), + ('conv', 256, 1, 3)]] + cnn.inception_module('incept_v4_c', cols) + + cnn.use_batch_norm = True + cnn.conv(32, 3, 3, 2, 2, mode='VALID') + cnn.conv(32, 3, 3, 1, 1, mode='VALID') + cnn.conv(64, 3, 3) + inception_v4_sa(cnn) + inception_v4_sb(cnn) + inception_v4_sc(cnn) + for _ in xrange(4): + inception_v4_a(cnn) + inception_v4_ra(cnn, 192, 224, 256, 384) + for _ in xrange(7): + inception_v4_b(cnn) + inception_v4_rb(cnn) + for _ in xrange(3): + inception_v4_c(cnn) + cnn.spatial_mean() + cnn.dropout(0.8) diff --git a/cv/classification/resnet50/tensorflow/models/lenet_model.py b/cv/classification/resnet50/tensorflow/models/lenet_model.py new file mode 100644 index 0000000000000000000000000000000000000000..0218daaeb2b016b7bfcc886af813e92aee25f521 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/models/lenet_model.py @@ -0,0 +1,44 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Lenet model configuration. + +References: + LeCun, Yann, Leon Bottou, Yoshua Bengio, and Patrick Haffner + Gradient-based learning applied to document recognition + Proceedings of the IEEE (1998) +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from models import model + + +class Lenet5Model(model.CNNModel): + """Lenet5.""" + + def __init__(self, params=None): + super(Lenet5Model, self).__init__('lenet5', 28, 32, 0.005, params=params) + + def add_inference(self, cnn): + # Note: This matches TF's MNIST tutorial model + cnn.conv(32, 5, 5) + cnn.mpool(2, 2) + cnn.conv(64, 5, 5) + cnn.mpool(2, 2) + cnn.reshape([-1, 64 * 7 * 7]) + cnn.affine(512) diff --git a/cv/classification/resnet50/tensorflow/models/model.py b/cv/classification/resnet50/tensorflow/models/model.py new file mode 100644 index 0000000000000000000000000000000000000000..3db13081917f9582704428c6c26956cbd652ae77 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/models/model.py @@ -0,0 +1,340 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Base model configuration for CNN benchmarks.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from collections import namedtuple + +import tensorflow.compat.v1 as tf + +import convnet_builder +import mlperf +from tensorflow.python.ops import variables as variables_module # pylint: disable=g-direct-tensorflow-import + +# BuildNetworkResult encapsulate the result (e.g. logits) of a +# Model.build_network() call. +BuildNetworkResult = namedtuple( + 'BuildNetworkResult', + [ + 'logits', # logits of the network + 'extra_info', # Model specific extra information + ]) + + +class Model(object): + """Base model config for DNN benchmarks.""" + + def __init__(self, + model_name, + batch_size, + learning_rate, + fp16_loss_scale, + params=None): + self.model_name = model_name + self.batch_size = batch_size + self.default_batch_size = batch_size + self.learning_rate = learning_rate + # TODO(reedwm) Set custom loss scales for each model instead of using the + # default of 128. + self.fp16_loss_scale = fp16_loss_scale + + # use_tf_layers specifies whether to build the model using tf.layers. + # fp16_vars specifies whether to create the variables in float16. + if params: + self.use_tf_layers = params.use_tf_layers + self.fp16_vars = params.fp16_vars + self.data_type = tf.float16 if params.use_fp16 else tf.float32 + else: + self.use_tf_layers = True + self.fp16_vars = False + self.data_type = tf.float32 + + def get_model_name(self): + return self.model_name + + def get_batch_size(self): + return self.batch_size + + def set_batch_size(self, batch_size): + self.batch_size = batch_size + + def get_default_batch_size(self): + return self.default_batch_size + + def get_fp16_loss_scale(self): + return self.fp16_loss_scale + + def filter_l2_loss_vars(self, variables): + """Filters out variables that the L2 loss should not be computed for. + + By default, this filters out batch normalization variables and keeps all + other variables. This behavior can be overridden by subclasses. + + Args: + variables: A list of the trainable variables. + + Returns: + A list of variables that the L2 loss should be computed for. + """ + mlperf.logger.log(key=mlperf.tags.MODEL_EXCLUDE_BN_FROM_L2, + value=True) + return [v for v in variables if 'batchnorm' not in v.name] + + def get_learning_rate(self, global_step, batch_size): + del global_step + del batch_size + return self.learning_rate + + def get_input_shapes(self, subset): + """Returns the list of expected shapes of all the inputs to this model.""" + del subset + raise NotImplementedError('Must be implemented in derived classes') + + def get_input_data_types(self, subset): + """Returns the list of data types of all the inputs to this model.""" + del subset + raise NotImplementedError('Must be implemented in derived classes') + + def get_synthetic_inputs(self, input_name, nclass): + """Returns the ops to generate synthetic inputs.""" + raise NotImplementedError('Must be implemented in derived classes') + + def build_network(self, inputs, phase_train, nclass): + """Builds the forward pass of the model. + + Args: + inputs: The list of inputs, including labels + phase_train: True during training. False during evaluation. + nclass: Number of classes that the inputs can belong to. + + Returns: + A BuildNetworkResult which contains the logits and model-specific extra + information. + """ + raise NotImplementedError('Must be implemented in derived classes') + + def loss_function(self, inputs, build_network_result): + """Returns the op to measure the loss of the model. + + Args: + inputs: the input list of the model. + build_network_result: a BuildNetworkResult returned by build_network(). + + Returns: + The loss tensor of the model. + """ + raise NotImplementedError('Must be implemented in derived classes') + + # TODO(laigd): have accuracy_function() take build_network_result instead. + def accuracy_function(self, inputs, logits): + """Returns the ops to measure the accuracy of the model.""" + raise NotImplementedError('Must be implemented in derived classes') + + def postprocess(self, results): + """Postprocess results returned from model in Python.""" + return results + + def reached_target(self): + """Define custom methods to stop training when model's target is reached.""" + return False + + +class CNNModel(Model): + """Base model configuration for CNN benchmarks.""" + + # TODO(laigd): reduce the number of parameters and read everything from + # params. + def __init__(self, + model, + image_size, + batch_size, + learning_rate, + layer_counts=None, + fp16_loss_scale=128, + params=None): + super(CNNModel, self).__init__( + model, batch_size, learning_rate, fp16_loss_scale, + params=params) + self.image_size = image_size + self.layer_counts = layer_counts + self.depth = 3 + self.params = params + self.data_format = params.data_format if params else 'NCHW' + + def get_layer_counts(self): + return self.layer_counts + + def skip_final_affine_layer(self): + """Returns if the caller of this class should skip the final affine layer. + + Normally, this class adds a final affine layer to the model after calling + self.add_inference(), to generate the logits. If a subclass override this + method to return True, the caller should not add the final affine layer. + + This is useful for tests. + """ + return False + + def add_backbone_saver(self): + """Creates a tf.train.Saver as self.backbone_saver for loading backbone. + + A tf.train.Saver must be created and saved in self.backbone_saver before + calling load_backbone_model, with correct variable name mapping to load + variables from checkpoint correctly into the current model. + """ + raise NotImplementedError(self.getName() + ' does not have backbone model.') + + def load_backbone_model(self, sess, backbone_model_path): + """Loads variable values from a pre-trained backbone model. + + This should be used at the beginning of the training process for transfer + learning models using checkpoints of base models. + + Args: + sess: session to train the model. + backbone_model_path: path to backbone model checkpoint file. + """ + del sess, backbone_model_path + raise NotImplementedError(self.getName() + ' does not have backbone model.') + + def add_inference(self, cnn): + """Adds the core layers of the CNN's forward pass. + + This should build the forward pass layers, except for the initial transpose + of the images and the final Dense layer producing the logits. The layers + should be build with the ConvNetBuilder `cnn`, so that when this function + returns, `cnn.top_layer` and `cnn.top_size` refer to the last layer and the + number of units of the layer layer, respectively. + + Args: + cnn: A ConvNetBuilder to build the forward pass layers with. + """ + del cnn + raise NotImplementedError('Must be implemented in derived classes') + + def get_input_data_types(self, subset): + """Return data types of inputs for the specified subset.""" + del subset # Same types for both 'train' and 'validation' subsets. + return [self.data_type, tf.int32] + + def get_input_shapes(self, subset): + """Return data shapes of inputs for the specified subset.""" + del subset # Same shapes for both 'train' and 'validation' subsets. + # Each input is of shape [batch_size, height, width, depth] + # Each label is of shape [batch_size] + return [[self.batch_size, self.image_size, self.image_size, self.depth], + [self.batch_size]] + + def get_synthetic_inputs(self, input_name, nclass): + # Synthetic input should be within [0, 255]. + image_shape, label_shape = self.get_input_shapes('train') + inputs = tf.truncated_normal( + image_shape, + dtype=self.data_type, + mean=127, + stddev=60, + name=self.model_name + '_synthetic_inputs') + inputs = variables_module.VariableV1( + inputs, trainable=False, collections=[tf.GraphKeys.LOCAL_VARIABLES], + name=input_name) + labels = tf.random_uniform( + label_shape, + minval=0, + maxval=nclass - 1, + dtype=tf.int32, + name=self.model_name + '_synthetic_labels') + return (inputs, labels) + + def gpu_preprocess_nhwc(self, images, phase_train=True): + del phase_train + return images + + def build_network(self, + inputs, + phase_train=True, + nclass=1001): + """Returns logits from input images. + + Args: + inputs: The input images and labels + phase_train: True during training. False during evaluation. + nclass: Number of classes that the images can belong to. + + Returns: + A BuildNetworkResult which contains the logits and model-specific extra + information. + """ + images = inputs[0] + images = self.gpu_preprocess_nhwc(images, phase_train) + if self.data_format == 'NCHW': + images = tf.transpose(images, [0, 3, 1, 2]) + var_type = tf.float32 + if self.data_type == tf.float16 and self.fp16_vars: + var_type = tf.float16 + network = convnet_builder.ConvNetBuilder( + images, self.depth, phase_train, self.use_tf_layers, self.data_format, + self.data_type, var_type) + with tf.variable_scope('cg', custom_getter=network.get_custom_getter()): + self.add_inference(network) + # Add the final fully-connected class layer + logits = ( + network.affine(nclass, activation='linear') + if not self.skip_final_affine_layer() else network.top_layer) + mlperf.logger.log(key=mlperf.tags.MODEL_HP_FINAL_SHAPE, + value=logits.shape.as_list()[1:]) + aux_logits = None + if network.aux_top_layer is not None: + with network.switch_to_aux_top_layer(): + aux_logits = network.affine(nclass, activation='linear', stddev=0.001) + if self.data_type == tf.float16: + # TODO(reedwm): Determine if we should do this cast here. + logits = tf.cast(logits, tf.float32) + if aux_logits is not None: + aux_logits = tf.cast(aux_logits, tf.float32) + return BuildNetworkResult( + logits=logits, extra_info=None if aux_logits is None else aux_logits) + + def loss_function(self, inputs, build_network_result): + """Returns the op to measure the loss of the model.""" + logits = build_network_result.logits + _, labels = inputs + # TODO(laigd): consider putting the aux logit in the Inception model, + # which could call super.loss_function twice, once with the normal logits + # and once with the aux logits. + aux_logits = build_network_result.extra_info + with tf.name_scope('xentropy'): + mlperf.logger.log(key=mlperf.tags.MODEL_HP_LOSS_FN, value=mlperf.tags.CCE) + cross_entropy = tf.losses.sparse_softmax_cross_entropy( + logits=logits, labels=labels) + loss = tf.reduce_mean(cross_entropy, name='xentropy_mean') + if aux_logits is not None: + with tf.name_scope('aux_xentropy'): + aux_cross_entropy = tf.losses.sparse_softmax_cross_entropy( + logits=aux_logits, labels=labels) + aux_loss = 0.4 * tf.reduce_mean(aux_cross_entropy, name='aux_loss') + loss = tf.add_n([loss, aux_loss]) + return loss + + def accuracy_function(self, inputs, logits): + """Returns the ops to measure the accuracy of the model.""" + _, labels = inputs + top_1_op = tf.reduce_sum( + tf.cast(tf.nn.in_top_k(logits, labels, 1), self.data_type)) + top_5_op = tf.reduce_sum( + tf.cast(tf.nn.in_top_k(logits, labels, 5), self.data_type)) + return {'top_1_accuracy': top_1_op, 'top_5_accuracy': top_5_op} diff --git a/cv/classification/resnet50/tensorflow/models/model_config.py b/cv/classification/resnet50/tensorflow/models/model_config.py new file mode 100644 index 0000000000000000000000000000000000000000..1a31dc6233a71f7609668362a24360b74a6e2262 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/models/model_config.py @@ -0,0 +1,181 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Model configurations for CNN benchmarks. +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from functools import partial + +from models import alexnet_model +from models import densenet_model +from models import googlenet_model +from models import inception_model +from models import lenet_model +from models import official_resnet_model +from models import overfeat_model +from models import resnet_model +from models import trivial_model +from models import vgg_model +from models.experimental import deepspeech +from models.experimental import official_ncf_model + + +_model_name_to_imagenet_model = { + 'vgg11': vgg_model.Vgg11Model, + 'vgg16': vgg_model.Vgg16Model, + 'vgg19': vgg_model.Vgg19Model, + 'lenet': lenet_model.Lenet5Model, + 'googlenet': googlenet_model.GooglenetModel, + 'overfeat': overfeat_model.OverfeatModel, + 'alexnet': alexnet_model.AlexnetModel, + 'trivial': trivial_model.TrivialModel, + 'inception3': inception_model.Inceptionv3Model, + 'inception4': inception_model.Inceptionv4Model, + 'official_resnet18_v2': + partial(official_resnet_model.ImagenetResnetModel, 18), + 'official_resnet34_v2': + partial(official_resnet_model.ImagenetResnetModel, 34), + 'official_resnet50_v2': + partial(official_resnet_model.ImagenetResnetModel, 50), + 'official_resnet101_v2': + partial(official_resnet_model.ImagenetResnetModel, 101), + 'official_resnet152_v2': + partial(official_resnet_model.ImagenetResnetModel, 152), + 'official_resnet200_v2': + partial(official_resnet_model.ImagenetResnetModel, 200), + 'official_resnet18': + partial(official_resnet_model.ImagenetResnetModel, 18, version=1), + 'official_resnet34': + partial(official_resnet_model.ImagenetResnetModel, 34, version=1), + 'official_resnet50': + partial(official_resnet_model.ImagenetResnetModel, 50, version=1), + 'official_resnet101': + partial(official_resnet_model.ImagenetResnetModel, 101, version=1), + 'official_resnet152': + partial(official_resnet_model.ImagenetResnetModel, 152, version=1), + 'official_resnet200': + partial(official_resnet_model.ImagenetResnetModel, 200, version=1), + 'resnet50': resnet_model.create_resnet50_model, + 'resnet50_v1.5': resnet_model.create_resnet50_v1_5_model, + 'resnet50_v2': resnet_model.create_resnet50_v2_model, + 'resnet101': resnet_model.create_resnet101_model, + 'resnet101_v2': resnet_model.create_resnet101_v2_model, + 'resnet152': resnet_model.create_resnet152_model, + 'resnet152_v2': resnet_model.create_resnet152_v2_model, + 'ncf': official_ncf_model.NcfModel, +} + + +_model_name_to_cifar_model = { + 'alexnet': alexnet_model.AlexnetCifar10Model, + 'resnet20': resnet_model.create_resnet20_cifar_model, + 'resnet20_v2': resnet_model.create_resnet20_v2_cifar_model, + 'resnet32': resnet_model.create_resnet32_cifar_model, + 'resnet32_v2': resnet_model.create_resnet32_v2_cifar_model, + 'resnet44': resnet_model.create_resnet44_cifar_model, + 'resnet44_v2': resnet_model.create_resnet44_v2_cifar_model, + 'resnet56': resnet_model.create_resnet56_cifar_model, + 'resnet56_v2': resnet_model.create_resnet56_v2_cifar_model, + 'resnet110': resnet_model.create_resnet110_cifar_model, + 'resnet110_v2': resnet_model.create_resnet110_v2_cifar_model, + 'trivial': trivial_model.TrivialCifar10Model, + 'densenet40_k12': densenet_model.create_densenet40_k12_model, + 'densenet100_k12': densenet_model.create_densenet100_k12_model, + 'densenet100_k24': densenet_model.create_densenet100_k24_model, +} + + +_model_name_to_object_detection_model = { + 'trivial': trivial_model.TrivialSSD300Model, +} + + +def _get_model_map(dataset_name): + """Get name to model map for specified dataset.""" + if dataset_name == 'cifar10': + return _model_name_to_cifar_model + elif dataset_name in ('imagenet', 'synthetic', 'imagenette'): + return _model_name_to_imagenet_model + elif dataset_name == 'librispeech': + return {'deepspeech2': deepspeech.DeepSpeech2Model} + elif dataset_name == 'coco': + return _model_name_to_object_detection_model + else: + raise ValueError('Invalid dataset name: %s' % dataset_name) + + +# A model map dict can have this string as a value when TF2 is used, to indicate +# the model is only available in TF1. +_TF1_ONLY_STRING = 'TF1_ONLY' + + +def get_model_config(model_name, dataset, params): + """Map model name to model network configuration.""" + model_map = _get_model_map(dataset.name) + if model_name not in model_map: + raise ValueError('Invalid model name \'%s\' for dataset \'%s\'' % + (model_name, dataset.name)) + model = model_map[model_name](params=params) + if model == 'TF1_ONLY': + raise ValueError('Model \'%s\' can only be used with TensorFlow 1' + % (model_name,)) + return model + + +def register_model(model_name, dataset_name, model_func): + """Register a new model that can be obtained with `get_model_config`.""" + model_map = _get_model_map(dataset_name) + if model_name in model_map: + raise ValueError('Model "%s" is already registered for dataset "%s"' % + (model_name, dataset_name)) + model_map[model_name] = model_func + + +# pylint: disable=g-import-not-at-top +try: + from tensorflow.contrib import slim # pylint: disable=unused-import + can_import_contrib = True +except ImportError: + can_import_contrib = False + + +def register_tf1_models(): + """Registers all the TensorFlow 1-only models. + + TF 1-only models use contrib, which was removed in TF 2. If contrib can be + imported, the TF 1-only models are registered normally. If contrib cannot be + imported, the models are registered with the 'TF1_ONLY' string instead, which + will cause an error to be thrown if these models are used. + """ + if can_import_contrib: + from models.tf1_only import mobilenet_v2 + from models.tf1_only import nasnet_model + from models.tf1_only import ssd_model + register_model('mobilenet', 'imagenet', mobilenet_v2.MobilenetModel) + register_model('nasnet', 'imagenet', nasnet_model.NasnetModel) + register_model('nasnetlarge', 'imagenet', nasnet_model.NasnetLargeModel) + register_model('nasnet', 'cifar10', nasnet_model.NasnetCifarModel) + register_model('ssd300', 'coco', ssd_model.SSD300Model) + else: + register_model('mobilenet', 'imagenet', 'TF1_ONLY') + register_model('nasnet', 'imagenet', 'TF1_ONLY') + register_model('nasnetlarge', 'imagenet', 'TF1_ONLY') + register_model('nasnet', 'cifar10', 'TF1_ONLY') + register_model('ssd300', 'coco', 'TF1_ONLY') + diff --git a/cv/classification/resnet50/tensorflow/models/official_resnet_model.py b/cv/classification/resnet50/tensorflow/models/official_resnet_model.py new file mode 100644 index 0000000000000000000000000000000000000000..a70943c644550fe1a092b20e2c9a9f63cd797623 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/models/official_resnet_model.py @@ -0,0 +1,77 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Import official resnet models.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow.compat.v1 as tf +import datasets +from models import model as model_lib + + +class ImagenetResnetModel(model_lib.CNNModel): + """Official resnet models.""" + + def __init__(self, resnet_size, version=2, params=None): + """These are the parameters that work for Imagenet data. + + Args: + resnet_size: The number of convolutional layers needed in the model. + version: 1 or 2 for v1 or v2, respectively. + params: params passed by BenchmarkCNN. + """ + default_batch_sizes = { + 50: 128, + 101: 32, + 152: 32 + } + batch_size = default_batch_sizes.get(resnet_size, 32) + default_learning_rate = 0.0125 * batch_size / 32 + model_name = 'official_resnet_{}_v{}'.format(resnet_size, version) + super(ImagenetResnetModel, self).__init__( + model_name, 224, batch_size, default_learning_rate, params=params) + self.resnet_size = resnet_size + self.version = version + + def get_learning_rate(self, global_step, batch_size): + num_batches_per_epoch = ( + float(datasets.IMAGENET_NUM_TRAIN_IMAGES) / batch_size) + boundaries = [int(num_batches_per_epoch * x) for x in [30, 60, 80, 90]] + values = [1, 0.1, 0.01, 0.001, 0.0001] + adjusted_learning_rate = ( + self.learning_rate / self.default_batch_size * batch_size) + values = [v * adjusted_learning_rate for v in values] + return tf.train.piecewise_constant(global_step, boundaries, values) + + def build_network(self, images, phase_train=True, nclass=1001, + data_type=tf.float32): + # pylint: disable=g-import-not-at-top + try: + from official.resnet.r1.imagenet_main import ImagenetModel + except ImportError: + tf.logging.fatal('Please include tensorflow/models to the PYTHONPATH.') + raise + images = tf.cast(images, data_type) + model_class = ImagenetModel(resnet_size=self.resnet_size, + resnet_version=self.version, + # The official model dtype seems to be ignored, + # as the dtype it uses is the dtype of the input + # images. Doesn't hurt to set it though. + dtype=data_type) + logits = model_class(images, phase_train) + logits = tf.cast(logits, tf.float32) + return model_lib.BuildNetworkResult(logits=logits, extra_info=None) diff --git a/cv/classification/resnet50/tensorflow/models/overfeat_model.py b/cv/classification/resnet50/tensorflow/models/overfeat_model.py new file mode 100644 index 0000000000000000000000000000000000000000..7483bcbf3221f719e31baad4b9c93a4f52b0f629 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/models/overfeat_model.py @@ -0,0 +1,53 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Overfeat model configuration. + +References: + OverFeat: Integrated Recognition, Localization and Detection using + Convolutional Networks + Pierre Sermanet, David Eigen, Xiang Zhang, Michael Mathieu, Rob Fergus, + Yann LeCun, 2014 + http://arxiv.org/abs/1312.6229 +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from models import model + + +class OverfeatModel(model.CNNModel): + """OverfeatModel.""" + + def __init__(self, params=None): + super(OverfeatModel, self).__init__( + 'overfeat', 231, 32, 0.005, params=params) + + def add_inference(self, cnn): + # Note: VALID requires padding the images by 3 in width and height + cnn.conv(96, 11, 11, 4, 4, mode='VALID') + cnn.mpool(2, 2) + cnn.conv(256, 5, 5, 1, 1, mode='VALID') + cnn.mpool(2, 2) + cnn.conv(512, 3, 3) + cnn.conv(1024, 3, 3) + cnn.conv(1024, 3, 3) + cnn.mpool(2, 2) + cnn.reshape([-1, 1024 * 6 * 6]) + cnn.affine(3072) + cnn.dropout() + cnn.affine(4096) + cnn.dropout() diff --git a/cv/classification/resnet50/tensorflow/models/resnet_model.py b/cv/classification/resnet50/tensorflow/models/resnet_model.py new file mode 100644 index 0000000000000000000000000000000000000000..6340a30b89b661ea884df849e6c0949a2c7b9c86 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/models/resnet_model.py @@ -0,0 +1,489 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Resnet model configuration. + +References: + Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun + Deep Residual Learning for Image Recognition + arXiv:1512.03385 (2015) + + Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun + Identity Mappings in Deep Residual Networks + arXiv:1603.05027 (2016) + + Liang-Chieh Chen, George Papandreou, Iasonas Kokkinos, Kevin Murphy, + Alan L. Yuille + DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, + Atrous Convolution, and Fully Connected CRFs + arXiv:1606.00915 (2016) +""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import numpy as np +from six.moves import xrange # pylint: disable=redefined-builtin +import tensorflow.compat.v1 as tf +import datasets +import mlperf +from models import model as model_lib + + +def bottleneck_block_v1(cnn, depth, depth_bottleneck, stride): + """Bottleneck block with identity short-cut for ResNet v1. + + Args: + cnn: the network to append bottleneck blocks. + depth: the number of output filters for this bottleneck block. + depth_bottleneck: the number of bottleneck filters for this block. + stride: Stride used in the first layer of the bottleneck block. + """ + input_layer = cnn.top_layer + in_size = cnn.top_size + name_key = 'resnet_v1' + name = name_key + str(cnn.counts[name_key]) + cnn.counts[name_key] += 1 + + with tf.variable_scope(name): + if depth == in_size: + if stride == 1: + shortcut = input_layer + else: + shortcut = cnn.apool( + 1, 1, stride, stride, input_layer=input_layer, + num_channels_in=in_size) + mlperf.logger.log_projection(input_tensor=input_layer, + output_tensor=shortcut) + else: + shortcut = cnn.conv( + depth, 1, 1, stride, stride, activation=None, + use_batch_norm=True, input_layer=input_layer, + num_channels_in=in_size, bias=None) + cnn.conv(depth_bottleneck, 1, 1, stride, stride, + input_layer=input_layer, num_channels_in=in_size, + use_batch_norm=True, bias=None) + cnn.conv(depth_bottleneck, 3, 3, 1, 1, mode='SAME_RESNET', + use_batch_norm=True, bias=None) + res = cnn.conv(depth, 1, 1, 1, 1, activation=None, + use_batch_norm=True, bias=None) + mlperf.logger.log(key=mlperf.tags.MODEL_HP_SHORTCUT_ADD) + mlperf.logger.log(key=mlperf.tags.MODEL_HP_RELU) + output = tf.nn.relu(shortcut + res) + cnn.top_layer = output + cnn.top_size = depth + + +def bottleneck_block_v1_5(cnn, depth, depth_bottleneck, stride): + """Bottleneck block with identity short-cut for ResNet v1.5. + + ResNet v1.5 is the informal name for ResNet v1 where stride 2 is used in the + first 3x3 convolution of each block instead of the first 1x1 convolution. + + First seen at https://github.com/facebook/fb.resnet.torch. Used in the paper + "Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour" + (arXiv:1706.02677v2) and by fast.ai to train to accuracy in 45 epochs using + multiple image sizes. + + Args: + cnn: the network to append bottleneck blocks. + depth: the number of output filters for this bottleneck block. + depth_bottleneck: the number of bottleneck filters for this block. + stride: Stride used in the first layer of the bottleneck block. + """ + input_layer = cnn.top_layer + in_size = cnn.top_size + name_key = 'resnet_v1.5' + name = name_key + str(cnn.counts[name_key]) + cnn.counts[name_key] += 1 + + with tf.variable_scope(name): + if depth == in_size: + if stride == 1: + shortcut = input_layer + else: + shortcut = cnn.apool( + 1, 1, stride, stride, input_layer=input_layer, + num_channels_in=in_size) + mlperf.logger.log_projection(input_tensor=input_layer, + output_tensor=shortcut) + else: + shortcut = cnn.conv( + depth, 1, 1, stride, stride, activation=None, + use_batch_norm=True, input_layer=input_layer, + num_channels_in=in_size, bias=None) + mlperf.logger.log_projection(input_tensor=input_layer, + output_tensor=shortcut) + cnn.conv(depth_bottleneck, 1, 1, 1, 1, + input_layer=input_layer, num_channels_in=in_size, + use_batch_norm=True, bias=None) + cnn.conv(depth_bottleneck, 3, 3, stride, stride, mode='SAME_RESNET', + use_batch_norm=True, bias=None) + res = cnn.conv(depth, 1, 1, 1, 1, activation=None, + use_batch_norm=True, bias=None) + mlperf.logger.log(key=mlperf.tags.MODEL_HP_SHORTCUT_ADD) + mlperf.logger.log(key=mlperf.tags.MODEL_HP_RELU) + output = tf.nn.relu(shortcut + res) + cnn.top_layer = output + cnn.top_size = depth + + +def bottleneck_block_v2(cnn, depth, depth_bottleneck, stride): + """Bottleneck block with identity short-cut for ResNet v2. + + The main difference from v1 is that a batch norm and relu are done at the + start of the block, instead of the end. This initial batch norm and relu is + collectively called a pre-activation. + + Args: + cnn: the network to append bottleneck blocks. + depth: the number of output filters for this bottleneck block. + depth_bottleneck: the number of bottleneck filters for this block. + stride: Stride used in the first layer of the bottleneck block. + """ + input_layer = cnn.top_layer + in_size = cnn.top_size + name_key = 'resnet_v2' + name = name_key + str(cnn.counts[name_key]) + cnn.counts[name_key] += 1 + + preact = cnn.batch_norm() + mlperf.logger.log(key=mlperf.tags.MODEL_HP_RELU) + preact = tf.nn.relu(preact) + with tf.variable_scope(name): + if depth == in_size: + if stride == 1: + shortcut = input_layer + else: + shortcut = cnn.apool( + 1, 1, stride, stride, input_layer=input_layer, + num_channels_in=in_size) + mlperf.logger.log_projection(input_tensor=input_layer, + output_tensor=shortcut) + else: + shortcut = cnn.conv( + depth, 1, 1, stride, stride, activation=None, use_batch_norm=False, + input_layer=preact, num_channels_in=in_size, bias=None) + cnn.conv(depth_bottleneck, 1, 1, stride, stride, + input_layer=preact, num_channels_in=in_size, + use_batch_norm=True, bias=None) + cnn.conv(depth_bottleneck, 3, 3, 1, 1, mode='SAME_RESNET', + use_batch_norm=True, bias=None) + res = cnn.conv(depth, 1, 1, 1, 1, activation=None, + use_batch_norm=False, bias=None) + mlperf.logger.log(key=mlperf.tags.MODEL_HP_SHORTCUT_ADD) + output = shortcut + res + cnn.top_layer = output + cnn.top_size = depth + + +def bottleneck_block(cnn, depth, depth_bottleneck, stride, version): + """Bottleneck block with identity short-cut. + + Args: + cnn: the network to append bottleneck blocks. + depth: the number of output filters for this bottleneck block. + depth_bottleneck: the number of bottleneck filters for this block. + stride: Stride used in the first layer of the bottleneck block. + version: version of ResNet to build. + """ + mlperf.logger.log(key=mlperf.tags.MODEL_HP_BLOCK_TYPE, + value=mlperf.tags.BOTTLENECK_BLOCK) + mlperf.logger.log_begin_block( + input_tensor=cnn.top_layer, block_type=mlperf.tags.BOTTLENECK_BLOCK) + if version == 'v2': + bottleneck_block_v2(cnn, depth, depth_bottleneck, stride) + elif version == 'v1.5': + bottleneck_block_v1_5(cnn, depth, depth_bottleneck, stride) + else: + bottleneck_block_v1(cnn, depth, depth_bottleneck, stride) + mlperf.logger.log_end_block(output_tensor=cnn.top_layer) + + +def residual_block(cnn, depth, stride, version, projection_shortcut=False): + """Residual block with identity short-cut. + + Args: + cnn: the network to append residual blocks. + depth: the number of output filters for this residual block. + stride: Stride used in the first layer of the residual block. + version: version of ResNet to build. + projection_shortcut: indicator of using projection shortcut, even if top + size and depth are equal + """ + pre_activation = True if version == 'v2' else False + input_layer = cnn.top_layer + in_size = cnn.top_size + + if projection_shortcut: + shortcut = cnn.conv( + depth, 1, 1, stride, stride, activation=None, + use_batch_norm=True, input_layer=input_layer, + num_channels_in=in_size, bias=None) + elif in_size != depth: + # Plan A of shortcut. + shortcut = cnn.apool(1, 1, stride, stride, + input_layer=input_layer, + num_channels_in=in_size) + padding = (depth - in_size) // 2 + if cnn.channel_pos == 'channels_last': + shortcut = tf.pad( + shortcut, [[0, 0], [0, 0], [0, 0], [padding, padding]]) + else: + shortcut = tf.pad( + shortcut, [[0, 0], [padding, padding], [0, 0], [0, 0]]) + else: + shortcut = input_layer + if pre_activation: + res = cnn.batch_norm(input_layer) + res = tf.nn.relu(res) + else: + res = input_layer + cnn.conv(depth, 3, 3, stride, stride, + input_layer=res, num_channels_in=in_size, + use_batch_norm=True, bias=None) + if pre_activation: + res = cnn.conv(depth, 3, 3, 1, 1, activation=None, + use_batch_norm=False, bias=None) + output = shortcut + res + else: + res = cnn.conv(depth, 3, 3, 1, 1, activation=None, + use_batch_norm=True, bias=None) + output = tf.nn.relu(shortcut + res) + cnn.top_layer = output + cnn.top_size = depth + + +class ResnetModel(model_lib.CNNModel): + """Resnet cnn network configuration.""" + + def __init__(self, model, layer_counts, params=None): + default_batch_sizes = { + 'resnet50': 64, + 'resnet101': 32, + 'resnet152': 32, + 'resnet50_v1.5': 64, + 'resnet101_v1.5': 32, + 'resnet152_v1.5': 32, + 'resnet50_v2': 64, + 'resnet101_v2': 32, + 'resnet152_v2': 32, + } + batch_size = default_batch_sizes.get(model, 32) + # The ResNet paper uses a starting lr of .1 at bs=256. + self.base_lr_batch_size = 256 + base_lr = 0.128 + if params: + if params.resnet_base_lr: + base_lr = params.resnet_base_lr + if params.use_deep_stem: + self.use_deep_stem = True + else: + self.use_deep_stem = False + super(ResnetModel, self).__init__(model, 224, batch_size, base_lr, + layer_counts, params=params) + if 'v2' in model: + self.version = 'v2' + elif 'v1.5' in model: + self.version = 'v1.5' + else: + self.version = 'v1' + + def add_inference(self, cnn): + if self.layer_counts is None: + raise ValueError('Layer counts not specified for %s' % self.get_model()) + # Drop batch size from shape logging. + mlperf.logger.log(key=mlperf.tags.MODEL_HP_INITIAL_SHAPE, + value=cnn.top_layer.shape.as_list()[1:]) + cnn.use_batch_norm = True + cnn.batch_norm_config = {'decay': 0.9, 'epsilon': 1e-5, 'scale': True} + if self.use_deep_stem: + cnn.conv(32, 3, 3, 2, 2, mode='SAME_RESNET', use_batch_norm=True) + cnn.conv(32, 3, 3, 1, 1, mode='SAME_RESNET', use_batch_norm=True) + cnn.conv(64, 3, 3, 1, 1, mode='SAME_RESNET', use_batch_norm=True) + else: + cnn.conv(64, 7, 7, 2, 2, mode='SAME_RESNET', use_batch_norm=True) + cnn.mpool(3, 3, 2, 2, mode='SAME') + for _ in xrange(self.layer_counts[0]): + bottleneck_block(cnn, 256, 64, 1, self.version) + for i in xrange(self.layer_counts[1]): + stride = 2 if i == 0 else 1 + bottleneck_block(cnn, 512, 128, stride, self.version) + for i in xrange(self.layer_counts[2]): + stride = 2 if i == 0 else 1 + bottleneck_block(cnn, 1024, 256, stride, self.version) + for i in xrange(self.layer_counts[3]): + stride = 2 if i == 0 else 1 + bottleneck_block(cnn, 2048, 512, stride, self.version) + if self.version == 'v2': + cnn.batch_norm() + cnn.top_layer = tf.nn.relu(cnn.top_layer) + cnn.spatial_mean() + + def get_learning_rate(self, global_step, batch_size): + rescaled_lr = self.get_scaled_base_learning_rate(batch_size) + num_batches_per_epoch = ( + datasets.IMAGENET_NUM_TRAIN_IMAGES / batch_size) + boundaries = [int(num_batches_per_epoch * x) for x in [30, 60, 80, 90]] + values = [1, 0.1, 0.01, 0.001, 0.0001] + values = [rescaled_lr * v for v in values] + lr = tf.train.piecewise_constant(global_step, boundaries, values) + warmup_steps = int(num_batches_per_epoch * 5) + mlperf.logger.log(key=mlperf.tags.OPT_LR_WARMUP_STEPS, value=warmup_steps) + warmup_lr = ( + rescaled_lr * tf.cast(global_step, tf.float32) / tf.cast( + warmup_steps, tf.float32)) + return tf.cond(global_step < warmup_steps, lambda: warmup_lr, lambda: lr) + + def get_scaled_base_learning_rate(self, batch_size): + """Calculates base learning rate for creating lr schedule. + + In replicated mode, gradients are summed rather than averaged which, with + the sgd and momentum optimizers, increases the effective learning rate by + lr * num_gpus. Dividing the base lr by num_gpus negates the increase. + + Args: + batch_size: Total batch-size. + + Returns: + Base learning rate to use to create lr schedule. + """ + base_lr = self.learning_rate + if self.params.variable_update == 'replicated': + base_lr = self.learning_rate / self.params.num_gpus + scaled_lr = base_lr * (batch_size / self.base_lr_batch_size) + return scaled_lr + + +def create_resnet50_model(params): + return ResnetModel('resnet50', (3, 4, 6, 3), params=params) + + +def create_resnet50_v1_5_model(params): + return ResnetModel('resnet50_v1.5', (3, 4, 6, 3), params=params) + + +def create_resnet50_v2_model(params): + return ResnetModel('resnet50_v2', (3, 4, 6, 3), params=params) + + +def create_resnet101_model(params): + return ResnetModel('resnet101', (3, 4, 23, 3), params=params) + + +def create_resnet101_v2_model(params): + return ResnetModel('resnet101_v2', (3, 4, 23, 3), params=params) + + +def create_resnet152_model(params): + return ResnetModel('resnet152', (3, 8, 36, 3), params=params) + + +def create_resnet152_v2_model(params): + return ResnetModel('resnet152_v2', (3, 8, 36, 3), params=params) + + +class ResnetCifar10Model(model_lib.CNNModel): + """Resnet cnn network configuration for Cifar 10 dataset. + + V1 model architecture follows the one defined in the paper: + https://arxiv.org/pdf/1512.03385.pdf. + + V2 model architecture follows the one defined in the paper: + https://arxiv.org/pdf/1603.05027.pdf. + """ + + def __init__(self, model, layer_counts, params=None): + if 'v2' in model: + self.version = 'v2' + else: + self.version = 'v1' + super(ResnetCifar10Model, self).__init__( + model, 32, 128, 0.1, layer_counts, params=params) + + def add_inference(self, cnn): + if self.layer_counts is None: + raise ValueError('Layer counts not specified for %s' % self.get_model()) + + cnn.use_batch_norm = True + cnn.batch_norm_config = {'decay': 0.9, 'epsilon': 1e-5, 'scale': True} + if self.version == 'v2': + cnn.conv(16, 3, 3, 1, 1, use_batch_norm=True) + else: + cnn.conv(16, 3, 3, 1, 1, activation=None, use_batch_norm=True) + for i in xrange(self.layer_counts[0]): + # reshape to batch_size x 16 x 32 x 32 + residual_block(cnn, 16, 1, self.version) + for i in xrange(self.layer_counts[1]): + # Subsampling is performed at the first convolution with a stride of 2 + stride = 2 if i == 0 else 1 + # reshape to batch_size x 32 x 16 x 16 + residual_block(cnn, 32, stride, self.version) + for i in xrange(self.layer_counts[2]): + stride = 2 if i == 0 else 1 + # reshape to batch_size x 64 x 8 x 8 + residual_block(cnn, 64, stride, self.version) + if self.version == 'v2': + cnn.batch_norm() + cnn.top_layer = tf.nn.relu(cnn.top_layer) + cnn.spatial_mean() + + def get_learning_rate(self, global_step, batch_size): + num_batches_per_epoch = int(50000 / batch_size) + boundaries = num_batches_per_epoch * np.array([82, 123, 300], + dtype=np.int64) + boundaries = [x for x in boundaries] + values = [0.1, 0.01, 0.001, 0.0002] + return tf.train.piecewise_constant(global_step, boundaries, values) + + +def create_resnet20_cifar_model(params): + return ResnetCifar10Model('resnet20', (3, 3, 3), params=params) + + +def create_resnet20_v2_cifar_model(params): + return ResnetCifar10Model('resnet20_v2', (3, 3, 3), params=params) + + +def create_resnet32_cifar_model(params): + return ResnetCifar10Model('resnet32', (5, 5, 5), params=params) + + +def create_resnet32_v2_cifar_model(params): + return ResnetCifar10Model('resnet32_v2', (5, 5, 5), params=params) + + +def create_resnet44_cifar_model(params): + return ResnetCifar10Model('resnet44', (7, 7, 7), params=params) + + +def create_resnet44_v2_cifar_model(params): + return ResnetCifar10Model('resnet44_v2', (7, 7, 7), params=params) + + +def create_resnet56_cifar_model(params): + return ResnetCifar10Model('resnet56', (9, 9, 9), params=params) + + +def create_resnet56_v2_cifar_model(params): + return ResnetCifar10Model('resnet56_v2', (9, 9, 9), params=params) + + +def create_resnet110_cifar_model(params): + return ResnetCifar10Model('resnet110', (18, 18, 18), params=params) + + +def create_resnet110_v2_cifar_model(params): + return ResnetCifar10Model('resnet110_v2', (18, 18, 18), params=params) diff --git a/cv/classification/resnet50/tensorflow/models/resnet_model_test.py b/cv/classification/resnet50/tensorflow/models/resnet_model_test.py new file mode 100644 index 0000000000000000000000000000000000000000..b4052fcd2e996c7f02458b6754dfa6dd52635a94 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/models/resnet_model_test.py @@ -0,0 +1,80 @@ +# Copyright 2018 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Tests for resnet_model.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import mock +import tensorflow.compat.v1 as tf + +from models import resnet_model + + +class ResNetModelTest(tf.test.TestCase): + + def testGetScaledBaseLearningRateOneGpuLrFromParams(self): + """Verifies setting params.resnet_base_lr pipes through.""" + lr = self._get_scaled_base_learning_rate(1, + 'parameter_server', + 256, + base_lr=.050) + self.assertEqual(lr, .050) + + def testGetScaledBaseLearningRateOneGpu(self): + lr = self._get_scaled_base_learning_rate(1, 'parameter_server', 128) + self.assertEqual(lr, .064) + + def testGetScaledBaseLearningRateEightGpuReplicated(self): + lr = self._get_scaled_base_learning_rate(8, 'replicated', 256 * 8) + self.assertEqual(lr, .128) + + def testGetScaledBaseLearningRateTwoGpuParameter(self): + lr = self._get_scaled_base_learning_rate(2, 'parameter_server', 256 * 2) + self.assertEqual(lr, .256) + + def testGetScaledBaseLearningRateTwoGpuUneven(self): + lr = self._get_scaled_base_learning_rate(2, 'replicated', 13) + self.assertEqual(lr, 0.0032500000000000003) + + def _get_scaled_base_learning_rate(self, + num_gpus, + variable_update, + batch_size, + base_lr=None): + """Simplifies testing different learning rate calculations. + + Args: + num_gpus: Number of GPUs to be used. + variable_update: Type of variable update used. + batch_size: Total batch size. + base_lr: Base learning rate before scaling. + + Returns: + Base learning rate that would be used to create lr schedule. + """ + params = mock.Mock() + params.num_gpus = num_gpus + params.variable_update = variable_update + if base_lr: + params.resnet_base_lr = base_lr + resnet50_model = resnet_model.ResnetModel('resnet50', 50, params=params) + return resnet50_model.get_scaled_base_learning_rate(batch_size) + + +if __name__ == '__main__': + tf.disable_v2_behavior() + tf.test.main() diff --git a/cv/classification/resnet50/tensorflow/models/tf1_only/__init__.py b/cv/classification/resnet50/tensorflow/models/tf1_only/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cv/classification/resnet50/tensorflow/models/tf1_only/mobilenet.py b/cv/classification/resnet50/tensorflow/models/tf1_only/mobilenet.py new file mode 100644 index 0000000000000000000000000000000000000000..e1c2275a51635ae670e753fa8f9952f178fbef94 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/models/tf1_only/mobilenet.py @@ -0,0 +1,467 @@ +# Copyright 2018 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Mobilenet Base Class, branched from slim for fp16 performance study.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function +import collections +import contextlib +import copy +import os + +import tensorflow.compat.v1 as tf +from tensorflow.contrib import slim as contrib_slim + +slim = contrib_slim + + +@slim.add_arg_scope +def apply_activation(x, name=None, activation_fn=None): + return activation_fn(x, name=name) if activation_fn else x + + +def _fixed_padding(inputs, kernel_size, rate=1): + """Pads the input along the spatial dimensions independently of input size. + + Pads the input such that if it was used in a convolution with 'VALID' padding, + the output would have the same dimensions as if the unpadded input was used + in a convolution with 'SAME' padding. + + Args: + inputs: A tensor of size [batch, height_in, width_in, channels]. + kernel_size: The kernel to be used in the conv2d or max_pool2d operation. + rate: An integer, rate for atrous convolution. + + Returns: + output: A tensor of size [batch, height_out, width_out, channels] with the + input, either intact (if kernel_size == 1) or padded (if kernel_size > 1). + """ + kernel_size_effective = [kernel_size[0] + (kernel_size[0] - 1) * (rate - 1), + kernel_size[0] + (kernel_size[0] - 1) * (rate - 1)] + pad_total = [kernel_size_effective[0] - 1, kernel_size_effective[1] - 1] + pad_beg = [pad_total[0] // 2, pad_total[1] // 2] + pad_end = [pad_total[0] - pad_beg[0], pad_total[1] - pad_beg[1]] + padded_inputs = tf.pad(inputs, [[0, 0], [pad_beg[0], pad_end[0]], + [pad_beg[1], pad_end[1]], [0, 0]]) + return padded_inputs + + +def _make_divisible(v, divisor, min_value=None): + if min_value is None: + min_value = divisor + new_v = max(min_value, int(v + divisor / 2) // divisor * divisor) + # Make sure that round down does not go down by more than 10%. + if new_v < 0.9 * v: + new_v += divisor + return new_v + + +@contextlib.contextmanager +def _set_arg_scope_defaults(defaults): + """Sets arg scope defaults for all items present in defaults. + + Args: + defaults: dictionary/list of pairs, containing a mapping from + function to a dictionary of default args. + + Yields: + context manager where all defaults are set. + """ + if hasattr(defaults, 'items'): + items = list(defaults.items()) + else: + items = defaults + if not items: + yield + else: + func, default_arg = items[0] + with slim.arg_scope(func, **default_arg): + with _set_arg_scope_defaults(items[1:]): + yield + + +@slim.add_arg_scope +def depth_multiplier(output_params, + multiplier, + divisible_by=8, + min_depth=8, + **unused_kwargs): + if 'num_outputs' not in output_params: + return + d = output_params['num_outputs'] + output_params['num_outputs'] = _make_divisible(d * multiplier, divisible_by, + min_depth) + + +_Op = collections.namedtuple('Op', ['op', 'params', 'multiplier_func']) + + +def op(opfunc, **params): + multiplier = params.pop('multiplier_transorm', depth_multiplier) + return _Op(opfunc, params=params, multiplier_func=multiplier) + + +class NoOpScope(object): + """No-op context manager.""" + + def __enter__(self): + return + + def __exit__(self, exc_type, exc_value, traceback): + return False + + +def safe_arg_scope(funcs, **kwargs): + """Returns `slim.arg_scope` with all None arguments removed. + + Arguments: + funcs: Functions to pass to `arg_scope`. + **kwargs: Arguments to pass to `arg_scope`. + + Returns: + arg_scope or No-op context manager. + + Note: can be useful if None value should be interpreted as "do not overwrite + this parameter value". + """ + filtered_args = {name: value for name, value in kwargs.items() + if value is not None} + if filtered_args: + return slim.arg_scope(funcs, **filtered_args) + else: + return NoOpScope() + + +@slim.add_arg_scope +def mobilenet_base( # pylint: disable=invalid-name + inputs, + conv_defs, + multiplier=1.0, + final_endpoint=None, + output_stride=None, + use_explicit_padding=False, + scope=None, + is_training=False): + """Mobilenet base network. + + Constructs a network from inputs to the given final endpoint. By default + the network is constructed in inference mode. To create network + in training mode use: + + with slim.arg_scope(mobilenet.training_scope()): + logits, endpoints = mobilenet_base(...) + + Args: + inputs: a tensor of shape [batch_size, height, width, channels]. + conv_defs: A list of op(...) layers specifying the net architecture. + multiplier: Float multiplier for the depth (number of channels) + for all convolution ops. The value must be greater than zero. Typical + usage will be to set this value in (0, 1) to reduce the number of + parameters or computation cost of the model. + final_endpoint: The name of last layer, for early termination for + for V1-based networks: last layer is "layer_14", for V2: "layer_20" + output_stride: An integer that specifies the requested ratio of input to + output spatial resolution. If not None, then we invoke atrous convolution + if necessary to prevent the network from reducing the spatial resolution + of the activation maps. Allowed values are 1 or any even number, excluding + zero. Typical values are 8 (accurate fully convolutional mode), 16 + (fast fully convolutional mode), and 32 (classification mode). + + NOTE- output_stride relies on all consequent operators to support dilated + operators via "rate" parameter. This might require wrapping non-conv + operators to operate properly. + + use_explicit_padding: Use 'VALID' padding for convolutions, but prepad + inputs so that the output dimensions are the same as if 'SAME' padding + were used. + scope: optional variable scope. + is_training: How to setup batch_norm and other ops. Note: most of the time + this does not need be set directly. Use mobilenet.training_scope() to set + up training instead. This parameter is here for backward compatibility + only. It is safe to set it to the value matching + training_scope(is_training=...). It is also safe to explicitly set + it to False, even if there is outer training_scope set to to training. + (The network will be built in inference mode). If this is set to None, + no arg_scope is added for slim.batch_norm's is_training parameter. + + Returns: + tensor_out: output tensor. + end_points: a set of activations for external use, for example summaries or + losses. + + Raises: + ValueError: depth_multiplier <= 0, or the target output_stride is not + allowed. + """ + if multiplier <= 0: + raise ValueError('multiplier is not greater than zero.') + + # Set conv defs defaults and overrides. + conv_defs_defaults = conv_defs.get('defaults', {}) + conv_defs_overrides = conv_defs.get('overrides', {}) + if use_explicit_padding: + conv_defs_overrides = copy.deepcopy(conv_defs_overrides) + conv_defs_overrides[ + (slim.conv2d, slim.separable_conv2d)] = {'padding': 'VALID'} + + if output_stride is not None: + if output_stride == 0 or (output_stride > 1 and output_stride % 2): + raise ValueError('Output stride must be None, 1 or a multiple of 2.') + + # a) Set the tensorflow scope + # b) set padding to default: note we might consider removing this + # since it is also set by mobilenet_scope + # c) set all defaults + # d) set all extra overrides. + with _scope_all(scope, default_scope='Mobilenet'), \ + safe_arg_scope([slim.batch_norm], is_training=is_training), \ + _set_arg_scope_defaults(conv_defs_defaults), \ + _set_arg_scope_defaults(conv_defs_overrides): + # The current_stride variable keeps track of the output stride of the + # activations, i.e., the running product of convolution strides up to the + # current network layer. This allows us to invoke atrous convolution + # whenever applying the next convolution would result in the activations + # having output stride larger than the target output_stride. + current_stride = 1 + + # The atrous convolution rate parameter. + rate = 1 + + net = inputs + # Insert default parameters before the base scope which includes + # any custom overrides set in mobilenet. + end_points = {} + scopes = {} + for i, opdef in enumerate(conv_defs['spec']): + params = dict(opdef.params) + opdef.multiplier_func(params, multiplier) + stride = params.get('stride', 1) + if output_stride is not None and current_stride == output_stride: + # If we have reached the target output_stride, then we need to employ + # atrous convolution with stride=1 and multiply the atrous rate by the + # current unit's stride for use in subsequent layers. + layer_stride = 1 + layer_rate = rate + rate *= stride + else: + layer_stride = stride + layer_rate = 1 + current_stride *= stride + # Update params. + params['stride'] = layer_stride + # Only insert rate to params if rate > 1. + if layer_rate > 1: + params['rate'] = layer_rate + # Set padding + if use_explicit_padding: + if 'kernel_size' in params: + net = _fixed_padding(net, params['kernel_size'], layer_rate) + else: + params['use_explicit_padding'] = True + + end_point = 'layer_%d' % (i + 1) + try: + net = opdef.op(net, **params) + except Exception: + print('Failed to create op %i: %r params: %r' % (i, opdef, params)) + raise + end_points[end_point] = net + scope = os.path.dirname(net.name) + scopes[scope] = end_point + if final_endpoint is not None and end_point == final_endpoint: + break + + # Add all tensors that end with 'output' to + # endpoints + for t in net.graph.get_operations(): + scope = os.path.dirname(t.name) + bn = os.path.basename(t.name) + if scope in scopes and t.name.endswith('output'): + end_points[scopes[scope] + '/' + bn] = t.outputs[0] + return net, end_points + + +@contextlib.contextmanager +def _scope_all(scope, default_scope=None): + with tf.variable_scope(scope, default_name=default_scope) as s,\ + tf.name_scope(s.original_name_scope): + yield s + + +@slim.add_arg_scope +def mobilenet(inputs, + num_classes=1001, + prediction_fn=slim.softmax, + reuse=None, + scope='Mobilenet', + base_only=False, + **mobilenet_args): + """Mobilenet model for classification, supports both V1 and V2. + + Note: default mode is inference, use mobilenet.training_scope to create + training network. + + + Args: + inputs: a tensor of shape [batch_size, height, width, channels]. + num_classes: number of predicted classes. If 0 or None, the logits layer + is omitted and the input features to the logits layer (before dropout) + are returned instead. + prediction_fn: a function to get predictions out of logits + (default softmax). + reuse: whether or not the network and its variables should be reused. To be + able to reuse 'scope' must be given. + scope: Optional variable_scope. + base_only: if True will only create the base of the network (no pooling + and no logits). + **mobilenet_args: passed to mobilenet_base verbatim. + - conv_defs: list of conv defs + - multiplier: Float multiplier for the depth (number of channels) + for all convolution ops. The value must be greater than zero. Typical + usage will be to set this value in (0, 1) to reduce the number of + parameters or computation cost of the model. + - output_stride: will ensure that the last layer has at most total stride. + If the architecture calls for more stride than that provided + (e.g. output_stride=16, but the architecture has 5 stride=2 operators), + it will replace output_stride with fractional convolutions using Atrous + Convolutions. + + Returns: + logits: the pre-softmax activations, a tensor of size + [batch_size, num_classes] + end_points: a dictionary from components of the network to the corresponding + activation tensor. + + Raises: + ValueError: Input rank is invalid. + """ + is_training = mobilenet_args.get('is_training', False) + input_shape = inputs.get_shape().as_list() + if len(input_shape) != 4: + raise ValueError('Expected rank 4 input, was: %d' % len(input_shape)) + + with tf.variable_scope(scope, 'Mobilenet', reuse=reuse) as scope: + inputs = tf.identity(inputs, 'input') + net, end_points = mobilenet_base(inputs, scope=scope, **mobilenet_args) + if base_only: + return net, end_points + + net = tf.identity(net, name='embedding') + + with tf.variable_scope('Logits'): + net = global_pool(net) + end_points['global_pool'] = net + if not num_classes: + return net, end_points + net = slim.dropout(net, scope='Dropout', is_training=is_training) + # 1 x 1 x num_classes + # Note: legacy scope name. + logits = slim.conv2d( + net, + num_classes, [1, 1], + activation_fn=None, + normalizer_fn=None, + biases_initializer=tf.zeros_initializer(), + scope='Conv2d_1c_1x1') + + logits = tf.squeeze(logits, [1, 2]) + + logits = tf.identity(logits, name='output') + end_points['Logits'] = logits + if prediction_fn: + end_points['Predictions'] = prediction_fn(logits, 'Predictions') + return logits, end_points + + +def global_pool(input_tensor, pool_op=tf.nn.avg_pool): + """Applies avg pool to produce 1x1 output. + + NOTE: This function is funcitonally equivalenet to reduce_mean, but it has + baked in average pool which has better support across hardware. + + Args: + input_tensor: input tensor + pool_op: pooling op (avg pool is default) + Returns: + a tensor batch_size x 1 x 1 x depth. + """ + shape = input_tensor.get_shape().as_list() + if shape[1] is None or shape[2] is None: + kernel_size = tf.convert_to_tensor( + [1, tf.shape(input_tensor)[1], + tf.shape(input_tensor)[2], 1]) + else: + kernel_size = [1, shape[1], shape[2], 1] + output = pool_op( + input_tensor, ksize=kernel_size, strides=[1, 1, 1, 1], padding='VALID') + # Recover output shape, for unknown shape. + output.set_shape([None, 1, 1, None]) + return output + + +def training_scope(is_training=True, + weight_decay=0.00004, + stddev=0.09, + dropout_keep_prob=0.8, + bn_decay=0.997): + """Defines Mobilenet training scope. + + Usage: + with tf.contrib.slim.arg_scope(mobilenet.training_scope()): + logits, endpoints = mobilenet_v2.mobilenet(input_tensor) + + # the network created will be trainble with dropout/batch norm + # initialized appropriately. + Args: + is_training: if set to False this will ensure that all customizations are + set to non-training mode. This might be helpful for code that is reused + across both training/evaluation, but most of the time training_scope with + value False is not needed. If this is set to None, the parameters is not + added to the batch_norm arg_scope. + + weight_decay: The weight decay to use for regularizing the model. + stddev: Standard deviation for initialization, if negative uses xavier. + dropout_keep_prob: dropout keep probability (not set if equals to None). + bn_decay: decay for the batch norm moving averages (not set if equals to + None). + + Returns: + An argument scope to use via arg_scope. + """ + # Note: do not introduce parameters that would change the inference + # model here (for example whether to use bias), modify conv_def instead. + batch_norm_params = { + 'decay': bn_decay, + 'is_training': is_training + } + if stddev < 0: + weight_intitializer = slim.initializers.xavier_initializer() + else: + weight_intitializer = tf.truncated_normal_initializer(stddev=stddev) + + # Set weight_decay for weights in Conv and FC layers. + with slim.arg_scope( + [slim.conv2d, slim.fully_connected, slim.separable_conv2d], + weights_initializer=weight_intitializer, + normalizer_fn=slim.batch_norm), \ + slim.arg_scope([mobilenet_base, mobilenet], is_training=is_training),\ + safe_arg_scope([slim.batch_norm], **batch_norm_params), \ + safe_arg_scope([slim.dropout], is_training=is_training, + keep_prob=dropout_keep_prob), \ + slim.arg_scope([slim.conv2d], \ + weights_regularizer=slim.l2_regularizer(weight_decay)), \ + slim.arg_scope([slim.separable_conv2d], weights_regularizer=None) as s: + return s diff --git a/cv/classification/resnet50/tensorflow/models/tf1_only/mobilenet_conv_blocks.py b/cv/classification/resnet50/tensorflow/models/tf1_only/mobilenet_conv_blocks.py new file mode 100644 index 0000000000000000000000000000000000000000..34016b277b6cc90700984a44247fb971ce708277 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/models/tf1_only/mobilenet_conv_blocks.py @@ -0,0 +1,360 @@ +# Copyright 2018 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Convolution blocks for mobilenet.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import contextlib +import functools + +import tensorflow.compat.v1 as tf +from tensorflow.contrib import slim + + +def _fixed_padding(inputs, kernel_size, rate=1): + """Pads the input along the spatial dimensions independently of input size. + + Pads the input such that if it was used in a convolution with 'VALID' padding, + the output would have the same dimensions as if the unpadded input was used + in a convolution with 'SAME' padding. + + Args: + inputs: A tensor of size [batch, height_in, width_in, channels]. + kernel_size: The kernel to be used in the conv2d or max_pool2d operation. + rate: An integer, rate for atrous convolution. + + Returns: + output: A tensor of size [batch, height_out, width_out, channels] with the + input, either intact (if kernel_size == 1) or padded (if kernel_size > 1). + """ + kernel_size_effective = [kernel_size[0] + (kernel_size[0] - 1) * (rate - 1), + kernel_size[0] + (kernel_size[0] - 1) * (rate - 1)] + pad_total = [kernel_size_effective[0] - 1, kernel_size_effective[1] - 1] + pad_beg = [pad_total[0] // 2, pad_total[1] // 2] + pad_end = [pad_total[0] - pad_beg[0], pad_total[1] - pad_beg[1]] + padded_inputs = tf.pad(inputs, [[0, 0], [pad_beg[0], pad_end[0]], + [pad_beg[1], pad_end[1]], [0, 0]]) + return padded_inputs + + +def _make_divisible(v, divisor, min_value=None): + if min_value is None: + min_value = divisor + new_v = max(min_value, int(v + divisor / 2) // divisor * divisor) + # Make sure that round down does not go down by more than 10%. + if new_v < 0.9 * v: + new_v += divisor + return new_v + + +def _split_divisible(num, num_ways, divisible_by=8): + """Evenly splits num, num_ways so each piece is a multiple of divisible_by.""" + assert num % divisible_by == 0 + assert num // num_ways >= divisible_by + # Note: want to round down, we adjust each split to match the total. + base = num // num_ways // divisible_by * divisible_by + result = [] + accumulated = 0 + for i in range(num_ways): + r = base + while accumulated + r < num * (i + 1) // num_ways: + r += divisible_by + result.append(r) + accumulated += r + assert accumulated == num + return result + + +@contextlib.contextmanager +def _v1_compatible_scope_naming(scope): # pylint: disable=g-missing-docstring + if scope is None: # Create uniqified separable blocks. + with tf.variable_scope(None, default_name='separable') as s, \ + tf.name_scope(s.original_name_scope): + yield '' + else: + # We use scope_depthwise, scope_pointwise for compatibility with V1 ckpts. + # which provide numbered scopes. + scope += '_' + yield scope + + +@slim.add_arg_scope +def split_separable_conv2d(input_tensor, + num_outputs, + scope=None, + normalizer_fn=None, + stride=1, + rate=1, + endpoints=None, + use_explicit_padding=False): + """Separable mobilenet V1 style convolution. + + Depthwise convolution, with default non-linearity, + followed by 1x1 depthwise convolution. This is similar to + slim.separable_conv2d, but differs in tha it applies batch + normalization and non-linearity to depthwise. This matches + the basic building of Mobilenet Paper + (https://arxiv.org/abs/1704.04861) + + Args: + input_tensor: input + num_outputs: number of outputs + scope: optional name of the scope. Note if provided it will use + scope_depthwise for deptwhise, and scope_pointwise for pointwise. + normalizer_fn: which normalizer function to use for depthwise/pointwise + stride: stride + rate: output rate (also known as dilation rate) + endpoints: optional, if provided, will export additional tensors to it. + use_explicit_padding: Use 'VALID' padding for convolutions, but prepad + inputs so that the output dimensions are the same as if 'SAME' padding + were used. + + Returns: + output tesnor + """ + + with _v1_compatible_scope_naming(scope) as scope: + dw_scope = scope + 'depthwise' + endpoints = endpoints if endpoints is not None else {} + kernel_size = [3, 3] + padding = 'SAME' + if use_explicit_padding: + padding = 'VALID' + input_tensor = _fixed_padding(input_tensor, kernel_size, rate) + net = slim.separable_conv2d( + input_tensor, + None, + kernel_size, + depth_multiplier=1, + stride=stride, + rate=rate, + normalizer_fn=normalizer_fn, + padding=padding, + scope=dw_scope) + + endpoints[dw_scope] = net + + pw_scope = scope + 'pointwise' + net = slim.conv2d( + net, + num_outputs, [1, 1], + stride=1, + normalizer_fn=normalizer_fn, + scope=pw_scope) + endpoints[pw_scope] = net + return net + + +def expand_input_by_factor(n, divisible_by=8): + return lambda num_inputs, **_: _make_divisible(num_inputs * n, divisible_by) + + +@slim.add_arg_scope +def expanded_conv(input_tensor, + num_outputs, + expansion_size=expand_input_by_factor(6), + stride=1, + rate=1, + kernel_size=(3, 3), + residual=True, + normalizer_fn=None, + split_projection=1, + split_expansion=1, + expansion_transform=None, + depthwise_location='expansion', + depthwise_channel_multiplier=1, + endpoints=None, + use_explicit_padding=False, + padding='SAME', + scope=None): + """Depthwise Convolution Block with expansion. + + Builds a composite convolution that has the following structure + expansion (1x1) -> depthwise (kernel_size) -> projection (1x1) + + Args: + input_tensor: input + num_outputs: number of outputs in the final layer. + expansion_size: the size of expansion, could be a constant or a callable. + If latter it will be provided 'num_inputs' as an input. For forward + compatibility it should accept arbitrary keyword arguments. + Default will expand the input by factor of 6. + stride: depthwise stride + rate: depthwise rate + kernel_size: depthwise kernel + residual: whether to include residual connection between input + and output. + normalizer_fn: batchnorm or otherwise + split_projection: how many ways to split projection operator + (that is conv expansion->bottleneck) + split_expansion: how many ways to split expansion op + (that is conv bottleneck->expansion) ops will keep depth divisible + by this value. + expansion_transform: Optional function that takes expansion + as a single input and returns output. + depthwise_location: where to put depthwise covnvolutions supported + values None, 'input', 'output', 'expansion' + depthwise_channel_multiplier: depthwise channel multiplier: + each input will replicated (with different filters) + that many times. So if input had c channels, + output will have c x depthwise_channel_multpilier. + endpoints: An optional dictionary into which intermediate endpoints are + placed. The keys "expansion_output", "depthwise_output", + "projection_output" and "expansion_transform" are always populated, even + if the corresponding functions are not invoked. + use_explicit_padding: Use 'VALID' padding for convolutions, but prepad + inputs so that the output dimensions are the same as if 'SAME' padding + were used. + padding: Padding type to use if `use_explicit_padding` is not set. + scope: optional scope. + + Returns: + Tensor of depth num_outputs + + Raises: + TypeError: on inval + """ + with tf.variable_scope(scope, default_name='expanded_conv') as s, \ + tf.name_scope(s.original_name_scope): + prev_depth = input_tensor.get_shape().as_list()[3] + if depthwise_location not in [None, 'input', 'output', 'expansion']: + raise TypeError('%r is unknown value for depthwise_location' % + depthwise_location) + if use_explicit_padding: + if padding != 'SAME': + raise TypeError('`use_explicit_padding` should only be used with ' + '"SAME" padding.') + padding = 'VALID' + depthwise_func = functools.partial( + slim.separable_conv2d, + num_outputs=None, + kernel_size=kernel_size, + depth_multiplier=depthwise_channel_multiplier, + stride=stride, + rate=rate, + normalizer_fn=normalizer_fn, + padding=padding, + scope='depthwise') + # b1 -> b2 * r -> b2 + # i -> (o * r) (bottleneck) -> o + input_tensor = tf.identity(input_tensor, 'input') + net = input_tensor + + if depthwise_location == 'input': + if use_explicit_padding: + net = _fixed_padding(net, kernel_size, rate) + net = depthwise_func(net, activation_fn=None) + + if callable(expansion_size): + inner_size = expansion_size(num_inputs=prev_depth) + else: + inner_size = expansion_size + + if inner_size > net.shape[3]: + net = split_conv( + net, + inner_size, + num_ways=split_expansion, + scope='expand', + stride=1, + normalizer_fn=normalizer_fn) + net = tf.identity(net, 'expansion_output') + if endpoints is not None: + endpoints['expansion_output'] = net + + if depthwise_location == 'expansion': + if use_explicit_padding: + net = _fixed_padding(net, kernel_size, rate) + net = depthwise_func(net) + + net = tf.identity(net, name='depthwise_output') + if endpoints is not None: + endpoints['depthwise_output'] = net + if expansion_transform: + net = expansion_transform(expansion_tensor=net, input_tensor=input_tensor) + # Note in contrast with expansion, we always have + # projection to produce the desired output size. + net = split_conv( + net, + num_outputs, + num_ways=split_projection, + stride=1, + scope='project', + normalizer_fn=normalizer_fn, + activation_fn=tf.identity) + if endpoints is not None: + endpoints['projection_output'] = net + if depthwise_location == 'output': + if use_explicit_padding: + net = _fixed_padding(net, kernel_size, rate) + net = depthwise_func(net, activation_fn=None) + + if callable(residual): # custom residual + net = residual(input_tensor=input_tensor, output_tensor=net) + elif (residual and + # stride check enforces that we don't add residuals when spatial + # dimensions are None + stride == 1 and + # Depth matches + net.get_shape().as_list()[3] == + input_tensor.get_shape().as_list()[3]): + net += input_tensor + return tf.identity(net, name='output') + + +def split_conv(input_tensor, + num_outputs, + num_ways, + scope, + divisible_by=8, + **kwargs): + """Creates a split convolution. + + Split convolution splits the input and output into + 'num_blocks' blocks of approximately the same size each, + and only connects $i$-th input to $i$ output. + + Args: + input_tensor: input tensor + num_outputs: number of output filters + num_ways: num blocks to split by. + scope: scope for all the operators. + divisible_by: make sure that every part is divisiable by this. + **kwargs: will be passed directly into conv2d operator + Returns: + tensor + """ + b = input_tensor.get_shape().as_list()[3] + + if num_ways == 1 or min(b // num_ways, + num_outputs // num_ways) < divisible_by: + # Don't do any splitting if we end up with less than 8 filters + # on either side. + return slim.conv2d(input_tensor, num_outputs, [1, 1], scope=scope, **kwargs) + + outs = [] + input_splits = _split_divisible(b, num_ways, divisible_by=divisible_by) + output_splits = _split_divisible( + num_outputs, num_ways, divisible_by=divisible_by) + inputs = tf.split(input_tensor, input_splits, axis=3, name='split_' + scope) + base = scope + for i, (input_tensor, out_size) in enumerate(zip(inputs, output_splits)): + scope = base + '_part_%d' % (i,) + n = slim.conv2d(input_tensor, out_size, [1, 1], scope=scope, **kwargs) + n = tf.identity(n, scope + '_output') + outs.append(n) + return tf.concat(outs, 3, name=scope + '_concat') diff --git a/cv/classification/resnet50/tensorflow/models/tf1_only/mobilenet_test.py b/cv/classification/resnet50/tensorflow/models/tf1_only/mobilenet_test.py new file mode 100644 index 0000000000000000000000000000000000000000..c0b7d5345077585b99a6a6b5e305388bfcc5eaf0 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/models/tf1_only/mobilenet_test.py @@ -0,0 +1,191 @@ +# Copyright 2018 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Tests for mobilenet_v2, branched from slim for fp16 performance study.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import copy + +import tensorflow.compat.v1 as tf + +from models.tf1_only import mobilenet +from models.tf1_only import mobilenet_conv_blocks as ops +from models.tf1_only import mobilenet_v2 +from tensorflow.contrib import slim + + +def find_ops(optype): + """Find ops of a given type in graphdef or a graph. + + Args: + optype: operation type (e.g. Conv2D) + Returns: + List of operations. + """ + gd = tf.get_default_graph() + return [var for var in gd.get_operations() if var.type == optype] + + +class MobilenetV2Test(tf.test.TestCase): + + def setUp(self): # pylint: disable=g-missing-super-call + tf.reset_default_graph() + + def testCreation(self): + spec = dict(mobilenet_v2.V2_DEF) + _, ep = mobilenet.mobilenet( + tf.placeholder(tf.float32, (10, 224, 224, 16)), conv_defs=spec) + num_convs = len(find_ops('Conv2D')) + + # This is mostly a sanity test. No deep reason for these particular + # constants. + # + # All but first 2 and last one have two convolutions, and there is one + # extra conv that is not in the spec. (logits) + self.assertEqual(num_convs, len(spec['spec']) * 2 - 2) + # Check that depthwise are exposed. + for i in range(2, 17): + self.assertIn('layer_%d/depthwise_output' % i, ep) + + def testCreationNoClasses(self): + spec = copy.deepcopy(mobilenet_v2.V2_DEF) + net, ep = mobilenet.mobilenet( + tf.placeholder(tf.float32, (10, 224, 224, 16)), conv_defs=spec, + num_classes=None) + self.assertIs(net, ep['global_pool']) + + def testImageSizes(self): + for input_size, output_size in [(224, 7), (192, 6), (160, 5), + (128, 4), (96, 3)]: + tf.reset_default_graph() + _, ep = mobilenet_v2.mobilenet( + tf.placeholder(tf.float32, (10, input_size, input_size, 3))) + + self.assertEqual(ep['layer_18/output'].get_shape().as_list()[1:3], + [output_size] * 2) + + def testWithSplits(self): + spec = copy.deepcopy(mobilenet_v2.V2_DEF) + spec['overrides'] = { + (ops.expanded_conv,): dict(split_expansion=2), + } + _, _ = mobilenet.mobilenet( + tf.placeholder(tf.float32, (10, 224, 224, 16)), conv_defs=spec) + num_convs = len(find_ops('Conv2D')) + # All but 3 op has 3 conv operatore, the remainign 3 have one + # and there is one unaccounted. + self.assertEqual(num_convs, len(spec['spec']) * 3 - 5) + + def testWithOutputStride8(self): + out, _ = mobilenet.mobilenet_base( + tf.placeholder(tf.float32, (10, 224, 224, 16)), + conv_defs=mobilenet_v2.V2_DEF, + output_stride=8, + scope='MobilenetV2') + self.assertEqual(out.get_shape().as_list()[1:3], [28, 28]) + + def testDivisibleBy(self): + tf.reset_default_graph() + mobilenet_v2.mobilenet( + tf.placeholder(tf.float32, (10, 224, 224, 16)), + conv_defs=mobilenet_v2.V2_DEF, + divisible_by=16, + min_depth=32) + s = [op.outputs[0].get_shape().as_list()[-1] for op in find_ops('Conv2D')] + s = set(s) + self.assertSameElements([32, 64, 96, 160, 192, 320, 384, 576, 960, 1280, + 1001], s) + + def testDivisibleByWithArgScope(self): + tf.reset_default_graph() + # Verifies that depth_multiplier arg scope actually works + # if no default min_depth is provided. + with slim.arg_scope((mobilenet.depth_multiplier,), min_depth=32): + mobilenet_v2.mobilenet( + tf.placeholder(tf.float32, (10, 224, 224, 2)), + conv_defs=mobilenet_v2.V2_DEF, depth_multiplier=0.1) + s = [op.outputs[0].get_shape().as_list()[-1] for op in find_ops('Conv2D')] + s = set(s) + self.assertSameElements(s, [32, 192, 128, 1001]) + + def testFineGrained(self): + tf.reset_default_graph() + # Verifies that depth_multiplier arg scope actually works + # if no default min_depth is provided. + + mobilenet_v2.mobilenet( + tf.placeholder(tf.float32, (10, 224, 224, 2)), + conv_defs=mobilenet_v2.V2_DEF, depth_multiplier=0.01, + finegrain_classification_mode=True) + s = [op.outputs[0].get_shape().as_list()[-1] for op in find_ops('Conv2D')] + s = set(s) + # All convolutions will be 8->48, except for the last one. + self.assertSameElements(s, [8, 48, 1001, 1280]) + + def testMobilenetBase(self): + tf.reset_default_graph() + # Verifies that mobilenet_base returns pre-pooling layer. + with slim.arg_scope((mobilenet.depth_multiplier,), min_depth=32): + net, _ = mobilenet_v2.mobilenet_base( + tf.placeholder(tf.float32, (10, 224, 224, 16)), + conv_defs=mobilenet_v2.V2_DEF, depth_multiplier=0.1) + self.assertEqual(net.get_shape().as_list(), [10, 7, 7, 128]) + + def testWithOutputStride16(self): + tf.reset_default_graph() + out, _ = mobilenet.mobilenet_base( + tf.placeholder(tf.float32, (10, 224, 224, 16)), + conv_defs=mobilenet_v2.V2_DEF, + output_stride=16) + self.assertEqual(out.get_shape().as_list()[1:3], [14, 14]) + + def testWithOutputStride8AndExplicitPadding(self): + tf.reset_default_graph() + out, _ = mobilenet.mobilenet_base( + tf.placeholder(tf.float32, (10, 224, 224, 16)), + conv_defs=mobilenet_v2.V2_DEF, + output_stride=8, + use_explicit_padding=True, + scope='MobilenetV2') + self.assertEqual(out.get_shape().as_list()[1:3], [28, 28]) + + def testWithOutputStride16AndExplicitPadding(self): + tf.reset_default_graph() + out, _ = mobilenet.mobilenet_base( + tf.placeholder(tf.float32, (10, 224, 224, 16)), + conv_defs=mobilenet_v2.V2_DEF, + output_stride=16, + use_explicit_padding=True) + self.assertEqual(out.get_shape().as_list()[1:3], [14, 14]) + + def testBatchNormScopeDoesNotHaveIsTrainingWhenItsSetToNone(self): + sc = mobilenet.training_scope(is_training=None) + self.assertNotIn('is_training', sc[slim.arg_scope_func_key( + slim.batch_norm)]) + + def testBatchNormScopeDoesHasIsTrainingWhenItsNotNone(self): + sc = mobilenet.training_scope(is_training=False) + self.assertIn('is_training', sc[slim.arg_scope_func_key(slim.batch_norm)]) + sc = mobilenet.training_scope(is_training=True) + self.assertIn('is_training', sc[slim.arg_scope_func_key(slim.batch_norm)]) + sc = mobilenet.training_scope() + self.assertIn('is_training', sc[slim.arg_scope_func_key(slim.batch_norm)]) + + +if __name__ == '__main__': + tf.disable_v2_behavior() + tf.test.main() diff --git a/cv/classification/resnet50/tensorflow/models/tf1_only/mobilenet_v2.py b/cv/classification/resnet50/tensorflow/models/tf1_only/mobilenet_v2.py new file mode 100644 index 0000000000000000000000000000000000000000..ac811470719c6a3f867fd88484aaa862bce09e76 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/models/tf1_only/mobilenet_v2.py @@ -0,0 +1,198 @@ +# Copyright 2018 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Mobilenet V2 model, branched from slim models for fp16 performance study. + +Architecture: https://arxiv.org/abs/1801.04381 + +The base model gives 72.2% accuracy on ImageNet, with 300MMadds, +3.4 M parameters. +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import copy + +import tensorflow.compat.v1 as tf + +from models import model +from models.tf1_only import mobilenet as lib +from models.tf1_only import mobilenet_conv_blocks as ops +from tensorflow.contrib import slim + +op = lib.op + +expand_input = ops.expand_input_by_factor + +# pyformat: disable +# Architecture: https://arxiv.org/abs/1801.04381 +V2_DEF = dict( + defaults={ + # Note: these parameters of batch norm affect the architecture + # that's why they are here and not in training_scope. + (slim.batch_norm,): {'center': True, 'scale': True}, + (slim.conv2d, slim.fully_connected, slim.separable_conv2d): { + 'normalizer_fn': slim.batch_norm, 'activation_fn': tf.nn.relu6 + }, + (ops.expanded_conv,): { + 'expansion_size': expand_input(6), + 'split_expansion': 1, + 'normalizer_fn': slim.batch_norm, + 'residual': True + }, + (slim.conv2d, slim.separable_conv2d): {'padding': 'SAME'} + }, + spec=[ + op(slim.conv2d, stride=2, num_outputs=32, kernel_size=[3, 3]), + op(ops.expanded_conv, + expansion_size=expand_input(1, divisible_by=1), + num_outputs=16), + op(ops.expanded_conv, stride=2, num_outputs=24), + op(ops.expanded_conv, stride=1, num_outputs=24), + op(ops.expanded_conv, stride=2, num_outputs=32), + op(ops.expanded_conv, stride=1, num_outputs=32), + op(ops.expanded_conv, stride=1, num_outputs=32), + op(ops.expanded_conv, stride=2, num_outputs=64), + op(ops.expanded_conv, stride=1, num_outputs=64), + op(ops.expanded_conv, stride=1, num_outputs=64), + op(ops.expanded_conv, stride=1, num_outputs=64), + op(ops.expanded_conv, stride=1, num_outputs=96), + op(ops.expanded_conv, stride=1, num_outputs=96), + op(ops.expanded_conv, stride=1, num_outputs=96), + op(ops.expanded_conv, stride=2, num_outputs=160), + op(ops.expanded_conv, stride=1, num_outputs=160), + op(ops.expanded_conv, stride=1, num_outputs=160), + op(ops.expanded_conv, stride=1, num_outputs=320), + op(slim.conv2d, stride=1, kernel_size=[1, 1], num_outputs=1280) + ], +) +# pyformat: enable + + +@slim.add_arg_scope +def mobilenet(input_tensor, + num_classes=1001, + depth_multiplier=1.0, + scope='MobilenetV2', + conv_defs=None, + finegrain_classification_mode=False, + min_depth=None, + divisible_by=None, + **kwargs): + """Creates mobilenet V2 network. + + Inference mode is created by default. To create training use training_scope + below. + + with tf.contrib.slim.arg_scope(mobilenet_v2.training_scope()): + logits, endpoints = mobilenet_v2.mobilenet(input_tensor) + + Args: + input_tensor: The input tensor + num_classes: number of classes + depth_multiplier: The multiplier applied to scale number of + channels in each layer. Note: this is called depth multiplier in the + paper but the name is kept for consistency with slim's model builder. + scope: Scope of the operator + conv_defs: Allows to override default conv def. + finegrain_classification_mode: When set to True, the model + will keep the last layer large even for small multipliers. Following + https://arxiv.org/abs/1801.04381 + suggests that it improves performance for ImageNet-type of problems. + *Note* ignored if final_endpoint makes the builder exit earlier. + min_depth: If provided, will ensure that all layers will have that + many channels after application of depth multiplier. + divisible_by: If provided will ensure that all layers # channels + will be divisible by this number. + **kwargs: passed directly to mobilenet.mobilenet: + prediction_fn- what prediction function to use. + reuse-: whether to reuse variables (if reuse set to true, scope + must be given). + Returns: + logits/endpoints pair + + Raises: + ValueError: On invalid arguments + """ + if conv_defs is None: + conv_defs = V2_DEF + if 'multiplier' in kwargs: + raise ValueError('mobilenetv2 doesn\'t support generic ' + 'multiplier parameter use "depth_multiplier" instead.') + if finegrain_classification_mode: + conv_defs = copy.deepcopy(conv_defs) + if depth_multiplier < 1: + conv_defs['spec'][-1].params['num_outputs'] /= depth_multiplier + + depth_args = {} + # NB: do not set depth_args unless they are provided to avoid overriding + # whatever default depth_multiplier might have thanks to arg_scope. + if min_depth is not None: + depth_args['min_depth'] = min_depth + if divisible_by is not None: + depth_args['divisible_by'] = divisible_by + + with slim.arg_scope((lib.depth_multiplier,), **depth_args): + return lib.mobilenet( + input_tensor, + num_classes=num_classes, + conv_defs=conv_defs, + scope=scope, + multiplier=depth_multiplier, + **kwargs) + + +@slim.add_arg_scope +def mobilenet_base(input_tensor, depth_multiplier=1.0, **kwargs): + """Creates base of the mobilenet (no pooling and no logits) .""" + return mobilenet( + input_tensor, depth_multiplier=depth_multiplier, base_only=True, **kwargs) + + +def training_scope(**kwargs): + """Defines MobilenetV2 training scope. + + Usage: + with tf.contrib.slim.arg_scope(mobilenet_v2.training_scope()): + logits, endpoints = mobilenet_v2.mobilenet(input_tensor) + + with slim. + + Args: + **kwargs: Passed to mobilenet.training_scope. The following parameters + are supported: + weight_decay- The weight decay to use for regularizing the model. + stddev- Standard deviation for initialization, if negative uses xavier. + dropout_keep_prob- dropout keep probability + bn_decay- decay for the batch norm moving averages. + + Returns: + An `arg_scope` to use for the mobilenet v2 model. + """ + return lib.training_scope(**kwargs) + + +class MobilenetModel(model.CNNModel): + """Mobilenet model configuration.""" + + def __init__(self, params=None): + super(MobilenetModel, self).__init__( + 'mobilenet', 224, 32, 0.005, params=params) + + def add_inference(self, cnn): + with slim.arg_scope(training_scope(is_training=cnn.phase_train)): + cnn.top_layer, _ = mobilenet(cnn.top_layer, is_training=cnn.phase_train) + cnn.top_size = cnn.top_layer.shape[-1].value diff --git a/cv/classification/resnet50/tensorflow/models/tf1_only/nasnet_model.py b/cv/classification/resnet50/tensorflow/models/tf1_only/nasnet_model.py new file mode 100644 index 0000000000000000000000000000000000000000..560d86bcaf88589734696748379150a6615a58fc --- /dev/null +++ b/cv/classification/resnet50/tensorflow/models/tf1_only/nasnet_model.py @@ -0,0 +1,582 @@ +# Copyright 2018 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Model configurations for nasnet. + +Paper: https://arxiv.org/abs/1707.07012 +""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow.compat.v1 as tf + +from models import model +from models.tf1_only import nasnet_utils +from tensorflow.contrib import framework as contrib_framework +from tensorflow.contrib import layers as contrib_layers +from tensorflow.contrib import slim +from tensorflow.contrib import training as contrib_training + +arg_scope = contrib_framework.arg_scope + + +# Notes for training NASNet Cifar Model +# ------------------------------------- +# batch_size: 32 +# learning rate: 0.025 +# cosine (single period) learning rate decay +# auxiliary head loss weighting: 0.4 +# clip global norm of all gradients by 5 +def _cifar_config(is_training=True, data_format=None, total_steps=None): + drop_path_keep_prob = 1.0 if not is_training else 0.6 + return contrib_training.HParams( + stem_multiplier=3.0, + drop_path_keep_prob=drop_path_keep_prob, + num_cells=18, + use_aux_head=1, + num_conv_filters=32, + dense_dropout_keep_prob=1.0, + filter_scaling_rate=2.0, + num_reduction_layers=2, + skip_reduction_layer_input=0, + data_format=data_format or 'NHWC', + # 600 epochs with a batch size of 32 + # This is used for the drop path probabilities since it needs to increase + # the drop out probability over the course of training. + total_training_steps=total_steps or 937500, + ) + + +# Notes for training large NASNet model on ImageNet +# ------------------------------------- +# batch size (per replica): 16 +# learning rate: 0.015 * 100 +# learning rate decay factor: 0.97 +# num epochs per decay: 2.4 +# sync sgd with 100 replicas +# auxiliary head loss weighting: 0.4 +# label smoothing: 0.1 +# clip global norm of all gradients by 10 +def _large_imagenet_config(is_training=True, data_format=None, + total_steps=None): + drop_path_keep_prob = 1.0 if not is_training else 0.7 + return contrib_training.HParams( + stem_multiplier=3.0, + dense_dropout_keep_prob=0.5, + num_cells=18, + filter_scaling_rate=2.0, + num_conv_filters=168, + drop_path_keep_prob=drop_path_keep_prob, + use_aux_head=1, + num_reduction_layers=2, + skip_reduction_layer_input=1, + data_format=data_format or 'NHWC', + total_training_steps=total_steps or 250000, + ) + + +# Notes for training the mobile NASNet ImageNet model +# ------------------------------------- +# batch size (per replica): 32 +# learning rate: 0.04 * 50 +# learning rate scaling factor: 0.97 +# num epochs per decay: 2.4 +# sync sgd with 50 replicas +# auxiliary head weighting: 0.4 +# label smoothing: 0.1 +# clip global norm of all gradients by 10 +def _mobile_imagenet_config(data_format=None, total_steps=None): + return contrib_training.HParams( + stem_multiplier=1.0, + dense_dropout_keep_prob=0.5, + num_cells=12, + filter_scaling_rate=2.0, + drop_path_keep_prob=1.0, + num_conv_filters=44, + use_aux_head=1, + num_reduction_layers=2, + skip_reduction_layer_input=0, + data_format=data_format or 'NHWC', + total_training_steps=total_steps or 250000, + ) + + +def nasnet_cifar_arg_scope(weight_decay=5e-4, + batch_norm_decay=0.9, + batch_norm_epsilon=1e-5): + """Defines the default arg scope for the NASNet-A Cifar model. + + Args: + weight_decay: The weight decay to use for regularizing the model. + batch_norm_decay: Decay for batch norm moving average. + batch_norm_epsilon: Small float added to variance to avoid dividing by zero + in batch norm. + Returns: + An `arg_scope` to use for the NASNet Cifar Model. + """ + batch_norm_params = { + # Decay for the moving averages. + 'decay': batch_norm_decay, + # epsilon to prevent 0s in variance. + 'epsilon': batch_norm_epsilon, + 'scale': True, + 'fused': True, + } + weights_regularizer = contrib_layers.l2_regularizer(weight_decay) + weights_initializer = contrib_layers.variance_scaling_initializer( + mode='FAN_OUT') + with arg_scope( + [slim.fully_connected, slim.conv2d, slim.separable_conv2d], + weights_regularizer=weights_regularizer, + weights_initializer=weights_initializer): + with arg_scope([slim.fully_connected], activation_fn=None, scope='FC'): + with arg_scope( + [slim.conv2d, slim.separable_conv2d], + activation_fn=None, + biases_initializer=None): + with arg_scope([slim.batch_norm], **batch_norm_params) as sc: + return sc + + +def nasnet_mobile_arg_scope(weight_decay=4e-5, + batch_norm_decay=0.9997, + batch_norm_epsilon=1e-3): + """Defines the default arg scope for the NASNet-A Mobile ImageNet model. + + Args: + weight_decay: The weight decay to use for regularizing the model. + batch_norm_decay: Decay for batch norm moving average. + batch_norm_epsilon: Small float added to variance to avoid dividing by zero + in batch norm. + Returns: + An `arg_scope` to use for the NASNet Mobile Model. + """ + batch_norm_params = { + # Decay for the moving averages. + 'decay': batch_norm_decay, + # epsilon to prevent 0s in variance. + 'epsilon': batch_norm_epsilon, + 'scale': True, + 'fused': True, + } + weights_regularizer = contrib_layers.l2_regularizer(weight_decay) + weights_initializer = contrib_layers.variance_scaling_initializer( + mode='FAN_OUT') + with arg_scope( + [slim.fully_connected, slim.conv2d, slim.separable_conv2d], + weights_regularizer=weights_regularizer, + weights_initializer=weights_initializer): + with arg_scope([slim.fully_connected], activation_fn=None, scope='FC'): + with arg_scope( + [slim.conv2d, slim.separable_conv2d], + activation_fn=None, + biases_initializer=None): + with arg_scope([slim.batch_norm], **batch_norm_params) as sc: + return sc + + +def nasnet_large_arg_scope(weight_decay=5e-5, + batch_norm_decay=0.9997, + batch_norm_epsilon=1e-3): + """Defines the default arg scope for the NASNet-A Large ImageNet model. + + Args: + weight_decay: The weight decay to use for regularizing the model. + batch_norm_decay: Decay for batch norm moving average. + batch_norm_epsilon: Small float added to variance to avoid dividing by zero + in batch norm. + Returns: + An `arg_scope` to use for the NASNet Large Model. + """ + batch_norm_params = { + # Decay for the moving averages. + 'decay': batch_norm_decay, + # epsilon to prevent 0s in variance. + 'epsilon': batch_norm_epsilon, + 'scale': True, + 'fused': True, + } + weights_regularizer = contrib_layers.l2_regularizer(weight_decay) + weights_initializer = contrib_layers.variance_scaling_initializer( + mode='FAN_OUT') + with arg_scope( + [slim.fully_connected, slim.conv2d, slim.separable_conv2d], + weights_regularizer=weights_regularizer, + weights_initializer=weights_initializer): + with arg_scope([slim.fully_connected], activation_fn=None, scope='FC'): + with arg_scope( + [slim.conv2d, slim.separable_conv2d], + activation_fn=None, + biases_initializer=None): + with arg_scope([slim.batch_norm], **batch_norm_params) as sc: + return sc + + +def _build_aux_head(net, end_points, num_classes, hparams, scope): + """Auxiliary head used for all models across all datasets.""" + with tf.variable_scope(scope): + aux_logits = tf.identity(net) + with tf.variable_scope('aux_logits'): + aux_logits = slim.avg_pool2d( + aux_logits, [5, 5], stride=3, padding='VALID') + aux_logits = slim.conv2d(aux_logits, 128, [1, 1], scope='proj') + aux_logits = slim.batch_norm(aux_logits, scope='aux_bn0') + aux_logits = tf.nn.relu(aux_logits) + # Shape of feature map before the final layer. + shape = aux_logits.shape + if hparams.data_format == 'NHWC': + shape = shape[1:3] + else: + shape = shape[2:4] + aux_logits = slim.conv2d(aux_logits, 768, shape, padding='VALID') + aux_logits = slim.batch_norm(aux_logits, scope='aux_bn1') + aux_logits = tf.nn.relu(aux_logits) + aux_logits = contrib_layers.flatten(aux_logits) + aux_logits = slim.fully_connected(aux_logits, num_classes) + end_points['AuxLogits'] = aux_logits + + +def _imagenet_stem(inputs, hparams, stem_cell): + """Stem used for models trained on ImageNet.""" + num_stem_cells = 2 + + # 149 x 149 x 32 + num_stem_filters = int(32 * hparams.stem_multiplier) + net = slim.conv2d( + inputs, + num_stem_filters, [3, 3], + stride=2, + scope='conv0', + padding='VALID') + net = slim.batch_norm(net, scope='conv0_bn') + + # Run the reduction cells + cell_outputs = [None, net] + filter_scaling = 1.0 / (hparams.filter_scaling_rate**num_stem_cells) + for cell_num in range(num_stem_cells): + net = stem_cell( + net, + scope='cell_stem_{}'.format(cell_num), + filter_scaling=filter_scaling, + stride=2, + prev_layer=cell_outputs[-2], + cell_num=cell_num) + cell_outputs.append(net) + filter_scaling *= hparams.filter_scaling_rate + return net, cell_outputs + + +def _cifar_stem(inputs, hparams): + """Stem used for models trained on Cifar.""" + num_stem_filters = int(hparams.num_conv_filters * hparams.stem_multiplier) + net = slim.conv2d(inputs, num_stem_filters, 3, scope='l1_stem_3x3') + net = slim.batch_norm(net, scope='l1_stem_bn') + return net, [None, net] + + +def build_nasnet_cifar(images, + num_classes=None, + is_training=True, + data_format=None, + total_steps=None): + """Build NASNet model for the Cifar Dataset.""" + hparams = _cifar_config( + is_training=is_training, data_format=data_format, total_steps=total_steps) + + if tf.test.is_gpu_available() and hparams.data_format == 'NHWC': + tf.logging.info('A GPU is available on the machine, consider using NCHW ' + 'data format for increased speed on GPU.') + + # Calculate the total number of cells in the network + # Add 2 for the reduction cells + total_num_cells = hparams.num_cells + 2 + + normal_cell = nasnet_utils.NasNetANormalCell( + hparams.num_conv_filters, hparams.drop_path_keep_prob, total_num_cells, + hparams.total_training_steps) + reduction_cell = nasnet_utils.NasNetAReductionCell( + hparams.num_conv_filters, hparams.drop_path_keep_prob, total_num_cells, + hparams.total_training_steps) + with arg_scope( + [slim.dropout, nasnet_utils.drop_path, slim.batch_norm], + is_training=is_training): + with arg_scope( + [ + slim.avg_pool2d, slim.max_pool2d, slim.conv2d, slim.batch_norm, + slim.separable_conv2d, nasnet_utils.factorized_reduction, + nasnet_utils.global_avg_pool, nasnet_utils.get_channel_index, + nasnet_utils.get_channel_dim + ], + data_format=hparams.data_format): + return _build_nasnet_base( + images, + normal_cell=normal_cell, + reduction_cell=reduction_cell, + num_classes=num_classes, + hparams=hparams, + is_training=is_training, + stem_type='cifar') + + +build_nasnet_cifar.default_image_size = 32 + + +def build_nasnet_mobile(images, + num_classes=None, + is_training=True, + data_format=None, + total_steps=None, + final_endpoint=None): + """Build NASNet Mobile model for the ImageNet Dataset.""" + hparams = _mobile_imagenet_config( + data_format=data_format, total_steps=total_steps) + + if tf.test.is_gpu_available() and hparams.data_format == 'NHWC': + tf.logging.info('A GPU is available on the machine, consider using NCHW ' + 'data format for increased speed on GPU.') + + # Calculate the total number of cells in the network + # Add 2 for the reduction cells + total_num_cells = hparams.num_cells + 2 + # If ImageNet, then add an additional two for the stem cells + total_num_cells += 2 + + normal_cell = nasnet_utils.NasNetANormalCell( + hparams.num_conv_filters, hparams.drop_path_keep_prob, total_num_cells, + hparams.total_training_steps) + reduction_cell = nasnet_utils.NasNetAReductionCell( + hparams.num_conv_filters, hparams.drop_path_keep_prob, total_num_cells, + hparams.total_training_steps) + with arg_scope( + [slim.dropout, nasnet_utils.drop_path, slim.batch_norm], + is_training=is_training): + with arg_scope( + [ + slim.avg_pool2d, slim.max_pool2d, slim.conv2d, slim.batch_norm, + slim.separable_conv2d, nasnet_utils.factorized_reduction, + nasnet_utils.global_avg_pool, nasnet_utils.get_channel_index, + nasnet_utils.get_channel_dim + ], + data_format=hparams.data_format): + return _build_nasnet_base( + images, + normal_cell=normal_cell, + reduction_cell=reduction_cell, + num_classes=num_classes, + hparams=hparams, + is_training=is_training, + stem_type='imagenet', + final_endpoint=final_endpoint) + + +build_nasnet_mobile.default_image_size = 224 + + +def build_nasnet_large(images, + num_classes=None, + is_training=True, + data_format=None, + total_steps=None, + final_endpoint=None): + """Build NASNet Large model for the ImageNet Dataset.""" + hparams = _large_imagenet_config( + is_training=is_training, data_format=data_format, total_steps=total_steps) + + if tf.test.is_gpu_available() and hparams.data_format == 'NHWC': + tf.logging.info('A GPU is available on the machine, consider using NCHW ' + 'data format for increased speed on GPU.') + + # Calculate the total number of cells in the network + # Add 2 for the reduction cells + total_num_cells = hparams.num_cells + 2 + # If ImageNet, then add an additional two for the stem cells + total_num_cells += 2 + + normal_cell = nasnet_utils.NasNetANormalCell( + hparams.num_conv_filters, hparams.drop_path_keep_prob, total_num_cells, + hparams.total_training_steps) + reduction_cell = nasnet_utils.NasNetAReductionCell( + hparams.num_conv_filters, hparams.drop_path_keep_prob, total_num_cells, + hparams.total_training_steps) + with arg_scope( + [slim.dropout, nasnet_utils.drop_path, slim.batch_norm], + is_training=is_training): + with arg_scope( + [ + slim.avg_pool2d, slim.max_pool2d, slim.conv2d, slim.batch_norm, + slim.separable_conv2d, nasnet_utils.factorized_reduction, + nasnet_utils.global_avg_pool, nasnet_utils.get_channel_index, + nasnet_utils.get_channel_dim + ], + data_format=hparams.data_format): + return _build_nasnet_base( + images, + normal_cell=normal_cell, + reduction_cell=reduction_cell, + num_classes=num_classes, + hparams=hparams, + is_training=is_training, + stem_type='imagenet', + final_endpoint=final_endpoint) + + +build_nasnet_large.default_image_size = 331 + + +def _build_nasnet_base(images, + normal_cell, + reduction_cell, + num_classes, + hparams, + is_training, + stem_type, + final_endpoint=None): + """Constructs a NASNet image model.""" + + end_points = {} + + def add_and_check_endpoint(endpoint_name, net): + end_points[endpoint_name] = net + return final_endpoint and (endpoint_name == final_endpoint) + + # Find where to place the reduction cells or stride normal cells + reduction_indices = nasnet_utils.calc_reduction_layers( + hparams.num_cells, hparams.num_reduction_layers) + stem_cell = reduction_cell + + if stem_type == 'imagenet': + stem = lambda: _imagenet_stem(images, hparams, stem_cell) + elif stem_type == 'cifar': + stem = lambda: _cifar_stem(images, hparams) + else: + raise ValueError('Unknown stem_type: ', stem_type) + net, cell_outputs = stem() + if add_and_check_endpoint('Stem', net): + return net, end_points + + # Setup for building in the auxiliary head. + aux_head_cell_idxes = [] + if len(reduction_indices) >= 2: + aux_head_cell_idxes.append(reduction_indices[1] - 1) + + # Run the cells + filter_scaling = 1.0 + # true_cell_num accounts for the stem cells + true_cell_num = 2 if stem_type == 'imagenet' else 0 + for cell_num in range(hparams.num_cells): + stride = 1 + if hparams.skip_reduction_layer_input: + prev_layer = cell_outputs[-2] + if cell_num in reduction_indices: + filter_scaling *= hparams.filter_scaling_rate + net = reduction_cell( + net, + scope='reduction_cell_{}'.format(reduction_indices.index(cell_num)), + filter_scaling=filter_scaling, + stride=2, + prev_layer=cell_outputs[-2], + cell_num=true_cell_num) + if add_and_check_endpoint( + 'Reduction_Cell_{}'.format(reduction_indices.index(cell_num)), net): + return net, end_points + true_cell_num += 1 + cell_outputs.append(net) + if not hparams.skip_reduction_layer_input: + prev_layer = cell_outputs[-2] + net = normal_cell( + net, + scope='cell_{}'.format(cell_num), + filter_scaling=filter_scaling, + stride=stride, + prev_layer=prev_layer, + cell_num=true_cell_num) + + if add_and_check_endpoint('Cell_{}'.format(cell_num), net): + return net, end_points + true_cell_num += 1 + if (hparams.use_aux_head and cell_num in aux_head_cell_idxes and + num_classes and is_training): + aux_net = tf.nn.relu(net) + _build_aux_head( + aux_net, + end_points, + num_classes, + hparams, + scope='aux_{}'.format(cell_num)) + cell_outputs.append(net) + + # Final softmax layer + with tf.variable_scope('final_layer'): + net = tf.nn.relu(net) + net = nasnet_utils.global_avg_pool(net) + if add_and_check_endpoint('global_pool', net) or num_classes is None: + return net, end_points + net = slim.dropout(net, hparams.dense_dropout_keep_prob, scope='dropout') + logits = slim.fully_connected(net, num_classes) + + if add_and_check_endpoint('Logits', logits): + return net, end_points + + predictions = tf.nn.softmax(logits, name='predictions') + if add_and_check_endpoint('Predictions', predictions): + return net, end_points + return logits, end_points + + +class NasnetModel(model.CNNModel): + """Nasnet model configuration.""" + + def __init__(self, params=None): + super(NasnetModel, self).__init__('nasnet', 224, 32, 0.005, params=params) + + def add_inference(self, cnn): + tf.logging.info('input_image_shape: {}'.format(cnn.top_layer.shape)) + cnn.top_layer, _ = build_nasnet_mobile( + images=cnn.top_layer, + is_training=cnn.phase_train, + data_format=cnn.data_format) + cnn.top_size = cnn.top_layer.shape[-1].value + + +class NasnetLargeModel(model.CNNModel): + """Nasnet model configuration.""" + + def __init__(self, params=None): + super(NasnetLargeModel, self).__init__( + 'nasnet', 331, 16, 0.005, params=params) + + def add_inference(self, cnn): + tf.logging.info('input_image_shape: {}'.format(cnn.top_layer.shape)) + cnn.top_layer, _ = build_nasnet_large( + images=cnn.top_layer, + is_training=cnn.phase_train, + data_format=cnn.data_format) + cnn.top_size = cnn.top_layer.shape[-1].value + + +class NasnetCifarModel(model.CNNModel): + """Nasnet cifar model configuration.""" + + def __init__(self, params=None): + super(NasnetCifarModel, self).__init__( + 'nasnet', 32, 32, 0.025, params=params) + + def add_inference(self, cnn): + tf.logging.info('input_image_shape: {}'.format(cnn.top_layer.shape)) + cnn.top_layer, _ = build_nasnet_cifar( + images=cnn.top_layer, + is_training=cnn.phase_train, + data_format=cnn.data_format) + cnn.top_size = cnn.top_layer.shape[-1].value diff --git a/cv/classification/resnet50/tensorflow/models/tf1_only/nasnet_test.py b/cv/classification/resnet50/tensorflow/models/tf1_only/nasnet_test.py new file mode 100644 index 0000000000000000000000000000000000000000..4e3bc3776e992c2688e6dd9dfeddbbf7835c6774 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/models/tf1_only/nasnet_test.py @@ -0,0 +1,289 @@ +# Copyright 2018 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Tests for nasnet.""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow.compat.v1 as tf + +from models.tf1_only import nasnet_model as nasnet +from tensorflow.contrib import slim + + +class NASNetTest(tf.test.TestCase): + + def testBuildLogitsCifarModel(self): + batch_size = 5 + height, width = 32, 32 + num_classes = 10 + inputs = tf.random_uniform((batch_size, height, width, 3)) + tf.train.create_global_step() + with slim.arg_scope(nasnet.nasnet_cifar_arg_scope()): + logits, end_points = nasnet.build_nasnet_cifar(inputs, num_classes) + auxlogits = end_points['AuxLogits'] + predictions = end_points['Predictions'] + self.assertListEqual(auxlogits.get_shape().as_list(), + [batch_size, num_classes]) + self.assertListEqual(logits.get_shape().as_list(), + [batch_size, num_classes]) + self.assertListEqual(predictions.get_shape().as_list(), + [batch_size, num_classes]) + + def testBuildLogitsMobileModel(self): + batch_size = 5 + height, width = 224, 224 + num_classes = 1000 + inputs = tf.random_uniform((batch_size, height, width, 3)) + tf.train.create_global_step() + with slim.arg_scope(nasnet.nasnet_mobile_arg_scope()): + logits, end_points = nasnet.build_nasnet_mobile(inputs, num_classes) + auxlogits = end_points['AuxLogits'] + predictions = end_points['Predictions'] + self.assertListEqual(auxlogits.get_shape().as_list(), + [batch_size, num_classes]) + self.assertListEqual(logits.get_shape().as_list(), + [batch_size, num_classes]) + self.assertListEqual(predictions.get_shape().as_list(), + [batch_size, num_classes]) + + def testBuildLogitsLargeModel(self): + batch_size = 5 + height, width = 331, 331 + num_classes = 1000 + inputs = tf.random_uniform((batch_size, height, width, 3)) + tf.train.create_global_step() + with slim.arg_scope(nasnet.nasnet_large_arg_scope()): + logits, end_points = nasnet.build_nasnet_large(inputs, num_classes) + auxlogits = end_points['AuxLogits'] + predictions = end_points['Predictions'] + self.assertListEqual(auxlogits.get_shape().as_list(), + [batch_size, num_classes]) + self.assertListEqual(logits.get_shape().as_list(), + [batch_size, num_classes]) + self.assertListEqual(predictions.get_shape().as_list(), + [batch_size, num_classes]) + + def testBuildPreLogitsCifarModel(self): + batch_size = 5 + height, width = 32, 32 + num_classes = None + inputs = tf.random_uniform((batch_size, height, width, 3)) + tf.train.create_global_step() + with slim.arg_scope(nasnet.nasnet_cifar_arg_scope()): + net, end_points = nasnet.build_nasnet_cifar(inputs, num_classes) + self.assertNotIn('AuxLogits', end_points) + self.assertNotIn('Predictions', end_points) + self.assertTrue(net.op.name.startswith('final_layer/Mean')) + self.assertListEqual(net.get_shape().as_list(), [batch_size, 768]) + + def testBuildPreLogitsMobileModel(self): + batch_size = 5 + height, width = 224, 224 + num_classes = None + inputs = tf.random_uniform((batch_size, height, width, 3)) + tf.train.create_global_step() + with slim.arg_scope(nasnet.nasnet_mobile_arg_scope()): + net, end_points = nasnet.build_nasnet_mobile(inputs, num_classes) + self.assertNotIn('AuxLogits', end_points) + self.assertNotIn('Predictions', end_points) + self.assertTrue(net.op.name.startswith('final_layer/Mean')) + self.assertListEqual(net.get_shape().as_list(), [batch_size, 1056]) + + def testBuildPreLogitsLargeModel(self): + batch_size = 5 + height, width = 331, 331 + num_classes = None + inputs = tf.random_uniform((batch_size, height, width, 3)) + tf.train.create_global_step() + with slim.arg_scope(nasnet.nasnet_large_arg_scope()): + net, end_points = nasnet.build_nasnet_large(inputs, num_classes) + self.assertNotIn('AuxLogits', end_points) + self.assertNotIn('Predictions', end_points) + self.assertTrue(net.op.name.startswith('final_layer/Mean')) + self.assertListEqual(net.get_shape().as_list(), [batch_size, 4032]) + + def testAllEndPointsShapesCifarModel(self): + batch_size = 5 + height, width = 32, 32 + num_classes = 10 + inputs = tf.random_uniform((batch_size, height, width, 3)) + tf.train.create_global_step() + with slim.arg_scope(nasnet.nasnet_cifar_arg_scope()): + _, end_points = nasnet.build_nasnet_cifar(inputs, num_classes) + endpoints_shapes = {'Stem': [batch_size, 32, 32, 96], + 'Cell_0': [batch_size, 32, 32, 192], + 'Cell_1': [batch_size, 32, 32, 192], + 'Cell_2': [batch_size, 32, 32, 192], + 'Cell_3': [batch_size, 32, 32, 192], + 'Cell_4': [batch_size, 32, 32, 192], + 'Cell_5': [batch_size, 32, 32, 192], + 'Cell_6': [batch_size, 16, 16, 384], + 'Cell_7': [batch_size, 16, 16, 384], + 'Cell_8': [batch_size, 16, 16, 384], + 'Cell_9': [batch_size, 16, 16, 384], + 'Cell_10': [batch_size, 16, 16, 384], + 'Cell_11': [batch_size, 16, 16, 384], + 'Cell_12': [batch_size, 8, 8, 768], + 'Cell_13': [batch_size, 8, 8, 768], + 'Cell_14': [batch_size, 8, 8, 768], + 'Cell_15': [batch_size, 8, 8, 768], + 'Cell_16': [batch_size, 8, 8, 768], + 'Cell_17': [batch_size, 8, 8, 768], + 'Reduction_Cell_0': [batch_size, 16, 16, 256], + 'Reduction_Cell_1': [batch_size, 8, 8, 512], + 'global_pool': [batch_size, 768], + # Logits and predictions + 'AuxLogits': [batch_size, num_classes], + 'Logits': [batch_size, num_classes], + 'Predictions': [batch_size, num_classes]} + self.assertCountEqual(endpoints_shapes.keys(), end_points.keys()) + for endpoint_name in endpoints_shapes: + tf.logging.info('Endpoint name: {}'.format(endpoint_name)) + expected_shape = endpoints_shapes[endpoint_name] + self.assertIn(endpoint_name, end_points) + self.assertListEqual(end_points[endpoint_name].get_shape().as_list(), + expected_shape) + + def testAllEndPointsShapesMobileModel(self): + batch_size = 5 + height, width = 224, 224 + num_classes = 1000 + inputs = tf.random_uniform((batch_size, height, width, 3)) + tf.train.create_global_step() + with slim.arg_scope(nasnet.nasnet_mobile_arg_scope()): + _, end_points = nasnet.build_nasnet_mobile(inputs, num_classes) + endpoints_shapes = {'Stem': [batch_size, 28, 28, 88], + 'Cell_0': [batch_size, 28, 28, 264], + 'Cell_1': [batch_size, 28, 28, 264], + 'Cell_2': [batch_size, 28, 28, 264], + 'Cell_3': [batch_size, 28, 28, 264], + 'Cell_4': [batch_size, 14, 14, 528], + 'Cell_5': [batch_size, 14, 14, 528], + 'Cell_6': [batch_size, 14, 14, 528], + 'Cell_7': [batch_size, 14, 14, 528], + 'Cell_8': [batch_size, 7, 7, 1056], + 'Cell_9': [batch_size, 7, 7, 1056], + 'Cell_10': [batch_size, 7, 7, 1056], + 'Cell_11': [batch_size, 7, 7, 1056], + 'Reduction_Cell_0': [batch_size, 14, 14, 352], + 'Reduction_Cell_1': [batch_size, 7, 7, 704], + 'global_pool': [batch_size, 1056], + # Logits and predictions + 'AuxLogits': [batch_size, num_classes], + 'Logits': [batch_size, num_classes], + 'Predictions': [batch_size, num_classes]} + self.assertCountEqual(endpoints_shapes.keys(), end_points.keys()) + for endpoint_name in endpoints_shapes: + tf.logging.info('Endpoint name: {}'.format(endpoint_name)) + expected_shape = endpoints_shapes[endpoint_name] + self.assertIn(endpoint_name, end_points) + self.assertListEqual(end_points[endpoint_name].get_shape().as_list(), + expected_shape) + + def testAllEndPointsShapesLargeModel(self): + batch_size = 5 + height, width = 331, 331 + num_classes = 1000 + inputs = tf.random_uniform((batch_size, height, width, 3)) + tf.train.create_global_step() + with slim.arg_scope(nasnet.nasnet_large_arg_scope()): + _, end_points = nasnet.build_nasnet_large(inputs, num_classes) + endpoints_shapes = {'Stem': [batch_size, 42, 42, 336], + 'Cell_0': [batch_size, 42, 42, 1008], + 'Cell_1': [batch_size, 42, 42, 1008], + 'Cell_2': [batch_size, 42, 42, 1008], + 'Cell_3': [batch_size, 42, 42, 1008], + 'Cell_4': [batch_size, 42, 42, 1008], + 'Cell_5': [batch_size, 42, 42, 1008], + 'Cell_6': [batch_size, 21, 21, 2016], + 'Cell_7': [batch_size, 21, 21, 2016], + 'Cell_8': [batch_size, 21, 21, 2016], + 'Cell_9': [batch_size, 21, 21, 2016], + 'Cell_10': [batch_size, 21, 21, 2016], + 'Cell_11': [batch_size, 21, 21, 2016], + 'Cell_12': [batch_size, 11, 11, 4032], + 'Cell_13': [batch_size, 11, 11, 4032], + 'Cell_14': [batch_size, 11, 11, 4032], + 'Cell_15': [batch_size, 11, 11, 4032], + 'Cell_16': [batch_size, 11, 11, 4032], + 'Cell_17': [batch_size, 11, 11, 4032], + 'Reduction_Cell_0': [batch_size, 21, 21, 1344], + 'Reduction_Cell_1': [batch_size, 11, 11, 2688], + 'global_pool': [batch_size, 4032], + # Logits and predictions + 'AuxLogits': [batch_size, num_classes], + 'Logits': [batch_size, num_classes], + 'Predictions': [batch_size, num_classes]} + self.assertCountEqual(endpoints_shapes.keys(), end_points.keys()) + for endpoint_name in endpoints_shapes: + tf.logging.info('Endpoint name: {}'.format(endpoint_name)) + expected_shape = endpoints_shapes[endpoint_name] + self.assertIn(endpoint_name, end_points) + self.assertListEqual(end_points[endpoint_name].get_shape().as_list(), + expected_shape) + + def testVariablesSetDeviceMobileModel(self): + batch_size = 5 + height, width = 224, 224 + num_classes = 1000 + inputs = tf.random_uniform((batch_size, height, width, 3)) + tf.train.create_global_step() + # Force all Variables to reside on the device. + with tf.variable_scope('on_cpu'), tf.device('/cpu:0'): + with slim.arg_scope(nasnet.nasnet_mobile_arg_scope()): + nasnet.build_nasnet_mobile(inputs, num_classes) + with tf.variable_scope('on_gpu'), tf.device('/gpu:0'): + with slim.arg_scope(nasnet.nasnet_mobile_arg_scope()): + nasnet.build_nasnet_mobile(inputs, num_classes) + for v in tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES, scope='on_cpu'): + self.assertDeviceEqual(v.device, '/cpu:0') + for v in tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES, scope='on_gpu'): + self.assertDeviceEqual(v.device, '/gpu:0') + + def testUnknownBatchSizeMobileModel(self): + batch_size = 1 + height, width = 224, 224 + num_classes = 1000 + with self.test_session() as sess: + inputs = tf.placeholder(tf.float32, (None, height, width, 3)) + with slim.arg_scope(nasnet.nasnet_mobile_arg_scope()): + logits, _ = nasnet.build_nasnet_mobile(inputs, num_classes) + self.assertListEqual(logits.get_shape().as_list(), + [None, num_classes]) + images = tf.random_uniform((batch_size, height, width, 3)) + sess.run(tf.global_variables_initializer()) + output = sess.run(logits, {inputs: images.eval()}) + self.assertEqual(output.shape, (batch_size, num_classes)) + + def testEvaluationMobileModel(self): + batch_size = 2 + height, width = 224, 224 + num_classes = 1000 + with self.test_session() as sess: + eval_inputs = tf.random_uniform((batch_size, height, width, 3)) + with slim.arg_scope(nasnet.nasnet_mobile_arg_scope()): + logits, _ = nasnet.build_nasnet_mobile(eval_inputs, + num_classes, + is_training=False) + predictions = tf.argmax(logits, 1) + sess.run(tf.global_variables_initializer()) + output = sess.run(predictions) + self.assertEqual(output.shape, (batch_size,)) + + +if __name__ == '__main__': + tf.disable_v2_behavior() + tf.test.main() diff --git a/cv/classification/resnet50/tensorflow/models/tf1_only/nasnet_utils.py b/cv/classification/resnet50/tensorflow/models/tf1_only/nasnet_utils.py new file mode 100644 index 0000000000000000000000000000000000000000..9b280b3ea85c35ca9f804ebecbf300d98bda6baa --- /dev/null +++ b/cv/classification/resnet50/tensorflow/models/tf1_only/nasnet_utils.py @@ -0,0 +1,492 @@ +# Copyright 2018 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""A custom module for some common operations used by NASNet. + +Functions exposed in this file: +- calc_reduction_layers +- get_channel_index +- get_channel_dim +- global_avg_pool +- factorized_reduction +- drop_path + +Classes exposed in this file: +- NasNetABaseCell +- NasNetANormalCell +- NasNetAReductionCell +""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow.compat.v1 as tf +from tensorflow.contrib import framework as contrib_framework +from tensorflow.contrib import slim + +arg_scope = contrib_framework.arg_scope + +DATA_FORMAT_NCHW = 'NCHW' +DATA_FORMAT_NHWC = 'NHWC' +INVALID = 'null' + + +def calc_reduction_layers(num_cells, num_reduction_layers): + """Figure out what layers should have reductions.""" + reduction_layers = [] + for pool_num in range(1, num_reduction_layers + 1): + layer_num = (float(pool_num) / (num_reduction_layers + 1)) * num_cells + layer_num = int(layer_num) + reduction_layers.append(layer_num) + return reduction_layers + + +@contrib_framework.add_arg_scope +def get_channel_index(data_format=INVALID): + assert data_format != INVALID + axis = 3 if data_format == 'NHWC' else 1 + return axis + + +@contrib_framework.add_arg_scope +def get_channel_dim(shape, data_format=INVALID): + assert data_format != INVALID + assert len(shape) == 4 + if data_format == 'NHWC': + return int(shape[3]) + elif data_format == 'NCHW': + return int(shape[1]) + else: + raise ValueError('Not a valid data_format', data_format) + + +@contrib_framework.add_arg_scope +def global_avg_pool(x, data_format=INVALID): + """Average pool away the height and width spatial dimensions of x.""" + assert data_format != INVALID + assert data_format in ['NHWC', 'NCHW'] + assert x.shape.ndims == 4 + if data_format == 'NHWC': + return tf.reduce_mean(x, [1, 2]) + else: + return tf.reduce_mean(x, [2, 3]) + + +@contrib_framework.add_arg_scope +def factorized_reduction(net, output_filters, stride, data_format=INVALID): + """Reduces the shape of net without information loss due to striding.""" + assert output_filters % 2 == 0, ( + 'Need even number of filters when using this factorized reduction.') + assert data_format != INVALID + if stride == 1: + net = slim.conv2d(net, output_filters, 1, scope='path_conv') + net = slim.batch_norm(net, scope='path_bn') + return net + if data_format == 'NHWC': + stride_spec = [1, stride, stride, 1] + else: + stride_spec = [1, 1, stride, stride] + + # Skip path 1 + path1 = tf.nn.avg_pool( + net, [1, 1, 1, 1], stride_spec, 'VALID', data_format=data_format) + path1 = slim.conv2d(path1, int(output_filters / 2), 1, scope='path1_conv') + + # Skip path 2 + # First pad with 0's on the right and bottom, then shift the filter to + # include those 0's that were added. + if data_format == 'NHWC': + pad_arr = [[0, 0], [0, 1], [0, 1], [0, 0]] + path2 = tf.pad(net, pad_arr)[:, 1:, 1:, :] + concat_axis = 3 + else: + pad_arr = [[0, 0], [0, 0], [0, 1], [0, 1]] + path2 = tf.pad(net, pad_arr)[:, :, 1:, 1:] + concat_axis = 1 + + path2 = tf.nn.avg_pool( + path2, [1, 1, 1, 1], stride_spec, 'VALID', data_format=data_format) + path2 = slim.conv2d(path2, int(output_filters / 2), 1, scope='path2_conv') + + # Concat and apply BN + final_path = tf.concat(values=[path1, path2], axis=concat_axis) + final_path = slim.batch_norm(final_path, scope='final_path_bn') + return final_path + + +@contrib_framework.add_arg_scope +def drop_path(net, keep_prob, is_training=True): + """Drops out a whole example hiddenstate with the specified probability.""" + if is_training: + batch_size = tf.shape(net)[0] + noise_shape = [batch_size, 1, 1, 1] + keep_prob = tf.cast(keep_prob, dtype=net.dtype) + random_tensor = keep_prob + random_tensor += tf.random_uniform(noise_shape, dtype=net.dtype) + binary_tensor = tf.floor(random_tensor) + net = tf.div(net, keep_prob) * binary_tensor + return net + + +def _operation_to_filter_shape(operation): + splitted_operation = operation.split('x') + filter_shape = int(splitted_operation[0][-1]) + assert filter_shape == int( + splitted_operation[1][0]), 'Rectangular filters not supported.' + return filter_shape + + +def _operation_to_num_layers(operation): + splitted_operation = operation.split('_') + if 'x' in splitted_operation[-1]: + return 1 + return int(splitted_operation[-1]) + + +def _operation_to_info(operation): + """Takes in operation name and returns meta information. + + An example would be 'separable_3x3_4' -> (3, 4). + + Args: + operation: String that corresponds to convolution operation. + + Returns: + Tuple of (filter shape, num layers). + """ + num_layers = _operation_to_num_layers(operation) + filter_shape = _operation_to_filter_shape(operation) + return num_layers, filter_shape + + +def _stacked_separable_conv(net, stride, operation, filter_size): + """Takes in an operations and parses it to the correct sep operation.""" + num_layers, kernel_size = _operation_to_info(operation) + net_type = net.dtype + net = tf.cast(net, tf.float32) if net_type == tf.float16 else net + + for layer_num in range(num_layers - 1): + net = tf.nn.relu(net) + net = slim.separable_conv2d( + net, + filter_size, + kernel_size, + depth_multiplier=1, + scope='separable_{0}x{0}_{1}'.format(kernel_size, layer_num + 1), + stride=stride) + net = slim.batch_norm( + net, scope='bn_sep_{0}x{0}_{1}'.format(kernel_size, layer_num + 1)) + stride = 1 + net = tf.nn.relu(net) + net = slim.separable_conv2d( + net, + filter_size, + kernel_size, + depth_multiplier=1, + scope='separable_{0}x{0}_{1}'.format(kernel_size, num_layers), + stride=stride) + net = slim.batch_norm( + net, scope='bn_sep_{0}x{0}_{1}'.format(kernel_size, num_layers)) + net = tf.cast(net, net_type) + return net + + +def _operation_to_pooling_type(operation): + """Takes in the operation string and returns the pooling type.""" + splitted_operation = operation.split('_') + return splitted_operation[0] + + +def _operation_to_pooling_shape(operation): + """Takes in the operation string and returns the pooling kernel shape.""" + splitted_operation = operation.split('_') + shape = splitted_operation[-1] + assert 'x' in shape + filter_height, filter_width = shape.split('x') + assert filter_height == filter_width + return int(filter_height) + + +def _operation_to_pooling_info(operation): + """Parses the pooling operation string to return its type and shape.""" + pooling_type = _operation_to_pooling_type(operation) + pooling_shape = _operation_to_pooling_shape(operation) + return pooling_type, pooling_shape + + +def _pooling(net, stride, operation): + """Parses operation and performs the correct pooling operation on net.""" + padding = 'SAME' + pooling_type, pooling_shape = _operation_to_pooling_info(operation) + if pooling_type == 'avg': + net = slim.avg_pool2d(net, pooling_shape, stride=stride, padding=padding) + elif pooling_type == 'max': + net = slim.max_pool2d(net, pooling_shape, stride=stride, padding=padding) + else: + raise NotImplementedError('Unimplemented pooling type: ', pooling_type) + return net + + +class NasNetABaseCell(object): # pylint: disable=g-classes-have-attributes + """NASNet Cell class that is used as a 'layer' in image architectures. + + Args: + num_conv_filters: The number of filters for each convolution operation. + operations: List of operations that are performed in the NASNet Cell in + order. + used_hiddenstates: Binary array that signals if the hiddenstate was used + within the cell. This is used to determine what outputs of the cell + should be concatenated together. + hiddenstate_indices: Determines what hiddenstates should be combined + together with the specified operations to create the NASNet cell. + """ + + def __init__(self, num_conv_filters, operations, used_hiddenstates, + hiddenstate_indices, drop_path_keep_prob, total_num_cells, + total_training_steps): + self._num_conv_filters = num_conv_filters + self._operations = operations + self._used_hiddenstates = used_hiddenstates + self._hiddenstate_indices = hiddenstate_indices + self._drop_path_keep_prob = drop_path_keep_prob + self._total_num_cells = total_num_cells + self._total_training_steps = total_training_steps + + def _reduce_prev_layer(self, prev_layer, curr_layer): + """Matches dimension of prev_layer to the curr_layer.""" + # Set the prev layer to the current layer if it is none + if prev_layer is None: + return curr_layer + curr_num_filters = self._filter_size + prev_num_filters = get_channel_dim(prev_layer.shape) + curr_filter_shape = int(curr_layer.shape[2]) + prev_filter_shape = int(prev_layer.shape[2]) + if curr_filter_shape != prev_filter_shape: + prev_layer = tf.nn.relu(prev_layer) + prev_layer = factorized_reduction(prev_layer, curr_num_filters, stride=2) + elif curr_num_filters != prev_num_filters: + prev_layer = tf.nn.relu(prev_layer) + prev_layer = slim.conv2d( + prev_layer, curr_num_filters, 1, scope='prev_1x1') + prev_layer = slim.batch_norm(prev_layer, scope='prev_bn') + return prev_layer + + def _cell_base(self, net, prev_layer): + """Runs the beginning of the conv cell before the predicted ops are run.""" + num_filters = self._filter_size + + # Check to be sure prev layer stuff is setup correctly + prev_layer = self._reduce_prev_layer(prev_layer, net) + + net = tf.nn.relu(net) + net = slim.conv2d(net, num_filters, 1, scope='1x1') + net = slim.batch_norm(net, scope='beginning_bn') + split_axis = get_channel_index() + net = tf.split(axis=split_axis, num_or_size_splits=1, value=net) + for split in net: + assert int(split.shape[split_axis] == int( + self._num_conv_filters * self._filter_scaling)) + net.append(prev_layer) + return net + + def __call__(self, + net, + scope=None, + filter_scaling=1, + stride=1, + prev_layer=None, + cell_num=-1): + """Runs the conv cell.""" + self._cell_num = cell_num + self._filter_scaling = filter_scaling + self._filter_size = int(self._num_conv_filters * filter_scaling) + + i = 0 + with tf.variable_scope(scope): + net = self._cell_base(net, prev_layer) + for iteration in range(5): + with tf.variable_scope('comb_iter_{}'.format(iteration)): + left_hiddenstate_idx, right_hiddenstate_idx = ( + self._hiddenstate_indices[i], self._hiddenstate_indices[i + 1]) + original_input_left = left_hiddenstate_idx < 2 + original_input_right = right_hiddenstate_idx < 2 + h1 = net[left_hiddenstate_idx] + h2 = net[right_hiddenstate_idx] + + operation_left = self._operations[i] + operation_right = self._operations[i + 1] + i += 2 + # Apply conv operations + with tf.variable_scope('left'): + h1 = self._apply_conv_operation(h1, operation_left, stride, + original_input_left) + with tf.variable_scope('right'): + h2 = self._apply_conv_operation(h2, operation_right, stride, + original_input_right) + + # Combine hidden states using 'add'. + with tf.variable_scope('combine'): + h = h1 + h2 + + # Add hiddenstate to the list of hiddenstates we can choose from + net.append(h) + + with tf.variable_scope('cell_output'): + net = self._combine_unused_states(net) + + return net + + def _apply_conv_operation(self, net, operation, stride, + is_from_original_input): + """Applies the predicted conv operation to net.""" + # Dont stride if this is not one of the original hiddenstates + if stride > 1 and not is_from_original_input: + stride = 1 + input_filters = get_channel_dim(net.shape) + filter_size = self._filter_size + if 'separable' in operation: + net = _stacked_separable_conv(net, stride, operation, filter_size) + elif operation in ['none']: + # Check if a stride is needed, then use a strided 1x1 here + if stride > 1 or (input_filters != filter_size): + net = tf.nn.relu(net) + net = slim.conv2d(net, filter_size, 1, stride=stride, scope='1x1') + net = slim.batch_norm(net, scope='bn_1') + elif 'pool' in operation: + net = _pooling(net, stride, operation) + if input_filters != filter_size: + net = slim.conv2d(net, filter_size, 1, stride=1, scope='1x1') + net = slim.batch_norm(net, scope='bn_1') + else: + raise ValueError('Unimplemented operation', operation) + + if operation != 'none': + net = self._apply_drop_path(net) + return net + + def _combine_unused_states(self, net): + """Concatenate the unused hidden states of the cell.""" + used_hiddenstates = self._used_hiddenstates + + final_height = int(net[-1].shape[2]) + final_num_filters = get_channel_dim(net[-1].shape) + assert len(used_hiddenstates) == len(net) + for idx, used_h in enumerate(used_hiddenstates): + curr_height = int(net[idx].shape[2]) + curr_num_filters = get_channel_dim(net[idx].shape) + + # Determine if a reduction should be applied to make the number of + # filters match. + should_reduce = final_num_filters != curr_num_filters + should_reduce = (final_height != curr_height) or should_reduce + should_reduce = should_reduce and not used_h + if should_reduce: + stride = 2 if final_height != curr_height else 1 + with tf.variable_scope('reduction_{}'.format(idx)): + net[idx] = factorized_reduction(net[idx], final_num_filters, stride) + + states_to_combine = ([ + h for h, is_used in zip(net, used_hiddenstates) if not is_used + ]) + + # Return the concat of all the states + concat_axis = get_channel_index() + net = tf.concat(values=states_to_combine, axis=concat_axis) + return net + + @contrib_framework.add_arg_scope # No public API. For internal use only. + def _apply_drop_path(self, + net, + current_step=None, + use_summaries=True, + drop_connect_version='v3'): + """Apply drop_path regularization. + + Args: + net: the Tensor that gets drop_path regularization applied. + current_step: a float32 Tensor with the current global_step value, + to be divided by hparams.total_training_steps. Usually None, which + defaults to tf.train.get_or_create_global_step() properly casted. + use_summaries: a Python boolean. If set to False, no summaries are output. + drop_connect_version: one of 'v1', 'v2', 'v3', controlling whether + the dropout rate is scaled by current_step (v1), layer (v2), or + both (v3, the default). + + Returns: + The dropped-out value of `net`. + """ + drop_path_keep_prob = self._drop_path_keep_prob + if drop_path_keep_prob < 1.0: + assert drop_connect_version in ['v1', 'v2', 'v3'] + if drop_connect_version in ['v2', 'v3']: + # Scale keep prob by layer number + assert self._cell_num != -1 + # The added 2 is for the reduction cells + num_cells = self._total_num_cells + layer_ratio = (self._cell_num + 1) / float(num_cells) + if use_summaries: + with tf.device('/cpu:0'): + tf.summary.scalar('layer_ratio', layer_ratio) + drop_path_keep_prob = 1 - layer_ratio * (1 - drop_path_keep_prob) + if drop_connect_version in ['v1', 'v3']: + # Decrease the keep probability over time + if not current_step: + current_step = tf.cast(tf.train.get_or_create_global_step(), + tf.float32) + drop_path_burn_in_steps = self._total_training_steps + current_ratio = current_step / drop_path_burn_in_steps + current_ratio = tf.minimum(1.0, current_ratio) + if use_summaries: + with tf.device('/cpu:0'): + tf.summary.scalar('current_ratio', current_ratio) + drop_path_keep_prob = (1 - current_ratio * (1 - drop_path_keep_prob)) + if use_summaries: + with tf.device('/cpu:0'): + tf.summary.scalar('drop_path_keep_prob', drop_path_keep_prob) + net = drop_path(net, drop_path_keep_prob) + return net + + +class NasNetANormalCell(NasNetABaseCell): + """NASNetA Normal Cell.""" + + def __init__(self, num_conv_filters, drop_path_keep_prob, total_num_cells, + total_training_steps): + operations = [ + 'separable_5x5_2', 'separable_3x3_2', 'separable_5x5_2', + 'separable_3x3_2', 'avg_pool_3x3', 'none', 'avg_pool_3x3', + 'avg_pool_3x3', 'separable_3x3_2', 'none' + ] + used_hiddenstates = [1, 0, 0, 0, 0, 0, 0] + hiddenstate_indices = [0, 1, 1, 1, 0, 1, 1, 1, 0, 0] + super(NasNetANormalCell, self).__init__( + num_conv_filters, operations, used_hiddenstates, hiddenstate_indices, + drop_path_keep_prob, total_num_cells, total_training_steps) + + +class NasNetAReductionCell(NasNetABaseCell): + """NASNetA Reduction Cell.""" + + def __init__(self, num_conv_filters, drop_path_keep_prob, total_num_cells, + total_training_steps): + operations = [ + 'separable_5x5_2', 'separable_7x7_2', 'max_pool_3x3', 'separable_7x7_2', + 'avg_pool_3x3', 'separable_5x5_2', 'none', 'avg_pool_3x3', + 'separable_3x3_2', 'max_pool_3x3' + ] + used_hiddenstates = [1, 1, 1, 0, 0, 0, 0] + hiddenstate_indices = [0, 1, 0, 1, 0, 1, 3, 2, 2, 0] + super(NasNetAReductionCell, self).__init__( + num_conv_filters, operations, used_hiddenstates, hiddenstate_indices, + drop_path_keep_prob, total_num_cells, total_training_steps) diff --git a/cv/classification/resnet50/tensorflow/models/tf1_only/ssd_model.py b/cv/classification/resnet50/tensorflow/models/tf1_only/ssd_model.py new file mode 100644 index 0000000000000000000000000000000000000000..3d959d5be5ccf2d0197196ef46e113665f06b258 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/models/tf1_only/ssd_model.py @@ -0,0 +1,683 @@ +# Copyright 2018 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + + +"""SSD300 Model Configuration. + +References: + Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, + Cheng-Yang Fu, Alexander C. Berg + SSD: Single Shot MultiBox Detector + arXiv:1512.02325 + +Ported from MLPerf reference implementation: + https://github.com/mlperf/reference/tree/ssd/single_stage_detector/ssd + +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import multiprocessing +import os +import re +import threading +import tensorflow.compat.v1 as tf + +# pylint: disable=g-direct-tensorflow-import +import constants +import mlperf +import ssd_constants +from cnn_util import log_fn +from models import model as model_lib +from models import resnet_model +from tensorflow.contrib import layers as contrib_layers +from tensorflow.python.ops import variables + +BACKBONE_MODEL_SCOPE_NAME = 'resnet34_backbone' + + +class SSD300Model(model_lib.CNNModel): + """Single Shot Multibox Detection (SSD) model for 300x300 image datasets.""" + + def __init__(self, label_num=ssd_constants.NUM_CLASSES, batch_size=32, + learning_rate=1e-3, backbone='resnet34', params=None): + super(SSD300Model, self).__init__('ssd300', 300, batch_size, learning_rate, + params=params) + # For COCO dataset, 80 categories + 1 background = 81 labels + self.label_num = label_num + + # Currently only support ResNet-34 as backbone model + if backbone != 'resnet34': + raise ValueError('Invalid backbone model %s for SSD.' % backbone) + mlperf.logger.log(key=mlperf.tags.BACKBONE, value=backbone) + + # Number of channels and default boxes associated with the following layers: + # ResNet34 layer, Conv7, Conv8_2, Conv9_2, Conv10_2, Conv11_2 + self.out_chan = [256, 512, 512, 256, 256, 256] + mlperf.logger.log(key=mlperf.tags.LOC_CONF_OUT_CHANNELS, + value=self.out_chan) + + # Number of default boxes from layers of different scales + # 38x38x4, 19x19x6, 10x10x6, 5x5x6, 3x3x4, 1x1x4 + self.num_dboxes = [4, 6, 6, 6, 4, 4] + mlperf.logger.log(key=mlperf.tags.NUM_DEFAULTS_PER_CELL, + value=self.num_dboxes) + + # TODO(haoyuzhang): in order to correctly restore in replicated mode, need + # to create a saver for each tower before graph is finalized. Use variable + # manager for better efficiency. + self.backbone_savers = [] + + # Collected predictions for eval stage. It maps each image id in eval + # dataset to a dict containing the following information: + # source_id: raw ID of image + # raw_shape: raw shape of image + # pred_box: encoded box coordinates of prediction + # pred_scores: scores of classes in prediction + self.predictions = {} + + # Global step when predictions are collected. + self.eval_global_step = 0 + + # Average precision. In asynchronous eval mode, this is the latest AP we + # get so far and may not be the results at current eval step. + self.eval_coco_ap = 0 + + # Process, queues, and thread for asynchronous evaluation. When enabled, + # create a separate process (async_eval_process) that continuously pull + # intermediate results from the predictions queue (a multiprocessing queue), + # process them, and push final results into results queue (another + # multiprocessing queue). The main thread is responsible to push message + # into predictions queue, and start a separate thread to continuously pull + # messages from results queue to update final results. + # Message in predictions queue should be a tuple of two elements: + # (evaluation step, predictions) + # Message in results queue should be a tuple of two elements: + # (evaluation step, final results) + self.async_eval_process = None + self.async_eval_predictions_queue = None + self.async_eval_results_queue = None + self.async_eval_results_getter_thread = None + + # The MLPerf reference uses a starting lr of 1e-3 at bs=32. + self.base_lr_batch_size = 32 + + def skip_final_affine_layer(self): + return True + + def gpu_preprocess_nhwc(self, images, phase_train=True): + try: + import ssd_dataloader # pylint: disable=g-import-not-at-top + except ImportError: + raise ImportError('To use the COCO dataset, you must clone the ' + 'repo https://github.com/tensorflow/models and add ' + 'tensorflow/models and tensorflow/models/research to ' + 'the PYTHONPATH, and compile the protobufs by ' + 'following https://github.com/tensorflow/models/blob/' + 'master/research/object_detection/g3doc/installation.md' + '#protobuf-compilation ; To evaluate using COCO' + 'metric, download and install Python COCO API from' + 'https://github.com/cocodataset/cocoapi') + + if phase_train: + images = ssd_dataloader.color_jitter( + images, brightness=0.125, contrast=0.5, saturation=0.5, hue=0.05) + images = ssd_dataloader.normalize_image(images) + return images + + def add_backbone_model(self, cnn): + # -------------------------------------------------------------------------- + # Resnet-34 backbone model -- modified for SSD + # -------------------------------------------------------------------------- + + # Input 300x300, output 150x150 + cnn.conv(64, 7, 7, 2, 2, mode='SAME_RESNET', use_batch_norm=True) + cnn.mpool(3, 3, 2, 2, mode='SAME') + + resnet34_layers = [3, 4, 6, 3] + version = 'v1' + + # ResNet-34 block group 1 + # Input 150x150, output 75x75 + for i in range(resnet34_layers[0]): + # Last argument forces residual_block to use projection shortcut, even + # though the numbers of input and output channels are equal + resnet_model.residual_block(cnn, 64, 1, version) + + # ResNet-34 block group 2 + # Input 75x75, output 38x38 + for i in range(resnet34_layers[1]): + stride = 2 if i == 0 else 1 + resnet_model.residual_block(cnn, 128, stride, version, i == 0) + + # ResNet-34 block group 3 + # This block group is modified: first layer uses stride=1 so that the image + # size does not change in group of layers + # Input 38x38, output 38x38 + for i in range(resnet34_layers[2]): + # The following line is intentionally commented out to differentiate from + # the original ResNet-34 model + # stride = 2 if i == 0 else 1 + resnet_model.residual_block(cnn, 256, stride, version, i == 0) + + # ResNet-34 block group 4: removed final block group + # The following 3 lines are intentionally commented out to differentiate + # from the original ResNet-34 model + # for i in range(resnet34_layers[3]): + # stride = 2 if i == 0 else 1 + # resnet_model.residual_block(cnn, 512, stride, version, i == 0) + + def add_inference(self, cnn): + cnn.use_batch_norm = True + cnn.batch_norm_config = {'decay': ssd_constants.BATCH_NORM_DECAY, + 'epsilon': ssd_constants.BATCH_NORM_EPSILON, + 'scale': True} + + with tf.variable_scope(BACKBONE_MODEL_SCOPE_NAME): + self.add_backbone_model(cnn) + + # -------------------------------------------------------------------------- + # SSD additional layers + # -------------------------------------------------------------------------- + + def add_ssd_layer(cnn, depth, k_size, stride, mode): + return cnn.conv( + depth, + k_size, + k_size, + stride, + stride, + mode=mode, + use_batch_norm=False, + kernel_initializer=contrib_layers.xavier_initializer()) + + # Activations for feature maps of different layers + self.activations = [cnn.top_layer] + # Conv7_1, Conv7_2 + # Input 38x38, output 19x19 + add_ssd_layer(cnn, 256, 1, 1, 'valid') + self.activations.append(add_ssd_layer(cnn, 512, 3, 2, 'same')) + + # Conv8_1, Conv8_2 + # Input 19x19, output 10x10 + add_ssd_layer(cnn, 256, 1, 1, 'valid') + self.activations.append(add_ssd_layer(cnn, 512, 3, 2, 'same')) + + # Conv9_1, Conv9_2 + # Input 10x10, output 5x5 + add_ssd_layer(cnn, 128, 1, 1, 'valid') + self.activations.append(add_ssd_layer(cnn, 256, 3, 2, 'same')) + + # Conv10_1, Conv10_2 + # Input 5x5, output 3x3 + add_ssd_layer(cnn, 128, 1, 1, 'valid') + self.activations.append(add_ssd_layer(cnn, 256, 3, 1, 'valid')) + + # Conv11_1, Conv11_2 + # Input 3x3, output 1x1 + add_ssd_layer(cnn, 128, 1, 1, 'valid') + self.activations.append(add_ssd_layer(cnn, 256, 3, 1, 'valid')) + + self.loc = [] + self.conf = [] + + for nd, ac, oc in zip(self.num_dboxes, self.activations, self.out_chan): + l = cnn.conv( + nd * 4, + 3, + 3, + 1, + 1, + input_layer=ac, + num_channels_in=oc, + activation=None, + use_batch_norm=False, + kernel_initializer=contrib_layers.xavier_initializer()) + scale = l.get_shape()[-1] + # shape = [batch_size, nd * 4, scale, scale] + l = tf.reshape(l, [self.batch_size, nd, 4, scale, scale]) + # shape = [batch_size, nd, 4, scale, scale] + l = tf.transpose(l, [0, 1, 3, 4, 2]) + # shape = [batch_size, nd, scale, scale, 4] + self.loc.append(tf.reshape(l, [self.batch_size, -1, 4])) + # shape = [batch_size, nd * scale * scale, 4] + + c = cnn.conv( + nd * self.label_num, + 3, + 3, + 1, + 1, + input_layer=ac, + num_channels_in=oc, + activation=None, + use_batch_norm=False, + kernel_initializer=contrib_layers.xavier_initializer()) + # shape = [batch_size, nd * label_num, scale, scale] + c = tf.reshape(c, [self.batch_size, nd, self.label_num, scale, scale]) + # shape = [batch_size, nd, label_num, scale, scale] + c = tf.transpose(c, [0, 1, 3, 4, 2]) + # shape = [batch_size, nd, scale, scale, label_num] + self.conf.append(tf.reshape(c, [self.batch_size, -1, self.label_num])) + # shape = [batch_size, nd * scale * scale, label_num] + + # Shape of locs: [batch_size, NUM_SSD_BOXES, 4] + # Shape of confs: [batch_size, NUM_SSD_BOXES, label_num] + locs, confs = tf.concat(self.loc, 1), tf.concat(self.conf, 1) + + # Pack location and confidence outputs into a single output layer + # Shape of logits: [batch_size, NUM_SSD_BOXES, 4+label_num] + logits = tf.concat([locs, confs], 2) + + cnn.top_layer = logits + cnn.top_size = 4 + self.label_num + + return cnn.top_layer + + def get_learning_rate(self, global_step, batch_size): + rescaled_lr = self.get_scaled_base_learning_rate(batch_size) + # Defined in MLPerf reference model + boundaries = [160000, 200000] + boundaries = [b * self.base_lr_batch_size // batch_size for b in boundaries] + decays = [1, 0.1, 0.01] + learning_rates = [rescaled_lr * d for d in decays] + lr = tf.train.piecewise_constant(global_step, boundaries, learning_rates) + warmup_steps = int(118287 / batch_size * 5) + warmup_lr = ( + rescaled_lr * tf.cast(global_step, tf.float32) / tf.cast( + warmup_steps, tf.float32)) + return tf.cond(global_step < warmup_steps, lambda: warmup_lr, lambda: lr) + + def get_scaled_base_learning_rate(self, batch_size): + """Calculates base learning rate for creating lr schedule. + + In replicated mode, gradients are summed rather than averaged which, with + the sgd and momentum optimizers, increases the effective learning rate by + lr * num_gpus. Dividing the base lr by num_gpus negates the increase. + + Args: + batch_size: Total batch-size. + + Returns: + Base learning rate to use to create lr schedule. + """ + base_lr = self.learning_rate + if self.params.variable_update == 'replicated': + base_lr = self.learning_rate / self.params.num_gpus + scaled_lr = base_lr * (batch_size / self.base_lr_batch_size) + return scaled_lr + + def _collect_backbone_vars(self): + backbone_vars = tf.get_collection( + tf.GraphKeys.GLOBAL_VARIABLES, scope='.*'+ BACKBONE_MODEL_SCOPE_NAME) + var_list = {} + + # Assume variables in the checkpoint are following the naming convention of + # a model checkpoint trained with TF official model + # TODO(haoyuzhang): the following variable name parsing is hacky and easy + # to break if there is change in naming convention of either benchmarks or + # official models. + for v in backbone_vars: + # conv2d variable example (model <-- checkpoint): + # v/cg/conv24/conv2d/kernel:0 <-- conv2d_24/kernel + if 'conv2d' in v.name: + re_match = re.search(r'conv(\d+)/conv2d/(.+):', v.name) + if re_match: + layer_id = int(re_match.group(1)) + param_name = re_match.group(2) + vname_in_ckpt = self._var_name_in_official_model_ckpt( + 'conv2d', layer_id, param_name) + var_list[vname_in_ckpt] = v + + # batchnorm varariable example: + # v/cg/conv24/batchnorm25/gamma:0 <-- batch_normalization_25/gamma + elif 'batchnorm' in v.name: + re_match = re.search(r'batchnorm(\d+)/(.+):', v.name) + if re_match: + layer_id = int(re_match.group(1)) + param_name = re_match.group(2) + vname_in_ckpt = self._var_name_in_official_model_ckpt( + 'batch_normalization', layer_id, param_name) + var_list[vname_in_ckpt] = v + + return var_list + + def _var_name_in_official_model_ckpt(self, layer_name, layer_id, param_name): + """Return variable names according to convention in TF official models.""" + vname_in_ckpt = layer_name + if layer_id > 0: + vname_in_ckpt += '_' + str(layer_id) + vname_in_ckpt += '/' + param_name + return vname_in_ckpt + + def loss_function(self, inputs, build_network_result): + logits = build_network_result.logits + + # Unpack model output back to locations and confidence scores of predictions + # Shape of pred_loc: [batch_size, NUM_SSD_BOXES, 4] + # Shape of pred_label: [batch_size, NUM_SSD_BOXES, label_num] + pred_loc, pred_label = tf.split(logits, [4, self.label_num], 2) + + # Shape of gt_loc: [batch_size, NUM_SSD_BOXES, 4] + # Shape of gt_label: [batch_size, NUM_SSD_BOXES, 1] + # Shape of num_gt: [batch_size] + _, gt_loc, gt_label, num_gt = inputs + gt_label = tf.cast(gt_label, tf.int32) + + box_loss = self._localization_loss(pred_loc, gt_loc, gt_label, num_gt) + class_loss = self._classification_loss(pred_label, gt_label, num_gt) + + tf.summary.scalar('box_loss', tf.reduce_mean(box_loss)) + tf.summary.scalar('class_loss', tf.reduce_mean(class_loss)) + return class_loss + box_loss + + def _localization_loss(self, pred_loc, gt_loc, gt_label, num_matched_boxes): + """Computes the localization loss. + + Computes the localization loss using smooth l1 loss. + Args: + pred_loc: a flatten tensor that includes all predicted locations. The + shape is [batch_size, num_anchors, 4]. + gt_loc: a tensor representing box regression targets in + [batch_size, num_anchors, 4]. + gt_label: a tensor that represents the classification groundtruth targets. + The shape is [batch_size, num_anchors, 1]. + num_matched_boxes: the number of anchors that are matched to a groundtruth + targets, used as the loss normalizater. The shape is [batch_size]. + Returns: + box_loss: a float32 representing total box regression loss. + """ + mask = tf.greater(tf.squeeze(gt_label), 0) + float_mask = tf.cast(mask, tf.float32) + + smooth_l1 = tf.reduce_sum(tf.losses.huber_loss( + gt_loc, pred_loc, + reduction=tf.losses.Reduction.NONE + ), axis=2) + smooth_l1 = tf.multiply(smooth_l1, float_mask) + box_loss = tf.reduce_sum(smooth_l1, axis=1) + + return tf.reduce_mean(box_loss / num_matched_boxes) + + def _classification_loss(self, pred_label, gt_label, num_matched_boxes): + """Computes the classification loss. + + Computes the classification loss with hard negative mining. + Args: + pred_label: a flatten tensor that includes all predicted class. The shape + is [batch_size, num_anchors, num_classes]. + gt_label: a tensor that represents the classification groundtruth targets. + The shape is [batch_size, num_anchors, 1]. + num_matched_boxes: the number of anchors that are matched to a groundtruth + targets. This is used as the loss normalizater. + + Returns: + box_loss: a float32 representing total box regression loss. + """ + cross_entropy = tf.losses.sparse_softmax_cross_entropy( + gt_label, pred_label, reduction=tf.losses.Reduction.NONE) + + mask = tf.greater(tf.squeeze(gt_label), 0) + float_mask = tf.cast(mask, tf.float32) + + # Hard example mining + neg_masked_cross_entropy = cross_entropy * (1 - float_mask) + relative_position = tf.argsort( + tf.argsort( + neg_masked_cross_entropy, direction='DESCENDING')) + num_neg_boxes = tf.minimum( + tf.to_int32(num_matched_boxes) * ssd_constants.NEGS_PER_POSITIVE, + ssd_constants.NUM_SSD_BOXES) + top_k_neg_mask = tf.cast(tf.less( + relative_position, + tf.tile(num_neg_boxes[:, tf.newaxis], (1, ssd_constants.NUM_SSD_BOXES)) + ), tf.float32) + + class_loss = tf.reduce_sum( + tf.multiply(cross_entropy, float_mask + top_k_neg_mask), axis=1) + + return tf.reduce_mean(class_loss / num_matched_boxes) + + def add_backbone_saver(self): + # Create saver with mapping from variable names in checkpoint of backbone + # model to variables in SSD model + backbone_var_list = self._collect_backbone_vars() + self.backbone_savers.append(tf.train.Saver(backbone_var_list)) + + def load_backbone_model(self, sess, backbone_model_path): + for saver in self.backbone_savers: + saver.restore(sess, backbone_model_path) + + def get_input_data_types(self, subset): + if subset == 'validation': + return [self.data_type, tf.float32, tf.float32, tf.float32, tf.int32] + return [self.data_type, tf.float32, tf.float32, tf.float32] + + def get_input_shapes(self, subset): + """Return encoded tensor shapes for train and eval data respectively.""" + if subset == 'validation': + # Validation data shapes: + # 1. images + # 2. ground truth locations of boxes + # 3. ground truth classes of objects in boxes + # 4. source image IDs + # 5. raw image shapes + return [ + [self.batch_size, self.image_size, self.image_size, self.depth], + [self.batch_size, ssd_constants.MAX_NUM_EVAL_BOXES, 4], + [self.batch_size, ssd_constants.MAX_NUM_EVAL_BOXES, 1], + [self.batch_size], + [self.batch_size, 3], + ] + + # Training data shapes: + # 1. images + # 2. ground truth locations of boxes + # 3. ground truth classes of objects in boxes + # 4. numbers of objects in images + return [ + [self.batch_size, self.image_size, self.image_size, self.depth], + [self.batch_size, ssd_constants.NUM_SSD_BOXES, 4], + [self.batch_size, ssd_constants.NUM_SSD_BOXES, 1], + [self.batch_size] + ] + + def accuracy_function(self, inputs, logits): + """Returns the ops to measure the mean precision of the model.""" + try: + import ssd_dataloader # pylint: disable=g-import-not-at-top + from object_detection.box_coders import faster_rcnn_box_coder # pylint: disable=g-import-not-at-top + from object_detection.core import box_coder # pylint: disable=g-import-not-at-top + from object_detection.core import box_list # pylint: disable=g-import-not-at-top + except ImportError: + raise ImportError('To use the COCO dataset, you must clone the ' + 'repo https://github.com/tensorflow/models and add ' + 'tensorflow/models and tensorflow/models/research to ' + 'the PYTHONPATH, and compile the protobufs by ' + 'following https://github.com/tensorflow/models/blob/' + 'master/research/object_detection/g3doc/installation.md' + '#protobuf-compilation ; To evaluate using COCO' + 'metric, download and install Python COCO API from' + 'https://github.com/cocodataset/cocoapi') + + # Unpack model output back to locations and confidence scores of predictions + # pred_locs: relative locations (coordinates) of objects in all SSD boxes + # shape: [batch_size, NUM_SSD_BOXES, 4] + # pred_labels: confidence scores of objects being of all categories + # shape: [batch_size, NUM_SSD_BOXES, label_num] + pred_locs, pred_labels = tf.split(logits, [4, self.label_num], 2) + + ssd_box_coder = faster_rcnn_box_coder.FasterRcnnBoxCoder( + scale_factors=ssd_constants.BOX_CODER_SCALES) + anchors = box_list.BoxList( + tf.convert_to_tensor(ssd_dataloader.DefaultBoxes()('ltrb'))) + pred_boxes = box_coder.batch_decode( + encoded_boxes=pred_locs, box_coder=ssd_box_coder, anchors=anchors) + + pred_scores = tf.nn.softmax(pred_labels, axis=2) + + # TODO(haoyuzhang): maybe use `gt_boxes` and `gt_classes` for visualization. + _, gt_boxes, gt_classes, source_id, raw_shape = inputs # pylint: disable=unused-variable + + return { + (constants.UNREDUCED_ACCURACY_OP_PREFIX + + ssd_constants.PRED_BOXES): pred_boxes, + (constants.UNREDUCED_ACCURACY_OP_PREFIX + + ssd_constants.PRED_SCORES): pred_scores, + # TODO(haoyuzhang): maybe use these values for visualization. + # constants.UNREDUCED_ACCURACY_OP_PREFIX+'gt_boxes': gt_boxes, + # constants.UNREDUCED_ACCURACY_OP_PREFIX+'gt_classes': gt_classes, + (constants.UNREDUCED_ACCURACY_OP_PREFIX + + ssd_constants.SOURCE_ID): source_id, + (constants.UNREDUCED_ACCURACY_OP_PREFIX + + ssd_constants.RAW_SHAPE): raw_shape + } + + def postprocess(self, results): + """Postprocess results returned from model.""" + try: + import coco_metric # pylint: disable=g-import-not-at-top + except ImportError: + raise ImportError('To use the COCO dataset, you must clone the ' + 'repo https://github.com/tensorflow/models and add ' + 'tensorflow/models and tensorflow/models/research to ' + 'the PYTHONPATH, and compile the protobufs by ' + 'following https://github.com/tensorflow/models/blob/' + 'master/research/object_detection/g3doc/installation.md' + '#protobuf-compilation ; To evaluate using COCO' + 'metric, download and install Python COCO API from' + 'https://github.com/cocodataset/cocoapi') + + pred_boxes = results[ssd_constants.PRED_BOXES] + pred_scores = results[ssd_constants.PRED_SCORES] + # TODO(haoyuzhang): maybe use these values for visualization. + # gt_boxes = results['gt_boxes'] + # gt_classes = results['gt_classes'] + source_id = results[ssd_constants.SOURCE_ID] + raw_shape = results[ssd_constants.RAW_SHAPE] + + # COCO evaluation requires processing COCO_NUM_VAL_IMAGES exactly once. Due + # to rounding errors (i.e., COCO_NUM_VAL_IMAGES % batch_size != 0), setting + # `num_eval_epochs` to 1 is not enough and will often miss some images. We + # expect user to set `num_eval_epochs` to >1, which will leave some unused + # images from previous steps in `predictions`. Here we check if we are doing + # eval at a new global step. + if results['global_step'] > self.eval_global_step: + self.eval_global_step = results['global_step'] + self.predictions.clear() + + for i, sid in enumerate(source_id): + self.predictions[int(sid)] = { + ssd_constants.PRED_BOXES: pred_boxes[i], + ssd_constants.PRED_SCORES: pred_scores[i], + ssd_constants.SOURCE_ID: source_id[i], + ssd_constants.RAW_SHAPE: raw_shape[i] + } + + # COCO metric calculates mAP only after a full epoch of evaluation. Return + # dummy results for top_N_accuracy to be compatible with benchmar_cnn.py. + if len(self.predictions) >= ssd_constants.COCO_NUM_VAL_IMAGES: + log_fn('Got results for all {:d} eval examples. Calculate mAP...'.format( + ssd_constants.COCO_NUM_VAL_IMAGES)) + + annotation_file = os.path.join(self.params.data_dir, + ssd_constants.ANNOTATION_FILE) + # Size of predictions before decoding about 15--30GB, while size after + # decoding is 100--200MB. When using async eval mode, decoding takes + # 20--30 seconds of main thread time but is necessary to avoid OOM during + # inter-process communication. + decoded_preds = coco_metric.decode_predictions(self.predictions.values()) + self.predictions.clear() + + if self.params.collect_eval_results_async: + def _eval_results_getter(): + """Iteratively get eval results from async eval process.""" + while True: + step, eval_results = self.async_eval_results_queue.get() + self.eval_coco_ap = eval_results['COCO/AP'] + mlperf.logger.log_eval_accuracy( + self.eval_coco_ap, step, self.batch_size * self.params.num_gpus, + ssd_constants.COCO_NUM_TRAIN_IMAGES) + if self.reached_target(): + # Reached target, clear all pending messages in predictions queue + # and insert poison pill to stop the async eval process. + while not self.async_eval_predictions_queue.empty(): + self.async_eval_predictions_queue.get() + self.async_eval_predictions_queue.put('STOP') + break + + if not self.async_eval_process: + # Limiting the number of messages in predictions queue to prevent OOM. + # Each message (predictions data) can potentially consume a lot of + # memory, and normally there should only be few messages in the queue. + # If often blocked on this, consider reducing eval frequency. + self.async_eval_predictions_queue = multiprocessing.Queue(2) + self.async_eval_results_queue = multiprocessing.Queue() + + # Reason to use a Process as opposed to Thread is mainly the + # computationally intensive eval runner. Python multithreading is not + # truly running in parallel, a runner thread would get significantly + # delayed (or alternatively delay the main thread). + self.async_eval_process = multiprocessing.Process( + target=coco_metric.async_eval_runner, + args=(self.async_eval_predictions_queue, + self.async_eval_results_queue, + annotation_file)) + self.async_eval_process.daemon = True + self.async_eval_process.start() + + self.async_eval_results_getter_thread = threading.Thread( + target=_eval_results_getter, args=()) + self.async_eval_results_getter_thread.daemon = True + self.async_eval_results_getter_thread.start() + + self.async_eval_predictions_queue.put( + (self.eval_global_step, decoded_preds)) + return {'top_1_accuracy': 0, 'top_5_accuracy': 0.} + + eval_results = coco_metric.compute_map(decoded_preds, annotation_file) + self.eval_coco_ap = eval_results['COCO/AP'] + ret = {'top_1_accuracy': self.eval_coco_ap, 'top_5_accuracy': 0.} + for metric_key, metric_value in eval_results.items(): + ret[constants.SIMPLE_VALUE_RESULT_PREFIX + metric_key] = metric_value + mlperf.logger.log_eval_accuracy(self.eval_coco_ap, self.eval_global_step, + self.batch_size * self.params.num_gpus, + ssd_constants.COCO_NUM_TRAIN_IMAGES) + return ret + log_fn('Got {:d} out of {:d} eval examples.' + ' Waiting for the remaining to calculate mAP...'.format( + len(self.predictions), ssd_constants.COCO_NUM_VAL_IMAGES)) + return {'top_1_accuracy': self.eval_coco_ap, 'top_5_accuracy': 0.} + + def get_synthetic_inputs(self, input_name, nclass): + """Generating synthetic data matching real data shape and type.""" + inputs = tf.random_uniform( + self.get_input_shapes('train')[0], dtype=self.data_type) + inputs = variables.VariableV1(inputs, trainable=False, + collections=[tf.GraphKeys.LOCAL_VARIABLES], + name=input_name) + boxes = tf.random_uniform( + [self.batch_size, ssd_constants.NUM_SSD_BOXES, 4], dtype=tf.float32) + classes = tf.random_uniform( + [self.batch_size, ssd_constants.NUM_SSD_BOXES, 1], dtype=tf.float32) + nboxes = tf.random_uniform( + [self.batch_size], minval=1, maxval=10, dtype=tf.float32) + return (inputs, boxes, classes, nboxes) + + def reached_target(self): + return (self.params.stop_at_top_1_accuracy and + self.eval_coco_ap >= self.params.stop_at_top_1_accuracy) diff --git a/cv/classification/resnet50/tensorflow/models/trivial_model.py b/cv/classification/resnet50/tensorflow/models/trivial_model.py new file mode 100644 index 0000000000000000000000000000000000000000..3ba84d72672c6e3c0903c9af2d0dddecdd7fa2c1 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/models/trivial_model.py @@ -0,0 +1,73 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Trivial model configuration.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow.compat.v1 as tf +from models import model + + +class TrivialModel(model.CNNModel): + """Trivial model configuration.""" + + def __init__(self, params=None): + super(TrivialModel, self).__init__( + 'trivial', 224 + 3, 32, 0.005, params=params) + + def add_inference(self, cnn): + cnn.reshape([-1, 227 * 227 * 3]) + cnn.affine(1) + cnn.affine(4096) + + +class TrivialCifar10Model(model.CNNModel): + """Trivial cifar10 model configuration.""" + + def __init__(self, params=None): + super(TrivialCifar10Model, self).__init__( + 'trivial', 32, 32, 0.005, params=params) + + def add_inference(self, cnn): + cnn.reshape([-1, 32 * 32 * 3]) + cnn.affine(1) + cnn.affine(4096) + + +class TrivialSSD300Model(model.CNNModel): + """Trivial SSD300 model configuration.""" + + def __init__(self, params=None): + super(TrivialSSD300Model, self).__init__( + 'trivial', 300, params.batch_size, 0.005, params=params) + + def add_inference(self, cnn): + cnn.reshape([-1, 300 * 300 * 3]) + cnn.affine(1) + cnn.affine(4096) + + def get_input_shapes(self, subset): + return [[self.batch_size, 300, 300, 3], + [self.batch_size, 8732, 4], + [self.batch_size, 8732, 1], + [self.batch_size]] + + def loss_function(self, inputs, build_network_result): + images, _, _, labels = inputs + labels = tf.cast(labels, tf.int32) + return super(TrivialSSD300Model, self).loss_function( + (images, labels), build_network_result) diff --git a/cv/classification/resnet50/tensorflow/models/vgg_model.py b/cv/classification/resnet50/tensorflow/models/vgg_model.py new file mode 100644 index 0000000000000000000000000000000000000000..938385c95bbc916ca8677bca232085334a48bbf4 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/models/vgg_model.py @@ -0,0 +1,83 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Vgg model configuration. + +Includes multiple models: vgg11, vgg16, vgg19, corresponding to + model A, D, and E in Table 1 of [1]. + +References: +[1] Simonyan, Karen, Andrew Zisserman + Very Deep Convolutional Networks for Large-Scale Image Recognition + arXiv:1409.1556 (2014) +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from six.moves import xrange # pylint: disable=redefined-builtin +from models import model + + +def _construct_vgg(cnn, num_conv_layers): + """Build vgg architecture from blocks.""" + assert len(num_conv_layers) == 5 + for _ in xrange(num_conv_layers[0]): + cnn.conv(64, 3, 3) + cnn.mpool(2, 2) + for _ in xrange(num_conv_layers[1]): + cnn.conv(128, 3, 3) + cnn.mpool(2, 2) + for _ in xrange(num_conv_layers[2]): + cnn.conv(256, 3, 3) + cnn.mpool(2, 2) + for _ in xrange(num_conv_layers[3]): + cnn.conv(512, 3, 3) + cnn.mpool(2, 2) + for _ in xrange(num_conv_layers[4]): + cnn.conv(512, 3, 3) + cnn.mpool(2, 2) + cnn.reshape([-1, 512 * 7 * 7]) + cnn.affine(4096) + cnn.dropout() + cnn.affine(4096) + cnn.dropout() + + +class Vgg11Model(model.CNNModel): + + def __init__(self, params=None): + super(Vgg11Model, self).__init__('vgg11', 224, 64, 0.005, params=params) + + def add_inference(self, cnn): + _construct_vgg(cnn, [1, 1, 2, 2, 2]) + + +class Vgg16Model(model.CNNModel): + + def __init__(self, params=None): + super(Vgg16Model, self).__init__('vgg16', 224, 64, 0.005, params=params) + + def add_inference(self, cnn): + _construct_vgg(cnn, [2, 2, 3, 3, 3]) + + +class Vgg19Model(model.CNNModel): + + def __init__(self, params=None): + super(Vgg19Model, self).__init__('vgg19', 224, 64, 0.005, params=params) + + def add_inference(self, cnn): + _construct_vgg(cnn, [2, 2, 4, 4, 4]) diff --git a/cv/classification/resnet50/tensorflow/platforms/__init__.py b/cv/classification/resnet50/tensorflow/platforms/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cv/classification/resnet50/tensorflow/platforms/default/__init__.py b/cv/classification/resnet50/tensorflow/platforms/default/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cv/classification/resnet50/tensorflow/platforms/default/util.py b/cv/classification/resnet50/tensorflow/platforms/default/util.py new file mode 100644 index 0000000000000000000000000000000000000000..e64b9137fa6ccc5d12b07126dcf30265574eae41 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/platforms/default/util.py @@ -0,0 +1,90 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Utility code for the default platform.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os +import sys +import tempfile + +import cnn_util +from models import model_config + + +_ROOT_PROJECT_DIR = os.path.dirname(cnn_util.__file__) + + +def define_platform_params(): + """Defines platform-specific parameters. + + Currently there are no platform-specific parameters to be defined. + """ + pass + + +def get_cluster_manager(params, config_proto): + """Returns the cluster manager to be used.""" + return cnn_util.GrpcClusterManager(params, config_proto) + + +def get_command_to_run_python_module(module): + """Returns a command to run a Python module.""" + python_interpretter = sys.executable + if not python_interpretter: + raise ValueError('Could not find Python interpreter') + return [python_interpretter, + os.path.join(_ROOT_PROJECT_DIR, module + '.py')] + + +def get_test_output_dir(): + """Returns a directory where test outputs should be placed.""" + base_dir = os.environ.get('TEST_OUTPUTS_DIR', + '/tmp/tf_cnn_benchmarks_test_outputs') + if not os.path.exists(base_dir): + os.mkdir(base_dir) + return tempfile.mkdtemp(dir=base_dir) + + +def get_test_data_dir(): + """Returns the path to the test_data directory.""" + return os.path.join(_ROOT_PROJECT_DIR, 'test_data') + + +def get_ssd_backborn_model_file(): + raise NotImplementedError + + +def get_ssd_backboard_data_dir(): + raise NotImplementedError + + +def _initialize(params, config_proto): + del params, config_proto + model_config.register_tf1_models() + + +_is_initalized = False + + +def initialize(params, config_proto): + global _is_initalized + if _is_initalized: + return + _is_initalized = True + _initialize(params, config_proto) diff --git a/cv/classification/resnet50/tensorflow/platforms/util.py b/cv/classification/resnet50/tensorflow/platforms/util.py new file mode 100644 index 0000000000000000000000000000000000000000..9d569691bdec804080d62d11f8a200cd1ec2f2a9 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/platforms/util.py @@ -0,0 +1,30 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Utility code for a certain platform. + +This file simply imports everything from the default platform. To switch to a +different platform, the import statement can be changed to point to a new +platform. + +Creating a custom platform can be useful to, e.g., run some initialization code +required by the platform or register a platform-specific model. +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from platforms.default.util import * # pylint: disable=unused-import,wildcard-import diff --git a/cv/classification/resnet50/tensorflow/preprocessing.py b/cv/classification/resnet50/tensorflow/preprocessing.py new file mode 100644 index 0000000000000000000000000000000000000000..43cca8c2adc810150c726f07994c0042f3f4b7f4 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/preprocessing.py @@ -0,0 +1,1336 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Image pre-processing utilities. +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import math +from six.moves import xrange # pylint: disable=redefined-builtin +import tensorflow.compat.v1 as tf + +# pylint: disable=g-direct-tensorflow-import +import cnn_util +try: + from tensorflow.python.data.experimental.ops import threadpool +except: + threadpool = None +from tensorflow.python.data.ops import multi_device_iterator_ops +from tensorflow.python.framework import function +from tensorflow.python.layers import utils +from tensorflow.python.ops import data_flow_ops +from tensorflow.python.platform import gfile +import mlperf +import numpy as np + +tf.random.set_random_seed(42) +np.random.seed(42) + +def parse_example_proto(example_serialized): + """Parses an Example proto containing a training example of an image. + + The output of the build_image_data.py image preprocessing script is a dataset + containing serialized Example protocol buffers. Each Example proto contains + the following fields: + + image/height: 462 + image/width: 581 + image/colorspace: 'RGB' + image/channels: 3 + image/class/label: 615 + image/class/synset: 'n03623198' + image/class/text: 'knee pad' + image/object/bbox/xmin: 0.1 + image/object/bbox/xmax: 0.9 + image/object/bbox/ymin: 0.2 + image/object/bbox/ymax: 0.6 + image/object/bbox/label: 615 + image/format: 'JPEG' + image/filename: 'ILSVRC2012_val_00041207.JPEG' + image/encoded: + + Args: + example_serialized: scalar Tensor tf.string containing a serialized + Example protocol buffer. + + Returns: + image_buffer: Tensor tf.string containing the contents of a JPEG file. + label: Tensor tf.int32 containing the label. + bbox: 3-D float Tensor of bounding boxes arranged [1, num_boxes, coords] + where each coordinate is [0, 1) and the coordinates are arranged as + [ymin, xmin, ymax, xmax]. + text: Tensor tf.string containing the human-readable label. + """ + # Dense features in Example proto. + feature_map = { + 'image/encoded': tf.FixedLenFeature([], dtype=tf.string, + default_value=''), + 'image/class/label': tf.FixedLenFeature([1], dtype=tf.int64, + default_value=-1), + 'image/class/text': tf.FixedLenFeature([], dtype=tf.string, + default_value=''), + } + sparse_float32 = tf.VarLenFeature(dtype=tf.float32) + # Sparse features in Example proto. + feature_map.update( + {k: sparse_float32 for k in ['image/object/bbox/xmin', + 'image/object/bbox/ymin', + 'image/object/bbox/xmax', + 'image/object/bbox/ymax']}) + + features = tf.parse_single_example(example_serialized, feature_map) + label = tf.cast(features['image/class/label'], dtype=tf.int32) + + xmin = tf.expand_dims(features['image/object/bbox/xmin'].values, 0) + ymin = tf.expand_dims(features['image/object/bbox/ymin'].values, 0) + xmax = tf.expand_dims(features['image/object/bbox/xmax'].values, 0) + ymax = tf.expand_dims(features['image/object/bbox/ymax'].values, 0) + + # Note that we impose an ordering of (y, x) just to make life difficult. + bbox = tf.concat([ymin, xmin, ymax, xmax], 0) + + # Force the variable number of bounding boxes into the shape + # [1, num_boxes, coords]. + bbox = tf.expand_dims(bbox, 0) + bbox = tf.transpose(bbox, [0, 2, 1]) + + return features['image/encoded'], label, bbox, features['image/class/text'] + + +_RESIZE_METHOD_MAP = { + 'nearest': tf.image.ResizeMethod.NEAREST_NEIGHBOR, + 'bilinear': tf.image.ResizeMethod.BILINEAR, + 'bicubic': tf.image.ResizeMethod.BICUBIC, + 'area': tf.image.ResizeMethod.AREA +} + + +def get_image_resize_method(resize_method, batch_position=0): + """Get tensorflow resize method. + + If resize_method is 'round_robin', return different methods based on batch + position in a round-robin fashion. NOTE: If the batch size is not a multiple + of the number of methods, then the distribution of methods will not be + uniform. + + Args: + resize_method: (string) nearest, bilinear, bicubic, area, or round_robin. + batch_position: position of the image in a batch. NOTE: this argument can + be an integer or a tensor + Returns: + one of resize type defined in tf.image.ResizeMethod. + """ + + if resize_method != 'round_robin': + return _RESIZE_METHOD_MAP[resize_method] + + # return a resize method based on batch position in a round-robin fashion. + resize_methods = list(_RESIZE_METHOD_MAP.values()) + def lookup(index): + return resize_methods[index] + + def resize_method_0(): + return utils.smart_cond(batch_position % len(resize_methods) == 0, + lambda: lookup(0), resize_method_1) + + def resize_method_1(): + return utils.smart_cond(batch_position % len(resize_methods) == 1, + lambda: lookup(1), resize_method_2) + + def resize_method_2(): + return utils.smart_cond(batch_position % len(resize_methods) == 2, + lambda: lookup(2), lambda: lookup(3)) + + # NOTE(jsimsa): Unfortunately, we cannot use a single recursive function here + # because TF would not be able to construct a finite graph. + + return resize_method_0() + + +def decode_jpeg(image_buffer, scope=None): # , dtype=tf.float32): + """Decode a JPEG string into one 3-D float image Tensor. + + Args: + image_buffer: scalar string Tensor. + scope: Optional scope for op_scope. + Returns: + 3-D float Tensor with values ranging from [0, 1). + """ + # with tf.op_scope([image_buffer], scope, 'decode_jpeg'): + # with tf.name_scope(scope, 'decode_jpeg', [image_buffer]): + with tf.name_scope(scope or 'decode_jpeg'): + # Decode the string as an RGB JPEG. + # Note that the resulting image contains an unknown height and width + # that is set dynamically by decode_jpeg. In other words, the height + # and width of image is unknown at compile-time. + image = tf.image.decode_jpeg(image_buffer, channels=3, + fancy_upscaling=False, + dct_method='INTEGER_FAST') + + # image = tf.Print(image, [tf.shape(image)], 'Image shape: ') + + return image + + +_R_MEAN = 123.68 +_G_MEAN = 116.78 +_B_MEAN = 103.94 +_CHANNEL_MEANS = [_R_MEAN, _G_MEAN, _B_MEAN] + + +def normalized_image(images): + # Rescale from [0, 255] to [0, 2] + images = tf.multiply(images, 1. / 127.5) + # Rescale to [-1, 1] + mlperf.logger.log(key=mlperf.tags.INPUT_MEAN_SUBTRACTION, value=[1.0] * 3) + return tf.subtract(images, 1.0) + + +def eval_image(image, + height, + width, + batch_position, + resize_method, + summary_verbosity=0): + """Get the image for model evaluation. + + We preprocess the image simiarly to Slim, see + https://github.com/tensorflow/models/blob/master/research/slim/preprocessing/vgg_preprocessing.py + Validation images do not have bounding boxes, so to crop the image, we first + resize the image such that the aspect ratio is maintained and the resized + height and width are both at least 1.145 times `height` and `width` + respectively. Then, we do a central crop to size (`height`, `width`). + + Args: + image: 3-D float Tensor representing the image. + height: The height of the image that will be returned. + width: The width of the image that will be returned. + batch_position: position of the image in a batch, which affects how images + are distorted and resized. NOTE: this argument can be an integer or a + tensor + resize_method: one of the strings 'round_robin', 'nearest', 'bilinear', + 'bicubic', or 'area'. + summary_verbosity: Verbosity level for summary ops. Pass 0 to disable both + summaries and checkpoints. + Returns: + An image of size (output_height, output_width, 3) that is resized and + cropped as described above. + """ + # TODO(reedwm): Currently we resize then crop. Investigate if it's faster to + # crop then resize. + with tf.name_scope('eval_image'): + if summary_verbosity >= 3: + tf.summary.image( + 'original_image', tf.expand_dims(image, 0)) + + shape = tf.shape(image) + image_height = shape[0] + image_width = shape[1] + image_height_float = tf.cast(image_height, tf.float32) + image_width_float = tf.cast(image_width, tf.float32) + + # This value is chosen so that in resnet, images are cropped to a size of + # 256 x 256, which matches what other implementations do. The final image + # size for resnet is 224 x 224, and floor(224 * 1.145) = 256. + scale_factor = 1.145 + + # Compute resize_height and resize_width to be the minimum values such that + # 1. The aspect ratio is maintained (i.e. resize_height / resize_width is + # image_height / image_width), and + # 2. resize_height >= height * `scale_factor`, and + # 3. resize_width >= width * `scale_factor` + max_ratio = tf.maximum(height / image_height_float, + width / image_width_float) + resize_height = tf.cast(image_height_float * max_ratio * scale_factor, + tf.int32) + resize_width = tf.cast(image_width_float * max_ratio * scale_factor, + tf.int32) + mlperf.logger.log_input_resize_aspect_preserving(height, width, + scale_factor) + + # Resize the image to shape (`resize_height`, `resize_width`) + image_resize_method = get_image_resize_method(resize_method, batch_position) + distorted_image = tf.image.resize_images(image, + [resize_height, resize_width], + image_resize_method, + align_corners=False) + + # Do a central crop of the image to size (height, width). + # MLPerf requires us to log (height, width) with two different keys. + mlperf.logger.log(key=mlperf.tags.INPUT_CENTRAL_CROP, value=[height, width]) + mlperf.logger.log(key=mlperf.tags.INPUT_RESIZE, value=[height, width]) + total_crop_height = (resize_height - height) + crop_top = total_crop_height // 2 + total_crop_width = (resize_width - width) + crop_left = total_crop_width // 2 + distorted_image = tf.slice(distorted_image, [crop_top, crop_left, 0], + [height, width, 3]) + + distorted_image.set_shape([height, width, 3]) + if summary_verbosity >= 3: + tf.summary.image( + 'cropped_resized_image', tf.expand_dims(distorted_image, 0)) + image = distorted_image + return image + + +def train_image(image_buffer, + height, + width, + bbox, + batch_position, + resize_method, + distortions, + scope=None, + summary_verbosity=0, + distort_color_in_yiq=False, + fuse_decode_and_crop=False): + """Distort one image for training a network. + + Distorting images provides a useful technique for augmenting the data + set during training in order to make the network invariant to aspects + of the image that do not effect the label. + + Args: + image_buffer: scalar string Tensor representing the raw JPEG image buffer. + height: integer + width: integer + bbox: 3-D float Tensor of bounding boxes arranged [1, num_boxes, coords] + where each coordinate is [0, 1) and the coordinates are arranged + as [ymin, xmin, ymax, xmax]. + batch_position: position of the image in a batch, which affects how images + are distorted and resized. NOTE: this argument can be an integer or a + tensor + resize_method: round_robin, nearest, bilinear, bicubic, or area. + distortions: If true, apply full distortions for image colors. + scope: Optional scope for op_scope. + summary_verbosity: Verbosity level for summary ops. Pass 0 to disable both + summaries and checkpoints. + distort_color_in_yiq: distort color of input images in YIQ space. + fuse_decode_and_crop: fuse the decode/crop operation. + Returns: + 3-D float Tensor of distorted image used for training. + """ + # with tf.op_scope([image, height, width, bbox], scope, 'distort_image'): + # with tf.name_scope(scope, 'distort_image', [image, height, width, bbox]): + with tf.name_scope(scope or 'distort_image'): + # A large fraction of image datasets contain a human-annotated bounding box + # delineating the region of the image containing the object of interest. We + # choose to create a new bounding box for the object which is a randomly + # distorted version of the human-annotated bounding box that obeys an + # allowed range of aspect ratios, sizes and overlap with the human-annotated + # bounding box. If no box is supplied, then we assume the bounding box is + # the entire image. + min_object_covered = 0.1 + aspect_ratio_range = [0.75, 1.33] + area_range = [0.05, 1.0] + max_attempts = 100 + mlperf.logger.log(key=mlperf.tags.INPUT_DISTORTED_CROP_MIN_OBJ_COV, + value=min_object_covered) + mlperf.logger.log(key=mlperf.tags.INPUT_DISTORTED_CROP_RATIO_RANGE, + value=aspect_ratio_range) + mlperf.logger.log(key=mlperf.tags.INPUT_DISTORTED_CROP_AREA_RANGE, + value=area_range) + mlperf.logger.log(key=mlperf.tags.INPUT_DISTORTED_CROP_MAX_ATTEMPTS, + value=max_attempts) + + sample_distorted_bounding_box = tf.image.sample_distorted_bounding_box( + tf.image.extract_jpeg_shape(image_buffer), + bounding_boxes=bbox, + min_object_covered=min_object_covered, + aspect_ratio_range=aspect_ratio_range, + area_range=area_range, + max_attempts=max_attempts, + use_image_if_no_bounding_boxes=True) + bbox_begin, bbox_size, distort_bbox = sample_distorted_bounding_box + if summary_verbosity >= 3: + image = tf.image.decode_jpeg(image_buffer, channels=3, + dct_method='INTEGER_FAST') + image = tf.image.convert_image_dtype(image, dtype=tf.float32) + image_with_distorted_box = tf.image.draw_bounding_boxes( + tf.expand_dims(image, 0), distort_bbox) + tf.summary.image( + 'images_with_distorted_bounding_box', + image_with_distorted_box) + + # Crop the image to the specified bounding box. + if fuse_decode_and_crop: + offset_y, offset_x, _ = tf.unstack(bbox_begin) + target_height, target_width, _ = tf.unstack(bbox_size) + crop_window = tf.stack([offset_y, offset_x, target_height, target_width]) + image = tf.image.decode_and_crop_jpeg( + image_buffer, crop_window, channels=3) + else: + image = tf.image.decode_jpeg(image_buffer, channels=3, + dct_method='INTEGER_FAST') + image = tf.slice(image, bbox_begin, bbox_size) + + mlperf.logger.log(key=mlperf.tags.INPUT_RANDOM_FLIP) + distorted_image = tf.image.random_flip_left_right(image) + + # This resizing operation may distort the images because the aspect + # ratio is not respected. + mlperf.logger.log(key=mlperf.tags.INPUT_RESIZE, value=[height, width]) + image_resize_method = get_image_resize_method(resize_method, batch_position) + distorted_image = tf.image.resize_images( + distorted_image, [height, width], + image_resize_method, + align_corners=False) + # Restore the shape since the dynamic slice based upon the bbox_size loses + # the third dimension. + distorted_image.set_shape([height, width, 3]) + if summary_verbosity >= 3: + tf.summary.image('cropped_resized_maybe_flipped_image', + tf.expand_dims(distorted_image, 0)) + + if distortions: + distorted_image = tf.cast(distorted_image, dtype=tf.float32) + # Images values are expected to be in [0,1] for color distortion. + distorted_image /= 255. + # Randomly distort the colors. + distorted_image = distort_color(distorted_image, batch_position, + distort_color_in_yiq=distort_color_in_yiq) + + # Note: This ensures the scaling matches the output of eval_image + distorted_image *= 255 + + if summary_verbosity >= 3: + tf.summary.image( + 'final_distorted_image', + tf.expand_dims(distorted_image, 0)) + return distorted_image + + +def distort_color(image, batch_position=0, distort_color_in_yiq=False, + scope=None): + """Distort the color of the image. + + Each color distortion is non-commutative and thus ordering of the color ops + matters. Ideally we would randomly permute the ordering of the color ops. + Rather then adding that level of complication, we select a distinct ordering + of color ops based on the position of the image in a batch. + + Args: + image: float32 Tensor containing single image. Tensor values should be in + range [0, 1]. + batch_position: the position of the image in a batch. NOTE: this argument + can be an integer or a tensor + distort_color_in_yiq: distort color of input images in YIQ space. + scope: Optional scope for op_scope. + Returns: + color-distorted image + """ + if distort_color_in_yiq: + try: + from tensorflow.contrib.image.python.ops import distort_image_ops # pylint: disable=g-import-not-at-top + except ImportError: + raise ValueError( + 'In TF2, you cannot pass --distortions unless you also pass ' + '--nodistort_color_in_yiq. This is because the random_hsv_in_yiq was ' + 'removed in TF2. --distortions does not improve accuracy on resnet ' + 'so it is not recommended. --nodistort_color_in_yiq also has no ' + 'impact on accuracy, but may hurt performance.') + + with tf.name_scope(scope or 'distort_color'): + + def distort_fn_0(image=image): + """Variant 0 of distort function.""" + image = tf.image.random_brightness(image, max_delta=32. / 255.) + if distort_color_in_yiq: + image = distort_image_ops.random_hsv_in_yiq( + image, lower_saturation=0.5, upper_saturation=1.5, + max_delta_hue=0.2 * math.pi) + else: + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + image = tf.image.random_hue(image, max_delta=0.2) + image = tf.image.random_contrast(image, lower=0.5, upper=1.5) + return image + + def distort_fn_1(image=image): + """Variant 1 of distort function.""" + image = tf.image.random_brightness(image, max_delta=32. / 255.) + image = tf.image.random_contrast(image, lower=0.5, upper=1.5) + if distort_color_in_yiq: + image = distort_image_ops.random_hsv_in_yiq( + image, lower_saturation=0.5, upper_saturation=1.5, + max_delta_hue=0.2 * math.pi) + else: + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + image = tf.image.random_hue(image, max_delta=0.2) + return image + + image = utils.smart_cond(batch_position % 2 == 0, distort_fn_0, + distort_fn_1) + # The random_* ops do not necessarily clamp. + image = tf.clip_by_value(image, 0.0, 1.0) + return image + + +class InputPreprocessor(object): + """Base class for all model preprocessors.""" + + def __init__(self, batch_size, output_shapes): + self.batch_size = batch_size + self.output_shapes = output_shapes + + def supports_datasets(self): + """Whether this preprocessor supports dataset.""" + return False + + def minibatch(self, dataset, subset, params, shift_ratio=-1): + """Returns tensors representing a minibatch of all the input.""" + raise NotImplementedError('Must be implemented by subclass.') + + # The methods added below are only supported/used if supports_datasets() + # returns True. + # TODO(laigd): refactor benchmark_cnn.py and put the logic of + # _build_input_processing() into InputPreprocessor. + + def parse_and_preprocess(self, value, batch_position): + """Function to parse and preprocess an Example proto in input pipeline.""" + raise NotImplementedError('Must be implemented by subclass.') + + # TODO(laigd): figure out how to remove these parameters, since the + # preprocessor itself has self.batch_size, self.num_splits, etc defined. + def build_multi_device_iterator(self, batch_size, num_splits, cpu_device, + params, gpu_devices, dataset, doing_eval): + """Creates a MultiDeviceIterator.""" + assert self.supports_datasets() + assert num_splits == len(gpu_devices) + with tf.name_scope('batch_processing'): + if doing_eval: + subset = 'validation' + else: + subset = 'train' + batch_size_per_split = batch_size // num_splits + ds = self.create_dataset( + batch_size, + num_splits, + batch_size_per_split, + dataset, + subset, + train=(not doing_eval), + datasets_repeat_cached_sample=params.datasets_repeat_cached_sample, + num_threads=params.datasets_num_private_threads, + datasets_use_caching=params.datasets_use_caching, + datasets_parallel_interleave_cycle_length=( + params.datasets_parallel_interleave_cycle_length), + datasets_sloppy_parallel_interleave=( + params.datasets_sloppy_parallel_interleave), + datasets_parallel_interleave_prefetch=( + params.datasets_parallel_interleave_prefetch)) + multi_device_iterator = multi_device_iterator_ops.MultiDeviceIterator( + ds, + gpu_devices, + source_device=cpu_device, + max_buffer_size=params.multi_device_iterator_max_buffer_size) + tf.add_to_collection(tf.GraphKeys.TABLE_INITIALIZERS, + multi_device_iterator.initializer) + return multi_device_iterator + + def create_dataset(self, + batch_size, + num_splits, + batch_size_per_split, + dataset, + subset, + train, + datasets_repeat_cached_sample, + num_threads=None, + datasets_use_caching=False, + datasets_parallel_interleave_cycle_length=None, + datasets_sloppy_parallel_interleave=False, + datasets_parallel_interleave_prefetch=None): + """Creates a dataset for the benchmark.""" + raise NotImplementedError('Must be implemented by subclass.') + + def create_iterator(self, ds): + ds_iterator = tf.data.make_initializable_iterator(ds) + tf.add_to_collection(tf.GraphKeys.TABLE_INITIALIZERS, + ds_iterator.initializer) + return ds_iterator + + def minibatch_fn(self, batch_size, model_input_shapes, num_splits, + dataset, subset, train, datasets_repeat_cached_sample, + num_threads, datasets_use_caching, + datasets_parallel_interleave_cycle_length, + datasets_sloppy_parallel_interleave, + datasets_parallel_interleave_prefetch): + """Returns a function and list of args for the fn to create a minibatch.""" + assert self.supports_datasets() + batch_size_per_split = batch_size // num_splits + assert batch_size_per_split == model_input_shapes[0][0] + with tf.name_scope('batch_processing'): + ds = self.create_dataset(batch_size, num_splits, batch_size_per_split, + dataset, subset, train, + datasets_repeat_cached_sample, num_threads, + datasets_use_caching, + datasets_parallel_interleave_cycle_length, + datasets_sloppy_parallel_interleave, + datasets_parallel_interleave_prefetch) + ds_iterator = self.create_iterator(ds) + + ds_iterator_string_handle = ds_iterator.string_handle() + + @function.Defun(tf.string) + def _fn(h): + remote_iterator = tf.data.Iterator.from_string_handle( + h, ds_iterator.output_types, ds_iterator.output_shapes) + input_list = remote_iterator.get_next() + reshaped_input_list = [ + tf.reshape(input_list[i], shape=model_input_shapes[i]) + for i in range(len(input_list)) + ] + return reshaped_input_list + + return _fn, [ds_iterator_string_handle] + + +class BaseImagePreprocessor(InputPreprocessor): + """Base class for all image model preprocessors.""" + + def __init__(self, + batch_size, + output_shapes, + num_splits, + dtype, + train, + distortions, + resize_method, + shift_ratio=-1, + summary_verbosity=0, + distort_color_in_yiq=True, + fuse_decode_and_crop=True, + match_mlperf=False): + super(BaseImagePreprocessor, self).__init__(batch_size, output_shapes) + image_shape = output_shapes[0] + # image_shape is in form (batch_size, height, width, depth) + self.height = image_shape[1] + self.width = image_shape[2] + self.depth = image_shape[3] + self.num_splits = num_splits + self.dtype = dtype + self.train = train + self.resize_method = resize_method + self.shift_ratio = shift_ratio + self.distortions = distortions + self.distort_color_in_yiq = distort_color_in_yiq + self.fuse_decode_and_crop = fuse_decode_and_crop + if self.batch_size % self.num_splits != 0: + raise ValueError( + ('batch_size must be a multiple of num_splits: ' + 'batch_size %d, num_splits: %d') % + (self.batch_size, self.num_splits)) + self.batch_size_per_split = self.batch_size // self.num_splits + self.summary_verbosity = summary_verbosity + self.match_mlperf = match_mlperf + + def parse_and_preprocess(self, value, batch_position): + assert self.supports_datasets() + image_buffer, label_index, bbox, _ = parse_example_proto(value) + if self.match_mlperf: + bbox = tf.zeros((1, 0, 4), dtype=bbox.dtype) + mlperf.logger.log(key=mlperf.tags.INPUT_CROP_USES_BBOXES, value=False) + else: + mlperf.logger.log(key=mlperf.tags.INPUT_CROP_USES_BBOXES, value=True) + image = self.preprocess(image_buffer, bbox, batch_position) + return (image, label_index) + + def preprocess(self, image_buffer, bbox, batch_position): + raise NotImplementedError('Must be implemented by subclass.') + + def create_dataset(self, + batch_size, + num_splits, + batch_size_per_split, + dataset, + subset, + train, + datasets_repeat_cached_sample, + num_threads=None, + datasets_use_caching=False, + datasets_parallel_interleave_cycle_length=None, + datasets_sloppy_parallel_interleave=False, + datasets_parallel_interleave_prefetch=None): + """Creates a dataset for the benchmark.""" + assert self.supports_datasets() + glob_pattern = dataset.tf_record_pattern(subset) + file_names = gfile.Glob(glob_pattern) + if not file_names: + raise ValueError('Found no files in --data_dir matching: {}' + .format(glob_pattern)) + ds = tf.data.TFRecordDataset.list_files(file_names, shuffle=train) + ds = ds.apply( + tf.data.experimental.parallel_interleave( + tf.data.TFRecordDataset, + cycle_length=datasets_parallel_interleave_cycle_length or 10, + sloppy=datasets_sloppy_parallel_interleave, + prefetch_input_elements=datasets_parallel_interleave_prefetch)) + if datasets_repeat_cached_sample: + # Repeat a single sample element indefinitely to emulate memory-speed IO. + ds = ds.take(1).cache().repeat() + counter = tf.data.Dataset.range(batch_size) + counter = counter.repeat() + ds = tf.data.Dataset.zip((ds, counter)) + ds = ds.prefetch(buffer_size=batch_size) + if datasets_use_caching: + ds = ds.cache() + if train: + buffer_size = 10000 + mlperf.logger.log(key=mlperf.tags.INPUT_SHARD, value=buffer_size) + ds = ds.apply( + tf.data.experimental.shuffle_and_repeat(buffer_size=buffer_size)) + else: + ds = ds.repeat() + ds = ds.apply( + tf.data.experimental.map_and_batch( + map_func=self.parse_and_preprocess, + batch_size=batch_size_per_split, + num_parallel_batches=num_splits)) + ds = ds.prefetch(buffer_size=num_splits) + if num_threads and threadpool is not None: + ds = threadpool.override_threadpool( + ds, + threadpool.PrivateThreadPool( + num_threads, display_name='input_pipeline_thread_pool')) + return ds + + +class RecordInputImagePreprocessor(BaseImagePreprocessor): + """Preprocessor for images with RecordInput format.""" + + def preprocess(self, image_buffer, bbox, batch_position): + """Preprocessing image_buffer as a function of its batch position.""" + if self.train: + image = train_image(image_buffer, self.height, self.width, bbox, + batch_position, self.resize_method, self.distortions, + None, summary_verbosity=self.summary_verbosity, + distort_color_in_yiq=self.distort_color_in_yiq, + fuse_decode_and_crop=self.fuse_decode_and_crop) + else: + image = tf.image.decode_jpeg( + image_buffer, channels=3, dct_method='INTEGER_FAST') + image = eval_image(image, self.height, self.width, batch_position, + self.resize_method, + summary_verbosity=self.summary_verbosity) + # Note: image is now float32 [height,width,3] with range [0, 255] + + # image = tf.cast(image, tf.uint8) # HACK TESTING + + if self.match_mlperf: + mlperf.logger.log(key=mlperf.tags.INPUT_MEAN_SUBTRACTION, + value=_CHANNEL_MEANS) + normalized = image - _CHANNEL_MEANS + else: + normalized = normalized_image(image) + return tf.cast(normalized, self.dtype) + + def minibatch(self, + dataset, + subset, + params, + shift_ratio=-1): + if shift_ratio < 0: + shift_ratio = self.shift_ratio + with tf.name_scope('batch_processing'): + # Build final results per split. + images = [[] for _ in range(self.num_splits)] + labels = [[] for _ in range(self.num_splits)] + if params.use_datasets: + ds = self.create_dataset( + self.batch_size, self.num_splits, self.batch_size_per_split, + dataset, subset, self.train, + datasets_repeat_cached_sample=params.datasets_repeat_cached_sample, + num_threads=params.datasets_num_private_threads, + datasets_use_caching=params.datasets_use_caching, + datasets_parallel_interleave_cycle_length=( + params.datasets_parallel_interleave_cycle_length), + datasets_sloppy_parallel_interleave=( + params.datasets_sloppy_parallel_interleave), + datasets_parallel_interleave_prefetch=( + params.datasets_parallel_interleave_prefetch)) + ds_iterator = self.create_iterator(ds) + for d in xrange(self.num_splits): + images[d], labels[d] = ds_iterator.get_next() + + # TODO(laigd): consider removing the --use_datasets option, it should + # always use datasets. + else: + record_input = data_flow_ops.RecordInput( + file_pattern=dataset.tf_record_pattern(subset), + seed=301, + parallelism=64, + buffer_size=10000, + batch_size=self.batch_size, + shift_ratio=shift_ratio, + name='record_input') + records = record_input.get_yield_op() + records = tf.split(records, self.batch_size, 0) + records = [tf.reshape(record, []) for record in records] + for idx in xrange(self.batch_size): + value = records[idx] + (image, label) = self.parse_and_preprocess(value, idx) + split_index = idx % self.num_splits + labels[split_index].append(label) + images[split_index].append(image) + + for split_index in xrange(self.num_splits): + if not params.use_datasets: + images[split_index] = tf.parallel_stack(images[split_index]) + labels[split_index] = tf.concat(labels[split_index], 0) + images[split_index] = tf.reshape( + images[split_index], + shape=[self.batch_size_per_split, self.height, self.width, + self.depth]) + labels[split_index] = tf.reshape(labels[split_index], + [self.batch_size_per_split]) + return images, labels + + def supports_datasets(self): + return True + + +class ImagenetPreprocessor(RecordInputImagePreprocessor): + + def preprocess(self, image_buffer, bbox, batch_position): + # pylint: disable=g-import-not-at-top + try: + from official.r1.resnet.imagenet_preprocessing import preprocess_image + except ImportError: + tf.logging.fatal('Please include tensorflow/models to the PYTHONPATH.') + raise + if self.train: + image = preprocess_image( + image_buffer, bbox, self.height, self.width, self.depth, + is_training=True) + else: + image = preprocess_image( + image_buffer, bbox, self.height, self.width, self.depth, + is_training=False) + return tf.cast(image, self.dtype) + + +class Cifar10ImagePreprocessor(BaseImagePreprocessor): + """Preprocessor for Cifar10 input images.""" + + def _distort_image(self, image): + """Distort one image for training a network. + + Adopted the standard data augmentation scheme that is widely used for + this dataset: the images are first zero-padded with 4 pixels on each side, + then randomly cropped to again produce distorted images; half of the images + are then horizontally mirrored. + + Args: + image: input image. + Returns: + distorted image. + """ + image = tf.image.resize_image_with_crop_or_pad( + image, self.height + 8, self.width + 8) + distorted_image = tf.random_crop(image, + [self.height, self.width, self.depth]) + # Randomly flip the image horizontally. + distorted_image = tf.image.random_flip_left_right(distorted_image) + if self.summary_verbosity >= 3: + tf.summary.image('distorted_image', tf.expand_dims(distorted_image, 0)) + return distorted_image + + def _eval_image(self, image): + """Get the image for model evaluation.""" + distorted_image = tf.image.resize_image_with_crop_or_pad( + image, self.width, self.height) + if self.summary_verbosity >= 3: + tf.summary.image('cropped.image', tf.expand_dims(distorted_image, 0)) + return distorted_image + + def preprocess(self, raw_image): + """Preprocessing raw image.""" + if self.summary_verbosity >= 3: + tf.summary.image('raw.image', tf.expand_dims(raw_image, 0)) + if self.train and self.distortions: + image = self._distort_image(raw_image) + else: + image = self._eval_image(raw_image) + normalized = normalized_image(image) + return tf.cast(normalized, self.dtype) + + def minibatch(self, + dataset, + subset, + params, + shift_ratio=-1): + # TODO(jsimsa): Implement datasets code path + del shift_ratio, params + with tf.name_scope('batch_processing'): + all_images, all_labels = dataset.read_data_files(subset) + all_images = tf.constant(all_images) + all_labels = tf.constant(all_labels) + input_image, input_label = tf.train.slice_input_producer( + [all_images, all_labels]) + input_image = tf.cast(input_image, self.dtype) + input_label = tf.cast(input_label, tf.int32) + # Ensure that the random shuffling has good mixing properties. + min_fraction_of_examples_in_queue = 0.4 + min_queue_examples = int(dataset.num_examples_per_epoch(subset) * + min_fraction_of_examples_in_queue) + raw_images, raw_labels = tf.train.shuffle_batch( + [input_image, input_label], batch_size=self.batch_size, + capacity=min_queue_examples + 3 * self.batch_size, + min_after_dequeue=min_queue_examples) + + images = [[] for i in range(self.num_splits)] + labels = [[] for i in range(self.num_splits)] + + # Create a list of size batch_size, each containing one image of the + # batch. Without the unstack call, raw_images[i] would still access the + # same image via a strided_slice op, but would be slower. + raw_images = tf.unstack(raw_images, axis=0) + raw_labels = tf.unstack(raw_labels, axis=0) + for i in xrange(self.batch_size): + split_index = i % self.num_splits + # The raw image read from data has the format [depth, height, width] + # reshape to the format returned by minibatch. + raw_image = tf.reshape(raw_images[i], + [dataset.depth, dataset.height, dataset.width]) + raw_image = tf.transpose(raw_image, [1, 2, 0]) + image = self.preprocess(raw_image) + images[split_index].append(image) + + labels[split_index].append(raw_labels[i]) + + for split_index in xrange(self.num_splits): + images[split_index] = tf.parallel_stack(images[split_index]) + labels[split_index] = tf.parallel_stack(labels[split_index]) + return images, labels + + +class COCOPreprocessor(BaseImagePreprocessor): + """Preprocessor for COCO dataset input images, boxes, and labels.""" + + def minibatch(self, + dataset, + subset, + params, + shift_ratio=-1): + del shift_ratio # Not used when using datasets instead of data_flow_ops + with tf.name_scope('batch_processing'): + ds = self.create_dataset( + self.batch_size, self.num_splits, self.batch_size_per_split, + dataset, subset, self.train, params.datasets_repeat_cached_sample) + ds_iterator = self.create_iterator(ds) + + # Training data: 4 tuple + # Validation data: 5 tuple + # See get_input_shapes in models/ssd_model.py for details. + input_len = 4 if subset == 'train' else 5 + input_lists = [[None for _ in range(self.num_splits)] + for _ in range(input_len)] + for d in xrange(self.num_splits): + input_list = ds_iterator.get_next() + for i in range(input_len): + input_lists[i][d] = input_list[i] + return input_lists + + def preprocess(self, data): + try: + import ssd_dataloader # pylint: disable=g-import-not-at-top + import ssd_constants # pylint: disable=g-import-not-at-top + from object_detection.core import preprocessor # pylint: disable=g-import-not-at-top + except ImportError: + raise ImportError('To use the COCO dataset, you must clone the ' + 'repo https://github.com/tensorflow/models and add ' + 'tensorflow/models and tensorflow/models/research to ' + 'the PYTHONPATH, and compile the protobufs by ' + 'following https://github.com/tensorflow/models/blob/' + 'master/research/object_detection/g3doc/installation.md' + '#protobuf-compilation') + image_buffer = data['image_buffer'] + boxes = data['groundtruth_boxes'] + classes = tf.reshape(data['groundtruth_classes'], [-1, 1]) + source_id = tf.string_to_number(data['source_id']) + raw_shape = data['raw_shape'] + + ssd_encoder = ssd_dataloader.Encoder() + + # Only 80 of the 90 COCO classes are used. + class_map = tf.convert_to_tensor(ssd_constants.CLASS_MAP) + classes = tf.gather(class_map, classes) + classes = tf.cast(classes, dtype=tf.float32) + + if self.train: + image, boxes, classes = ssd_dataloader.ssd_decode_and_crop( + image_buffer, boxes, classes, raw_shape) + # ssd_crop resizes and returns image of dtype float32 and does not change + # its range (i.e., value in between 0--255). Divide by 255. converts it + # to [0, 1] range. Not doing this before cropping to avoid dtype cast + # (which incurs additional memory copy). + image /= 255. + + image, boxes = preprocessor.random_horizontal_flip( + image=image, boxes=boxes) + # Random horizontal flip probability is 50% + # See https://github.com/tensorflow/models/blob/master/research/object_detection/core/preprocessor.py # pylint: disable=line-too-long + mlperf.logger.log(key=mlperf.tags.RANDOM_FLIP_PROBABILITY, value=0.5) + + image = tf.cast(image, self.dtype) + + encoded_returns = ssd_encoder.encode_labels(boxes, classes) + encoded_classes, encoded_boxes, num_matched_boxes = encoded_returns + + # Shape of image: [width, height, channel] + # Shape of encoded_boxes: [NUM_SSD_BOXES, 4] + # Shape of encoded_classes: [NUM_SSD_BOXES, 1] + # Shape of num_matched_boxes: [1] + return (image, encoded_boxes, encoded_classes, num_matched_boxes) + + else: + image = tf.image.decode_jpeg(image_buffer) + image = tf.image.resize_images( + image, size=(ssd_constants.IMAGE_SIZE, ssd_constants.IMAGE_SIZE)) + # resize_image returns image of dtype float32 and does not change its + # range. Divide by 255 to convert image to [0, 1] range. + image /= 255. + + image = ssd_dataloader.normalize_image(image) + image = tf.cast(image, self.dtype) + + def trim_and_pad(inp_tensor): + """Limit the number of boxes, and pad if necessary.""" + inp_tensor = inp_tensor[:ssd_constants.MAX_NUM_EVAL_BOXES] + num_pad = ssd_constants.MAX_NUM_EVAL_BOXES - tf.shape(inp_tensor)[0] + inp_tensor = tf.pad(inp_tensor, [[0, num_pad], [0, 0]]) + return tf.reshape(inp_tensor, [ssd_constants.MAX_NUM_EVAL_BOXES, + inp_tensor.get_shape()[1]]) + + boxes, classes = trim_and_pad(boxes), trim_and_pad(classes) + + # Shape of boxes: [MAX_NUM_EVAL_BOXES, 4] + # Shape of classes: [MAX_NUM_EVAL_BOXES, 1] + # Shape of source_id: [] (scalar tensor) + # Shape of raw_shape: [3] + return (image, boxes, classes, source_id, raw_shape) + + def create_dataset(self, + batch_size, + num_splits, + batch_size_per_split, + dataset, + subset, + train, + datasets_repeat_cached_sample, + num_threads=None, + datasets_use_caching=False, + datasets_parallel_interleave_cycle_length=None, + datasets_sloppy_parallel_interleave=False, + datasets_parallel_interleave_prefetch=None): + """Creates a dataset for the benchmark.""" + try: + import ssd_dataloader # pylint: disable=g-import-not-at-top + except ImportError: + raise ImportError('To use the COCO dataset, you must clone the ' + 'repo https://github.com/tensorflow/models and add ' + 'tensorflow/models and tensorflow/models/research to ' + 'the PYTHONPATH, and compile the protobufs by ' + 'following https://github.com/tensorflow/models/blob/' + 'master/research/object_detection/g3doc/installation.md' + '#protobuf-compilation') + assert self.supports_datasets() + + glob_pattern = dataset.tf_record_pattern(subset) + ds = tf.data.TFRecordDataset.list_files(glob_pattern, shuffle=train) + # TODO(haoyuzhang): Enable map+filter fusion after cl/218399112 in release + # options = tf.data.Options() + # options.experimental_optimization = tf.data.experimental.OptimizationOptions() # pylint: disable=line-too-long + # options.experimental_optimization.map_and_filter_fusion = True + # ds = ds.with_options(options) + + ds = ds.apply( + tf.data.experimental.parallel_interleave( + tf.data.TFRecordDataset, + cycle_length=datasets_parallel_interleave_cycle_length or 10, + sloppy=datasets_sloppy_parallel_interleave)) + mlperf.logger.log(key=mlperf.tags.INPUT_ORDER) + if datasets_repeat_cached_sample: + # Repeat a single sample element indefinitely to emulate memory-speed IO. + ds = ds.take(1).cache().repeat() + ds = ds.prefetch(buffer_size=batch_size) + if datasets_use_caching: + ds = ds.cache() + if train: + ds = ds.apply(tf.data.experimental.shuffle_and_repeat(buffer_size=10000)) + mlperf.logger.log(key=mlperf.tags.INPUT_SHARD, value=10000) + mlperf.logger.log(key=mlperf.tags.INPUT_ORDER) + else: + ds = ds.repeat() + + ds = ds.map(ssd_dataloader.ssd_parse_example_proto, num_parallel_calls=64) + ds = ds.filter( + lambda data: tf.greater(tf.shape(data['groundtruth_boxes'])[0], 0)) + ds = ds.apply( + tf.data.experimental.map_and_batch( + map_func=self.preprocess, + batch_size=batch_size_per_split, + num_parallel_batches=num_splits, + drop_remainder=train)) + ds = ds.prefetch(buffer_size=num_splits) + if num_threads: + ds = threadpool.override_threadpool( + ds, + threadpool.PrivateThreadPool( + num_threads, display_name='input_pipeline_thread_pool')) + return ds + + def supports_datasets(self): + return True + + +class TestImagePreprocessor(BaseImagePreprocessor): + """Preprocessor used for testing. + + set_fake_data() sets which images and labels will be output by minibatch(), + and must be called before minibatch(). This allows tests to easily specify + a set of images to use for training, without having to create any files. + + Queue runners must be started for this preprocessor to work. + """ + + def __init__(self, + batch_size, + output_shapes, + num_splits, + dtype, + train=None, + distortions=None, + resize_method=None, + shift_ratio=0, + summary_verbosity=0, + distort_color_in_yiq=False, + fuse_decode_and_crop=False, + match_mlperf=False): + super(TestImagePreprocessor, self).__init__( + batch_size, output_shapes, num_splits, dtype, train, distortions, + resize_method, shift_ratio, summary_verbosity=summary_verbosity, + distort_color_in_yiq=distort_color_in_yiq, + fuse_decode_and_crop=fuse_decode_and_crop, match_mlperf=match_mlperf) + self.expected_subset = None + + def set_fake_data(self, fake_images, fake_labels): + assert len(fake_images.shape) == 4 + assert len(fake_labels.shape) == 1 + num_images = fake_images.shape[0] + assert num_images == fake_labels.shape[0] + assert num_images % self.batch_size == 0 + self.fake_images = fake_images + self.fake_labels = fake_labels + + def minibatch(self, + dataset, + subset, + params, + shift_ratio=0): + """Get test image batches.""" + del dataset, params + if (not hasattr(self, 'fake_images') or + not hasattr(self, 'fake_labels')): + raise ValueError('Must call set_fake_data() before calling minibatch ' + 'on TestImagePreprocessor') + if self.expected_subset is not None: + assert subset == self.expected_subset + + shift_ratio = shift_ratio or self.shift_ratio + fake_images = cnn_util.roll_numpy_batches(self.fake_images, self.batch_size, + shift_ratio) + fake_labels = cnn_util.roll_numpy_batches(self.fake_labels, self.batch_size, + shift_ratio) + + with tf.name_scope('batch_processing'): + image_slice, label_slice = tf.train.slice_input_producer( + [fake_images, fake_labels], + shuffle=False, + name='image_slice') + raw_images, raw_labels = tf.train.batch( + [image_slice, label_slice], batch_size=self.batch_size, + name='image_batch') + images = [[] for _ in range(self.num_splits)] + labels = [[] for _ in range(self.num_splits)] + for i in xrange(self.batch_size): + split_index = i % self.num_splits + raw_image = tf.cast(raw_images[i], self.dtype) + images[split_index].append(raw_image) + labels[split_index].append(raw_labels[i]) + for split_index in xrange(self.num_splits): + images[split_index] = tf.parallel_stack(images[split_index]) + labels[split_index] = tf.parallel_stack(labels[split_index]) + + normalized = [normalized_image(part) for part in images] + return [[tf.cast(part, self.dtype) for part in normalized], labels] + + +class LibrispeechPreprocessor(InputPreprocessor): + """Preprocessor for librispeech class for all image model preprocessors.""" + + def __init__(self, batch_size, output_shapes, num_splits, dtype, train, + **kwargs): + del kwargs + super(LibrispeechPreprocessor, self).__init__(batch_size, output_shapes) + self.num_splits = num_splits + self.dtype = dtype + self.is_train = train + if self.batch_size % self.num_splits != 0: + raise ValueError(('batch_size must be a multiple of num_splits: ' + 'batch_size %d, num_splits: %d') % (self.batch_size, + self.num_splits)) + self.batch_size_per_split = self.batch_size // self.num_splits + + def create_dataset(self, + batch_size, + num_splits, + batch_size_per_split, + dataset, + subset, + train, + datasets_repeat_cached_sample, + num_threads=None, + datasets_use_caching=False, + datasets_parallel_interleave_cycle_length=None, + datasets_sloppy_parallel_interleave=False, + datasets_parallel_interleave_prefetch=None): + """Creates a dataset for the benchmark.""" + # TODO(laigd): currently the only difference between this and the one in + # BaseImagePreprocessor is, this uses map() and padded_batch() while the + # latter uses tf.data.experimental.map_and_batch(). Try to merge them. + assert self.supports_datasets() + glob_pattern = dataset.tf_record_pattern(subset) + file_names = gfile.Glob(glob_pattern) + if not file_names: + raise ValueError('Found no files in --data_dir matching: {}' + .format(glob_pattern)) + ds = tf.data.TFRecordDataset.list_files(file_names, shuffle=train) + ds = ds.apply( + tf.data.experimental.parallel_interleave( + tf.data.TFRecordDataset, + cycle_length=datasets_parallel_interleave_cycle_length or 10, + sloppy=datasets_sloppy_parallel_interleave, + prefetch_input_elements=datasets_parallel_interleave_prefetch)) + if datasets_repeat_cached_sample: + # Repeat a single sample element indefinitely to emulate memory-speed IO. + ds = ds.take(1).cache().repeat() + counter = tf.data.Dataset.range(batch_size) + counter = counter.repeat() + ds = tf.data.Dataset.zip((ds, counter)) + ds = ds.prefetch(buffer_size=batch_size) + if datasets_use_caching: + ds = ds.cache() + if train: + ds = ds.apply(tf.data.experimental.shuffle_and_repeat(buffer_size=10000)) + else: + ds = ds.repeat() + ds = ds.map(map_func=self.parse_and_preprocess, + num_parallel_calls=batch_size_per_split*num_splits) + ds = ds.padded_batch( + batch_size=batch_size_per_split, + padded_shapes=tuple([ + tf.TensorShape(output_shape[1:]) + for output_shape in self.output_shapes + ]), + drop_remainder=True) + ds = ds.prefetch(buffer_size=num_splits) + if num_threads: + ds = threadpool.override_threadpool( + ds, + threadpool.PrivateThreadPool( + num_threads, display_name='input_pipeline_thread_pool')) + return ds + + def minibatch(self, dataset, subset, params, shift_ratio=-1): + assert params.use_datasets + # TODO(laigd): unify this with CNNModel's minibatch() + # TODO(laigd): in distributed mode we use shift_ratio so different workers + # won't work on same inputs, so we should respect that. + del shift_ratio + with tf.name_scope('batch_processing'): + ds = self.create_dataset( + self.batch_size, + self.num_splits, + self.batch_size_per_split, + dataset, + subset, + self.is_train, + datasets_repeat_cached_sample=params.datasets_repeat_cached_sample, + num_threads=params.datasets_num_private_threads, + datasets_use_caching=params.datasets_use_caching, + datasets_parallel_interleave_cycle_length=( + params.datasets_parallel_interleave_cycle_length), + datasets_sloppy_parallel_interleave=( + params.datasets_sloppy_parallel_interleave), + datasets_parallel_interleave_prefetch=( + params.datasets_parallel_interleave_prefetch)) + ds_iterator = self.create_iterator(ds) + + # The four lists are: input spectrogram feature, labels, input lengths, + # label lengths + input_lists = [[None for _ in range(self.num_splits)] for _ in range(4)] + for d in xrange(self.num_splits): + input_list = ds_iterator.get_next() + for i in range(4): + input_lists[i][d] = input_list[i] + + assert self.output_shapes == [ + input_lists[i][0].shape.as_list() for i in range(4) + ] + return tuple(input_lists) + + def supports_datasets(self): + return True + + def parse_and_preprocess(self, value, batch_position): + """Parse an TFRecord.""" + del batch_position + assert self.supports_datasets() + context_features = { + 'labels': tf.VarLenFeature(dtype=tf.int64), + 'input_length': tf.FixedLenFeature([], dtype=tf.int64), + 'label_length': tf.FixedLenFeature([], dtype=tf.int64), + } + sequence_features = { + 'features': tf.FixedLenSequenceFeature([161], dtype=tf.float32) + } + context_parsed, sequence_parsed = tf.parse_single_sequence_example( + serialized=value, + context_features=context_features, + sequence_features=sequence_features, + ) + + return [ + # Input + tf.expand_dims(sequence_parsed['features'], axis=2), + # Label + tf.cast( + tf.reshape( + tf.sparse_tensor_to_dense(context_parsed['labels']), [-1]), + dtype=tf.int32), + # Input length + tf.cast( + tf.reshape(context_parsed['input_length'], [1]), + dtype=tf.int32), + # Label length + tf.cast( + tf.reshape(context_parsed['label_length'], [1]), + dtype=tf.int32), + ] diff --git a/cv/classification/resnet50/tensorflow/run_tests.py b/cv/classification/resnet50/tensorflow/run_tests.py new file mode 100644 index 0000000000000000000000000000000000000000..5b3dcd3276c776a1a585181229fae19e691106e3 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/run_tests.py @@ -0,0 +1,107 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Runs the tf_cnn_benchmarks tests.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import sys +import unittest + +from absl import app +from absl import flags as absl_flags +import tensorflow.compat.v1 as tf + +import all_reduce_benchmark_test +import allreduce_test +import benchmark_cnn_distributed_test +import benchmark_cnn_test +import cnn_util_test +import variable_mgr_util_test +from models import model_config + +# Ideally, we wouldn't need this option, and run both distributed tests and non- +# distributed tests. But, TensorFlow allocates all the GPU memory by default, so +# the non-distributed tests allocate all the GPU memory. The distributed tests +# spawn processes that run TensorFlow, and cannot run if all the GPU memory is +# already allocated. If a non-distributed test is run, then a distributed test +# is run in the same process, the distributed test will fail because there is no +# more GPU memory for the spawned processes to allocate. +absl_flags.DEFINE_boolean('run_distributed_tests', False, + 'If True, run the distributed tests. If False, the' + 'non-distributed tests.') + +absl_flags.DEFINE_boolean('full_tests', False, + 'If True, all distributed or non-distributed tests ' + 'are run, which can take hours. If False, only a ' + 'subset of tests will be run. This subset runs much ' + 'faster and tests almost all the functionality as ' + 'the full set of tests, so it is recommended to keep ' + 'this option set to False.') + +FLAGS = absl_flags.FLAGS + + +def main(_): + loader = unittest.defaultTestLoader + if FLAGS.full_tests: + suite = unittest.TestSuite([ + loader.loadTestsFromModule(allreduce_test), + loader.loadTestsFromModule(cnn_util_test), + loader.loadTestsFromModule(variable_mgr_util_test), + loader.loadTestsFromModule(benchmark_cnn_test), + loader.loadTestsFromModule(all_reduce_benchmark_test), + ]) + if model_config.can_import_contrib: + from models.tf1_only import nasnet_test # pylint: disable=g-import-not-at-top + suite.addTest(loader.loadTestsFromModule(nasnet_test)) + dist_suite = unittest.TestSuite([ + loader.loadTestsFromModule(benchmark_cnn_distributed_test), + ]) + else: + suite = unittest.TestSuite([ + loader.loadTestsFromModule(allreduce_test), + loader.loadTestsFromModule(cnn_util_test), + loader.loadTestsFromModule(all_reduce_benchmark_test), + loader.loadTestsFromModule(variable_mgr_util_test), + loader.loadTestsFromTestCase(benchmark_cnn_test.TestAlexnetModel), + loader.loadTestsFromTestCase(benchmark_cnn_test.TfCnnBenchmarksTest), + loader.loadTestsFromTestCase(benchmark_cnn_test.VariableUpdateTest), + loader.loadTestsFromTestCase( + benchmark_cnn_test.VariableMgrLocalReplicatedTest), + ]) + dist_suite = unittest.TestSuite([ + loader.loadTestsFromNames([ + 'benchmark_cnn_distributed_test.DistributedVariableUpdateTest' + '.testVarUpdateDefault', + + 'benchmark_cnn_distributed_test.TfCnnBenchmarksDistributedTest' + '.testParameterServer', + ]), + ]) + + if FLAGS.run_distributed_tests: + print('Running distributed tests') + result = unittest.TextTestRunner(verbosity=2).run(dist_suite) + else: + print('Running non-distributed tests') + result = unittest.TextTestRunner(verbosity=2).run(suite) + sys.exit(not result.wasSuccessful()) + + +if __name__ == '__main__': + tf.disable_v2_behavior() + app.run(main) diff --git a/cv/classification/resnet50/tensorflow/run_train_distributed_imagenette.sh b/cv/classification/resnet50/tensorflow/run_train_distributed_imagenette.sh new file mode 100644 index 0000000000000000000000000000000000000000..c36c8c405f519a96990fa258a4f56048f8107d05 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/run_train_distributed_imagenette.sh @@ -0,0 +1,152 @@ +#!/bin/bash + +bash ./get_imagenette.sh + +export TF_CUDNN_USE_AUTOTUNE=1 +export TF_CPP_MIN_LOG_LEVEL=1 + +################################################# +# Prepare training arguments +################################################# + +i=0 +model="alexnet" +for arg in "$@" +do + if [ $i -eq 0 ]; then + model=$arg + let i++ + continue + fi + if [[ $arg =~ "--epoch" ]]; then + new_args[$i]="--num_epochs" + else + new_args[$i]=$arg + fi + let i++ +done +echo "## Training model: ${model}" + + +: ${BATCH_SIZE:=32} +# TRAIN_EPOCHS=10 +# optional optimizer: momentum, rmsprop, momentum, sgd +OPTIMIZER=momentum +DATE=`date +%Y%m%d%H%M%S` + +LOG_DIR="logs/${model}_distributed" +DATA_DIR=./imagenette +BASE_DIR=train_dir +TRAIN_DIR=${BASE_DIR}/${model}_distributed + +mkdir -p ${LOG_DIR} +mkdir -p ${BASE_DIR} +rm -rf ${TRAIN_DIR} + +EXIT_STATUS=0 +check_status() +{ + if ((${PIPESTATUS[0]} != 0)); then + EXIT_STATUS=1 + fi +} + +################################################# +# Prepare devices +################################################# +devices=$CUDA_VISIBLE_DEVICES +if [ -n "$devices" ]; then + devices=(${devices//,/ }) + num_devices=${#devices[@]} +else + devices=(0 1) + num_devices=2 +fi +echo "CUDA_VISIBLE_DEVICES: ${CUDA_VISIBLE_DEVICES}" +echo "num_devices: ${num_devices}" + +if [ "${num_devices}" == "1" ]; then + echo "Error: The number of devices must be greater then 1 for distributed training, but got CUDA_VISIBLE_DEVICES=${CUDA_VISIBLE_DEVICES}." + exit 0 +fi + +################################################# +# Prepare distributed training arguments +################################################# +worker_hosts="" +i=0 +for device in "${devices[@]}"; +do + if [ "$i" == "0" ]; then + let i++ + continue + fi + let i++ + worker_hosts="${worker_hosts},127.0.0.1:5000${device}" +done +worker_hosts=${worker_hosts#*,} +echo "worker_hosts: ${worker_hosts}" + +################################################# +# Handle CTRL-C +################################################# +trap ctrl_c INT +function ctrl_c() { + echo "*** Trapped CTRL-C, killing process running background" + for pid in "${pid_list[@]}"; do + echo "Killing pid ${pid}" + kill ${pid} + done + exit 0 +} + +################################################# +# Start distributed training +################################################# + +pid_list=() +last_device=`expr ${num_devices} - 1` +i=0 +for device in "${devices[@]}"; +do + job_name="worker" + if [ "${i}" == "0" ]; then + job_name="ps" + fi + + if [ ${i} -le 1 ]; then + task_index=0 + else + task_index=`expr ${i} - 1` + fi + + if [ "${i}" == "${last_device}" ]; then + CUDA_VISIBLE_DEVICES=${device} UMD_WAITAFTERLAUNCH=1 python3 -u tf_cnn_benchmarks.py\ + --data_name=imagenette --data_dir=${DATA_DIR}\ + --data_format=NCHW \ + --optimizer=${OPTIMIZER} --datasets_use_prefetch=False\ + --local_parameter_device=gpu --num_gpus=${num_devices}\ + --batch_size=${BATCH_SIZE} --model=${model} \ + --variable_update=distributed_replicated \ + --job_name=${job_name} --ps_hosts=127.0.0.1:50000 --worker_hosts="${worker_hosts}"\ + --train_dir=${TRAIN_DIR} --task_index=${task_index} --print_training_accuracy=True "${new_args[@]}" 2>&1 | tee ${LOG_DIR}/${DATE}_${TRAIN_EPOCHS}_${BATCH_SIZE}_${OPTIMIZER}.log; [[ ${PIPESTATUS[0]} == 0 ]] || exit + echo "Distributed training PID ($!) on device ${device} where job name = ${job_name}" + else + CUDA_VISIBLE_DEVICES=${device} UMD_WAITAFTERLAUNCH=1 python3 -u tf_cnn_benchmarks.py\ + --data_name=imagenette --data_dir=${DATA_DIR}\ + --data_format=NCHW \ + --optimizer=${OPTIMIZER} --datasets_use_prefetch=False\ + --local_parameter_device=gpu --num_gpus=${num_devices}\ + --batch_size=${BATCH_SIZE} --model=${model}\ + --variable_update=distributed_replicated\ + --job_name=${job_name} --ps_hosts=127.0.0.1:50000 --worker_hosts="${worker_hosts}"\ + --train_dir=${TRAIN_DIR} --task_index=${task_index} --print_training_accuracy=True "${new_args[@]}" & + echo "Distributed training PID ($!) on device ${device} where job name = ${job_name} and task_index = ${task_index}" + fi + let i++ + pid_list+=($!) +done + +echo "All subprocess: ${pid_list[*]}" +ctrl_c +exit ${EXIT_STATUS} diff --git a/cv/classification/resnet50/tensorflow/run_train_resnet50_distributed_imagenette.sh b/cv/classification/resnet50/tensorflow/run_train_resnet50_distributed_imagenette.sh new file mode 100644 index 0000000000000000000000000000000000000000..73965268327ab97337013cf6ff7155e838d97507 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/run_train_resnet50_distributed_imagenette.sh @@ -0,0 +1,2 @@ +bash ./run_train_distributed_imagenette.sh resnet50 "$@" +exit $? \ No newline at end of file diff --git a/cv/classification/resnet50/tensorflow/run_train_resnet50_imagenette.sh b/cv/classification/resnet50/tensorflow/run_train_resnet50_imagenette.sh new file mode 100644 index 0000000000000000000000000000000000000000..171fd87614545938c794da5427336364415571a4 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/run_train_resnet50_imagenette.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +bash ./get_imagenette.sh + +export TF_CUDNN_USE_AUTOTUNE=1 +export TF_CPP_MIN_LOG_LEVEL=1 + +: ${BATCH_SIZE:=32} +#TRAIN_EPOCHS=10 +# optional optimizer: adam, rmsprop, momentum, sgd +OPTIMIZER=adam +DATE=`date +%Y%m%d%H%M%S` + +LOG_DIR="logs/resnet50" +DATA_DIR=./imagenette +BASE_DIR=train_dir +TRAIN_DIR=${BASE_DIR}/resnet50 + +mkdir -p ${LOG_DIR} +mkdir -p ${BASE_DIR} +rm -rf ${TRAIN_DIR} + +EXIT_STATUS=0 +check_status() +{ + if ((${PIPESTATUS[0]} != 0)); then + EXIT_STATUS=1 + fi +} + +i=0 +for arg in "$@" +do + if [[ $arg =~ "--epoch" ]]; then + new_args[$i]="--num_epochs" + else + new_args[$i]=$arg + fi + let i++ +done + +python3 -u tf_cnn_benchmarks.py\ + --data_name=imagenette --data_dir=${DATA_DIR}\ + --data_format=NCHW --batch_size=${BATCH_SIZE}\ + --model=resnet50 --optimizer=${OPTIMIZER} --num_gpus=1\ + --weight_decay=1e-4 --train_dir=${TRAIN_DIR}\ + --eval_during_training_every_n_epochs=2\ + --num_eval_epochs=1 --datasets_use_caching\ + --stop_at_top_1_accuracy=0.9\ + --num_intra_threads=1 --num_inter_threads=1 "${new_args[@]}" 2>&1 | tee ${LOG_DIR}/${DATE}_${TRAIN_EPOCHS}_${BATCH_SIZE}_${OPTIMIZER}.log; [[ ${PIPESTATUS[0]} == 0 ]] || exit + + +exit ${EXIT_STATUS} diff --git a/cv/classification/resnet50/tensorflow/run_train_resnet50_multigpu_imagenette.sh b/cv/classification/resnet50/tensorflow/run_train_resnet50_multigpu_imagenette.sh new file mode 100644 index 0000000000000000000000000000000000000000..1a2c33ad7ab84a1078f9eeaeb94522c72591e797 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/run_train_resnet50_multigpu_imagenette.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +bash ./get_imagenette.sh + +export TF_CUDNN_USE_AUTOTUNE=1 +export TF_CPP_MIN_LOG_LEVEL=1 + +: ${BATCH_SIZE:=32} +#TRAIN_EPOCHS=10 +# optional optimizer: adam, rmsprop, momentum, sgd +OPTIMIZER=adam +DATE=`date +%Y%m%d%H%M%S` + +LOG_DIR="logs/resnet50_multigpu" +DATA_DIR=./imagenette +BASE_DIR=train_dir +TRAIN_DIR=${BASE_DIR}/resnet50_multigpu + +mkdir -p ${LOG_DIR} +mkdir -p ${BASE_DIR} +rm -rf ${TRAIN_DIR} + +EXIT_STATUS=0 +check_status() +{ + if ((${PIPESTATUS[0]} != 0)); then + EXIT_STATUS=1 + fi +} + +i=0 +for arg in "$@" +do + if [[ $arg =~ "--epoch" ]]; then + new_args[$i]="--num_epochs" + else + new_args[$i]=$arg + fi + let i++ +done + +source ./get_num_devices.sh + +UMD_WAITAFTERLAUNCH=1 python3 -u tf_cnn_benchmarks.py\ + --data_name=imagenette --data_dir=${DATA_DIR}\ + --data_format=NCHW --batch_size=${BATCH_SIZE}\ + --model=resnet50 --optimizer=${OPTIMIZER} --num_gpus=${IX_NUM_CUDA_VISIBLE_DEVICES}\ + --weight_decay=1e-4 --train_dir=${TRAIN_DIR}\ + --eval_during_training_every_n_epochs=2\ + --num_eval_epochs=1 --datasets_use_caching\ + --stop_at_top_1_accuracy=0.9 --all_reduce_spec=pscpu\ + --num_intra_threads=1 --num_inter_threads=1 "${new_args[@]}" 2>&1 | tee ${LOG_DIR}/${DATE}_${TRAIN_EPOCHS}_${BATCH_SIZE}_${OPTIMIZER}.log; [[ ${PIPESTATUS[0]} == 0 ]] || exit + + +exit ${EXIT_STATUS} \ No newline at end of file diff --git a/cv/classification/resnet50/tensorflow/ssd_constants.py b/cv/classification/resnet50/tensorflow/ssd_constants.py new file mode 100644 index 0000000000000000000000000000000000000000..77fa0149b79f827b4e021afa67aa0e9409620e78 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/ssd_constants.py @@ -0,0 +1,118 @@ +# Copyright 2018 Google. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Central location for all constants related to MLPerf SSD.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +# ============================================================================== +# == Model ===================================================================== +# ============================================================================== +IMAGE_SIZE = 300 + +# TODO(taylorrobie): MLPerf uses 80, but COCO documents 90. (RetinaNet uses 90) +# Update(taylorrobie): Labels > 81 show up in the pipeline. This will need to +# be resolved. +NUM_CLASSES = 81 # Including "no class". Not all COCO classes are used. + +# Note: Zero is special. (Background class) CLASS_INV_MAP[0] must be zero. +CLASS_INV_MAP = ( + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 27, 28, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 67, 70, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, + 88, 89, 90) +_MAP = {j: i for i, j in enumerate(CLASS_INV_MAP)} +CLASS_MAP = tuple(_MAP.get(i, -1) for i in range(max(CLASS_INV_MAP) + 1)) + +NUM_SSD_BOXES = 8732 + +RESNET_DEPTH = 34 + +"""SSD specific""" +MIN_LEVEL = 3 +MAX_LEVEL = 8 + +FEATURE_SIZES = (38, 19, 10, 5, 3, 1) +STEPS = (8, 16, 32, 64, 100, 300) + +# https://github.com/amdegroot/ssd.pytorch/blob/master/data/config.py +SCALES = (21, 45, 99, 153, 207, 261, 315) +ASPECT_RATIOS = ((2,), (2, 3), (2, 3), (2, 3), (2,), (2,)) +NUM_DEFAULTS = (4, 6, 6, 6, 4, 4) +NUM_DEFAULTS_BY_LEVEL = {3: 4, 4: 6, 5: 6, 6: 6, 7: 4, 8: 4} +SCALE_XY = 0.1 +SCALE_HW = 0.2 +BOX_CODER_SCALES = (1 / SCALE_XY, 1 / SCALE_XY, 1 / SCALE_HW, 1 / SCALE_HW) +MATCH_THRESHOLD = 0.5 + +# https://discuss.pytorch.org/t/how-to-preprocess-input-for-pre-trained-networks/683 +NORMALIZATION_MEAN = (0.485, 0.456, 0.406) +NORMALIZATION_STD = (0.229, 0.224, 0.225) + +# SSD Cropping +NUM_CROP_PASSES = 50 +CROP_MIN_IOU_CHOICES = (0, 0.1, 0.3, 0.5, 0.7, 0.9) +P_NO_CROP_PER_PASS = 1 / (len(CROP_MIN_IOU_CHOICES) + 1) + +# Hard example mining +NEGS_PER_POSITIVE = 3 + +# Batch normalization +BATCH_NORM_DECAY = 0.997 +BATCH_NORM_EPSILON = 1e-4 + + +# ============================================================================== +# == Optimizer ================================================================= +# ============================================================================== +LEARNING_RATE_SCHEDULE = ( + (0, 1e-3), + (160000, 1e-4), + (200000, 1e-5), +) +MOMENTUM = 0.9 +WEIGHT_DECAY = 5e-4 + + +# ============================================================================== +# == Keys ====================================================================== +# ============================================================================== +BOXES = "boxes" +CLASSES = "classes" +NUM_MATCHED_BOXES = "num_matched_boxes" +IMAGE = "image" +SOURCE_ID = "source_id" +RAW_SHAPE = "raw_shape" +PRED_BOXES = "pred_boxes" +PRED_SCORES = "pred_scores" + + +# ============================================================================== +# == Evaluation ================================================================ +# ============================================================================== + +# Note: This is based on a batch size of 32 +# https://github.com/mlperf/reference/blob/master/single_stage_detector/ssd/train.py#L21-L37 +CHECKPOINT_FREQUENCY = 20000 +MAX_NUM_EVAL_BOXES = 200 +OVERLAP_CRITERIA = 0.5 # Used for nonmax supression +MIN_SCORE = 0.05 # Minimum score to be considered during evaluation. +DUMMY_SCORE = -1e5 # If no boxes are matched. + +ANNOTATION_FILE = "annotations/instances_val2017.json" +COCO_NUM_TRAIN_IMAGES = 118287 +COCO_NUM_VAL_IMAGES = 4952 diff --git a/cv/classification/resnet50/tensorflow/ssd_dataloader.py b/cv/classification/resnet50/tensorflow/ssd_dataloader.py new file mode 100644 index 0000000000000000000000000000000000000000..907d30903735d5181abbf18b02118a5eec2540ab --- /dev/null +++ b/cv/classification/resnet50/tensorflow/ssd_dataloader.py @@ -0,0 +1,405 @@ +# Copyright 2018 Google. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Data loader and processing.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import itertools as it +import math + +import numpy as np +import tensorflow.compat.v1 as tf + +from object_detection.box_coders import faster_rcnn_box_coder +from object_detection.core import box_list +from object_detection.core import region_similarity_calculator +from object_detection.core import target_assigner +from object_detection.matchers import argmax_matcher +import mlperf +import ssd_constants + + +class DefaultBoxes(object): + """Default bounding boxes for 300x300 5 layer SSD. + + Default bounding boxes generation follows the order of (W, H, anchor_sizes). + Therefore, the tensor converted from DefaultBoxes has a shape of + [anchor_sizes, H, W, 4]. The last dimension is the box coordinates; 'ltrb' + is [ymin, xmin, ymax, xmax] while 'xywh' is [cy, cx, h, w]. + """ + + def __init__(self): + fk = ssd_constants.IMAGE_SIZE / np.array(ssd_constants.STEPS) + + self.default_boxes = [] + # size of feature and number of feature + for idx, feature_size in enumerate(ssd_constants.FEATURE_SIZES): + sk1 = ssd_constants.SCALES[idx] / ssd_constants.IMAGE_SIZE + sk2 = ssd_constants.SCALES[idx+1] / ssd_constants.IMAGE_SIZE + sk3 = math.sqrt(sk1*sk2) + all_sizes = [(sk1, sk1), (sk3, sk3)] + + for alpha in ssd_constants.ASPECT_RATIOS[idx]: + w, h = sk1 * math.sqrt(alpha), sk1 / math.sqrt(alpha) + all_sizes.append((w, h)) + all_sizes.append((h, w)) + + assert len(all_sizes) == ssd_constants.NUM_DEFAULTS[idx] + + for w, h in all_sizes: + for i, j in it.product(range(feature_size), repeat=2): + cx, cy = (j + 0.5) / fk[idx], (i + 0.5) / fk[idx] + box = tuple(np.clip(k, 0, 1) for k in (cy, cx, h, w)) + self.default_boxes.append(box) + + assert len(self.default_boxes) == ssd_constants.NUM_SSD_BOXES + + mlperf.logger.log(key=mlperf.tags.FEATURE_SIZES, + value=ssd_constants.FEATURE_SIZES) + mlperf.logger.log(key=mlperf.tags.STEPS, + value=ssd_constants.STEPS) + mlperf.logger.log(key=mlperf.tags.SCALES, + value=ssd_constants.SCALES) + mlperf.logger.log(key=mlperf.tags.ASPECT_RATIOS, + value=ssd_constants.ASPECT_RATIOS) + mlperf.logger.log(key=mlperf.tags.NUM_DEFAULTS, + value=ssd_constants.NUM_SSD_BOXES) + + def to_ltrb(cy, cx, h, w): + return cy - h / 2, cx - w / 2, cy + h / 2, cx + w / 2 + + # For IoU calculation + self.default_boxes_ltrb = tuple(to_ltrb(*i) for i in self.default_boxes) + + def __call__(self, order='ltrb'): + if order == 'ltrb': return self.default_boxes_ltrb + if order == 'xywh': return self.default_boxes + + +def calc_iou_tensor(boxes1, boxes2): + """Calculation of IoU based on two boxes tensor. + + Reference to https://github.com/kuangliu/pytorch-ssd + + Args: + boxes1: shape (N, 4), four coordinates of N boxes + boxes2: shape (M, 4), four coordinates of M boxes + Returns: + IoU: shape (N, M), IoU of the i-th box in `boxes1` and j-th box in `boxes2` + """ + b1_left, b1_top, b1_right, b1_bottom = tf.split(boxes1, 4, axis=1) + b2_left, b2_top, b2_right, b2_bottom = tf.split(boxes2, 4, axis=1) + + # Shape of intersect_* (N, M) + intersect_left = tf.maximum(b1_left, tf.transpose(b2_left)) + intersect_top = tf.maximum(b1_top, tf.transpose(b2_top)) + intersect_right = tf.minimum(b1_right, tf.transpose(b2_right)) + intersect_bottom = tf.minimum(b1_bottom, tf.transpose(b2_bottom)) + + boxes1_area = (b1_right - b1_left) * (b1_bottom - b1_top) + boxes2_area = (b2_right - b2_left) * (b2_bottom - b2_top) + + intersect = tf.multiply(tf.maximum((intersect_right - intersect_left), 0), + tf.maximum((intersect_bottom - intersect_top), 0)) + union = boxes1_area + tf.transpose(boxes2_area) - intersect + iou = intersect / union + + return iou + + +def ssd_parse_example_proto(example_serialized): + """Parses an Example proto containing a training example of an image. + + Each Example proto contains the following fields that we care about: + + image/encoded: + image/source_id: tf.string + image/height: tf.int64 + image/width: tf.int64 + image/object/bbox/xmin: tf.VarLenFeature(tf.float32) + image/object/bbox/xmax: tf.VarLenFeature(tf.float32) + image/object/bbox/ymin: tf.VarLenFeature(tf.float32 + image/object/bbox/ymax: tf.VarLenFeature(tf.float32) + image/object/class/label: tf.VarLenFeature(tf.int64) + image/object/class/text: tf.VarLenFeature(tf.string) + + Complete decoder can be found in: + https://github.com/tensorflow/models/blob/master/research/object_detection/data_decoders/tf_example_decoder.py + + Args: + example_serialized: scalar Tensor tf.string containing a serialized + Example protocol buffer. + + Returns: + A dictionary with the following key-values: + image_buffer: Tensor tf.string containing the contents of a JPEG file. + groundtruth_boxes: Tensor tf.float32 of shape [num_boxes, 4], containing + coordinates of object bounding boxes. + groundtruth_classeS: Tensor tf.int64 of shape [num_boxes, 1], containing + class labels of objects. + source_id: unique image identifier. + raw_shape: [height, width, 3]. + """ + feature_map = { + 'image/encoded': tf.FixedLenFeature( + (), dtype=tf.string, default_value=''), + 'image/source_id': tf.FixedLenFeature((), tf.string, default_value=''), + 'image/height': tf.FixedLenFeature((), tf.int64, default_value=1), + 'image/width': tf.FixedLenFeature((), tf.int64, default_value=1), + 'image/object/bbox/xmin': tf.VarLenFeature(dtype=tf.float32), + 'image/object/bbox/ymin': tf.VarLenFeature(dtype=tf.float32), + 'image/object/bbox/xmax': tf.VarLenFeature(dtype=tf.float32), + 'image/object/bbox/ymax': tf.VarLenFeature(dtype=tf.float32), + 'image/object/class/label': tf.VarLenFeature(dtype=tf.int64), + } + features = tf.parse_single_example(example_serialized, feature_map) + + xmin = tf.expand_dims(features['image/object/bbox/xmin'].values, 1) + ymin = tf.expand_dims(features['image/object/bbox/ymin'].values, 1) + xmax = tf.expand_dims(features['image/object/bbox/xmax'].values, 1) + ymax = tf.expand_dims(features['image/object/bbox/ymax'].values, 1) + + image_buffer = features['image/encoded'] + # Bounding box coordinates should be in ltrb order + boxes = tf.concat([ymin, xmin, ymax, xmax], 1) + classes = tf.expand_dims(features['image/object/class/label'].values, 1) + source_id = features['image/source_id'] + raw_shape = tf.stack([features['image/height'], features['image/width'], 3]) + + return {'image_buffer': image_buffer, + 'groundtruth_boxes': boxes, + 'groundtruth_classes': classes, + 'source_id': source_id, + 'raw_shape': raw_shape} + + +def ssd_decode_and_crop(image_buffer, boxes, classes, raw_shape): + """Crop image randomly and decode the cropped region. + + This function will crop an image to meet the following requirements: + 1. height to width ratio between 0.5 and 2; + 2. IoUs of some boxes exceed specified threshold; + 3. At least one box center is in the cropped region. + We defer the jpeg decoding task until after the crop to avoid wasted work. + + Reference: https://github.com/chauhan-utk/ssd.DomainAdaptation + + Args: + image_buffer: Tensor tf.string containing the contents of a JPEG file. + boxes: Tensor tf.float32 of shape [num_boxes, 4], containing coordinates of + object bounding boxes. + classes: Tensor tf.int64 of shape [num_boxes, 1], containing class labels + of objects. + raw_shape: [height, width, 3]. + + Returns: + resized_image: decoded, cropped, and resized image Tensor tf.float32 of + shape [ssd_constants.IMAGE_SIZE, ssd_constants.IMAGE_SIZE, 3], value + range 0--255. + cropped_boxes: box coordinates for objects in the cropped region. + cropped_classes: class labels for objects in the cropped region. + """ + + num_boxes = tf.shape(boxes)[0] + + def no_crop_check(): + return (tf.random_uniform(shape=(), minval=0, maxval=1, dtype=tf.float32) + < ssd_constants.P_NO_CROP_PER_PASS) + + def no_crop_proposal(): + return ( + tf.ones((), tf.bool), + tf.convert_to_tensor([0, 0, 1, 1], dtype=tf.float32), + tf.ones((num_boxes,), tf.bool), + ) + + def crop_proposal(): + rand_vec = lambda minval, maxval: tf.random_uniform( + shape=(ssd_constants.NUM_CROP_PASSES, 1), minval=minval, maxval=maxval, + dtype=tf.float32) + + width, height = rand_vec(0.3, 1), rand_vec(0.3, 1) + left, top = rand_vec(0, 1-width), rand_vec(0, 1-height) + + right = left + width + bottom = top + height + + ltrb = tf.concat([left, top, right, bottom], axis=1) + + min_iou = tf.random_shuffle(ssd_constants.CROP_MIN_IOU_CHOICES)[0] + ious = calc_iou_tensor(ltrb, boxes) + + # discard any bboxes whose center not in the cropped image + xc, yc = [tf.tile(0.5 * (boxes[:, i + 0] + boxes[:, i + 2])[tf.newaxis, :], + (ssd_constants.NUM_CROP_PASSES, 1)) for i in range(2)] + + masks = tf.reduce_all(tf.stack([ + tf.greater(xc, tf.tile(left, (1, num_boxes))), + tf.less(xc, tf.tile(right, (1, num_boxes))), + tf.greater(yc, tf.tile(top, (1, num_boxes))), + tf.less(yc, tf.tile(bottom, (1, num_boxes))), + ], axis=2), axis=2) + + # Checks of whether a crop is valid. + valid_aspect = tf.logical_and(tf.less(height/width, 2), + tf.less(width/height, 2)) + valid_ious = tf.reduce_all(tf.greater(ious, min_iou), axis=1, keepdims=True) + valid_masks = tf.reduce_any(masks, axis=1, keepdims=True) + + valid_all = tf.cast(tf.reduce_all(tf.concat( + [valid_aspect, valid_ious, valid_masks], axis=1), axis=1), tf.int32) + + # One indexed, as zero is needed for the case of no matches. + index = tf.range(1, 1 + ssd_constants.NUM_CROP_PASSES, dtype=tf.int32) + + # Either one-hot, or zeros if there is no valid crop. + selection = tf.equal(tf.reduce_max(index * valid_all), index) + + use_crop = tf.reduce_any(selection) + output_ltrb = tf.reduce_sum(tf.multiply(ltrb, tf.tile(tf.cast( + selection, tf.float32)[:, tf.newaxis], (1, 4))), axis=0) + output_masks = tf.reduce_any(tf.logical_and(masks, tf.tile( + selection[:, tf.newaxis], (1, num_boxes))), axis=0) + + return use_crop, output_ltrb, output_masks + + def proposal(*args): + return tf.cond( + pred=no_crop_check(), + true_fn=no_crop_proposal, + false_fn=crop_proposal, + ) + + _, crop_bounds, box_masks = tf.while_loop( + cond=lambda x, *_: tf.logical_not(x), + body=proposal, + loop_vars=[tf.zeros((), tf.bool), tf.zeros((4,), tf.float32), tf.zeros((num_boxes,), tf.bool)], + ) + + filtered_boxes = tf.boolean_mask(boxes, box_masks, axis=0) + + mlperf.logger.log(key=mlperf.tags.NUM_CROPPING_ITERATIONS, + value=ssd_constants.NUM_CROP_PASSES) + + # Clip boxes to the cropped region. + filtered_boxes = tf.stack([ + tf.maximum(filtered_boxes[:, 0], crop_bounds[0]), + tf.maximum(filtered_boxes[:, 1], crop_bounds[1]), + tf.minimum(filtered_boxes[:, 2], crop_bounds[2]), + tf.minimum(filtered_boxes[:, 3], crop_bounds[3]), + ], axis=1) + + left = crop_bounds[0] + top = crop_bounds[1] + width = crop_bounds[2] - left + height = crop_bounds[3] - top + + cropped_boxes = tf.stack([ + (filtered_boxes[:, 0] - left) / width, + (filtered_boxes[:, 1] - top) / height, + (filtered_boxes[:, 2] - left) / width, + (filtered_boxes[:, 3] - top) / height, + ], axis=1) + + # crop_window containing integer coordinates of cropped region. A normalized + # coordinate value of y should be mapped to the image coordinate at + # y * (height - 1). + raw_shape = tf.cast(raw_shape, tf.float32) + crop_window = tf.stack([left * (raw_shape[0] - 1), + top * (raw_shape[1] - 1), + width * raw_shape[0], + height * raw_shape[1]]) + crop_window = tf.cast(crop_window, tf.int32) + + # Fused op only decodes the cropped portion of an image + cropped_image = tf.image.decode_and_crop_jpeg( + image_buffer, crop_window, channels=3) + + # Resize converts image dtype from uint8 to float32, without rescaling values. + resized_image = tf.image.resize_images( + cropped_image, [ssd_constants.IMAGE_SIZE, ssd_constants.IMAGE_SIZE]) + mlperf.logger.log(key=mlperf.tags.INPUT_SIZE, + value=ssd_constants.IMAGE_SIZE) + + cropped_classes = tf.boolean_mask(classes, box_masks, axis=0) + + return resized_image, cropped_boxes, cropped_classes + + +def color_jitter(image, brightness=0, contrast=0, saturation=0, hue=0): + """Distort the color of the image.""" + with tf.name_scope('distort_color'): + if brightness > 0: + image = tf.image.random_brightness(image, max_delta=brightness) + if contrast > 0: + image = tf.image.random_contrast( + image, lower=1-contrast, upper=1+contrast) + if saturation > 0: + image = tf.image.random_saturation( + image, lower=1-saturation, upper=1+saturation) + if hue > 0: + image = tf.image.random_hue(image, max_delta=hue) + return image + + +def normalize_image(images): + """Normalize image to zero mean and unit variance. + + Args: + images: a tensor representing images, at least 3-D. + Returns: + images normalized by mean and stdev. + """ + data_type = images.dtype + mean = tf.constant(ssd_constants.NORMALIZATION_MEAN, data_type) + std = tf.constant(ssd_constants.NORMALIZATION_STD, data_type) + images = tf.divide(tf.subtract(images, mean), std) + + mlperf.logger.log(key=mlperf.tags.DATA_NORMALIZATION_MEAN, + value=ssd_constants.NORMALIZATION_MEAN) + mlperf.logger.log(key=mlperf.tags.DATA_NORMALIZATION_STD, + value=ssd_constants.NORMALIZATION_STD) + return images + + +class Encoder(object): + """Encoder for SSD boxes and labels.""" + + def __init__(self): + similarity_calc = region_similarity_calculator.IouSimilarity() + matcher = argmax_matcher.ArgMaxMatcher( + matched_threshold=ssd_constants.MATCH_THRESHOLD, + unmatched_threshold=ssd_constants.MATCH_THRESHOLD, + negatives_lower_than_unmatched=True, + force_match_for_each_row=True) + + box_coder = faster_rcnn_box_coder.FasterRcnnBoxCoder( + scale_factors=ssd_constants.BOX_CODER_SCALES) + + self.default_boxes = DefaultBoxes()('ltrb') + self.default_boxes = box_list.BoxList( + tf.convert_to_tensor(self.default_boxes)) + self.assigner = target_assigner.TargetAssigner( + similarity_calc, matcher, box_coder) + + def encode_labels(self, gt_boxes, gt_labels): + target_boxes = box_list.BoxList(gt_boxes) + encoded_classes, _, encoded_boxes, _, matches = self.assigner.assign( + self.default_boxes, target_boxes, gt_labels) + num_matched_boxes = tf.reduce_sum( + tf.cast(tf.not_equal(matches, -1), tf.float32)) + return encoded_classes, encoded_boxes, num_matched_boxes diff --git a/cv/classification/resnet50/tensorflow/test_data/__init__.py b/cv/classification/resnet50/tensorflow/test_data/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/train-00000-of-00008 b/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/train-00000-of-00008 new file mode 100644 index 0000000000000000000000000000000000000000..4e65b92a9a5f252f7b1a9d9048e834217f468971 Binary files /dev/null and b/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/train-00000-of-00008 differ diff --git a/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/train-00001-of-00008 b/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/train-00001-of-00008 new file mode 100644 index 0000000000000000000000000000000000000000..1cf1fec734f3d6bfd74a6e38ac7b0f43d24eaaab Binary files /dev/null and b/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/train-00001-of-00008 differ diff --git a/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/train-00002-of-00008 b/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/train-00002-of-00008 new file mode 100644 index 0000000000000000000000000000000000000000..631ca95c9e17362c498b71979466661ec7ce4be5 Binary files /dev/null and b/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/train-00002-of-00008 differ diff --git a/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/train-00003-of-00008 b/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/train-00003-of-00008 new file mode 100644 index 0000000000000000000000000000000000000000..addfd3424c00e4596de3bfa77751c1fd891164ba Binary files /dev/null and b/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/train-00003-of-00008 differ diff --git a/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/train-00004-of-00008 b/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/train-00004-of-00008 new file mode 100644 index 0000000000000000000000000000000000000000..32818ec981b1b648ea605e351012c4e58a075454 Binary files /dev/null and b/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/train-00004-of-00008 differ diff --git a/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/train-00005-of-00008 b/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/train-00005-of-00008 new file mode 100644 index 0000000000000000000000000000000000000000..5f4e651519673b3b61726b5a3b0d21a8c962deb5 Binary files /dev/null and b/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/train-00005-of-00008 differ diff --git a/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/train-00006-of-00008 b/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/train-00006-of-00008 new file mode 100644 index 0000000000000000000000000000000000000000..042a71fd169745357111f2f0de84f42e52849b2a Binary files /dev/null and b/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/train-00006-of-00008 differ diff --git a/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/train-00007-of-00008 b/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/train-00007-of-00008 new file mode 100644 index 0000000000000000000000000000000000000000..a6d9ce627d88ec39344fbd6aae7badd629c5e54c Binary files /dev/null and b/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/train-00007-of-00008 differ diff --git a/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/validation-00000-of-00002 b/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/validation-00000-of-00002 new file mode 100644 index 0000000000000000000000000000000000000000..1c7757759bad5f59007b429adb520fdb5eed4068 Binary files /dev/null and b/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/validation-00000-of-00002 differ diff --git a/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/validation-00001-of-00002 b/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/validation-00001-of-00002 new file mode 100644 index 0000000000000000000000000000000000000000..e0f379cab43b5fa46f6f232e93c1deba2548f7a1 Binary files /dev/null and b/cv/classification/resnet50/tensorflow/test_data/fake_tf_record_data/validation-00001-of-00002 differ diff --git a/cv/classification/resnet50/tensorflow/test_data/images/black_image.jpg b/cv/classification/resnet50/tensorflow/test_data/images/black_image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..312873be3bd305bfb5962896ea8ae507ca44b572 Binary files /dev/null and b/cv/classification/resnet50/tensorflow/test_data/images/black_image.jpg differ diff --git a/cv/classification/resnet50/tensorflow/test_data/images/white_image.jpg b/cv/classification/resnet50/tensorflow/test_data/images/white_image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ad96f25af79ca0d683642c3dbef1049cc7061f84 Binary files /dev/null and b/cv/classification/resnet50/tensorflow/test_data/images/white_image.jpg differ diff --git a/cv/classification/resnet50/tensorflow/test_data/tfrecord_image_generator.py b/cv/classification/resnet50/tensorflow/test_data/tfrecord_image_generator.py new file mode 100644 index 0000000000000000000000000000000000000000..8f0b9102134456fefd7b712c9e1d734c13a0b9e2 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/test_data/tfrecord_image_generator.py @@ -0,0 +1,226 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Generate black and white test TFRecords with Example protos. + +Each record within the TFRecord file is a +serialized Example proto. The Example proto contains the following fields: + + image/encoded: string containing JPEG encoded image in RGB colorspace + image/height: integer, image height in pixels + image/width: integer, image width in pixels + image/colorspace: string, specifying the colorspace, always 'RGB' + image/channels: integer, specifying the number of channels, always 3 + image/format: string, specifying the format, always'JPEG' + + image/filename: string containing the basename of the image file + e.g. 'n01440764_10026.JPEG' or 'ILSVRC2012_val_00000293.JPEG' + image/class/label: integer specifying the index in a classification layer. + The label ranges from [1, 1000] where 0 is not used. + image/class/synset: string specifying the unique ID of the label, + e.g. 'n01440764' + image/class/text: string specifying the human-readable version of the label + e.g. 'red fox, Vulpes vulpes' + + image/object/bbox/xmin: list of integers specifying the 0+ human annotated + bounding boxes + image/object/bbox/xmax: list of integers specifying the 0+ human annotated + bounding boxes + image/object/bbox/ymin: list of integers specifying the 0+ human annotated + bounding boxes + image/object/bbox/ymax: list of integers specifying the 0+ human annotated + bounding boxes + image/object/bbox/label: integer specifying the index in a classification + layer. The label ranges from [1, 1000] where 0 is not used. Note this is + always identical to the image label. +""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os +import random + +import numpy as np +import six +import tensorflow.compat.v1 as tf + + +def _int64_feature(value): + """Wrapper for inserting int64 features into Example proto.""" + if not isinstance(value, list): + value = [value] + return tf.train.Feature(int64_list=tf.train.Int64List(value=value)) + + +def _float_feature(value): + """Wrapper for inserting float features into Example proto.""" + if not isinstance(value, list): + value = [value] + return tf.train.Feature(float_list=tf.train.FloatList(value=value)) + + +def _bytes_feature(value): + """Wrapper for inserting bytes features into Example proto.""" + return tf.train.Feature(bytes_list=tf.train.BytesList(value=[value])) + + +def _convert_to_example(filename, image_buffer, label, synset, human, bbox, + height, width): + """Build an Example proto for an example. + + Args: + filename: string, path to an image file, e.g., '/path/to/example.JPG' + image_buffer: bytes, JPEG encoding of RGB image + label: integer, identifier for the ground truth for the network + synset: string, unique WordNet ID specifying the label, e.g., 'n02323233' + human: string, human-readable label, e.g., 'red fox, Vulpes vulpes' + bbox: list of bounding boxes; each box is a list of integers + specifying [xmin, ymin, xmax, ymax]. All boxes are assumed to belong to + the same label as the image label. + height: integer, image height in pixels + width: integer, image width in pixels + Returns: + Example proto + """ + xmin = [] + ymin = [] + xmax = [] + ymax = [] + for b in bbox: + assert len(b) == 4 + # pylint: disable=expression-not-assigned + [l.append(point) for l, point in zip([xmin, ymin, xmax, ymax], b)] + # pylint: enable=expression-not-assigned + + colorspace = b'RGB' + channels = 3 + image_format = b'JPEG' + + example = tf.train.Example(features=tf.train.Features(feature={ + 'image/height': _int64_feature(height), + 'image/width': _int64_feature(width), + 'image/colorspace': _bytes_feature(colorspace), + 'image/channels': _int64_feature(channels), + 'image/class/label': _int64_feature(label), + 'image/class/synset': _bytes_feature(six.ensure_binary(synset)), + 'image/class/text': _bytes_feature(six.ensure_binary(human)), + 'image/object/bbox/xmin': _float_feature(xmin), + 'image/object/bbox/xmax': _float_feature(xmax), + 'image/object/bbox/ymin': _float_feature(ymin), + 'image/object/bbox/ymax': _float_feature(ymax), + 'image/object/bbox/label': _int64_feature([label] * len(xmin)), + 'image/format': _bytes_feature(image_format), + 'image/filename': _bytes_feature(os.path.basename(six.ensure_binary( + filename))), + 'image/encoded': _bytes_feature(image_buffer)})) + return example + + +class ImageCoder(object): + """Helper class that provides TensorFlow image coding utilities.""" + + def __init__(self): + # Create a single Session to run all image coding calls. + self._sess = tf.Session() + + # Initializes function that converts PNG to JPEG data. + self._image = tf.placeholder(dtype=tf.uint8) + self._encode_jpeg = tf.image.encode_jpeg( + self._image, format='rgb', quality=100) + + def encode_jpeg(self, image): + jpeg_image = self._sess.run(self._encode_jpeg, + feed_dict={self._image: image}) + return jpeg_image + + +def _process_image(coder, name): + """Process a single image file. + + If name is "train", a black image is returned. Otherwise, a white image is + returned. + + Args: + coder: instance of ImageCoder to provide TensorFlow image coding utils. + name: string, unique identifier specifying the data set. + Returns: + image_buffer: bytes, JPEG encoding of RGB image. + height: integer, image height in pixels. + width: integer, image width in pixels. + """ + # Read the image file. + value = 0 if name == 'train' else 255 + height = random.randint(30, 299) + width = random.randint(30, 299) + image = np.full((height, width, 3), value, np.uint8) + + jpeg_data = coder.encode_jpeg(image) + + return jpeg_data, height, width + + +def _process_dataset(output_directory, num_classes, coder, name, num_images, + num_shards): + """Process a complete data set and save it as a TFRecord. + + Args: + output_directory: Where to put outputs. + num_classes: number of classes. + coder: Instance of an ImageCoder. + name: string, unique identifier specifying the data set. + num_images: number of images to generate. + num_shards: integer number of shards to create. + """ + files_per_shard = num_images // num_shards + for shard in range(num_shards): + output_filename = '%s-%.5d-of-%.5d' % (name, shard, num_shards) + output_file = os.path.join(output_directory, output_filename) + with tf.python_io.TFRecordWriter(output_file) as writer: + for i in range(files_per_shard): + index = shard * files_per_shard + i + image_buffer, height, width = _process_image(coder, name) + + filename = '{}_{}_{}'.format(name, shard, i) + label = index % num_classes + synset = str(index) + human = name + bbox = [[0.1, 0.1, 0.9, 0.9]] + example = _convert_to_example(filename, image_buffer, label, + synset, human, bbox, + height, width) + writer.write(example.SerializeToString()) + + +def write_black_and_white_tfrecord_data( + output_directory, num_classes, num_train_images=512, + num_validation_images=128, train_shards=8, validation_shards=2): + """Writes black and white images in tfrecord format. + + Training images are black and validation images are white. + + Args: + output_directory: Where to put outputs. + num_classes: number of classes. + num_train_images: number of training images to generate. + num_validation_images: number of validation images to generate. + train_shards: integer number of training shards to create. + validation_shards: integer number of validation shards to create. + """ + + coder = ImageCoder() + _process_dataset(output_directory, num_classes, coder, 'validation', + num_validation_images, validation_shards) + _process_dataset(output_directory, num_classes, coder, 'train', + num_train_images, train_shards) diff --git a/cv/classification/resnet50/tensorflow/test_util.py b/cv/classification/resnet50/tensorflow/test_util.py new file mode 100644 index 0000000000000000000000000000000000000000..ccb930a6b1e2fba3285dc2e14cfd0a3fba85ce4b --- /dev/null +++ b/cv/classification/resnet50/tensorflow/test_util.py @@ -0,0 +1,532 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Shared functionality across multiple test files.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function +from collections import namedtuple +from contextlib import contextmanager +import os + +import numpy as np +import tensorflow.compat.v1 as tf +import benchmark_cnn +import cnn_util +import datasets +import preprocessing +from models import model +from platforms import util as platforms_util +from test_data import tfrecord_image_generator +from tensorflow.core.protobuf import rewriter_config_pb2 # pylint: disable=g-direct-tensorflow-import +from tensorflow.python.platform import test + + +@contextmanager +def monkey_patch(obj, **kwargs): + """Context mgr to monkey patch attributes on an object (such as a module). + + The attributes are patched back to their original value when the context + manager exits. + + For example, to replace benchmark_cnn.get_data_type with an identity function, + do: + + ``` + with monkey_patch(benchmark_cnn, get_data_type=lambda x: x) + loss1 = benchmark_cnn.loss_function(1) # loss1 will be 1 + loss2 = benchmark_cnn.loss_function(params) # Call the original function + ``` + + Args: + obj: The object (which can be a module) to monkey patch attributes on. + **kwargs: Dictionary mapping from attribute name to value that the attribute + will be patched with. + Yields: + Nothing. + """ + old_values = {key: getattr(obj, key) for key in kwargs} + try: + for key, value in kwargs.items(): + setattr(obj, key, value) + yield + finally: + for key, value in old_values.items(): + setattr(obj, key, value) + + +def monkey_patch_base_cluster_manager(): + """Monkey patches get_cluster_manager to return a BaseClusterManager. + + This function replaces platforms_util.get_cluster_manager with a function that + always return a BaseClusterManager. + + This is useful for testing creating a graph in distributed mode, with only a + single process. GrpcClusterManager's constructor blocks until a cluster is set + up, which requires multiple processes to be created. + """ + def get_test_cluster_manager(params, config_proto): + del config_proto + return cnn_util.BaseClusterManager(params) + platforms_util.get_cluster_manager = get_test_cluster_manager + + +def print_and_add_to_list(print_list): + """Returns a function which prints the input, then adds it to print_list.""" + def f(string): + print(string) + print_list.append(string) + return f + + +TrainingOutput = namedtuple('TrainingOutput', + ['loss', 'top_1_accuracy', 'top_5_accuracy']) + + +EvalOutput = namedtuple('EvalOutput', ['top_1_accuracy', 'top_5_accuracy']) + + +def get_training_outputs_from_logs(logs, print_training_accuracy): + """Returns a list of TrainingOutputs by parsing the logs of a training run. + + Args: + logs: A list of strings, each which is a line from the standard output of + tf_cnn_benchmarks from training. Only lines in the form: + 10 images/sec: 14.2 +/- 0.0 (jitter = 0.0) 7.020 + are parsed (the line may also contain the training accuracies). + print_training_accuracy: The value of the param print_training_accuracy. + Returns: + A list of TrainingOutputs. The list has one element per element of logs + that is in the format above. top_1_accuracy and top_5_accuracy are set to -1 + if the line does not contain accuracies. + """ + outputs = [] + for log in logs: + if 'images/sec' in log and '+/-' in log: + parts = log.split() + if print_training_accuracy: + # Example log with training accuracy: + # 10 images/sec: 0.2 +/- 0.0 (jitter = 0.0) 6.908 0.500 1.000 + assert len(parts) == 11 + top_1_acc = float(parts[9]) + top_5_acc = float(parts[10]) + else: + # Example log without training accuracy: + # 10 images/sec: 0.2 +/- 0.0 (jitter = 0.0) 6.908 + assert len(parts) == 9 + top_1_acc = -1 + top_5_acc = -1 + loss = float(parts[8]) + outputs.append(TrainingOutput(loss=loss, top_1_accuracy=top_1_acc, + top_5_accuracy=top_5_acc)) + assert len(outputs) >= 1 + return outputs + + +def get_evaluation_outputs_from_logs(logs): + """Returns the top 1 and 5 accuracies by parsing the logs of an eval run. + + Args: + logs: A list of strings, each which is a line from the standard output of + tf_cnn_benchmarks from evaluation. Only lines in the form: + Accuracy @ 1 = 0.5000 Accuracy @ 5 = 1.0000 [80 examples] + is parsed. + Returns: + A list of EvalOutputs. Normally this list only has one EvalOutput, but can + contain multiple if training is done and + --eval_during_training_every_n_steps is specified. + """ + eval_outputs = [] + for log in logs: + if 'Accuracy @ ' in log: + # Example log: + # Accuracy @ 1 = 0.5000 Accuracy @ 5 = 1.0000 [80 examples] + parts = log.split() + assert len(parts) == 12 + top_1_accuracy = float(parts[4]) + top_5_accuracy = float(parts[9]) + eval_outputs.append(EvalOutput(top_1_accuracy, top_5_accuracy)) + assert eval_outputs + return eval_outputs + + +def check_training_outputs_are_reasonable(testcase, training_outputs, + print_training_accuracy, + max_final_loss=10., + previous_final_loss=None): + """Checks the outputs from training a model are reasonable. + + An assert is failed if the outputs are not reasonable. The final top-1 and + top-5 accuracies are asserted to be 1, and so the dataset used to train should + be trivial to learn. For example, the dataset could consist of a black image + with label 0 and a white image with label 1. + + Args: + testcase: A tf.test.TestCase used for assertions. + training_outputs: A list of TrainingOutputs, as returned from + get_training_outputs_from_logs(). + print_training_accuracy: Whether training accuracies were printed and stored + in training_outputs. + max_final_loss: The loss of the final training output is asserted to be at + most this value. + previous_final_loss: If training was resumed from a checkpoint, the loss of + the final step from the previous training run that saved the checkpoint. + """ + if previous_final_loss is not None: + # Ensure the loss hasn't raised significantly from the final loss of the + # previous training run. + testcase.assertLessEqual(training_outputs[0].loss, + previous_final_loss * 1.01) + for output in training_outputs: + testcase.assertLessEqual(output.loss, 100.) + last_output = training_outputs[-1] + if print_training_accuracy: + testcase.assertEqual(last_output.top_1_accuracy, 1.0) + testcase.assertEqual(last_output.top_5_accuracy, 1.0) + if max_final_loss is not None: + testcase.assertLessEqual(last_output.loss, max_final_loss) + + +def train_and_eval(testcase, + run_fn, + params, + check_output_values, + max_final_loss=10., + skip=None): + """Trains a model then evaluates it. + + This function should be used to verify training and evaluating + BenchmarkCNN works without crashing and that it outputs reasonable + values. BenchmarkCNN will be run three times. First, it will train a + model from scratch, saving a checkpoint. Second, it will load the checkpoint + to continue training. Finally, it evaluates based on the loaded checkpoint. + + Args: + testcase: A tf.test.TestCase used for assertions. + run_fn: Must run `BenchmarkCNN` exactly once. BenchmarkCNN is + never used directly, but instead is only run through `run_fn`. `run_fn` + has the signature (run_type, inner_params) -> output_list, where: + * run_type is a string indicating how BenchmarkCNN will be run. + Either 'InitialTraining', 'TrainingFromCheckpoint' or 'Evaluation'. + * inner_params is the params BenchmarkCNN should be run with. + * output_list[i] is a list of lines from the ith worker's stdout. + params: The params BenchmarkCNN will be run with. + Will be passed to `run_fn` slightly modified in order to run with both + training and evaluation. + check_output_values: Whether the outputs of the workers, such as training + accuracy, should be checked to make sure their values are reasonable. + Fails an assert on `testcase` if a check fails. + max_final_loss: The loss of the final training output is asserted to be at + most this value for both training runs. + skip: If 'eval', evaluation is not done. if + 'eval_and_train_from_checkpoint', evaluation and training from a + checkpoint are both not done. + """ + + assert not skip or skip in {'eval', 'eval_and_train_from_checkpoint'} + + # Part 1: Train from scratch. + tf.logging.info('Training model from scratch') + print_training_accuracy = (params.print_training_accuracy or + params.forward_only) + initial_train_logs = run_fn('InitialTraining', params) + testcase.assertGreaterEqual(len(initial_train_logs), 1) + for lines in initial_train_logs: + initial_train_outputs = get_training_outputs_from_logs( + lines, print_training_accuracy) + if params.cross_replica_sync and params.batch_group_size == 1: + testcase.assertEqual(len(initial_train_outputs), params.num_batches) + if check_output_values: + check_training_outputs_are_reasonable(testcase, initial_train_outputs, + print_training_accuracy, + max_final_loss=max_final_loss) + if params.train_dir is not None: + train_dir_entries = set(os.listdir(params.train_dir)) + testcase.assertGreater(len(train_dir_entries), 0) + else: + train_dir_entries = None + + if skip == 'eval_and_train_from_checkpoint': + return + + # Part 2: Train from the loaded checkpoint. + testcase.assertIsNotNone(train_dir_entries) + tf.logging.info('Training model from loaded checkpoint') + # Run for same number of batches as before. + params = params._replace(num_batches=params.num_batches * 2) + train_logs_from_ckpt = run_fn('TrainingFromCheckpoint', params) + testcase.assertGreaterEqual(len(train_logs_from_ckpt), 1) + for lines in train_logs_from_ckpt: + train_outputs_from_ckpt = get_training_outputs_from_logs( + lines, print_training_accuracy) + if params.cross_replica_sync and params.batch_group_size == 1: + testcase.assertEqual(len(train_outputs_from_ckpt), + params.num_batches // 2 - params.num_warmup_batches) + if check_output_values: + check_training_outputs_are_reasonable( + testcase, train_outputs_from_ckpt, print_training_accuracy, + max_final_loss=max_final_loss, + previous_final_loss=initial_train_outputs[-1].loss) + # Ensure a new checkpoint was written out. + testcase.assertNotEqual(train_dir_entries, set(os.listdir(params.train_dir))) + + if skip == 'eval': + return + + # Part 3: Evaluate from the loaded checkpoint. + tf.logging.info('Evaluating model from checkpoint') + params = params._replace(num_batches=params.num_batches // 2, eval=True) + eval_logs = run_fn('Evaluation', params) + testcase.assertGreaterEqual(len(eval_logs), 1) + for lines in eval_logs: + eval_outputs = get_evaluation_outputs_from_logs(lines) + assert len(eval_outputs) == 1 + top_1_accuracy, top_5_accuracy = eval_outputs[0] + if check_output_values: + testcase.assertEqual(top_1_accuracy, 1.0) + testcase.assertEqual(top_5_accuracy, 1.0) + + +def get_temp_dir(dir_name): + dir_path = os.path.join(test.get_temp_dir(), dir_name) + os.mkdir(dir_path) + return dir_path + + +def create_black_and_white_images(): + dir_path = get_temp_dir('black_and_white_images') + tfrecord_image_generator.write_black_and_white_tfrecord_data(dir_path, + num_classes=1) + return dir_path + + +def get_params(train_dir_name): + """Returns params that can be used to train.""" + params = benchmark_cnn.make_params( + batch_size=2, + display_every=1, + init_learning_rate=0.005, + model='trivial', + num_batches=20, + num_gpus=2, + num_warmup_batches=5, + optimizer='sgd', + print_training_accuracy=True, + train_dir=get_temp_dir(train_dir_name), + variable_update='parameter_server', + weight_decay=0, + distortions=True, + distort_color_in_yiq=False) + return benchmark_cnn.set_default_param_values_and_env_vars(params) + + +def get_var_update_params(): + """Returns params that are used when testing variable updates.""" + params = benchmark_cnn.make_params( + batch_size=2, + model='test_model', + num_gpus=2, + display_every=1, + num_warmup_batches=0, + num_batches=4, + weight_decay=2 ** -4, + init_learning_rate=2 ** -4, + optimizer='sgd') + return benchmark_cnn.set_default_param_values_and_env_vars(params) + + +def get_fake_var_update_inputs(): + """Returns fake input 1x1 images to use in variable update tests.""" + # BenchmarkCNN divides by 127.5 then subtracts 1.0 from the images, so after + # that, the images will be -1., 0., 1., ..., 14. + return np.resize(127.5 * np.array(range(16)), (16, 1, 1, 1)) + + +def _worker_batches_in_numpy_array(numpy_inputs, batch_size, shift_ratio): + """Yields batches from a numpy array, for a single worker.""" + numpy_inputs = cnn_util.roll_numpy_batches(numpy_inputs, batch_size, + shift_ratio) + i = 0 + total_batches = numpy_inputs.shape[0] + assert total_batches % batch_size == 0 + while True: + yield numpy_inputs[i:i + batch_size, ...] + i = (i + batch_size) % total_batches + + +def manually_compute_losses(numpy_inputs, inputs_placeholder, loss, num_workers, + params): + """Manually compute the losses each worker should report in tf_cnn_benchmarks. + + This function essentially simulates tf_cnn_benchmarks, computing what the loss + of each worker should be. The caller should create a model, that takes in + images from `inputs_placeholder`, a tf.placeholder, and computes `loss`. + + This function, and all ops passed to this function, must be run under a + tf.device('cpu:0') context manager. + + Non-SGD optimizers are not supported with multiple workers. + + Args: + numpy_inputs: A Numpy array to use as the input images. + inputs_placeholder: A tf.placeholder tensor, where input images can be fed + into. + loss: A scalar tensor representing the loss of the model, which is obtained + from the input images in inputs_placeholder. + num_workers: How many workers should be simulated. + params: Params tuple. This doesn't have to have information about the + distributed cluster, such as --num_workers, as num_workers is passed in + separately. + + Returns: + A list of list of losses. return_value[i][j] is the loss of the ith worker + after the jth step. + """ + batch_size = params.batch_size * params.num_gpus + assert numpy_inputs.shape[0] % (num_workers * batch_size) == 0 + l2_loss = tf.add_n([tf.nn.l2_loss(x) for x in tf.trainable_variables()]) + total_loss = loss + params.weight_decay * l2_loss + reported_loss = (loss if params.loss_type_to_report == 'base_loss' + else total_loss) + gradient_multiplier = 1 + if params.variable_update in ('replicated', 'distributed_all_reduce'): + # In certain variable updates, tf_cnn_benchmarks add the gradients of the + # GPUs instead of taking their mean, making the gradients effectively + # params.num_gpu times higher. + # TODO(b/62722498): Make all variable updates consistent. + gradient_multiplier = params.num_gpus + + opt = benchmark_cnn.get_optimizer(params, params.init_learning_rate) + grad_vars = opt.compute_gradients( + total_loss, grad_loss=tf.constant(gradient_multiplier, dtype=tf.float32)) + grads = [g for g, _ in grad_vars] + # We apply gradients from a placeholder. That way, we can first compute the + # gradients from each worker, then afterwards apply them one by one by feeding + # them into the placeholder. + placeholder_grad_vars = [(tf.placeholder(g.dtype, g.shape), v) + for g, v in grad_vars] + placeholder_grads = [g for g, _ in placeholder_grad_vars] + apply_grads_op = opt.apply_gradients(placeholder_grad_vars) + + batch_iterators = [_worker_batches_in_numpy_array(numpy_inputs, batch_size, + shift_ratio=i / num_workers) + for i in range(num_workers)] + # Set the GPU count to 0, to avoid taking all the GPU memory. Unfortunately, + # doing so still takes up about ~1GB for some reason. + config = tf.ConfigProto(device_count={'GPU': 0}) + config.graph_options.rewrite_options.pin_to_host_optimization = ( + rewriter_config_pb2.RewriterConfig.OFF) + with tf.Session(config=config) as sess: + sess.run(tf.global_variables_initializer()) + losses = [[] for _ in range(num_workers)] + for i in range(params.num_batches): + computed_grads = [] + for j in range(num_workers): + batch_feed = next(batch_iterators[j]) + batch_feed = batch_feed / 127.5 - 1 + worker_loss, worker_grads = sess.run((reported_loss, grads), + {inputs_placeholder: batch_feed}) + losses[j].append(worker_loss) + computed_grads.append(worker_grads) + for worker_grads in computed_grads: + # TODO(reedwm): With multiple workers, applying the gradients + # sequentially per worker is not equivalent to what tf_cnn_benchmarks + # does when the optmizer is not SGD. Therefore, this currently does not + # work currently when num_workers > 1 and params.optimizer != 'sgd'. + feed_dict = dict(zip(placeholder_grads, worker_grads)) + sess.run(apply_grads_op, feed_dict) + return losses + + +class TestCNNModel(model.CNNModel): + """A simple model used for testing. + + The input is a 1-channel 1x1 image, consisting of a single number. The model + has two scalar variables: A and B, initialized to 1 and 2 respectively. Given + an image x, the loss is defined as: + + loss = x * A * B + """ + + def __init__(self): + super(TestCNNModel, self).__init__( + 'test_cnn_model', image_size=1, batch_size=1, learning_rate=1) + self.depth = 1 + + VAR_A_INITIAL_VALUE = 1. + VAR_B_INITIAL_VALUE = 2. + + def add_inference(self, cnn): + # This model only supports 1x1 images with 1 channel + assert cnn.top_layer.shape[1:] == (1, 1, 1) + # Multiply by variable A. + with tf.name_scope('mult_by_var_A'): + cnn.conv(1, 1, 1, 1, 1, use_batch_norm=None, activation=None, bias=None, + kernel_initializer=tf.constant_initializer( + self.VAR_A_INITIAL_VALUE)) + # Multiply by variable B. + with tf.name_scope('mult_by_var_B'): + cnn.conv(1, 1, 1, 1, 1, use_batch_norm=None, activation=None, bias=None, + kernel_initializer=tf.constant_initializer( + self.VAR_B_INITIAL_VALUE)) + with tf.name_scope('reshape_to_scalar'): + cnn.reshape([-1, 1]) + + def skip_final_affine_layer(self): + return True + + def loss_function(self, inputs, build_network_result): + del inputs + return tf.reduce_mean(build_network_result.logits) + + def manually_compute_losses(self, inputs, num_workers, params): + with tf.Graph().as_default(), tf.device('/cpu:0'): + a = tf.Variable(self.VAR_A_INITIAL_VALUE, name='A') + b = tf.Variable(self.VAR_B_INITIAL_VALUE, name='B') + inputs_placeholder = tf.placeholder(tf.float32, + (None, 1, 1, 1), + name='inputs_placeholder') + inputs_reshaped = tf.reshape(inputs_placeholder, (-1, 1)) + loss = self.loss_function( + None, + model.BuildNetworkResult(logits=inputs_reshaped * a * b, + extra_info=None)) + return manually_compute_losses(inputs, inputs_placeholder, loss, + num_workers, params) + + def accuracy_function(self, inputs, logits): + del inputs + # Let the accuracy be the same as the loss function. + return {'top_1_accuracy': logits, 'top_5_accuracy': logits} + + +class TestDataSet(datasets.ImageDataset): + """A Dataset consisting of 1x1 images with a depth of 1.""" + + def __init__(self, height=1, width=1, depth=1): + super(TestDataSet, self).__init__('test_dataset', height=height, + width=width, depth=depth, data_dir=None, + queue_runner_required=True, num_classes=1) + + def num_examples_per_epoch(self, subset='train'): + del subset + return 1 + + def get_input_preprocessor(self, input_preprocessor='default'): + return preprocessing.TestImagePreprocessor + + def use_synthetic_gpu_inputs(self): + return False diff --git a/cv/classification/resnet50/tensorflow/tf_cnn_benchmarks.py b/cv/classification/resnet50/tensorflow/tf_cnn_benchmarks.py new file mode 100644 index 0000000000000000000000000000000000000000..3014ed7a15a9776572be49a7f5cb5b794504914f --- /dev/null +++ b/cv/classification/resnet50/tensorflow/tf_cnn_benchmarks.py @@ -0,0 +1,80 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +"""Benchmark script for TensorFlow. + +See the README for more information. +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from absl import app +from absl import flags as absl_flags +import tensorflow.compat.v1 as tf +import time + +import benchmark_cnn +import cnn_util +import flags +import mlperf +from cnn_util import log_fn + + +flags.define_flags() +for name in flags.param_specs.keys(): + absl_flags.declare_key_flag(name) + +absl_flags.DEFINE_boolean( + 'ml_perf_compliance_logging', False, + 'Print logs required to be compliant with MLPerf. If set, must clone the ' + 'MLPerf training repo https://github.com/mlperf/training and add ' + 'https://github.com/mlperf/training/tree/master/compliance to the ' + 'PYTHONPATH') + + +def main(positional_arguments): + # Command-line arguments like '--distortions False' are equivalent to + # '--distortions=True False', where False is a positional argument. To prevent + # this from silently running with distortions, we do not allow positional + # arguments. + assert len(positional_arguments) >= 1 + if len(positional_arguments) > 1: + raise ValueError('Received unknown positional arguments: %s' + % positional_arguments[1:]) + + params = benchmark_cnn.make_params_from_flags() + try: + from dltest import show_training_arguments + show_training_arguments(flags.FLAGS) + except: + pass + with mlperf.mlperf_logger(absl_flags.FLAGS.ml_perf_compliance_logging, + params.model): + params = benchmark_cnn.setup(params) + bench = benchmark_cnn.BenchmarkCNN(params) + + tfversion = cnn_util.tensorflow_version_tuple() + log_fn('TensorFlow: %i.%i' % (tfversion[0], tfversion[1])) + + bench.print_info() + bench.run() + + +if __name__ == '__main__': + time.sleep(5) + tf.disable_v2_behavior() + app.run(main) # Raises error on invalid flags, unlike tf.app.run() diff --git a/cv/classification/resnet50/tensorflow/variable_mgr.py b/cv/classification/resnet50/tensorflow/variable_mgr.py new file mode 100644 index 0000000000000000000000000000000000000000..119b0278c0c0a8ac0f49811267554b3db216ef98 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/variable_mgr.py @@ -0,0 +1,839 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Defines VariableMgr and subclasses used to manage variables. + +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import contextlib +import re + +import tensorflow.compat.v1 as tf + +import allreduce +import batch_allreduce +import variable_mgr_util + + +class VariableMgr(object): + """Abstract superclass for class used by BenchmarkCNN to control variables. + + Functions on this class are used to control how variables are created and + managed, and how gradients are computed and applied. + """ + + def __init__(self, benchmark_cnn): + self.benchmark_cnn = benchmark_cnn + self.staging_delta_ops = [] + self.use_resource_vars = benchmark_cnn.params.use_resource_vars + + # A variable for automatic loss scaling. + self.grad_has_inf_nan = None + + self._reuse_vars = False + + def each_tower_has_variables(self): + """Returns True if each GPU tower of the model has separate variables.""" + assert False, 'Must be implemented in subclass' + + def supports_staged_vars(self): + """Whether staged variable management is supported.""" + return False + + def create_outer_variable_scope(self, device_num): + """Create the tf.variable_scope around all model graph operations.""" + del device_num # unused by this implementation + assert False, 'Must be implemented in subclass' + + def preprocess_device_grads(self, device_grads): + """Preprocess the device gradients prior to applying them. + + Args: + device_grads: List of lists of (gradient, variable) tuples. + device_grads[t][g] = (gradient, variable), where t is the index of the + tower and g is the index of the gradient-variable pair. + + Returns: a tuple of (apply_gradients_devices, gradient_state). + gradient_state is an opaque structure that should be passed to + get_gradients_to_apply() and append_apply_gradients_ops() (in that order). + apply_gradients_devices is a list of devices where the gradients will be + applied with get_gradients_to_apply() and append_apply_gradients_ops(). + """ + del device_grads # unused by this implementation + assert False, 'Must be implemented in subclass' + + def get_gradients_to_apply(self, device_num, gradient_state): + """Returns the [(gradient, variable)] list to apply for device_num. + + Args: + device_num: indexes into apply_gradients_devices, which was returned by an + earlier call to preprocess_device_grads. + gradient_state: from previous call to apply_gradients_devices. + """ + del device_num, gradient_state # unused by this implementation + assert False, 'Must be implemented in subclass' + + def append_apply_gradients_ops(self, gradient_state, opt, grads, training_ops, + loss_scale_params): + """Adds training ops for grads to 'training_ops'. + + + + Args: + gradient_state: from previous call to apply_gradients_devices. + opt: the underlying optimizer + grads: [(grad, var)] to apply + training_ops: list to which to add ops + loss_scale_params: parameters for loss scaling. + """ + del gradient_state # unused by this implementation + + def get_apply_gradients_ops_func(): + """Returns the apply_gradients op.""" + return [opt.apply_gradients(grads)] + + variable_mgr_util.append_gradients_with_loss_scale( + training_ops, get_apply_gradients_ops_func, loss_scale_params, + self.grad_has_inf_nan) + + def get_post_init_ops(self): + """Returns ops that should run post-initialization.""" + return [] + + def get_devices(self): + """Returns devices to use for computation; includes replica selection.""" + assert False, 'Must be implemented in subclass' + + def savable_variables(self): + """Returns a list/dict of savable variables to pass to tf.train.Saver.""" + return tf.global_variables() + + def trainable_variables_on_device(self, + rel_device_num, + abs_device_num, + writable=False): + """Return the set of trainable variables on device. + + Args: + rel_device_num: local worker device index. + abs_device_num: global graph device index. + writable: whether to get a reference to the underlying variable. + + Returns: + The set of trainable variables on the specified device. + """ + del rel_device_num, writable + if self.each_tower_has_variables(): + params = [ + v for v in tf.trainable_variables() + if v.name.startswith('v%s/' % abs_device_num) + ] + else: + params = tf.trainable_variables() + return params + + @contextlib.contextmanager + def reuse_variables(self): + """Context manager that causes variables requested to be reused. + + Variables requested under this context manager must already exist, and will + be reused instead of being created again. This should be used if the + evaluation model is being built after the training model has already been + built. This is because the evaluation model should reuse variables from the + training model. + + Yields: + Nothing. + """ + old_reuse_vars = self._reuse_vars + try: + self._reuse_vars = True + yield + finally: + self._reuse_vars = old_reuse_vars + + +class VariableMgrIndependent(VariableMgr): + """VariableMgr that implements the --independent mode for local jobs. + + Each GPU has its own copy of the variables, and gradients are + not shared between towers. This can be used to check + performance when no data is moved between GPUs. + """ + + def each_tower_has_variables(self): + return True + + def create_outer_variable_scope(self, device_num): + return tf.variable_scope('v%s' % device_num, reuse=self._reuse_vars, + use_resource=self.use_resource_vars) + + def preprocess_device_grads(self, device_grads): + return (self.benchmark_cnn.devices, device_grads) + + def get_gradients_to_apply(self, device_num, gradient_state): + device_grads = gradient_state + tower_grad = device_grads[device_num] + + if self.benchmark_cnn.enable_auto_loss_scale and device_num == 0: + # Since we don't aggregate variables in --independent mode, we cannot tell + # if there are NaNs on all GPUs. So we arbitrarily choose to only check + # NaNs on the first GPU. + has_inf_nan_list = [] + for grad, _ in tower_grad: + has_inf_nan_list.append(tf.reduce_all(tf.is_finite(grad))) + self.grad_has_inf_nan = tf.logical_not(tf.reduce_all(has_inf_nan_list)) + + return tower_grad + + def get_devices(self): + return self.benchmark_cnn.raw_devices + + +class VariableMgrLocalFetchFromPS(VariableMgr): + """VariableMgr that implements the --parameter_server mode for local jobs. + + Variables are stored on a parameter server. For each step, each tower gets + a copy of the variables from the parameter server, and sends its gradients + to the param server. + """ + + def each_tower_has_variables(self): + return False + + def create_outer_variable_scope(self, device_num): + return tf.variable_scope('v', reuse=bool(device_num) or self._reuse_vars, + use_resource=self.use_resource_vars) + + def preprocess_device_grads(self, device_grads): + return ([self.benchmark_cnn.param_server_device], device_grads) + + def get_gradients_to_apply(self, device_num, gradient_state): + assert device_num == 0 + device_grads = gradient_state + agg_grads, self.grad_has_inf_nan = ( + variable_mgr_util. + aggregate_gradients_using_copy_with_variable_colocation( + device_grads, + use_mean=True, + check_inf_nan=self.benchmark_cnn.enable_auto_loss_scale)) + return agg_grads + + def get_devices(self): + raw_devices = self.benchmark_cnn.raw_devices + if self.benchmark_cnn.local_parameter_device_flag == 'gpu': + return [ + variable_mgr_util.ParamServerDeviceSetter(d, raw_devices) + for d in raw_devices + ] + else: + return [ + tf.train.replica_device_setter( + worker_device=d, + ps_device=self.benchmark_cnn.param_server_device, + ps_tasks=1) for d in raw_devices + ] + + +class VariableMgrLocalFetchFromStagedPS(VariableMgrLocalFetchFromPS): + """Implements fetching a local variable through staging buffers. + """ + + def __init__(self, benchmark_cnn): + super(VariableMgrLocalFetchFromStagedPS, self).__init__(benchmark_cnn) + # A data structure to track where the variables are used on each device. + # Indexed by device_num and var_name, each entry stores the "put" and "get" + # ops used for that variable on that device: + # staging_vars_on_devices[device_num][var_name] == (put_op, get_op) + self.staging_vars_on_devices = [ + dict() for _ in self.benchmark_cnn.raw_devices + ] + + def supports_staged_vars(self): + return True + + def create_outer_variable_scope(self, device_num): + self._custom_getter = variable_mgr_util.StagedVariableGetter( + device_num, self.benchmark_cnn.raw_devices, None, self) + return tf.variable_scope( + 'v', reuse=bool(device_num) or self._reuse_vars, + custom_getter=self._custom_getter, use_resource=self.use_resource_vars) + + def trainable_variables_on_device(self, + rel_device_num, + abs_device_num, + writable=False): + return self._custom_getter.trainable_variables_on_device( + rel_device_num, abs_device_num, writable=writable) + + +class VariableMgrLocalReplicated(VariableMgr): + """VariableMgr that implements the --replicated mode for local jobs. + + Each GPU has its own copy of the variables. To apply gradients, + either a local all-reduce algorithm is applied or a regular + cross-device aggregation is used to replicate the combined + gradients to all towers. + """ + + def __init__(self, benchmark_cnn, all_reduce_spec, + agg_small_grads_max_bytes, agg_small_grads_max_group, + allreduce_merge_scope): + super(VariableMgrLocalReplicated, self).__init__(benchmark_cnn) + if all_reduce_spec: + spec = allreduce.parse_all_reduce_spec(all_reduce_spec) + if len(spec) != 1: + raise ValueError( + 'replicated mode does not support hybrid all-reduce strategies') + self._all_reduce_spec = spec[0] + else: + self._all_reduce_spec = None + self._agg_small_grads_max_bytes = agg_small_grads_max_bytes + self._agg_small_grads_max_group = agg_small_grads_max_group + self._warmup_ops = [] + self._allreduce_merge_scope = allreduce_merge_scope + self._gradient_put_ops = None + + def each_tower_has_variables(self): + return True + + def create_outer_variable_scope(self, device_num): + return tf.variable_scope('v%s' % device_num, reuse=self._reuse_vars, + use_resource=self.use_resource_vars) + + def preprocess_device_grads(self, device_grads): + compact_grads = (self.benchmark_cnn.params.use_fp16 and + self.benchmark_cnn.params.compact_gradient_transfer) + defer_grads = (self.benchmark_cnn.params.variable_consistency == 'relaxed') + + grads_to_reduce = [[g for g, _ in grad_vars] for grad_vars in device_grads] + algorithm = batch_allreduce.algorithm_from_params(self.benchmark_cnn.params) + reduced_grads, self._warmup_ops = algorithm.batch_all_reduce( + grads_to_reduce, self.benchmark_cnn.params.gradient_repacking, + compact_grads, defer_grads, self.benchmark_cnn.params.xla_compile) + if self.benchmark_cnn.enable_auto_loss_scale: + # Check for infs or nans + is_finite_list = [] + with tf.name_scope('check_for_inf_and_nan'): + for tower_grads in reduced_grads: + with tf.colocate_with(tower_grads[0]): + # TODO(tanmingxing): Create fused op that takes in a list of tensors + # as input and returns scalar boolean True if there are any + # infs/nans. + is_finite_list.append(tf.reduce_all( + [tf.reduce_all(tf.is_finite(g)) for g in tower_grads])) + self.grad_has_inf_nan = tf.logical_not(tf.reduce_all(is_finite_list)) + reduced_device_grads = [[ + (g, v) for g, (_, v) in zip(grads, grad_vars) + ] for grads, grad_vars in zip(reduced_grads, device_grads)] + return self.benchmark_cnn.devices, reduced_device_grads + + def get_gradients_to_apply(self, device_num, gradient_state): + device_grads = gradient_state + return device_grads[device_num] + + def get_post_init_ops(self): + # Copy initialized values for variables on GPU 0 to other GPUs. + global_vars = tf.global_variables() + var_by_name = dict([(v.name, v) for v in global_vars]) + post_init_ops = [] + for v in global_vars: + split_name = v.name.split('/') + # TODO(b/62630508): use more specific prefix than v or v0. + if split_name[0] == 'v0' or not v.name.startswith('v'): + continue + split_name[0] = 'v0' + copy_from = var_by_name['/'.join(split_name)] + post_init_ops.append(v.assign(copy_from.read_value())) + post_init_ops += self._warmup_ops + return post_init_ops + + def savable_variables(self): + """Return the set of variables used for saving/loading the model.""" + params = [] + for v in tf.global_variables(): + split_name = v.name.split('/') + if split_name[0] == 'v0' or not v.name.startswith('v'): + params.append(v) + return params + + def get_devices(self): + return self.benchmark_cnn.raw_devices + + +class VariableMgrDistributedAllReduce(VariableMgr): + """VariableMgr that implements the --distributed_all_reduce mode. + + Each GPU has its own copy of the variables. To apply gradients, + the specified all-reduce algorithm is used to reduce the gradients + and replicate the final value to all GPUs. + """ + + def __init__(self, benchmark_cnn, all_reduce_spec, job_name, + num_workers, agg_small_grads_max_bytes, + agg_small_grads_max_group, allreduce_merge_scope): + super(VariableMgrDistributedAllReduce, self).__init__(benchmark_cnn) + if not all_reduce_spec: + raise ValueError( + 'distributed_all_reduce requires a non-empty all_reduce_spec') + self._all_reduce_spec = allreduce.parse_all_reduce_spec(all_reduce_spec) + self._all_reduce_device_prefixes = ( + allreduce.build_all_reduce_device_prefixes(job_name, num_workers)) + self._num_workers = num_workers + self._agg_small_grads_max_bytes = agg_small_grads_max_bytes + self._agg_small_grads_max_group = agg_small_grads_max_group + self._allreduce_merge_scope = allreduce_merge_scope + if not self._all_reduce_spec: + raise ValueError('all_reduce_spec must be specified') + self._single_session = True + + def each_tower_has_variables(self): + return True + + def create_outer_variable_scope(self, device_num): + """Create a scope for the named device. + + Args: + device_num: index of device for variable scope. (Note that + device_num spans all processes in cluster since a single global + graph is used.) + + Returns: + the requested variable_scope + """ + return tf.variable_scope('v%s' % device_num, reuse=self._reuse_vars, + use_resource=self.use_resource_vars) + + def preprocess_device_grads(self, device_grads): + remaining_grads = device_grads + aggregated_grads = [] + for spec_tuple in self._all_reduce_spec: + if spec_tuple.limit < 0: + this_grads = remaining_grads + remaining_grads = [] + else: + (this_grads, remaining_grads) = allreduce.split_grads_by_size( + spec_tuple.limit, remaining_grads) + if this_grads: + range_agg_grads = allreduce.sum_gradients_all_reduce( + self._single_session, + self._all_reduce_device_prefixes, + this_grads, + self._num_workers, + spec_tuple.alg, + spec_tuple.shards, + self.benchmark_cnn.gpu_indices, + agg_small_grads_max_bytes=self._agg_small_grads_max_bytes, + agg_small_grads_max_group=self._agg_small_grads_max_group, + allreduce_merge_scope=self._allreduce_merge_scope) + if not aggregated_grads: + aggregated_grads = range_agg_grads + else: + assert len(aggregated_grads) == len(range_agg_grads) + for i in range(len(aggregated_grads)): + aggregated_grads[i] += range_agg_grads[i] + assert not remaining_grads + full_device_set = [] + for grads in device_grads: + g, v = grads[0] + del v + full_device_set.append(g.device) + return (full_device_set, aggregated_grads) + + def get_gradients_to_apply(self, device_num, gradient_state): + device_grads = gradient_state + if device_num >= len(device_grads): + raise ValueError('device_num %d exceeds length of device_grads (%d)' % + (device_num, len(device_grads))) + return device_grads[device_num] + + def get_post_init_ops(self): + """Copy initialized values for variables to other devices.""" + global_vars = tf.global_variables() + var_by_name = dict([(v.name, v) for v in global_vars]) + post_init_ops = [] + for v in global_vars: + split_name = v.name.split('/') + # TODO(b/62630508): use more specific prefix than v or v0. + if split_name[0] == 'v0' or not v.name.startswith('v'): + continue + split_name[0] = 'v0' + copy_from = var_by_name['/'.join(split_name)] + post_init_ops.append(v.assign(copy_from.read_value())) + return post_init_ops + + def savable_variables(self): + """Return the set of variables used for saving/loading the model.""" + params = [] + for v in tf.global_variables(): + split_name = v.name.split('/') + if split_name[0] == 'v0' or not v.name.startswith('v'): + params.append(v) + return params + + def get_devices(self): + return self.benchmark_cnn.raw_devices + + +# TODO(tucker): Merge this mode with DistributedAllReduce. +class VariableMgrCollectiveAllReduce(VariableMgr): + """VariableMgr that implements the --collective_all_reduce mode. + + Each GPU has its own copy of the variables. To apply gradients + the TF native collective all-reduce op is used to reduce the gradients + and replicate the final value to all GPUs. + """ + + def __init__(self, benchmark_cnn, all_reduce_spec, + num_workers, num_gpus, task_id, allreduce_merge_scope): + super(VariableMgrCollectiveAllReduce, self).__init__(benchmark_cnn) + if not all_reduce_spec: + raise ValueError( + 'collective_all_reduce requires a non-empty all_reduce_spec: %s' + % all_reduce_spec) + parsed_spec = allreduce.parse_all_reduce_spec(all_reduce_spec) + # So far we only support a length-1 all_reduce_spec + if len(parsed_spec) > 1 or parsed_spec[0].limit > 0: + raise ValueError( + 'collective_all_reduce requires one single-range all_reduce_spec %s' + % parsed_spec) + self._all_reduce_spec = parsed_spec[0] + if self._all_reduce_spec.alg != 'collective': + raise ValueError( + 'VariableMgrCollectiveAllReduce initialized with non-collective ' + 'all_reduce_spec %s' % self.all_reduce_spec) + self._num_workers = num_workers + self._num_gpus = num_gpus + self._task_id = task_id + self._allreduce_merge_scope = allreduce_merge_scope + self._instance_key_counter = 10000 + self._instance_key_table = dict() + self._single_session = False + # List of prefixes for generating PS devices, unused here. + self._all_reduce_device_prefixes = None + + def each_tower_has_variables(self): + return True + + def create_outer_variable_scope(self, device_num): + """Create a scope for the named device. + + Args: + device_num: index of device for variable scope. + + Returns: + the requested variable_scope + """ + return tf.variable_scope('v%s' % device_num, reuse=self._reuse_vars) + + def preprocess_device_grads(self, device_grads): + reduced_grads = allreduce.sum_gradients_all_reduce( + self._single_session, + self._all_reduce_device_prefixes, + device_grads, + self._num_workers, + 'collective', + self._all_reduce_spec.shards, + self.benchmark_cnn.gpu_indices, + allreduce_merge_scope=self._allreduce_merge_scope) + assert len(reduced_grads) == len(device_grads) + full_device_set = [] + for grads in device_grads: + g, _ = grads[0] + full_device_set.append(g.device) + return (full_device_set, reduced_grads) + + def get_gradients_to_apply(self, device_num, gradient_state): + device_grads = gradient_state + if device_num >= len(device_grads): + raise ValueError('device_num %d exceeds length of device_grads (%d)' % + (device_num, len(device_grads))) + return device_grads[device_num] + + def _get_instance_key(self, name): + if name not in self._instance_key_table.keys(): + self._instance_key_counter += 1 + self._instance_key_table[name] = self._instance_key_counter + return self._instance_key_table[name] + + def get_post_init_ops(self): + """Broadcast initialized values of variables to other devices. + + Returns: + At task 0 device 0, broadcast_send. + At all other devices and tasks, broadcast_recv. + """ + global_vars = tf.global_variables() + group_size = self._num_workers * self._num_gpus + post_init_ops = [] + # Gather variables into same-var-different-device groups. + vars_by_suffix = dict() + for v in global_vars: + split_name = v.name.split('/') + mo = re.match(r'v(\d+)$', split_name[0]) + if mo: + device_id = int(mo.group(1)) + suffix = '/'.join(split_name[1:]) + if suffix in vars_by_suffix.keys(): + vars_by_suffix[suffix].append(v) + else: + vars_by_suffix[suffix] = [v] + # Generate broadcast ops for each such group. + for suffix in sorted(vars_by_suffix): + vlist = vars_by_suffix[suffix] + assert self._num_gpus == len(vlist) + devices = [v.device for v in vlist] + # NOTE: this key should generate the same value for all tasks + group_key = allreduce.collective_group_key(devices) + group_size = self._num_workers * len(devices) + instance_key = self._get_instance_key(suffix) + for v in vlist: + split_name = v.name.split('/') + mo = re.match(r'v(\d+)$', split_name[0]) + if mo: + device_id = int(mo.group(1)) + if (self._task_id == 0 and device_id == 0): + with tf.device(v.device): + bcast_send = allreduce.broadcast_send( + v, v.shape, v.dtype, group_size, group_key, instance_key) + post_init_ops.append(v.assign(bcast_send)) + else: + with tf.device(v.device): + bcast_recv = allreduce.broadcast_recv( + v.shape, v.dtype, group_size, group_key, instance_key) + post_init_ops.append(v.assign(bcast_recv)) + return post_init_ops + + def savable_variables(self): + """Return the set of variables used for saving/loading the model.""" + params = [] + if self._task_id == 0: + for v in tf.global_variables(): + split_name = v.name.split('/') + if split_name[0] == 'v0' or not v.name.startswith('v'): + params.append(v) + return params + + def get_devices(self): + return self.benchmark_cnn.raw_devices + + +class VariableMgrDistributedFetchFromPS(VariableMgr): + """Implements --variable_update=parameter_server mode for distributed jobs. + + Variables are stored on a parameter server. For each step, each tower gets + a copy of the variables from the parameter server, and sends its gradients + to the param server. + """ + + def each_tower_has_variables(self): + return False + + def create_outer_variable_scope(self, device_num): + if self.benchmark_cnn.local_parameter_device_flag == 'gpu': + caching_devices = self.benchmark_cnn.raw_devices + else: + caching_devices = [self.benchmark_cnn.cpu_device] + custom_getter = variable_mgr_util.OverrideCachingDevice( + caching_devices, self.benchmark_cnn.cpu_device, 1024 * 64) + return tf.variable_scope( + 'v', reuse=bool(device_num) or self._reuse_vars, + custom_getter=custom_getter, use_resource=self.use_resource_vars) + + def preprocess_device_grads(self, device_grads): + # Returns (gradient_devices, gradient_state) + return ([self.benchmark_cnn.param_server_device], device_grads) + + def get_gradients_to_apply(self, device_num, gradient_state): + assert device_num == 0 + agg_grads, self.grad_has_inf_nan = ( + variable_mgr_util.aggregate_gradients_using_copy( + gradient_state, + use_mean=True, + check_inf_nan=self.benchmark_cnn.enable_auto_loss_scale)) + return agg_grads + + def get_devices(self): + ps_strategy = variable_mgr_util.GreedyLoadBalancingStrategy( + self.benchmark_cnn.num_ps, variable_mgr_util.byte_size_load_fn) + return [ + tf.train.replica_device_setter( + worker_device=d, + cluster=self.benchmark_cnn.cluster_manager.get_cluster_spec(), + ps_strategy=ps_strategy) for d in self.benchmark_cnn.raw_devices + ] + + +class VariableMgrDistributedFetchFromStagedPS( + VariableMgrDistributedFetchFromPS): + """Extends VariableMgrDistributedFetchFromPS for --staged_vars.""" + + def __init__(self, benchmark_cnn): + super(VariableMgrDistributedFetchFromStagedPS, self).__init__(benchmark_cnn) + self.staging_vars_on_devices = [ + dict() for _ in self.benchmark_cnn.raw_devices + ] + self.staged_vars_on_cpu = {} + + def create_outer_variable_scope(self, device_num): + self._custom_getter = variable_mgr_util.StagedVariableGetter( + device_num, self.benchmark_cnn.raw_devices, + self.benchmark_cnn.cpu_device, self) + return tf.variable_scope( + 'v', reuse=bool(device_num) or self._reuse_vars, + custom_getter=self._custom_getter, use_resource=self.use_resource_vars) + + def supports_staged_vars(self): + return True + + def trainable_variables_on_device(self, + rel_device_num, + abs_device_num, + writable=False): + return self._custom_getter.trainable_variables_on_device( + rel_device_num, abs_device_num, writable=writable) + + +class VariableMgrDistributedReplicated(VariableMgr): + """VariableMgr that implements the --distributed_replicated mode. + + Each GPU has a copy of the variables, and updates its copy after the + parameter servers are all updated with the gradients from all servers. Only + works with cross_replica_sync=true. Unlike 'replicated', does not use nccl + all-reduce for replicating within a server. + """ + + def each_tower_has_variables(self): + return True + + def create_outer_variable_scope(self, device_num): + return tf.variable_scope( + 'v%s' % device_num, reuse=self._reuse_vars, + custom_getter=variable_mgr_util.OverrideToLocalVariableIfNotPsVar(), + use_resource=self.use_resource_vars) + + def preprocess_device_grads(self, device_grads): + return ([self.benchmark_cnn.param_server_device], device_grads) + + def get_gradients_to_apply(self, device_num, gradient_state): + device_grads = gradient_state # From 2nd result of preprocess_device_grads. + + avg_grads, self.grad_has_inf_nan = ( + variable_mgr_util.aggregate_gradients_using_copy_with_device_selection( + self.benchmark_cnn, + device_grads, + use_mean=True, + check_inf_nan=self.benchmark_cnn.enable_auto_loss_scale)) + + # Make shadow variable on a parameter server for each original trainable + # variable. + for i, (g, v) in enumerate(avg_grads): + my_name = variable_mgr_util.PS_SHADOW_VAR_PREFIX + '/' + v.name + if my_name.endswith(':0'): + my_name = my_name[:-2] + new_v = tf.get_variable( + my_name, + dtype=v.dtype.base_dtype, + initializer=v.initial_value, + trainable=True) + avg_grads[i] = (g, new_v) + return avg_grads + + def append_apply_gradients_ops(self, gradient_state, opt, grads, training_ops, + loss_scale_params): + device_grads = gradient_state # From 2nd result of preprocess_device_grads. + + def get_apply_gradients_ops_func(): + """Returns a list of ops for updating gradients.""" + apply_gradients_ops = [] + # For each variable, apply the combined gradients for this server on + # the parameter server, and then wait for all other servers to do this. + for i, (g, v) in enumerate(grads): + apply_gradient_op = opt.apply_gradients([(g, v)]) + barrier = self.benchmark_cnn.add_sync_queues_and_barrier( + 'replicate_variable_%s' % i, [apply_gradient_op]) + with tf.control_dependencies([barrier]): + with tf.device(self.benchmark_cnn.cpu_device): + updated_value = v.read_value() + for my_d in range(len(self.benchmark_cnn.devices)): + apply_gradients_ops.append( + device_grads[my_d][i][1].assign(updated_value)) + return apply_gradients_ops + + variable_mgr_util.append_gradients_with_loss_scale( + training_ops, get_apply_gradients_ops_func, loss_scale_params, + self.grad_has_inf_nan) + + def _strip_port(self, s): + if s.endswith(':0'): + return s[:-2] + return s + + def get_post_init_ops(self): + # Copy initialized variables for variables on the parameter server + # to the local copy of the variable. + + local_vars = tf.local_variables() + local_var_by_name = dict( + [(self._strip_port(v.name), v) for v in local_vars]) + post_init_ops = [] + for v in tf.global_variables(): + if v.name.startswith(variable_mgr_util.PS_SHADOW_VAR_PREFIX + '/v0/'): + prefix = self._strip_port( + v.name[len(variable_mgr_util.PS_SHADOW_VAR_PREFIX + '/v0'):]) + for i in range(self.benchmark_cnn.num_gpus): + name = 'v%s%s' % (i, prefix) + if name in local_var_by_name: + copy_to = local_var_by_name[name] + post_init_ops.append(copy_to.assign(v.read_value())) + return post_init_ops + + def _remove_shadow_var_prefix_if_present(self, var_name): + if var_name.startswith(variable_mgr_util.PS_SHADOW_VAR_PREFIX + '/'): + return var_name[len(variable_mgr_util.PS_SHADOW_VAR_PREFIX + '/'):] + else: + return var_name + + def var_dict_name(self, v): + return self._strip_port(self._remove_shadow_var_prefix_if_present(v.name)) + + def savable_variables(self): + """Returns a list/dict of savable variables to pass to tf.train.Saver.""" + params = {} + for v in tf.global_variables(): + assert (v.name.startswith(variable_mgr_util.PS_SHADOW_VAR_PREFIX + '/v0/') + or v.name in ('global_step:0', 'loss_scale:0', + 'loss_scale_normal_steps:0')), ( + 'Invalid global variable: %s' % v) + # We store variables in the checkpoint with the shadow variable prefix + # removed so we can evaluate checkpoints in non-distributed replicated + # mode. The checkpoints can also be loaded for training in + # distributed_replicated mode. + name = self._strip_port(self._remove_shadow_var_prefix_if_present(v.name)) + params[name] = v + for v in tf.local_variables(): + # Non-trainable variables, such as batch norm moving averages, do not have + # corresponding global shadow variables, so we add them here. Trainable + # local variables have corresponding global shadow variables, which were + # added in the global variable loop above. + if v.name.startswith('v0/') and v not in tf.trainable_variables(): + params[self._strip_port(v.name)] = v + return params + + def get_devices(self): + return self.benchmark_cnn.raw_devices diff --git a/cv/classification/resnet50/tensorflow/variable_mgr_util.py b/cv/classification/resnet50/tensorflow/variable_mgr_util.py new file mode 100644 index 0000000000000000000000000000000000000000..94ce3e4b7c48d49797802f3dfadbaf0d4108d902 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/variable_mgr_util.py @@ -0,0 +1,676 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Utilities for VariableMgr.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import collections as pycoll +import operator + +import numpy as np +import tensorflow.compat.v1 as tf + +# pylint: disable=g-direct-tensorflow-import +from tensorflow.python.framework import ops +from tensorflow.python.framework import tensor_shape +from tensorflow.python.ops import array_ops +from tensorflow.python.ops import data_flow_ops +from tensorflow.python.ops import math_ops + + +PS_SHADOW_VAR_PREFIX = 'ps_var' + +AutoLossScaleParams = pycoll.namedtuple( + 'AutoLossScaleParams', + [ + # If true, enable automatic loss scaling. + 'enable_auto_loss_scale', + # The value to scale the loss before computing gradients. + 'loss_scale', + # Number of normal steps with the current `loss_scale`. + 'loss_scale_normal_steps', + # Increase loss scale every n steps. + 'inc_loss_scale_every_n', + # If true, the current worker is chief. The current implementation + # relies on the chief to update loss_scale value, but in future, we + # might change this to ask the parameter server to update loss_scales + # for better performance. + # TODO(tanmingxing): remove this if loss_scale is updated in ps. + 'is_chief', + ]) + + +def get_loss_scale_update_op(loss_scale, loss_scale_normal_steps, + inc_loss_scale_every_n): + """Returns the update op for loss scaling variables. + + We maintain the counter `loss_scale_normal_steps` to count the number of steps + we have been using the current `loss_scale`. In most cases, this function + increments `loss_scale_normal_steps`. However, if `loss_scale_normal_steps` is + greater than the threshold `inc_loss_scale_every_n`, we double `loss_scale` + and reset `loss_scale_normal_steps` to zero. + + This op is only called if the gradients don't have any infs or nans. Instead, + if infs or nans occur in the gradients, we immeditately halve `loss_scale` and + reset `loss_scale_normal_steps` to zero. + + Args: + loss_scale: a tf.Variable represneting the loss_scale value. + loss_scale_normal_steps: a tf.Variable representing the number of training + steps that have run since the loss_scale last changed. + inc_loss_scale_every_n: a Python integer threshold. `loss_scale` is + increased every `inc_loss_scale_every_n` steps, unless the gradients have + infs or nans. + + Returns: + An op for updating `loss_scale` and `loss_scale_normal_steps`. + """ + + def increment_loss_scale_normal_steps_func(): + return tf.group(loss_scale_normal_steps.assign_add(1)) + + def increase_loss_scale_func(): + return tf.group( + tf.assign(loss_scale_normal_steps, 0), + tf.assign(loss_scale, loss_scale * 2)) + + # true_fn and false_fn must have the same type. + return tf.cond(loss_scale_normal_steps < inc_loss_scale_every_n, + increment_loss_scale_normal_steps_func, + increase_loss_scale_func) + + +def append_gradients_with_loss_scale(training_ops, get_apply_gradients_ops_func, + loss_scale_params, grad_has_inf_nan): + """Selectively appends gradients update ops with loss scaling. + + Args: + training_ops: a list of training ops to be executed. + get_apply_gradients_ops_func: a function that returns a list of ops for + applying gradients. Here, we must pass a function instead of the actual + list of ops; otherwise, those ops would be executed unconditionally due to + the semantics of tf.cond. + loss_scale_params: An AutoLossScaleParams tuple. + grad_has_inf_nan: Boolean tensor indicating whether the gradients have infs + or nans. + """ + is_chief = loss_scale_params.is_chief + loss_scale = loss_scale_params.loss_scale + loss_scale_normal_steps = loss_scale_params.loss_scale_normal_steps + inc_loss_scale_every_n = loss_scale_params.inc_loss_scale_every_n + enable_auto_loss_scale = loss_scale_params.enable_auto_loss_scale + + if loss_scale is None or not enable_auto_loss_scale or not is_chief: + training_ops.extend(get_apply_gradients_ops_func()) + else: + # If nans/infs occurred, skip applying gradients and instead update + # loss_scale (halve loss_scale and reset loss_scale_normal_steps to zero). + def update_op_if_nan_or_inf(): + """Update loss_scale and discard gradients if nans/infs occurred.""" + return tf.group( + tf.assign(loss_scale, loss_scale / 2.), + tf.assign(loss_scale_normal_steps, 0)) + + # Otherwise, apply gradients, and update loss_scale and + # loss_scale_normal_steps. + def update_op_if_no_nan_or_inf(): + """Apply gradients, and update loss scaling.""" + return tf.group( + get_loss_scale_update_op(loss_scale, loss_scale_normal_steps, + inc_loss_scale_every_n), + *get_apply_gradients_ops_func()) + + # TODO(tanmingxing): Add support for independent and distributed all_reduce. + assert grad_has_inf_nan is not None + update_op = tf.cond( + grad_has_inf_nan, + update_op_if_nan_or_inf, + update_op_if_no_nan_or_inf, + name='cond_if_grad_has_inf_nan' + ) + training_ops.append(update_op) + + +# To be used with custom_getter on tf.get_variable. +class OverrideCachingDevice(object): + """Variable getter which caches variables on the least loaded device. + + Variables smaller than a certain threshold are cached on a single specific + device, as specified in the constructor. All other variables are load balanced + across a pool of devices, by caching each variable on the least loaded device. + + Note that variable creation only happen when building the model graph on the + first device (see how it sets the 'reuse' parameter in + VariableMgr.*.create_outer_variable_scope()). That means, for all other + devices, the variable scope will reuse the variables created before, which + requires that we set the caching_device correctly as otherwise it may not be + able to find the previously created variable and will create a new one. This + requires when building the model graph on different devices, variables with + the same name should have same size. + + TODO(laigd): consider adding tests or verification logic to enforce this, or + refactor it. + """ + + def __init__(self, devices, device_for_small_variables, + small_variable_size_threshold): + self.devices = devices + self.sizes = [0] * len(self.devices) + self.device_for_small_variables = device_for_small_variables + self.small_variable_size_threshold = small_variable_size_threshold + + def __call__(self, getter, *args, **kwargs): + size = tf.TensorShape(kwargs['shape']).num_elements() + if size < self.small_variable_size_threshold: + device_name = self.device_for_small_variables + else: + device_index, _ = min(enumerate(self.sizes), key=operator.itemgetter(1)) + device_name = self.devices[device_index] + self.sizes[device_index] += size + + kwargs['caching_device'] = device_name + var = getter(*args, **kwargs) + return var + + +# To be used with custom_getter on tf.get_variable. Ensures the created variable +# is in LOCAL_VARIABLES and not GLOBAL_VARIBLES collection. +class OverrideToLocalVariableIfNotPsVar(object): + + # args and kwargs come from the custom_getter interface for Tensorflow + # variables, and matches tf.get_variable's signature, with the addition of + # 'getter' at the beginning. + def __call__(self, getter, name, *args, **kwargs): + if name.startswith(PS_SHADOW_VAR_PREFIX): + return getter(*args, **kwargs) + + if 'collections' in kwargs: + collections = kwargs['collections'] + if not collections: + collections = [tf.GraphKeys.GLOBAL_VARIABLES] + else: + collections = collections[:] + collections.remove(tf.GraphKeys.GLOBAL_VARIABLES) + collections.append(tf.GraphKeys.LOCAL_VARIABLES) + kwargs['collections'] = list(collections) + return getter(name, *args, **kwargs) + + +class ParamServerDeviceSetter(object): + """Helper class to assign variables on the least loaded ps-device.""" + + def __init__(self, worker_device, ps_devices): + """Initializer for ParamServerDevicSetter. + + Args: + worker_device: the device to use for computer ops. + ps_devices: a list of device to use for Variable ops. Each variable is + assigned to the least loaded device. + """ + self.ps_devices = ps_devices + self.worker_device = worker_device + self.ps_sizes = [0] * len(self.ps_devices) + + def __call__(self, op): + if op.device: + return op.device + if op.type not in ['Variable', 'VariableV2']: + return self.worker_device + + device_index, _ = min(enumerate(self.ps_sizes), key=operator.itemgetter(1)) + device_name = self.ps_devices[device_index] + var_size = op.outputs[0].get_shape().num_elements() + self.ps_sizes[device_index] += var_size + + return device_name + + +class StagedModelVariable(object): + """Staging variable wrapper that decouples reads and updates. + + This class represents a variable through a staging buffer. Reads from this + variable directly gets from the staging buffer. Updates are stacked into + another staging buffer, and will be processed later. + """ + + def __init__(self, real_var, var_stage_get, variable_mgr): + """Initializer for the model variables through a staging buffer. + + Args: + real_var: the underlying real variable. + var_stage_get: the read op from the staging buffer. + variable_mgr: the parent variable-manager. + """ + self.real_var = real_var + self.var_stage_get = var_stage_get + self.variable_mgr = variable_mgr + + def _value(self): + """The read access of this variable. The content from the staging buffer.""" + return self.var_stage_get + + def _ref(self): + """Return the underlying variable ref, required by tf.colocate_with.""" + return self.real_var._ref() # pylint: disable=protected-access + + def read_value(self): + """Mimics tf.Variable.read_value().""" + return tf.identity(self.var_stage_get, name='read') + + @property + def dtype(self): + """Return the non-reference dtype.""" + return self.var_stage_get.dtype + + def assign_sub(self, delta, name=None, read_value=True): + """Mimic the updates to the variable. + + Args: + delta: is pushed into a staging buffer and will be pumped later. + name: currently ignored; names of ops and the StagingArea are + computed without using this pass name. + read_value: if True, will return something which evaluates to the new + value of the variable; if False will return the assign op. + Returns: + The actual updates. The colocation constraint will be reapplied. + """ + # This parameter is ignored: the StagingArea only supports setting + # the shared name, not the names of individual ops it uses. + del name + + # colocate_with(None, True) clears the colocation constraints. + # Push the delta into a staging buffer. + with ops.colocate_with(None, True), tf.device(self.var_stage_get.device): + delta_staging_area = data_flow_ops.StagingArea( + [self.var_stage_get.dtype], shapes=[self.var_stage_get.shape]) + delta_put_op = delta_staging_area.put([delta]) + self.variable_mgr.staging_delta_ops.append(delta_put_op) + delta_get_op = delta_staging_area.get()[0] + # Return the actual updates. The colocation constraint will be reapplied. + return self.real_var.assign_sub(delta_get_op, read_value=read_value) + + @staticmethod + # pylint: disable=bad-staticmethod-argument,invalid-name + def _TensorConversionFunction(self, dtype=None, name=None, as_ref=False): + """Utility function for converting a StagedModelVariable to a Tensor.""" + del dtype, name # unused: this function returns the cached ref or value. + if as_ref: + return self._ref() + else: + return self._value() + + +ops.register_tensor_conversion_function( + StagedModelVariable, StagedModelVariable._TensorConversionFunction) # pylint: disable=protected-access + + +class StagedVariableGetter(object): + """A variable getter through staging buffers on devices. + + Instead of a caching device, this getter tracks where the variable is used. + And on each device, it goes through a staging buffer. + """ + + def __init__(self, device_num, devices, cpu_device, variable_mgr): + """Initializer for StagedVariableGetter. + + Args: + device_num: the current device index. + devices: a list of all the devices to build towers. + cpu_device: a cpu_device for this replica. If None, no cpu-caching is + done. + variable_mgr: the parent variable manager. + """ + self.device_num = device_num + self.devices = devices + self.cpu_device = cpu_device + self.variable_mgr = variable_mgr + + def __call__(self, getter, name, *args, **kwargs): + staging_ops = self.variable_mgr.staging_vars_on_devices[self.device_num] + if name in staging_ops: + put_op, get_op = staging_ops[name] + return get_op + real_var = getter(name, *args, **kwargs) + shape = kwargs['shape'] + dtype = kwargs['dtype'] + trainable = kwargs['trainable'] + if self.cpu_device: + with tf.device(self.cpu_device): + # This helps copying the weights from the parameter to this server only + # once. + if name in self.variable_mgr.staged_vars_on_cpu: + cpu_var = self.variable_mgr.staged_vars_on_cpu[name] + else: + cpu_var = tf.identity(real_var) + self.variable_mgr.staged_vars_on_cpu[name] = cpu_var + var_to_stage = cpu_var + else: + var_to_stage = tf.identity(real_var) # de-reference the variable. + + with tf.device(self.devices[self.device_num]): + staging_area = data_flow_ops.StagingArea([dtype], shapes=[shape]) + put_op = staging_area.put([var_to_stage]) + get_op = staging_area.get()[0] + staging_ops[name] = (put_op, get_op) + if trainable: + # For trainable variables, they are managed separatedly through + # apply_gradients. + return get_op + else: + # For other shadow variables, the access is decoupled through a wrapper + # class. + return StagedModelVariable(real_var, get_op, self.variable_mgr) + + def trainable_variables_on_device(self, rel_device_num, abs_device_num, + writable): + """Return the set of trainable variables on the specified device. + + Args: + rel_device_num: local worker device index. + abs_device_num: global graph device index. + writable: whether the returned variables is writable or read-only. + + Returns: + Return the set of trainable variables on the specified device. + """ + del abs_device_num + params_refs = tf.trainable_variables() + if writable: + return params_refs + params = [] + for param in params_refs: + var_name = param.name.split(':')[0] + _, var_get_op = self.variable_mgr.staging_vars_on_devices[rel_device_num][ + var_name] + params.append(var_get_op) + return params + + +def aggregate_gradients_using_copy_with_device_selection( + benchmark_cnn, tower_grads, use_mean, check_inf_nan): + """Aggregate gradients, controlling device for the aggregation. + + Args: + benchmark_cnn: benchmark_cnn class. + tower_grads: List of lists of (gradient, variable) tuples. The outer list + is over towers. The inner list is over individual gradients. + use_mean: if True, mean is taken, else sum of gradients is taken. + check_inf_nan: If true, check grads for nans and infs. + + Returns: + The tuple ([(average_gradient, variable),], has_nan_or_inf) where the + gradient has been averaged across all towers. The variable is chosen from + the first tower. The has_nan_or_inf indicates the grads has nan or inf. + """ + if benchmark_cnn.local_parameter_device_flag == 'gpu': + avail_devices = benchmark_cnn.raw_devices + else: + avail_devices = [benchmark_cnn.param_server_device] + agg_grads = [] + has_nan_or_inf_list = [] + for i, single_grads in enumerate(zip(*tower_grads)): + with tf.device(avail_devices[i % len(avail_devices)]): + grad_and_var, has_nan_or_inf = aggregate_single_gradient_using_copy( + single_grads, use_mean, check_inf_nan) + agg_grads.append(grad_and_var) + has_nan_or_inf_list.append(has_nan_or_inf) + if check_inf_nan: + return agg_grads, tf.reduce_any(has_nan_or_inf_list) + else: + return agg_grads, None + + +def aggregate_gradients_using_copy_with_variable_colocation( + tower_grads, use_mean, check_inf_nan): + """Aggregate gradients, colocating computation with the gradient's variable. + + Args: + tower_grads: List of lists of (gradient, variable) tuples. The outer list + is over towers. The inner list is over individual gradients. All variables + of the same gradient across towers must be the same (that is, + tower_grads[x][a][1] == tower_grads[y][a][1] for all indices x, y, and a) + use_mean: if True, mean is taken, else sum of gradients is taken. + check_inf_nan: If true, check grads for nans and infs. + + Returns: + The tuple ([(average_gradient, variable),], has_nan_or_inf) where the + gradient has been averaged across all towers. The variable is chosen from + the first tower. The has_nan_or_inf indicates the grads has nan or inf. + """ + agg_grads = [] + has_nan_or_inf_list = [] + for single_grads in zip(*tower_grads): + # Note that each single_grads looks like the following: + # ((grad0_gpu0, var0_gpu0), ... , (grad0_gpuN, var0_gpuN)) + var = single_grads[0][1] + + for _, v in single_grads: + assert v == var + + with tf.device(var.device): + grad_and_var, has_nan_or_inf = aggregate_single_gradient_using_copy( + single_grads, use_mean, check_inf_nan) + agg_grads.append(grad_and_var) + has_nan_or_inf_list.append(has_nan_or_inf) + + if check_inf_nan: + return agg_grads, tf.reduce_any(has_nan_or_inf_list) + else: + return agg_grads, None + + +def aggregate_gradients_using_copy(tower_grads, use_mean, check_inf_nan): + """Calculate the average gradient for each shared variable across all towers. + + Note that this function provides a synchronization point across all towers. + + Args: + tower_grads: List of lists of (gradient, variable) tuples. The outer list + is over towers. The inner list is over individual gradients. + use_mean: if True, mean is taken, else sum of gradients is taken. + check_inf_nan: check grads for nans and infs. + + Returns: + The tuple ([(average_gradient, variable),], has_nan_or_inf) where the + gradient has been averaged across all towers. The variable is chosen from + the first tower. The has_nan_or_inf indicates the grads has nan or inf. + """ + agg_grads = [] + has_nan_or_inf_list = [] + + for single_grads in zip(*tower_grads): + grad_and_var, has_nan_or_inf = aggregate_single_gradient_using_copy( + single_grads, use_mean, check_inf_nan) + agg_grads.append(grad_and_var) + has_nan_or_inf_list.append(has_nan_or_inf) + + if check_inf_nan: + return agg_grads, tf.reduce_any(has_nan_or_inf_list) + else: + return agg_grads, None + + +# The following two functions are copied from +# tensorflow/python/eager/backprop.py. We do not directly use them as they are +# not exported and subject to change at any time. +def flatten_nested_indexed_slices(grad): + assert isinstance(grad, ops.IndexedSlices) + if isinstance(grad.values, ops.Tensor): + return grad + else: + assert isinstance(grad.values, ops.IndexedSlices) + g = flatten_nested_indexed_slices(grad.values) + return ops.IndexedSlices(g.values, array_ops.gather(grad.indices, + g.indices), + g.dense_shape) + + +def aggregate_indexed_slices_gradients(grads): + """Aggregates gradients containing `IndexedSlices`s.""" + if len(grads) < 1: + return None + elif len(grads) == 1: + return grads[0] + else: + grads = [g for g in grads if g is not None] + # If any gradient is a `Tensor`, sum them up and return a dense tensor + # object. + if any(isinstance(g, ops.Tensor) for g in grads): + return math_ops.add_n(grads) + + # The following `_as_indexed_slices_list` casts ids of IndexedSlices into + # int64. It is to make sure the inputs of `concat` all have same the data + # type. + grads = math_ops._as_indexed_slices_list(grads) # pylint: disable=protected-access + + grads = [flatten_nested_indexed_slices(x) for x in grads] + # Form IndexedSlices out of the concatenated values and indices. + concat_grad = ops.IndexedSlices( + array_ops.concat([x.values for x in grads], axis=0), + array_ops.concat([x.indices for x in grads], axis=0), + grads[0].dense_shape) + + return concat_grad + + +def aggregate_single_gradient_using_copy(grad_and_vars, use_mean, + check_inf_nan): + """Calculate the average gradient for a shared variable across all towers. + + Note that this function provides a synchronization point across all towers. + + Args: + grad_and_vars: A list or tuple of (gradient, variable) tuples. Each + (gradient, variable) pair within the outer list represents the gradient + of the variable calculated for a single tower, and the number of pairs + equals the number of towers. + use_mean: if True, mean is taken, else sum of gradients is taken. + check_inf_nan: check grads for nans and infs. + + Returns: + The tuple ([(average_gradient, variable),], has_nan_or_inf) where the + gradient has been averaged across all towers. The variable is chosen from + the first tower. The has_nan_or_inf indicates the grads has nan or inf. + """ + grads = [g for g, _ in grad_and_vars] + if any(isinstance(g, tf.IndexedSlices) for g in grads): + # TODO(reedwm): All-reduce IndexedSlices more effectively. + grad = aggregate_indexed_slices_gradients(grads) + else: + grad = tf.add_n(grads) + + if use_mean and len(grads) > 1: + grad = tf.scalar_mul(1.0 / len(grads), grad) + + v = grad_and_vars[0][1] + if check_inf_nan: + with tf.name_scope('check_for_inf_and_nan'): + has_nan_or_inf = tf.logical_not(tf.reduce_all(tf.is_finite(grads))) + return (grad, v), has_nan_or_inf + else: + return (grad, v), None + + +# This class is copied from +# https://github.com/tensorflow/tensorflow/blob/590d6eef7e91a6a7392c8ffffb7b58f2e0c8bc6b/tensorflow/contrib/training/python/training/device_setter.py#L56. +# We copy it since contrib has been removed from TensorFlow. +class GreedyLoadBalancingStrategy(object): + """Returns the least-loaded ps task for op placement. + + The load is calculated by a user-specified load function passed in at + construction. There are no units for load, and the load function is + responsible for providing an internally consistent measure. + + Note that this strategy is very sensitive to the exact order in which + ps ops (typically variables) are created, as it greedily places ops + on the least-loaded ps at the point each op is processed. + + One reasonable heuristic is the `byte_size_load_fn`, which + estimates load as the number of bytes that would be used to store and + transmit the entire variable. More advanced load functions + could consider the difference in access patterns across ops, or trade + off CPU-intensive ops with RAM-intensive ops with network bandwidth. + + This class is intended to be used as a `ps_strategy` in + `tf.compat.v1.train.replica_device_setter`. + """ + + def __init__(self, num_tasks, load_fn): + """Create a new `LoadBalancingStrategy`. + + Args: + num_tasks: Number of ps tasks to cycle among. + load_fn: A callable that takes an `Operation` and returns a + numeric load value for that op. + """ + self._num_tasks = num_tasks + self._load_fn = load_fn + self._ps_loads = np.zeros(num_tasks) + + def __call__(self, op): + """Choose a ps task index for the given `Operation`. + + Args: + op: A `Operation` to be placed on ps. + + Returns: + The next ps task index to use for the `Operation`. Greedily + places the op on the least-loaded ps task so far, as determined + by the load function. + """ + task = np.argmin(self._ps_loads) + self._ps_loads[task] += self._load_fn(op) + return task + + +# This function is copied from +# https://github.com/tensorflow/tensorflow/blob/590d6eef7e91a6a7392c8ffffb7b58f2e0c8bc6b/tensorflow/contrib/training/python/training/device_setter.py#L105. +# We copy it since contrib has been removed from TensorFlow. +def byte_size_load_fn(op): + """Load function that computes the byte size of a single-output `Operation`. + + This is intended to be used with `"Variable"` ops, which have a single + `Tensor` output with the contents of the variable. However, it can also be + used for calculating the size of any op that has a single output. + + Intended to be used with `GreedyLoadBalancingStrategy`. + + Args: + op: An `Operation` with a single output, typically a "Variable" op. + + Returns: + The number of bytes in the output `Tensor`. + + Raises: + ValueError: if `op` does not have a single output, or if the shape of the + single output is not fully-defined. + """ + if len(op.outputs) != 1: + raise ValueError('Op %s must have a single output' % op) + output = op.outputs[0] + elem_size = output.dtype.size + shape = output.get_shape() + if not shape.is_fully_defined(): + # Due to legacy behavior, scalar "Variable" ops have output Tensors that + # have unknown shape when the op is created (and hence passed to this + # load function for placement), even though the scalar shape is set + # explicitly immediately afterward. + shape = tensor_shape.TensorShape(op.get_attr('shape')) + shape.assert_is_fully_defined() + return shape.num_elements() * elem_size + diff --git a/cv/classification/resnet50/tensorflow/variable_mgr_util_test.py b/cv/classification/resnet50/tensorflow/variable_mgr_util_test.py new file mode 100644 index 0000000000000000000000000000000000000000..0915224f9681ab34daee03e01d12852b15d95298 --- /dev/null +++ b/cv/classification/resnet50/tensorflow/variable_mgr_util_test.py @@ -0,0 +1,153 @@ +# Copyright 2018 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Tests for variable_mgr_util.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow.compat.v1 as tf +import variable_mgr_util + + +class VariableMgrUtilTest(tf.test.TestCase): + + def testGetLossScaleUpdateOpTruePath(self): + loss_scale = tf.Variable(4) + # loss_scale_normal_steps >= inc_loss_scale_every_n + loss_scale_normal_steps = tf.Variable(10) + inc_loss_scale_every_n = 10 + update_op = variable_mgr_util.get_loss_scale_update_op( + loss_scale, loss_scale_normal_steps, inc_loss_scale_every_n) + + with self.test_session() as sess: + sess.run(tf.global_variables_initializer()) + sess.run(update_op) + + self.assertEqual(sess.run(loss_scale), 8) + self.assertEqual(sess.run(loss_scale_normal_steps), 0) + + def testGetLossScaleUpdateOpFalsePath(self): + loss_scale = tf.Variable(4) + # loss_scale_normal_steps < inc_loss_scale_every_n + loss_scale_normal_steps = tf.Variable(9) + inc_loss_scale_every_n = 10 + update_op = variable_mgr_util.get_loss_scale_update_op( + loss_scale, loss_scale_normal_steps, inc_loss_scale_every_n) + + with self.test_session() as sess: + sess.run(tf.global_variables_initializer()) + sess.run(update_op) + + self.assertEqual(sess.run(loss_scale), 4) + self.assertEqual(sess.run(loss_scale_normal_steps), 10) + + def testAppendGradientsWithLossScaleWithAutoScaleDisabled(self): + v = tf.Variable(0) + training_ops = [] + get_apply_gradients_ops_func = lambda: [tf.assign(v, v + 1)] + loss_scale_params = variable_mgr_util.AutoLossScaleParams( + enable_auto_loss_scale=False, # no auto loss scale. + loss_scale=tf.Variable(4), + loss_scale_normal_steps=tf.Variable(10), + inc_loss_scale_every_n=10, + is_chief=True) + variable_mgr_util.append_gradients_with_loss_scale( + training_ops, + get_apply_gradients_ops_func, + loss_scale_params, + grad_has_inf_nan=True) + + with self.test_session() as sess: + sess.run(tf.global_variables_initializer()) + sess.run(training_ops) + self.assertEqual(sess.run(v), 1) + self.assertEqual(sess.run(loss_scale_params.loss_scale), 4) + self.assertEqual(sess.run(loss_scale_params.loss_scale_normal_steps), 10) + + def testAppendGradientsWithLossScaleForNonChiefWorker(self): + v = tf.Variable(0) + training_ops = [] + get_apply_gradients_ops_func = lambda: [tf.assign(v, v + 1)] + loss_scale_params = variable_mgr_util.AutoLossScaleParams( + enable_auto_loss_scale=True, + loss_scale=tf.Variable(4), + loss_scale_normal_steps=tf.Variable(10), + inc_loss_scale_every_n=10, + is_chief=False) # Non-chief + variable_mgr_util.append_gradients_with_loss_scale( + training_ops, + get_apply_gradients_ops_func, + loss_scale_params, + grad_has_inf_nan=False) + + with self.test_session() as sess: + sess.run(tf.global_variables_initializer()) + sess.run(training_ops) + self.assertEqual(sess.run(v), 1) + self.assertEqual(sess.run(loss_scale_params.loss_scale), 4) + self.assertEqual(sess.run(loss_scale_params.loss_scale_normal_steps), 10) + + def testAppendGradientsWithLossScaleWithoutNan(self): + v = tf.Variable(0) + training_ops = [] + get_apply_gradients_ops_func = lambda: [tf.assign(v, v + 1)] + loss_scale_params = variable_mgr_util.AutoLossScaleParams( + enable_auto_loss_scale=True, + loss_scale=tf.Variable(4, dtype=tf.float32), + loss_scale_normal_steps=tf.Variable(10), + inc_loss_scale_every_n=10, + is_chief=True) + variable_mgr_util.append_gradients_with_loss_scale( + training_ops, + get_apply_gradients_ops_func, + loss_scale_params, + grad_has_inf_nan=tf.constant(False)) + + with self.test_session() as sess: + sess.run(tf.global_variables_initializer()) + sess.run(training_ops) + self.assertEqual(sess.run(v), 1) + self.assertEqual(sess.run(loss_scale_params.loss_scale), 8) + self.assertEqual(sess.run(loss_scale_params.loss_scale_normal_steps), 0) + + def testAppendGradientsWithLossScaleWithtNan(self): + v = tf.Variable(0) + training_ops = [] + get_apply_gradients_ops_func = lambda: [tf.assign(v, v + 1)] + loss_scale_params = variable_mgr_util.AutoLossScaleParams( + enable_auto_loss_scale=True, + loss_scale=tf.Variable(4, dtype=tf.float32), + loss_scale_normal_steps=tf.Variable(10), + inc_loss_scale_every_n=10, + is_chief=True) + variable_mgr_util.append_gradients_with_loss_scale( + training_ops, + get_apply_gradients_ops_func, + loss_scale_params, + grad_has_inf_nan=tf.constant(True)) + + with self.test_session() as sess: + sess.run(tf.global_variables_initializer()) + sess.run(training_ops) + self.assertEqual(sess.run(v), 0) # Skip updating for v. + # halve loss_scale and reset local_scale_normal_steps. + self.assertEqual(sess.run(loss_scale_params.loss_scale), 2) + self.assertEqual(sess.run(loss_scale_params.loss_scale_normal_steps), 0) + + +if __name__ == '__main__': + tf.disable_v2_behavior() + tf.test.main() diff --git a/cv/detection/ssd/tensorflow/LICENSE b/cv/detection/ssd/tensorflow/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64 --- /dev/null +++ b/cv/detection/ssd/tensorflow/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/cv/detection/ssd/tensorflow/README.md b/cv/detection/ssd/tensorflow/README.md new file mode 100644 index 0000000000000000000000000000000000000000..a8feca903b4ab366fb2654ca68c09dae4a767a0b --- /dev/null +++ b/cv/detection/ssd/tensorflow/README.md @@ -0,0 +1,34 @@ +### Download the VOC dataset +``` +cd dataset +``` +Download[ Pascal VOC Dataset](https://pjreddie.com/projects/pascal-voc-dataset-mirror/) and reorganize the directory as follows: +``` +VOCROOT/ + |->VOC2007/ + | |->Annotations/ + | |->ImageSets/ + | |->... + |->VOC2012/ # use it + | |->Annotations/ + | |->ImageSets/ + | |->... + |->VOC2007TEST/ + | |->Annotations/ + | |->... +``` +VOCROOT is your path of the Pascal VOC Dataset. +``` +mkdir tfrecords +python3 convert_voc_sample_tfrecords.py --dataset_directory=./ --output_directory=tfrecords --train_splits VOC2012_sample --validation_splits VOC2012_sample + +cd .. +``` +### Download the checkpoint +Download the pre-trained VGG-16 model (reduced-fc) from [here](https://drive.google.com/drive/folders/184srhbt8_uvLKeWW_Yo8Mc5wTyc0lJT7) and put them into one sub-directory named 'model' (we support SaverDef.V2 by default, the V1 version is also available for sake of compatibility). + +### Train +#### multi gpus +``` +python3 train_ssd.py --batch_size 16 +```` \ No newline at end of file diff --git a/cv/detection/ssd/tensorflow/dataset/convert_tfrecords.py b/cv/detection/ssd/tensorflow/dataset/convert_tfrecords.py new file mode 100644 index 0000000000000000000000000000000000000000..9e7b38fe151070b067c194b59a51b085bf85a23d --- /dev/null +++ b/cv/detection/ssd/tensorflow/dataset/convert_tfrecords.py @@ -0,0 +1,395 @@ +# Copyright 2018 Changan Wang + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================= +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from datetime import datetime +import os +import random +import sys +import threading +import xml.etree.ElementTree as xml_tree + +import numpy as np +import six + +import tensorflow.compat.v1 as tf + +import dataset_common + +'''How to organize your dataset folder: + VOCROOT/ + |->VOC2007/ + | |->Annotations/ + | |->ImageSets/ + | |->... + |->VOC2012/ + | |->Annotations/ + | |->ImageSets/ + | |->... + |->VOC2007TEST/ + | |->Annotations/ + | |->... +''' +tf.app.flags.DEFINE_string('dataset_directory', '/media/rs/7A0EE8880EE83EAF/Detections/PASCAL/VOC', + 'All datas directory') +tf.app.flags.DEFINE_string('train_splits', 'VOC2007, VOC2012', + 'Comma-separated list of the training data sub-directory') +tf.app.flags.DEFINE_string('validation_splits', 'VOC2007TEST', + 'Comma-separated list of the validation data sub-directory') +tf.app.flags.DEFINE_string('output_directory', '/media/rs/7A0EE8880EE83EAF/Detections/SSD/dataset/tfrecords', + 'Output data directory') +tf.app.flags.DEFINE_integer('train_shards', 16, + 'Number of shards in training TFRecord files.') +tf.app.flags.DEFINE_integer('validation_shards', 16, + 'Number of shards in validation TFRecord files.') +tf.app.flags.DEFINE_integer('num_threads', 8, + 'Number of threads to preprocess the images.') +RANDOM_SEED = 180428 + +FLAGS = tf.app.flags.FLAGS + +def _int64_feature(value): + """Wrapper for inserting int64 features into Example proto.""" + if not isinstance(value, list): + value = [value] + return tf.train.Feature(int64_list=tf.train.Int64List(value=value)) + + +def _float_feature(value): + """Wrapper for inserting float features into Example proto.""" + if not isinstance(value, list): + value = [value] + return tf.train.Feature(float_list=tf.train.FloatList(value=value)) + +def _bytes_list_feature(value): + """Wrapper for inserting a list of bytes features into Example proto. + """ + if not isinstance(value, list): + value = [value] + return tf.train.Feature(bytes_list=tf.train.BytesList(value=value)) + +def _bytes_feature(value): + """Wrapper for inserting bytes features into Example proto.""" + if isinstance(value, six.string_types): + value = six.binary_type(value, encoding='utf-8') + return tf.train.Feature(bytes_list=tf.train.BytesList(value=[value])) + +def _convert_to_example(filename, image_name, image_buffer, bboxes, labels, labels_text, + difficult, truncated, height, width): + """Build an Example proto for an example. + + Args: + filename: string, path to an image file, e.g., '/path/to/example.JPG' + image_buffer: string, JPEG encoding of RGB image + bboxes: List of bounding boxes for each image + labels: List of labels for bounding box + labels_text: List of labels' name for bounding box + difficult: List of ints indicate the difficulty of that bounding box + truncated: List of ints indicate the truncation of that bounding box + height: integer, image height in pixels + width: integer, image width in pixels + Returns: + Example proto + """ + ymin = [] + xmin = [] + ymax = [] + xmax = [] + for b in bboxes: + assert len(b) == 4 + # pylint: disable=expression-not-assigned + [l.append(point) for l, point in zip([ymin, xmin, ymax, xmax], b)] + # pylint: enable=expression-not-assigned + channels = 3 + image_format = 'JPEG' + + example = tf.train.Example(features=tf.train.Features(feature={ + 'image/height': _int64_feature(height), + 'image/width': _int64_feature(width), + 'image/channels': _int64_feature(channels), + 'image/shape': _int64_feature([height, width, channels]), + 'image/object/bbox/xmin': _float_feature(xmin), + 'image/object/bbox/xmax': _float_feature(xmax), + 'image/object/bbox/ymin': _float_feature(ymin), + 'image/object/bbox/ymax': _float_feature(ymax), + 'image/object/bbox/label': _int64_feature(labels), + 'image/object/bbox/label_text': _bytes_list_feature(labels_text), + 'image/object/bbox/difficult': _int64_feature(difficult), + 'image/object/bbox/truncated': _int64_feature(truncated), + 'image/format': _bytes_feature(image_format), + 'image/filename': _bytes_feature(image_name.encode('utf8')), + 'image/encoded': _bytes_feature(image_buffer)})) + return example + + +class ImageCoder(object): + """Helper class that provides TensorFlow image coding utilities.""" + + def __init__(self): + # Create a single Session to run all image coding calls. + self._sess = tf.Session() + + # Initializes function that converts PNG to JPEG data. + self._png_data = tf.placeholder(dtype=tf.string) + image = tf.image.decode_png(self._png_data, channels=3) + self._png_to_jpeg = tf.image.encode_jpeg(image, format='rgb', quality=100) + + # Initializes function that converts CMYK JPEG data to RGB JPEG data. + self._cmyk_data = tf.placeholder(dtype=tf.string) + image = tf.image.decode_jpeg(self._cmyk_data, channels=0) + self._cmyk_to_rgb = tf.image.encode_jpeg(image, format='rgb', quality=100) + + # Initializes function that decodes RGB JPEG data. + self._decode_jpeg_data = tf.placeholder(dtype=tf.string) + self._decode_jpeg = tf.image.decode_jpeg(self._decode_jpeg_data, channels=3) + + def png_to_jpeg(self, image_data): + return self._sess.run(self._png_to_jpeg, + feed_dict={self._png_data: image_data}) + + def cmyk_to_rgb(self, image_data): + return self._sess.run(self._cmyk_to_rgb, + feed_dict={self._cmyk_data: image_data}) + + def decode_jpeg(self, image_data): + image = self._sess.run(self._decode_jpeg, + feed_dict={self._decode_jpeg_data: image_data}) + assert len(image.shape) == 3 + assert image.shape[2] == 3 + return image + + +def _process_image(filename, coder): + """Process a single image file. + + Args: + filename: string, path to an image file e.g., '/path/to/example.JPG'. + coder: instance of ImageCoder to provide TensorFlow image coding utils. + Returns: + image_buffer: string, JPEG encoding of RGB image. + height: integer, image height in pixels. + width: integer, image width in pixels. + """ + # Read the image file. + with tf.gfile.FastGFile(filename, 'rb') as f: + image_data = f.read() + + # Decode the RGB JPEG. + image = coder.decode_jpeg(image_data) + + # Check that image converted to RGB + assert len(image.shape) == 3 + height = image.shape[0] + width = image.shape[1] + assert image.shape[2] == 3 + + return image_data, height, width + +def _find_image_bounding_boxes(directory, cur_record): + """Find the bounding boxes for a given image file. + + Args: + directory: string; the path of all datas. + cur_record: list of strings; the first of which is the sub-directory of cur_record, the second is the image filename. + Returns: + bboxes: List of bounding boxes for each image. + labels: List of labels for bounding box. + labels_text: List of labels' name for bounding box. + difficult: List of ints indicate the difficulty of that bounding box. + truncated: List of ints indicate the truncation of that bounding box. + """ + anna_file = os.path.join(directory, cur_record[0], 'Annotations', cur_record[1].replace('jpg', 'xml')) + + tree = xml_tree.parse(anna_file) + root = tree.getroot() + + # Image shape. + size = root.find('size') + shape = [int(size.find('height').text), + int(size.find('width').text), + int(size.find('depth').text)] + # Find annotations. + bboxes = [] + labels = [] + labels_text = [] + difficult = [] + truncated = [] + for obj in root.findall('object'): + label = obj.find('name').text + labels.append(int(dataset_common.VOC_LABELS[label][0])) + labels_text.append(label.encode('ascii')) + + isdifficult = obj.find('difficult') + if isdifficult is not None: + difficult.append(int(isdifficult.text)) + else: + difficult.append(0) + + istruncated = obj.find('truncated') + if istruncated is not None: + truncated.append(int(istruncated.text)) + else: + truncated.append(0) + + bbox = obj.find('bndbox') + bboxes.append((float(bbox.find('ymin').text) / shape[0], + float(bbox.find('xmin').text) / shape[1], + float(bbox.find('ymax').text) / shape[0], + float(bbox.find('xmax').text) / shape[1] + )) + return bboxes, labels, labels_text, difficult, truncated + +def _process_image_files_batch(coder, thread_index, ranges, name, directory, all_records, num_shards): + """Processes and saves list of images as TFRecord in 1 thread. + + Args: + coder: instance of ImageCoder to provide TensorFlow image coding utils. + thread_index: integer, unique batch to run index is within [0, len(ranges)). + ranges: list of pairs of integers specifying ranges of each batches to + analyze in parallel. + name: string, unique identifier specifying the data set + directory: string; the path of all datas + all_records: list of string tuples; the first of each tuple is the sub-directory of the record, the second is the image filename. + num_shards: integer number of shards for this data set. + """ + # Each thread produces N shards where N = int(num_shards / num_threads). + # For instance, if num_shards = 128, and the num_threads = 2, then the first + # thread would produce shards [0, 64). + num_threads = len(ranges) + assert not num_shards % num_threads + num_shards_per_batch = int(num_shards / num_threads) + + shard_ranges = np.linspace(ranges[thread_index][0], + ranges[thread_index][1], + num_shards_per_batch + 1).astype(int) + num_files_in_thread = ranges[thread_index][1] - ranges[thread_index][0] + + counter = 0 + for s in range(num_shards_per_batch): + # Generate a sharded version of the file name, e.g. 'train-00002-of-00010' + shard = thread_index * num_shards_per_batch + s + output_filename = '%s-%.5d-of-%.5d' % (name, shard, num_shards) + output_file = os.path.join(FLAGS.output_directory, output_filename) + writer = tf.python_io.TFRecordWriter(output_file) + + shard_counter = 0 + files_in_shard = np.arange(shard_ranges[s], shard_ranges[s + 1], dtype=int) + for i in files_in_shard: + cur_record = all_records[i] + filename = os.path.join(directory, cur_record[0], 'JPEGImages', cur_record[1]) + + bboxes, labels, labels_text, difficult, truncated = _find_image_bounding_boxes(directory, cur_record) + image_buffer, height, width = _process_image(filename, coder) + + example = _convert_to_example(filename, cur_record[1], image_buffer, bboxes, labels, labels_text, + difficult, truncated, height, width) + writer.write(example.SerializeToString()) + shard_counter += 1 + counter += 1 + + if not counter % 1000: + print('%s [thread %d]: Processed %d of %d images in thread batch.' % + (datetime.now(), thread_index, counter, num_files_in_thread)) + sys.stdout.flush() + + writer.close() + print('%s [thread %d]: Wrote %d images to %s' % + (datetime.now(), thread_index, shard_counter, output_file)) + sys.stdout.flush() + shard_counter = 0 + print('%s [thread %d]: Wrote %d images to %d shards.' % + (datetime.now(), thread_index, counter, num_files_in_thread)) + sys.stdout.flush() + +def _process_image_files(name, directory, all_records, num_shards): + """Process and save list of images as TFRecord of Example protos. + + Args: + name: string, unique identifier specifying the data set + directory: string; the path of all datas + all_records: list of string tuples; the first of each tuple is the sub-directory of the record, the second is the image filename. + num_shards: integer number of shards for this data set. + """ + # Break all images into batches with a [ranges[i][0], ranges[i][1]]. + spacing = np.linspace(0, len(all_records), FLAGS.num_threads + 1).astype(np.int) + ranges = [] + threads = [] + for i in range(len(spacing) - 1): + ranges.append([spacing[i], spacing[i + 1]]) + + # Launch a thread for each batch. + print('Launching %d threads for spacings: %s' % (FLAGS.num_threads, ranges)) + sys.stdout.flush() + + # Create a mechanism for monitoring when all threads are finished. + coord = tf.train.Coordinator() + + # Create a generic TensorFlow-based utility for converting all image codings. + coder = ImageCoder() + + threads = [] + for thread_index in range(len(ranges)): + args = (coder, thread_index, ranges, name, directory, all_records, num_shards) + t = threading.Thread(target=_process_image_files_batch, args=args) + t.start() + threads.append(t) + + # Wait for all the threads to terminate. + coord.join(threads) + print('%s: Finished writing all %d images in data set.' % + (datetime.now(), len(all_records))) + sys.stdout.flush() + +def _process_dataset(name, directory, all_splits, num_shards): + """Process a complete data set and save it as a TFRecord. + + Args: + name: string, unique identifier specifying the data set. + directory: string, root path to the data set. + all_splits: list of strings, sub-path to the data set. + num_shards: integer number of shards for this data set. + """ + all_records = [] + for split in all_splits: + jpeg_file_path = os.path.join(directory, split, 'JPEGImages') + images = tf.gfile.ListDirectory(jpeg_file_path) + jpegs = [im_name for im_name in images if im_name.strip()[-3:]=='jpg'] + all_records.extend(list(zip([split] * len(jpegs), jpegs))) + + shuffled_index = list(range(len(all_records))) + random.seed(RANDOM_SEED) + random.shuffle(shuffled_index) + all_records = [all_records[i] for i in shuffled_index] + _process_image_files(name, directory, all_records, num_shards) + +def parse_comma_list(args): + return [s.strip() for s in args.split(',')] + +def main(unused_argv): + assert not FLAGS.train_shards % FLAGS.num_threads, ( + 'Please make the FLAGS.num_threads commensurate with FLAGS.train_shards') + assert not FLAGS.validation_shards % FLAGS.num_threads, ( + 'Please make the FLAGS.num_threads commensurate with ' + 'FLAGS.validation_shards') + print('Saving results to %s' % FLAGS.output_directory) + + # Run it! + _process_dataset('val', FLAGS.dataset_directory, parse_comma_list(FLAGS.validation_splits), FLAGS.validation_shards) + _process_dataset('train', FLAGS.dataset_directory, parse_comma_list(FLAGS.train_splits), FLAGS.train_shards) + +if __name__ == '__main__': + tf.app.run() diff --git a/cv/detection/ssd/tensorflow/dataset/convert_voc_sample_tfrecords.py b/cv/detection/ssd/tensorflow/dataset/convert_voc_sample_tfrecords.py new file mode 100644 index 0000000000000000000000000000000000000000..6fe35a4a67467fc5b0a8aea2f237548915722dee --- /dev/null +++ b/cv/detection/ssd/tensorflow/dataset/convert_voc_sample_tfrecords.py @@ -0,0 +1,401 @@ +# Copyright 2018 Changan Wang + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================= +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from datetime import datetime +import os +import random +import sys +import threading +import xml.etree.ElementTree as xml_tree + +import numpy as np +import six + +import tensorflow.compat.v1 as tf + +import dataset_common +tf.disable_eager_execution() + +'''How to organize your dataset folder: + VOCROOT/ + |->VOC2007/ + | |->Annotations/ + | |->ImageSets/ + | |->... + |->VOC2012/ + | |->Annotations/ + | |->ImageSets/ + | |->... + |->VOC2007TEST/ + | |->Annotations/ + | |->... +''' +tf.app.flags.DEFINE_string('dataset_directory', '/media/rs/7A0EE8880EE83EAF/Detections/PASCAL/VOC', + 'All datas directory') +tf.app.flags.DEFINE_string('train_splits', 'VOC2012', + 'Comma-separated list of the training data sub-directory') +tf.app.flags.DEFINE_string('validation_splits', 'VOC2012', + 'Comma-separated list of the validation data sub-directory') +tf.app.flags.DEFINE_string('output_directory', '/media/rs/7A0EE8880EE83EAF/Detections/SSD/dataset/tfrecords', + 'Output data directory') +tf.app.flags.DEFINE_integer('train_shards', 16, + 'Number of shards in training TFRecord files.') +tf.app.flags.DEFINE_integer('validation_shards', 16, + 'Number of shards in validation TFRecord files.') +tf.app.flags.DEFINE_integer('num_threads', 8, + 'Number of threads to preprocess the images.') +RANDOM_SEED = 180428 + +FLAGS = tf.app.flags.FLAGS + +def _int64_feature(value): + """Wrapper for inserting int64 features into Example proto.""" + if not isinstance(value, list): + value = [value] + return tf.train.Feature(int64_list=tf.train.Int64List(value=value)) + + +def _float_feature(value): + """Wrapper for inserting float features into Example proto.""" + if not isinstance(value, list): + value = [value] + return tf.train.Feature(float_list=tf.train.FloatList(value=value)) + +def _bytes_list_feature(value): + """Wrapper for inserting a list of bytes features into Example proto. + """ + if not isinstance(value, list): + value = [value] + return tf.train.Feature(bytes_list=tf.train.BytesList(value=value)) + +def _bytes_feature(value): + """Wrapper for inserting bytes features into Example proto.""" + if isinstance(value, six.string_types): + value = six.binary_type(value, encoding='utf-8') + return tf.train.Feature(bytes_list=tf.train.BytesList(value=[value])) + +def _convert_to_example(filename, image_name, image_buffer, bboxes, labels, labels_text, + difficult, truncated, height, width): + """Build an Example proto for an example. + + Args: + filename: string, path to an image file, e.g., '/path/to/example.JPG' + image_buffer: string, JPEG encoding of RGB image + bboxes: List of bounding boxes for each image + labels: List of labels for bounding box + labels_text: List of labels' name for bounding box + difficult: List of ints indicate the difficulty of that bounding box + truncated: List of ints indicate the truncation of that bounding box + height: integer, image height in pixels + width: integer, image width in pixels + Returns: + Example proto + """ + ymin = [] + xmin = [] + ymax = [] + xmax = [] + for b in bboxes: + assert len(b) == 4 + # pylint: disable=expression-not-assigned + [l.append(point) for l, point in zip([ymin, xmin, ymax, xmax], b)] + # pylint: enable=expression-not-assigned + channels = 3 + image_format = 'JPEG' + + example = tf.train.Example(features=tf.train.Features(feature={ + 'image/height': _int64_feature(height), + 'image/width': _int64_feature(width), + 'image/channels': _int64_feature(channels), + 'image/shape': _int64_feature([height, width, channels]), + 'image/object/bbox/xmin': _float_feature(xmin), + 'image/object/bbox/xmax': _float_feature(xmax), + 'image/object/bbox/ymin': _float_feature(ymin), + 'image/object/bbox/ymax': _float_feature(ymax), + 'image/object/bbox/label': _int64_feature(labels), + 'image/object/bbox/label_text': _bytes_list_feature(labels_text), + 'image/object/bbox/difficult': _int64_feature(difficult), + 'image/object/bbox/truncated': _int64_feature(truncated), + 'image/format': _bytes_feature(image_format), + 'image/filename': _bytes_feature(image_name.encode('utf8')), + 'image/encoded': _bytes_feature(image_buffer)})) + return example + + +class ImageCoder(object): + """Helper class that provides TensorFlow image coding utilities.""" + + def __init__(self): + # Create a single Session to run all image coding calls. + self._sess = tf.Session() + + # Initializes function that converts PNG to JPEG data. + self._png_data = tf.placeholder(dtype=tf.string) + image = tf.image.decode_png(self._png_data, channels=3) + self._png_to_jpeg = tf.image.encode_jpeg(image, format='rgb', quality=100) + + # Initializes function that converts CMYK JPEG data to RGB JPEG data. + self._cmyk_data = tf.placeholder(dtype=tf.string) + image = tf.image.decode_jpeg(self._cmyk_data, channels=0) + self._cmyk_to_rgb = tf.image.encode_jpeg(image, format='rgb', quality=100) + + # Initializes function that decodes RGB JPEG data. + self._decode_jpeg_data = tf.placeholder(dtype=tf.string) + self._decode_jpeg = tf.image.decode_jpeg(self._decode_jpeg_data, channels=3) + + def png_to_jpeg(self, image_data): + return self._sess.run(self._png_to_jpeg, + feed_dict={self._png_data: image_data}) + + def cmyk_to_rgb(self, image_data): + return self._sess.run(self._cmyk_to_rgb, + feed_dict={self._cmyk_data: image_data}) + + def decode_jpeg(self, image_data): + image = self._sess.run(self._decode_jpeg, + feed_dict={self._decode_jpeg_data: image_data}) + assert len(image.shape) == 3 + assert image.shape[2] == 3 + return image + + +def _process_image(filename, coder): + """Process a single image file. + + Args: + filename: string, path to an image file e.g., '/path/to/example.JPG'. + coder: instance of ImageCoder to provide TensorFlow image coding utils. + Returns: + image_buffer: string, JPEG encoding of RGB image. + height: integer, image height in pixels. + width: integer, image width in pixels. + """ + # Read the image file. + with tf.gfile.FastGFile(filename, 'rb') as f: + image_data = f.read() + + # Decode the RGB JPEG. + image = coder.decode_jpeg(image_data) + + # Check that image converted to RGB + assert len(image.shape) == 3 + height = image.shape[0] + width = image.shape[1] + assert image.shape[2] == 3 + + return image_data, height, width + +def _find_image_bounding_boxes(directory, cur_record): + """Find the bounding boxes for a given image file. + + Args: + directory: string; the path of all datas. + cur_record: list of strings; the first of which is the sub-directory of cur_record, the second is the image filename. + Returns: + bboxes: List of bounding boxes for each image. + labels: List of labels for bounding box. + labels_text: List of labels' name for bounding box. + difficult: List of ints indicate the difficulty of that bounding box. + truncated: List of ints indicate the truncation of that bounding box. + """ + anna_file = os.path.join(directory, cur_record[0], 'Annotations', cur_record[1].replace('jpg', 'xml')) + + tree = xml_tree.parse(anna_file) + root = tree.getroot() + + # Image shape. + size = root.find('size') + shape = [int(size.find('height').text), + int(size.find('width').text), + int(size.find('depth').text)] + # Find annotations. + bboxes = [] + labels = [] + labels_text = [] + difficult = [] + truncated = [] + for obj in root.findall('object'): + label = obj.find('name').text + labels.append(int(dataset_common.VOC_LABELS[label][0])) + labels_text.append(label.encode('ascii')) + + isdifficult = obj.find('difficult') + if isdifficult is not None: + difficult.append(int(isdifficult.text)) + else: + difficult.append(0) + + istruncated = obj.find('truncated') + if istruncated is not None: + truncated.append(int(istruncated.text)) + else: + truncated.append(0) + + bbox = obj.find('bndbox') + bboxes.append((float(bbox.find('ymin').text) / shape[0], + float(bbox.find('xmin').text) / shape[1], + float(bbox.find('ymax').text) / shape[0], + float(bbox.find('xmax').text) / shape[1] + )) + return bboxes, labels, labels_text, difficult, truncated + +def _process_image_files_batch(coder, thread_index, ranges, name, directory, all_records, num_shards): + """Processes and saves list of images as TFRecord in 1 thread. + + Args: + coder: instance of ImageCoder to provide TensorFlow image coding utils. + thread_index: integer, unique batch to run index is within [0, len(ranges)). + ranges: list of pairs of integers specifying ranges of each batches to + analyze in parallel. + name: string, unique identifier specifying the data set + directory: string; the path of all datas + all_records: list of string tuples; the first of each tuple is the sub-directory of the record, the second is the image filename. + num_shards: integer number of shards for this data set. + """ + # Each thread produces N shards where N = int(num_shards / num_threads). + # For instance, if num_shards = 128, and the num_threads = 2, then the first + # thread would produce shards [0, 64). + num_threads = len(ranges) + assert not num_shards % num_threads + num_shards_per_batch = int(num_shards / num_threads) + + shard_ranges = np.linspace(ranges[thread_index][0], + ranges[thread_index][1], + num_shards_per_batch + 1).astype(int) + num_files_in_thread = ranges[thread_index][1] - ranges[thread_index][0] + + counter = 0 + for s in range(num_shards_per_batch): + # Generate a sharded version of the file name, e.g. 'train-00002-of-00010' + shard = thread_index * num_shards_per_batch + s + output_filename = '%s-%.5d-of-%.5d' % (name, shard, num_shards) + output_file = os.path.join(FLAGS.output_directory, output_filename) + writer = tf.python_io.TFRecordWriter(output_file) + + shard_counter = 0 + files_in_shard = np.arange(shard_ranges[s], shard_ranges[s + 1], dtype=int) + for i in files_in_shard: + cur_record = all_records[i] + filename = os.path.join(directory, cur_record[0], 'JPEGImages', cur_record[1]) + + bboxes, labels, labels_text, difficult, truncated = _find_image_bounding_boxes(directory, cur_record) + image_buffer, height, width = _process_image(filename, coder) + + example = _convert_to_example(filename, cur_record[1], image_buffer, bboxes, labels, labels_text, + difficult, truncated, height, width) + writer.write(example.SerializeToString()) + shard_counter += 1 + counter += 1 + + if not counter % 1000: + print('%s [thread %d]: Processed %d of %d images in thread batch.' % + (datetime.now(), thread_index, counter, num_files_in_thread)) + sys.stdout.flush() + + writer.close() + print('%s [thread %d]: Wrote %d images to %s' % + (datetime.now(), thread_index, shard_counter, output_file)) + sys.stdout.flush() + shard_counter = 0 + print('%s [thread %d]: Wrote %d images to %d shards.' % + (datetime.now(), thread_index, counter, num_files_in_thread)) + sys.stdout.flush() + +def _process_image_files(name, directory, all_records, num_shards): + """Process and save list of images as TFRecord of Example protos. + + Args: + name: string, unique identifier specifying the data set + directory: string; the path of all datas + all_records: list of string tuples; the first of each tuple is the sub-directory of the record, the second is the image filename. + num_shards: integer number of shards for this data set. + """ + # Break all images into batches with a [ranges[i][0], ranges[i][1]]. + spacing = np.linspace(0, len(all_records), FLAGS.num_threads + 1).astype(np.int) + ranges = [] + threads = [] + for i in range(len(spacing) - 1): + ranges.append([spacing[i], spacing[i + 1]]) + + # Launch a thread for each batch. + print('Launching %d threads for spacings: %s' % (FLAGS.num_threads, ranges)) + sys.stdout.flush() + + # Create a mechanism for monitoring when all threads are finished. + coord = tf.train.Coordinator() + + # Create a generic TensorFlow-based utility for converting all image codings. + coder = ImageCoder() + + threads = [] + for thread_index in range(len(ranges)): + args = (coder, thread_index, ranges, name, directory, all_records, num_shards) + t = threading.Thread(target=_process_image_files_batch, args=args) + t.start() + threads.append(t) + + # Wait for all the threads to terminate. + coord.join(threads) + print('%s: Finished writing all %d images in data set.' % + (datetime.now(), len(all_records))) + sys.stdout.flush() + +def _process_dataset(name, directory, all_splits, num_shards): + """Process a complete data set and save it as a TFRecord. + + Args: + name: string, unique identifier specifying the data set. + directory: string, root path to the data set. + all_splits: list of strings, sub-path to the data set. + num_shards: integer number of shards for this data set. + """ + all_records = [] + for split in all_splits: + image_names_file = os.path.join(directory, split, 'ImageSets/Main', name + '.txt') + with open(image_names_file) as f: + image_names = f.readlines() + images = [_in.strip() + '.jpg' for _in in image_names] + print(f"split {split} | name {name} | num images {len(images)}") + # jpeg_file_path = os.path.join(directory, split, 'JPEGImages') + # images = tf.gfile.ListDirectory(jpeg_file_path) + jpegs = [im_name for im_name in images if im_name.strip()[-3:]=='jpg'] + all_records.extend(list(zip([split] * len(jpegs), jpegs))) + + shuffled_index = list(range(len(all_records))) + random.seed(RANDOM_SEED) + random.shuffle(shuffled_index) + all_records = [all_records[i] for i in shuffled_index] + _process_image_files(name, directory, all_records, num_shards) + +def parse_comma_list(args): + return [s.strip() for s in args.split(',')] + +def main(unused_argv): + assert not FLAGS.train_shards % FLAGS.num_threads, ( + 'Please make the FLAGS.num_threads commensurate with FLAGS.train_shards') + assert not FLAGS.validation_shards % FLAGS.num_threads, ( + 'Please make the FLAGS.num_threads commensurate with ' + 'FLAGS.validation_shards') + print('Saving results to %s' % FLAGS.output_directory) + + # Run it! + _process_dataset('val', FLAGS.dataset_directory, parse_comma_list(FLAGS.validation_splits), FLAGS.validation_shards) + _process_dataset('train', FLAGS.dataset_directory, parse_comma_list(FLAGS.train_splits), FLAGS.train_shards) + +if __name__ == '__main__': + tf.app.run() diff --git a/cv/detection/ssd/tensorflow/dataset/dataset_common.py b/cv/detection/ssd/tensorflow/dataset/dataset_common.py new file mode 100644 index 0000000000000000000000000000000000000000..9c17c0eea470df2d18c119b195e5313782f78aed --- /dev/null +++ b/cv/detection/ssd/tensorflow/dataset/dataset_common.py @@ -0,0 +1,238 @@ +# Copyright 2018 Changan Wang + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================= +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow.compat.v1 as tf +import tf_slim as slim + + +VOC_LABELS = { + 'none': (0, 'Background'), + 'aeroplane': (1, 'Vehicle'), + 'bicycle': (2, 'Vehicle'), + 'bird': (3, 'Animal'), + 'boat': (4, 'Vehicle'), + 'bottle': (5, 'Indoor'), + 'bus': (6, 'Vehicle'), + 'car': (7, 'Vehicle'), + 'cat': (8, 'Animal'), + 'chair': (9, 'Indoor'), + 'cow': (10, 'Animal'), + 'diningtable': (11, 'Indoor'), + 'dog': (12, 'Animal'), + 'horse': (13, 'Animal'), + 'motorbike': (14, 'Vehicle'), + 'person': (15, 'Person'), + 'pottedplant': (16, 'Indoor'), + 'sheep': (17, 'Animal'), + 'sofa': (18, 'Indoor'), + 'train': (19, 'Vehicle'), + 'tvmonitor': (20, 'Indoor'), +} + +COCO_LABELS = { + "bench": (14, 'outdoor') , + "skateboard": (37, 'sports') , + "toothbrush": (80, 'indoor') , + "person": (1, 'person') , + "donut": (55, 'food') , + "none": (0, 'background') , + "refrigerator": (73, 'appliance') , + "horse": (18, 'animal') , + "elephant": (21, 'animal') , + "book": (74, 'indoor') , + "car": (3, 'vehicle') , + "keyboard": (67, 'electronic') , + "cow": (20, 'animal') , + "microwave": (69, 'appliance') , + "traffic light": (10, 'outdoor') , + "tie": (28, 'accessory') , + "dining table": (61, 'furniture') , + "toaster": (71, 'appliance') , + "baseball glove": (36, 'sports') , + "giraffe": (24, 'animal') , + "cake": (56, 'food') , + "handbag": (27, 'accessory') , + "scissors": (77, 'indoor') , + "bowl": (46, 'kitchen') , + "couch": (58, 'furniture') , + "chair": (57, 'furniture') , + "boat": (9, 'vehicle') , + "hair drier": (79, 'indoor') , + "airplane": (5, 'vehicle') , + "pizza": (54, 'food') , + "backpack": (25, 'accessory') , + "kite": (34, 'sports') , + "sheep": (19, 'animal') , + "umbrella": (26, 'accessory') , + "stop sign": (12, 'outdoor') , + "truck": (8, 'vehicle') , + "skis": (31, 'sports') , + "sandwich": (49, 'food') , + "broccoli": (51, 'food') , + "wine glass": (41, 'kitchen') , + "surfboard": (38, 'sports') , + "sports ball": (33, 'sports') , + "cell phone": (68, 'electronic') , + "dog": (17, 'animal') , + "bed": (60, 'furniture') , + "toilet": (62, 'furniture') , + "fire hydrant": (11, 'outdoor') , + "oven": (70, 'appliance') , + "zebra": (23, 'animal') , + "tv": (63, 'electronic') , + "potted plant": (59, 'furniture') , + "parking meter": (13, 'outdoor') , + "spoon": (45, 'kitchen') , + "bus": (6, 'vehicle') , + "laptop": (64, 'electronic') , + "cup": (42, 'kitchen') , + "bird": (15, 'animal') , + "sink": (72, 'appliance') , + "remote": (66, 'electronic') , + "bicycle": (2, 'vehicle') , + "tennis racket": (39, 'sports') , + "baseball bat": (35, 'sports') , + "cat": (16, 'animal') , + "fork": (43, 'kitchen') , + "suitcase": (29, 'accessory') , + "snowboard": (32, 'sports') , + "clock": (75, 'indoor') , + "apple": (48, 'food') , + "mouse": (65, 'electronic') , + "bottle": (40, 'kitchen') , + "frisbee": (30, 'sports') , + "carrot": (52, 'food') , + "bear": (22, 'animal') , + "hot dog": (53, 'food') , + "teddy bear": (78, 'indoor') , + "knife": (44, 'kitchen') , + "train": (7, 'vehicle') , + "vase": (76, 'indoor') , + "banana": (47, 'food') , + "motorcycle": (4, 'vehicle') , + "orange": (50, 'food') + } + +# use dataset_inspect.py to get these summary +data_splits_num = { + 'train': 22136, + 'val': 4952, +} + +def slim_get_batch(num_classes, batch_size, split_name, file_pattern, num_readers, num_preprocessing_threads, image_preprocessing_fn, anchor_encoder, num_epochs=None, is_training=True): + """Gets a dataset tuple with instructions for reading Pascal VOC dataset. + + Args: + num_classes: total class numbers in dataset. + batch_size: the size of each batch. + split_name: 'train' of 'val'. + file_pattern: The file pattern to use when matching the dataset sources (full path). + num_readers: the max number of reader used for reading tfrecords. + num_preprocessing_threads: the max number of threads used to run preprocessing function. + image_preprocessing_fn: the function used to dataset augumentation. + anchor_encoder: the function used to encoder all anchors. + num_epochs: total epoches for iterate this dataset. + is_training: whether we are in traing phase. + + Returns: + A batch of [image, shape, loc_targets, cls_targets, match_scores]. + """ + if split_name not in data_splits_num: + raise ValueError('split name %s was not recognized.' % split_name) + + # Features in Pascal VOC TFRecords. + keys_to_features = { + 'image/encoded': tf.FixedLenFeature((), tf.string, default_value=''), + 'image/format': tf.FixedLenFeature((), tf.string, default_value='jpeg'), + 'image/filename': tf.FixedLenFeature((), tf.string, default_value=''), + 'image/height': tf.FixedLenFeature([1], tf.int64), + 'image/width': tf.FixedLenFeature([1], tf.int64), + 'image/channels': tf.FixedLenFeature([1], tf.int64), + 'image/shape': tf.FixedLenFeature([3], tf.int64), + 'image/object/bbox/xmin': tf.VarLenFeature(dtype=tf.float32), + 'image/object/bbox/ymin': tf.VarLenFeature(dtype=tf.float32), + 'image/object/bbox/xmax': tf.VarLenFeature(dtype=tf.float32), + 'image/object/bbox/ymax': tf.VarLenFeature(dtype=tf.float32), + 'image/object/bbox/label': tf.VarLenFeature(dtype=tf.int64), + 'image/object/bbox/difficult': tf.VarLenFeature(dtype=tf.int64), + 'image/object/bbox/truncated': tf.VarLenFeature(dtype=tf.int64), + } + items_to_handlers = { + 'image': slim.tfexample_decoder.Image('image/encoded', 'image/format'), + 'filename': slim.tfexample_decoder.Tensor('image/filename'), + 'shape': slim.tfexample_decoder.Tensor('image/shape'), + 'object/bbox': slim.tfexample_decoder.BoundingBox( + ['ymin', 'xmin', 'ymax', 'xmax'], 'image/object/bbox/'), + 'object/label': slim.tfexample_decoder.Tensor('image/object/bbox/label'), + 'object/difficult': slim.tfexample_decoder.Tensor('image/object/bbox/difficult'), + 'object/truncated': slim.tfexample_decoder.Tensor('image/object/bbox/truncated'), + } + decoder = slim.tfexample_decoder.TFExampleDecoder(keys_to_features, items_to_handlers) + + labels_to_names = {} + for name, pair in VOC_LABELS.items(): + labels_to_names[pair[0]] = name + + dataset = slim.dataset.Dataset( + data_sources=file_pattern, + reader=tf.TFRecordReader, + decoder=decoder, + num_samples=data_splits_num[split_name], + items_to_descriptions=None, + num_classes=num_classes, + labels_to_names=labels_to_names) + + with tf.name_scope('dataset_data_provider'): + provider = slim.dataset_data_provider.DatasetDataProvider( + dataset, + num_readers=num_readers, + common_queue_capacity=32 * batch_size, + common_queue_min=8 * batch_size, + shuffle=is_training, + num_epochs=num_epochs) + + [org_image, filename, shape, glabels_raw, gbboxes_raw, isdifficult] = provider.get(['image', 'filename', 'shape', + 'object/label', + 'object/bbox', + 'object/difficult']) + + if is_training: + # if all is difficult, then keep the first one + isdifficult_mask =tf.cond(tf.count_nonzero(isdifficult, dtype=tf.int32) < tf.shape(isdifficult)[0], + lambda : isdifficult < tf.ones_like(isdifficult), + lambda : tf.one_hot(0, tf.shape(isdifficult)[0], on_value=True, off_value=False, dtype=tf.bool)) + + glabels_raw = tf.boolean_mask(glabels_raw, isdifficult_mask) + gbboxes_raw = tf.boolean_mask(gbboxes_raw, isdifficult_mask) + + # Pre-processing image, labels and bboxes. + + if is_training: + image, glabels, gbboxes = image_preprocessing_fn(org_image, glabels_raw, gbboxes_raw) + else: + image = image_preprocessing_fn(org_image, glabels_raw, gbboxes_raw) + glabels, gbboxes = glabels_raw, gbboxes_raw + + gt_targets, gt_labels, gt_scores = anchor_encoder(glabels, gbboxes) + + return tf.train.batch([image, filename, shape, gt_targets, gt_labels, gt_scores], + dynamic_pad=False, + batch_size=batch_size, + allow_smaller_final_batch=(not is_training), + num_threads=num_preprocessing_threads, + capacity=64 * batch_size) diff --git a/cv/detection/ssd/tensorflow/dataset/dataset_inspect.py b/cv/detection/ssd/tensorflow/dataset/dataset_inspect.py new file mode 100644 index 0000000000000000000000000000000000000000..a94e6a6880ff4f92970e4832bad51e18c870f1fe --- /dev/null +++ b/cv/detection/ssd/tensorflow/dataset/dataset_inspect.py @@ -0,0 +1,35 @@ +# Copyright 2018 Changan Wang + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================= +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os + +import tensorflow as tf + +def count_split_examples(split_path, file_prefix='.tfrecord'): + # Count the total number of examples in all of these shard + num_samples = 0 + tfrecords_to_count = tf.gfile.Glob(os.path.join(split_path, file_prefix)) + opts = tf.python_io.TFRecordOptions(tf.python_io.TFRecordCompressionType.ZLIB) + for tfrecord_file in tfrecords_to_count: + for record in tf.python_io.tf_record_iterator(tfrecord_file):#, options = opts): + num_samples += 1 + return num_samples + +if __name__ == '__main__': + print('train:', count_split_examples('/media/rs/7A0EE8880EE83EAF/Detections/SSD/dataset/tfrecords', 'train-?????-of-?????')) + print('val:', count_split_examples('/media/rs/7A0EE8880EE83EAF/Detections/SSD/dataset/tfrecords', 'val-?????-of-?????')) diff --git a/cv/detection/ssd/tensorflow/demo/demo1.jpg b/cv/detection/ssd/tensorflow/demo/demo1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e0ca8c5edf9d87e70894f369c16c76c5e22e2752 Binary files /dev/null and b/cv/detection/ssd/tensorflow/demo/demo1.jpg differ diff --git a/cv/detection/ssd/tensorflow/demo/demo2.jpg b/cv/detection/ssd/tensorflow/demo/demo2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..568105fe8152e73710f3ae3e90deaca8a47fc60c Binary files /dev/null and b/cv/detection/ssd/tensorflow/demo/demo2.jpg differ diff --git a/cv/detection/ssd/tensorflow/demo/demo3.jpg b/cv/detection/ssd/tensorflow/demo/demo3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d486a47fde1a9ba826f3db372f3589d61bd20567 Binary files /dev/null and b/cv/detection/ssd/tensorflow/demo/demo3.jpg differ diff --git a/cv/detection/ssd/tensorflow/eval_ssd.py b/cv/detection/ssd/tensorflow/eval_ssd.py new file mode 100644 index 0000000000000000000000000000000000000000..1a064b8a773d65bdcad27d6b629f1e09994ac25c --- /dev/null +++ b/cv/detection/ssd/tensorflow/eval_ssd.py @@ -0,0 +1,457 @@ +# Copyright 2018 Changan Wang + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================= +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os +import sys + +import tensorflow as tf + +import numpy as np + +from net import ssd_net + +from dataset import dataset_common +from preprocessing import ssd_preprocessing +from utility import anchor_manipulator +from utility import scaffolds + +# hardware related configuration +tf.app.flags.DEFINE_integer( + 'num_readers', 8, + 'The number of parallel readers that read data from the dataset.') +tf.app.flags.DEFINE_integer( + 'num_preprocessing_threads', 24, + 'The number of threads used to create the batches.') +tf.app.flags.DEFINE_integer( + 'num_cpu_threads', 0, + 'The number of cpu cores used to train.') +tf.app.flags.DEFINE_float( + 'gpu_memory_fraction', 1., 'GPU memory fraction to use.') +# scaffold related configuration +tf.app.flags.DEFINE_string( + 'data_dir', './dataset/tfrecords', + 'The directory where the dataset input data is stored.') +tf.app.flags.DEFINE_integer( + 'num_classes', 21, 'Number of classes to use in the dataset.') +tf.app.flags.DEFINE_string( + 'model_dir', './logs/', + 'The directory where the model will be stored.') +tf.app.flags.DEFINE_integer( + 'log_every_n_steps', 10, + 'The frequency with which logs are printed.') +tf.app.flags.DEFINE_integer( + 'save_summary_steps', 500, + 'The frequency with which summaries are saved, in seconds.') +# model related configuration +tf.app.flags.DEFINE_integer( + 'train_image_size', 300, + 'The size of the input image for the model to use.') +tf.app.flags.DEFINE_integer( + 'train_epochs', 1, + 'The number of epochs to use for training.') +tf.app.flags.DEFINE_integer( + 'batch_size', 1, + 'Batch size for training and evaluation.') +tf.app.flags.DEFINE_string( + 'data_format', 'channels_last', # 'channels_first' or 'channels_last' + 'A flag to override the data format used in the model. channels_first ' + 'provides a performance boost on GPU but is not always compatible ' + 'with CPU. If left unspecified, the data format will be chosen ' + 'automatically based on whether TensorFlow was built for CPU or GPU.') +tf.app.flags.DEFINE_float( + 'negative_ratio', 3., 'Negative ratio in the loss function.') +tf.app.flags.DEFINE_float( + 'match_threshold', 0.5, 'Matching threshold in the loss function.') +tf.app.flags.DEFINE_float( + 'neg_threshold', 0.5, 'Matching threshold for the negtive examples in the loss function.') +tf.app.flags.DEFINE_float( + 'select_threshold', 0.01, 'Class-specific confidence score threshold for selecting a box.') +tf.app.flags.DEFINE_float( + 'min_size', 0.03, 'The min size of bboxes to keep.') +tf.app.flags.DEFINE_float( + 'nms_threshold', 0.45, 'Matching threshold in NMS algorithm.') +tf.app.flags.DEFINE_integer( + 'nms_topk', 200, 'Number of total object to keep after NMS.') +tf.app.flags.DEFINE_integer( + 'keep_topk', 400, 'Number of total object to keep for each image before nms.') +# optimizer related configuration +tf.app.flags.DEFINE_float( + 'weight_decay', 5e-4, 'The weight decay on the model weights.') +# checkpoint related configuration +tf.app.flags.DEFINE_string( + 'checkpoint_path', './model', + 'The path to a checkpoint from which to fine-tune.') +tf.app.flags.DEFINE_string( + 'model_scope', 'ssd300', + 'Model scope name used to replace the name_scope in checkpoint.') + +FLAGS = tf.app.flags.FLAGS +#CUDA_VISIBLE_DEVICES + +def get_checkpoint(): + if tf.train.latest_checkpoint(FLAGS.model_dir): + tf.logging.info('Ignoring --checkpoint_path because a checkpoint already exists in %s' % FLAGS.model_dir) + return None + + if tf.gfile.IsDirectory(FLAGS.checkpoint_path): + checkpoint_path = tf.train.latest_checkpoint(FLAGS.checkpoint_path) + else: + checkpoint_path = FLAGS.checkpoint_path + + return checkpoint_path + +# couldn't find better way to pass params from input_fn to model_fn +# some tensors used by model_fn must be created in input_fn to ensure they are in the same graph +# but when we put these tensors to labels's dict, the replicate_model_fn will split them into each GPU +# the problem is that they shouldn't be splited +global_anchor_info = dict() + +def input_pipeline(dataset_pattern='train-*', is_training=True, batch_size=FLAGS.batch_size): + def input_fn(): + out_shape = [FLAGS.train_image_size] * 2 + anchor_creator = anchor_manipulator.AnchorCreator(out_shape, + layers_shapes = [(38, 38), (19, 19), (10, 10), (5, 5), (3, 3), (1, 1)], + anchor_scales = [(0.1,), (0.2,), (0.375,), (0.55,), (0.725,), (0.9,)], + extra_anchor_scales = [(0.1414,), (0.2739,), (0.4541,), (0.6315,), (0.8078,), (0.9836,)], + anchor_ratios = [(1., 2., .5), (1., 2., 3., .5, 0.3333), (1., 2., 3., .5, 0.3333), (1., 2., 3., .5, 0.3333), (1., 2., .5), (1., 2., .5)], + #anchor_ratios = [(2., .5), (2., 3., .5, 0.3333), (2., 3., .5, 0.3333), (2., 3., .5, 0.3333), (2., .5), (2., .5)], + layer_steps = [8, 16, 32, 64, 100, 300]) + all_anchors, all_num_anchors_depth, all_num_anchors_spatial = anchor_creator.get_all_anchors() + + num_anchors_per_layer = [] + for ind in range(len(all_anchors)): + num_anchors_per_layer.append(all_num_anchors_depth[ind] * all_num_anchors_spatial[ind]) + + anchor_encoder_decoder = anchor_manipulator.AnchorEncoder(allowed_borders = [1.0] * 6, + positive_threshold = FLAGS.match_threshold, + ignore_threshold = FLAGS.neg_threshold, + prior_scaling=[0.1, 0.1, 0.2, 0.2]) + + image_preprocessing_fn = lambda image_, labels_, bboxes_ : ssd_preprocessing.preprocess_image(image_, labels_, bboxes_, out_shape, is_training=is_training, data_format=FLAGS.data_format, output_rgb=False) + anchor_encoder_fn = lambda glabels_, gbboxes_: anchor_encoder_decoder.encode_all_anchors(glabels_, gbboxes_, all_anchors, all_num_anchors_depth, all_num_anchors_spatial) + + image, filename, shape, loc_targets, cls_targets, match_scores = dataset_common.slim_get_batch(FLAGS.num_classes, + batch_size, + ('train' if is_training else 'val'), + os.path.join(FLAGS.data_dir, dataset_pattern), + FLAGS.num_readers, + FLAGS.num_preprocessing_threads, + image_preprocessing_fn, + anchor_encoder_fn, + num_epochs=FLAGS.train_epochs, + is_training=is_training) + global global_anchor_info + global_anchor_info = {'decode_fn': lambda pred : anchor_encoder_decoder.decode_all_anchors(pred, num_anchors_per_layer), + 'num_anchors_per_layer': num_anchors_per_layer, + 'all_num_anchors_depth': all_num_anchors_depth } + + return {'image': image, 'filename': filename, 'shape': shape, 'loc_targets': loc_targets, 'cls_targets': cls_targets, 'match_scores': match_scores}, None + return input_fn + +def modified_smooth_l1(bbox_pred, bbox_targets, bbox_inside_weights=1., bbox_outside_weights=1., sigma=1.): + """ + ResultLoss = outside_weights * SmoothL1(inside_weights * (bbox_pred - bbox_targets)) + SmoothL1(x) = 0.5 * (sigma * x)^2, if |x| < 1 / sigma^2 + |x| - 0.5 / sigma^2, otherwise + """ + with tf.name_scope('smooth_l1', [bbox_pred, bbox_targets]): + sigma2 = sigma * sigma + + inside_mul = tf.multiply(bbox_inside_weights, tf.subtract(bbox_pred, bbox_targets)) + + smooth_l1_sign = tf.cast(tf.less(tf.abs(inside_mul), 1.0 / sigma2), tf.float32) + smooth_l1_option1 = tf.multiply(tf.multiply(inside_mul, inside_mul), 0.5 * sigma2) + smooth_l1_option2 = tf.subtract(tf.abs(inside_mul), 0.5 / sigma2) + smooth_l1_result = tf.add(tf.multiply(smooth_l1_option1, smooth_l1_sign), + tf.multiply(smooth_l1_option2, tf.abs(tf.subtract(smooth_l1_sign, 1.0)))) + + outside_mul = tf.multiply(bbox_outside_weights, smooth_l1_result) + + return outside_mul + +def select_bboxes(scores_pred, bboxes_pred, num_classes, select_threshold): + selected_bboxes = {} + selected_scores = {} + with tf.name_scope('select_bboxes', [scores_pred, bboxes_pred]): + for class_ind in range(1, num_classes): + class_scores = scores_pred[:, class_ind] + select_mask = class_scores > select_threshold + + select_mask = tf.cast(select_mask, tf.float32) + selected_bboxes[class_ind] = tf.multiply(bboxes_pred, tf.expand_dims(select_mask, axis=-1)) + selected_scores[class_ind] = tf.multiply(class_scores, select_mask) + + return selected_bboxes, selected_scores + +def clip_bboxes(ymin, xmin, ymax, xmax, name): + with tf.name_scope(name, 'clip_bboxes', [ymin, xmin, ymax, xmax]): + ymin = tf.maximum(ymin, 0.) + xmin = tf.maximum(xmin, 0.) + ymax = tf.minimum(ymax, 1.) + xmax = tf.minimum(xmax, 1.) + + ymin = tf.minimum(ymin, ymax) + xmin = tf.minimum(xmin, xmax) + + return ymin, xmin, ymax, xmax + +def filter_bboxes(scores_pred, ymin, xmin, ymax, xmax, min_size, name): + with tf.name_scope(name, 'filter_bboxes', [scores_pred, ymin, xmin, ymax, xmax]): + width = xmax - xmin + height = ymax - ymin + + filter_mask = tf.logical_and(width > min_size, height > min_size) + + filter_mask = tf.cast(filter_mask, tf.float32) + return tf.multiply(ymin, filter_mask), tf.multiply(xmin, filter_mask), \ + tf.multiply(ymax, filter_mask), tf.multiply(xmax, filter_mask), tf.multiply(scores_pred, filter_mask) + +def sort_bboxes(scores_pred, ymin, xmin, ymax, xmax, keep_topk, name): + with tf.name_scope(name, 'sort_bboxes', [scores_pred, ymin, xmin, ymax, xmax]): + cur_bboxes = tf.shape(scores_pred)[0] + scores, idxes = tf.nn.top_k(scores_pred, k=tf.minimum(keep_topk, cur_bboxes), sorted=True) + + ymin, xmin, ymax, xmax = tf.gather(ymin, idxes), tf.gather(xmin, idxes), tf.gather(ymax, idxes), tf.gather(xmax, idxes) + + paddings_scores = tf.expand_dims(tf.stack([0, tf.maximum(keep_topk-cur_bboxes, 0)], axis=0), axis=0) + + return tf.pad(ymin, paddings_scores, "CONSTANT"), tf.pad(xmin, paddings_scores, "CONSTANT"),\ + tf.pad(ymax, paddings_scores, "CONSTANT"), tf.pad(xmax, paddings_scores, "CONSTANT"),\ + tf.pad(scores, paddings_scores, "CONSTANT") + +def nms_bboxes(scores_pred, bboxes_pred, nms_topk, nms_threshold, name): + with tf.name_scope(name, 'nms_bboxes', [scores_pred, bboxes_pred]): + idxes = tf.image.non_max_suppression(bboxes_pred, scores_pred, nms_topk, nms_threshold) + return tf.gather(scores_pred, idxes), tf.gather(bboxes_pred, idxes) + +def parse_by_class(cls_pred, bboxes_pred, num_classes, select_threshold, min_size, keep_topk, nms_topk, nms_threshold): + with tf.name_scope('select_bboxes', [cls_pred, bboxes_pred]): + scores_pred = tf.nn.softmax(cls_pred) + selected_bboxes, selected_scores = select_bboxes(scores_pred, bboxes_pred, num_classes, select_threshold) + for class_ind in range(1, num_classes): + ymin, xmin, ymax, xmax = tf.unstack(selected_bboxes[class_ind], 4, axis=-1) + #ymin, xmin, ymax, xmax = tf.split(selected_bboxes[class_ind], 4, axis=-1) + #ymin, xmin, ymax, xmax = tf.squeeze(ymin), tf.squeeze(xmin), tf.squeeze(ymax), tf.squeeze(xmax) + ymin, xmin, ymax, xmax = clip_bboxes(ymin, xmin, ymax, xmax, 'clip_bboxes_{}'.format(class_ind)) + ymin, xmin, ymax, xmax, selected_scores[class_ind] = filter_bboxes(selected_scores[class_ind], + ymin, xmin, ymax, xmax, min_size, 'filter_bboxes_{}'.format(class_ind)) + ymin, xmin, ymax, xmax, selected_scores[class_ind] = sort_bboxes(selected_scores[class_ind], + ymin, xmin, ymax, xmax, keep_topk, 'sort_bboxes_{}'.format(class_ind)) + selected_bboxes[class_ind] = tf.stack([ymin, xmin, ymax, xmax], axis=-1) + selected_scores[class_ind], selected_bboxes[class_ind] = nms_bboxes(selected_scores[class_ind], selected_bboxes[class_ind], nms_topk, nms_threshold, 'nms_bboxes_{}'.format(class_ind)) + + return selected_bboxes, selected_scores + +def ssd_model_fn(features, labels, mode, params): + """model_fn for SSD to be used with our Estimator.""" + filename = features['filename'] + shape = features['shape'] + loc_targets = features['loc_targets'] + cls_targets = features['cls_targets'] + match_scores = features['match_scores'] + features = features['image'] + + global global_anchor_info + decode_fn = global_anchor_info['decode_fn'] + num_anchors_per_layer = global_anchor_info['num_anchors_per_layer'] + all_num_anchors_depth = global_anchor_info['all_num_anchors_depth'] + + with tf.variable_scope(params['model_scope'], default_name=None, values=[features], reuse=tf.AUTO_REUSE): + backbone = ssd_net.VGG16Backbone(params['data_format']) + feature_layers = backbone.forward(features, training=(mode == tf.estimator.ModeKeys.TRAIN)) + #print(feature_layers) + location_pred, cls_pred = ssd_net.multibox_head(feature_layers, params['num_classes'], all_num_anchors_depth, data_format=params['data_format']) + if params['data_format'] == 'channels_first': + cls_pred = [tf.transpose(pred, [0, 2, 3, 1]) for pred in cls_pred] + location_pred = [tf.transpose(pred, [0, 2, 3, 1]) for pred in location_pred] + + cls_pred = [tf.reshape(pred, [tf.shape(features)[0], -1, params['num_classes']]) for pred in cls_pred] + location_pred = [tf.reshape(pred, [tf.shape(features)[0], -1, 4]) for pred in location_pred] + + cls_pred = tf.concat(cls_pred, axis=1) + location_pred = tf.concat(location_pred, axis=1) + + cls_pred = tf.reshape(cls_pred, [-1, params['num_classes']]) + location_pred = tf.reshape(location_pred, [-1, 4]) + + with tf.device('/cpu:0'): + bboxes_pred = decode_fn(location_pred) + bboxes_pred = tf.concat(bboxes_pred, axis=0) + selected_bboxes, selected_scores = parse_by_class(cls_pred, bboxes_pred, + params['num_classes'], params['select_threshold'], params['min_size'], + params['keep_topk'], params['nms_topk'], params['nms_threshold']) + + predictions = {'filename': filename, 'shape': shape } + for class_ind in range(1, params['num_classes']): + predictions['scores_{}'.format(class_ind)] = tf.expand_dims(selected_scores[class_ind], axis=0) + predictions['bboxes_{}'.format(class_ind)] = tf.expand_dims(selected_bboxes[class_ind], axis=0) + + flaten_cls_targets = tf.reshape(cls_targets, [-1]) + flaten_match_scores = tf.reshape(match_scores, [-1]) + flaten_loc_targets = tf.reshape(loc_targets, [-1, 4]) + + # each positive examples has one label + positive_mask = flaten_cls_targets > 0 + n_positives = tf.count_nonzero(positive_mask) + + batch_n_positives = tf.count_nonzero(cls_targets, -1) + + batch_negtive_mask = tf.equal(cls_targets, 0)#tf.logical_and(tf.equal(cls_targets, 0), match_scores > 0.) + batch_n_negtives = tf.count_nonzero(batch_negtive_mask, -1) + + batch_n_neg_select = tf.cast(params['negative_ratio'] * tf.cast(batch_n_positives, tf.float32), tf.int32) + batch_n_neg_select = tf.minimum(batch_n_neg_select, tf.cast(batch_n_negtives, tf.int32)) + + # hard negative mining for classification + predictions_for_bg = tf.nn.softmax(tf.reshape(cls_pred, [tf.shape(features)[0], -1, params['num_classes']]))[:, :, 0] + prob_for_negtives = tf.where(batch_negtive_mask, + 0. - predictions_for_bg, + # ignore all the positives + 0. - tf.ones_like(predictions_for_bg)) + topk_prob_for_bg, _ = tf.nn.top_k(prob_for_negtives, k=tf.shape(prob_for_negtives)[1]) + score_at_k = tf.gather_nd(topk_prob_for_bg, tf.stack([tf.range(tf.shape(features)[0]), batch_n_neg_select - 1], axis=-1)) + + selected_neg_mask = prob_for_negtives >= tf.expand_dims(score_at_k, axis=-1) + + # include both selected negtive and all positive examples + final_mask = tf.stop_gradient(tf.logical_or(tf.reshape(tf.logical_and(batch_negtive_mask, selected_neg_mask), [-1]), positive_mask)) + total_examples = tf.count_nonzero(final_mask) + + cls_pred = tf.boolean_mask(cls_pred, final_mask) + location_pred = tf.boolean_mask(location_pred, tf.stop_gradient(positive_mask)) + flaten_cls_targets = tf.boolean_mask(tf.clip_by_value(flaten_cls_targets, 0, params['num_classes']), final_mask) + flaten_loc_targets = tf.stop_gradient(tf.boolean_mask(flaten_loc_targets, positive_mask)) + + # Calculate loss, which includes softmax cross entropy and L2 regularization. + #cross_entropy = (params['negative_ratio'] + 1.) * tf.cond(n_positives > 0, lambda: tf.losses.sparse_softmax_cross_entropy(labels=glabels, logits=cls_pred), lambda: 0.) + cross_entropy = tf.losses.sparse_softmax_cross_entropy(labels=flaten_cls_targets, logits=cls_pred) * (params['negative_ratio'] + 1.) + # Create a tensor named cross_entropy for logging purposes. + tf.identity(cross_entropy, name='cross_entropy_loss') + tf.summary.scalar('cross_entropy_loss', cross_entropy) + + #loc_loss = tf.cond(n_positives > 0, lambda: modified_smooth_l1(location_pred, tf.stop_gradient(flaten_loc_targets), sigma=1.), lambda: tf.zeros_like(location_pred)) + loc_loss = modified_smooth_l1(location_pred, flaten_loc_targets, sigma=1.) + loc_loss = tf.reduce_mean(tf.reduce_sum(loc_loss, axis=-1), name='location_loss') + tf.summary.scalar('location_loss', loc_loss) + tf.losses.add_loss(loc_loss) + + # Add weight decay to the loss. We exclude the batch norm variables because + # doing so leads to a small improvement in accuracy. + total_loss = tf.add(cross_entropy, loc_loss, name='total_loss') + + cls_accuracy = tf.metrics.accuracy(flaten_cls_targets, tf.argmax(cls_pred, axis=-1)) + + # Create a tensor named train_accuracy for logging purposes. + tf.identity(cls_accuracy[1], name='cls_accuracy') + tf.summary.scalar('cls_accuracy', cls_accuracy[1]) + + summary_hook = tf.train.SummarySaverHook(save_steps=params['save_summary_steps'], + output_dir=params['summary_dir'], + summary_op=tf.summary.merge_all()) + if mode == tf.estimator.ModeKeys.PREDICT: + return tf.estimator.EstimatorSpec( + mode=mode, + predictions=predictions, + prediction_hooks=[summary_hook], + loss=None, train_op=None) + else: + raise ValueError('This script only support "PREDICT" mode!') + +def parse_comma_list(args): + return [float(s.strip()) for s in args.split(',')] + +def main(_): + # Using the Winograd non-fused algorithms provides a small performance boost. + os.environ['TF_ENABLE_WINOGRAD_NONFUSED'] = '1' + + gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=FLAGS.gpu_memory_fraction) + config = tf.ConfigProto(allow_soft_placement=True, log_device_placement=False, intra_op_parallelism_threads=FLAGS.num_cpu_threads, inter_op_parallelism_threads=FLAGS.num_cpu_threads, gpu_options=gpu_options) + + # Set up a RunConfig to only save checkpoints once per training cycle. + run_config = tf.estimator.RunConfig().replace( + save_checkpoints_secs=None).replace( + save_checkpoints_steps=None).replace( + save_summary_steps=FLAGS.save_summary_steps).replace( + keep_checkpoint_max=5).replace( + log_step_count_steps=FLAGS.log_every_n_steps).replace( + session_config=config) + + summary_dir = os.path.join(FLAGS.model_dir, 'predict') + + ssd_detector = tf.estimator.Estimator( + model_fn=ssd_model_fn, model_dir=FLAGS.model_dir, config=run_config, + params={ + 'select_threshold': FLAGS.select_threshold, + 'min_size': FLAGS.min_size, + 'nms_threshold': FLAGS.nms_threshold, + 'nms_topk': FLAGS.nms_topk, + 'keep_topk': FLAGS.keep_topk, + 'data_format': FLAGS.data_format, + 'batch_size': FLAGS.batch_size, + 'model_scope': FLAGS.model_scope, + 'save_summary_steps': FLAGS.save_summary_steps, + 'summary_dir': summary_dir, + 'num_classes': FLAGS.num_classes, + 'negative_ratio': FLAGS.negative_ratio, + 'match_threshold': FLAGS.match_threshold, + 'neg_threshold': FLAGS.neg_threshold, + 'weight_decay': FLAGS.weight_decay, + }) + tensors_to_log = { + 'ce': 'cross_entropy_loss', + 'loc': 'location_loss', + 'loss': 'total_loss', + 'acc': 'cls_accuracy', + } + logging_hook = tf.train.LoggingTensorHook(tensors=tensors_to_log, every_n_iter=FLAGS.log_every_n_steps, + formatter=lambda dicts: (', '.join(['%s=%.6f' % (k, v) for k, v in dicts.items()]))) + + print('Starting a predict cycle.') + pred_results = ssd_detector.predict(input_fn=input_pipeline(dataset_pattern='val-*', is_training=False, batch_size=FLAGS.batch_size), + hooks=[logging_hook], checkpoint_path=get_checkpoint())#, yield_single_examples=False) + + det_results = list(pred_results) + #print(list(det_results)) + + #[{'bboxes_1': array([[0. , 0. , 0.28459054, 0.5679505 ], [0.3158835 , 0.34792888, 0.7312541 , 1. ]], dtype=float32), 'scores_17': array([0.01333667, 0.01152573], dtype=float32), 'filename': b'000703.jpg', 'shape': array([334, 500, 3])}] + for class_ind in range(1, FLAGS.num_classes): + with open(os.path.join(summary_dir, 'results_{}.txt'.format(class_ind)), 'wt') as f: + for image_ind, pred in enumerate(det_results): + filename = pred['filename'] + shape = pred['shape'] + scores = pred['scores_{}'.format(class_ind)] + bboxes = pred['bboxes_{}'.format(class_ind)] + bboxes[:, 0] = (bboxes[:, 0] * shape[0]).astype(np.int32, copy=False) + 1 + bboxes[:, 1] = (bboxes[:, 1] * shape[1]).astype(np.int32, copy=False) + 1 + bboxes[:, 2] = (bboxes[:, 2] * shape[0]).astype(np.int32, copy=False) + 1 + bboxes[:, 3] = (bboxes[:, 3] * shape[1]).astype(np.int32, copy=False) + 1 + + valid_mask = np.logical_and((bboxes[:, 2] - bboxes[:, 0] > 0), (bboxes[:, 3] - bboxes[:, 1] > 0)) + + for det_ind in range(valid_mask.shape[0]): + if not valid_mask[det_ind]: + continue + f.write('{:s} {:.3f} {:.1f} {:.1f} {:.1f} {:.1f}\n'. + format(filename.decode('utf8')[:-4], scores[det_ind], + bboxes[det_ind, 1], bboxes[det_ind, 0], + bboxes[det_ind, 3], bboxes[det_ind, 2])) + + +if __name__ == '__main__': + tf.logging.set_verbosity(tf.logging.INFO) + tf.app.run() diff --git a/cv/detection/ssd/tensorflow/net/common_ops.py b/cv/detection/ssd/tensorflow/net/common_ops.py new file mode 100644 index 0000000000000000000000000000000000000000..ae49c42b7831c8b076dbd471833d9315d39e02db --- /dev/null +++ b/cv/detection/ssd/tensorflow/net/common_ops.py @@ -0,0 +1,455 @@ +import math +import numpy as np +import tensorflow.compat.v1 as tf +from tensorflow.python.framework import ops +from tensorflow.python.ops import array_ops +from tensorflow.python.ops import math_ops + + +def fixed_padding(inputs, kernel_size, rate=1): + kernel_size_effective = [kernel_size[0] + (kernel_size[0] - 1) * (rate - 1), + kernel_size[1] + (kernel_size[1] - 1) * (rate - 1)] + + pad_total = [kernel_size_effective[0] - 1, kernel_size_effective[1] - 1] + pad_beg = [pad_total[0] // 2, pad_total[1] // 2] + pad_end = [pad_total[0] - pad_beg[0], pad_total[1] - pad_beg[1]] + + padded_inputs = tf.pad(inputs, [[0, 0], [pad_beg[0], pad_end[0]], + [pad_beg[1], pad_end[1]], [0, 0]]) + return padded_inputs + + +def conv2d( + inputs, + filters, + kernel_size=3, + stride=1, + padding='SAME', + use_bias=True, + kernel_initializer=tf.keras.initializers.VarianceScaling( + scale=2.0, mode='fan_in', distribution='truncated_normal'), + bias_initializer=tf.constant_initializer(0.0), + dilation_rate=1, + scope=None): + with tf.variable_scope(scope, default_name='Conv2D') as s, \ + tf.name_scope(s.original_name_scope): + in_channel = inputs.get_shape().as_list()[3] + if type(kernel_size).__name__ == 'int': + kernel_shape = [kernel_size, kernel_size, in_channel, filters] + else: + kernel_shape = kernel_size + [in_channel, filters] + + kernel = tf.get_variable( + 'kernel', shape=kernel_shape, dtype=tf.float32, + initializer=kernel_initializer, trainable=True) + + if padding.lower() == 'same': + inputs = fixed_padding(inputs, kernel_size=kernel_shape[0:2], rate=dilation_rate) + + if dilation_rate > 1: + outputs = tf.nn.atrous_conv2d(inputs, kernel, rate=dilation_rate, padding='VALID') + else: + strides = [1, stride, stride, 1] + outputs = tf.nn.conv2d( + inputs, kernel, strides=strides, padding='VALID', + use_cudnn_on_gpu=True, name='convolution') + if use_bias: + b = tf.get_variable( + 'bias', shape=[filters], dtype=tf.float32, + initializer=bias_initializer, trainable=True) + outputs = tf.nn.bias_add(outputs, b) + return outputs + + +def depthwise_conv2d( + inputs, + filters=None, + kernel_size=3, + stride=1, + padding='SAME', + depth_multiplier=1, + use_bias=False, + kernel_initializer=tf.keras.initializers.VarianceScaling( + scale=2.0, mode='fan_in', distribution='truncated_normal'), + bias_initializer=tf.constant_initializer(0.0), + dilation_rate=1, + scope=None): + with tf.variable_scope(scope, default_name='DepthwiseConv2D') as s, \ + tf.name_scope(s.original_name_scope): + in_channel = inputs.get_shape().as_list()[3] + if filters: + assert filters % in_channel == 0 + depth_multiplier = filters // in_channel + if type(kernel_size).__name__ == 'int': + kernel_shape = [kernel_size, kernel_size, in_channel, depth_multiplier] + else: + kernel_shape = kernel_size + [in_channel, depth_multiplier] + + kernel = tf.get_variable( + 'depthwise_kernel', shape=kernel_shape, dtype=tf.float32, + initializer=kernel_initializer, trainable=True) + + if padding.lower() == 'same': + inputs = fixed_padding(inputs, kernel_size=kernel_shape[0:2], rate=dilation_rate) + + if dilation_rate > 1: + strides = [1, 1, 1, 1] + outputs = tf.nn.depthwise_conv2d( + inputs, kernel, strides=strides, padding='VALID', rate=dilation_rate) + else: + strides = [1, stride, stride, 1] + # param filter of tf.nn.depthwise_conv2d: [filter_height, filter_width, in_channels, channel_multiplier] + outputs = tf.nn.depthwise_conv2d( + inputs, kernel, strides=strides, padding='VALID', rate=None) + if use_bias: + b = tf.get_variable( + 'depthwise_bias', shape=[in_channel], dtype=tf.float32, + initializer=bias_initializer, trainable=True) + outputs = tf.nn.bias_add(outputs, b) + return outputs + + +# Flatten the tensor except the first dimension. +def _batch_flatten(x): + shape = x.get_shape().as_list()[1:] + if None not in shape: + return tf.reshape(x, [-1, int(np.prod(shape))]) + return tf.reshape(x, tf.stack([tf.shape(x)[0], -1])) + + +def fully_connected( + inputs, + filters, + use_bias=True, + kernel_initializer=tf.keras.initializers.VarianceScaling( + scale=2.0, mode='fan_in', distribution='truncated_normal'), + bias_initializer=tf.constant_initializer(0.0), + scope=None): + with tf.variable_scope(scope, default_name='Conv2D') as s, \ + tf.name_scope(s.original_name_scope): + inputs = _batch_flatten(inputs) + in_channel = inputs.get_shape().as_list()[1] + kernel_shape = [in_channel, filters] + + kernel = tf.get_variable('kernel', shape=kernel_shape, dtype=tf.float32, initializer=kernel_initializer, trainable=True) + outputs = tf.matmul(inputs, kernel) + if use_bias: + b = tf.get_variable('bias', shape=[filters], dtype=tf.float32, initializer=bias_initializer, trainable=True) + outputs = tf.nn.bias_add(outputs, b) + return outputs + + +def get_normalizer_fn( + norm_name, + is_training, + bn_decay=0.99, + ema_update=True, + r_max=3, + d_max=5, + group=8): + + def normalizer_fn(inputs, scope=''): + if 'batch_norm' == norm_name.lower(): + if type(is_training) is tf.Tensor: + return tf.cond( + is_training, + lambda: batch_normalization(inputs=inputs, is_training=True, + bn_decay=bn_decay, ema_update=ema_update, scope=scope, reuse=None), + lambda: batch_normalization(inputs=inputs, is_training=False, + bn_decay=bn_decay, ema_update=ema_update, scope=scope, reuse=True) + ) + else: + return batch_normalization(inputs=inputs, is_training=is_training, + bn_decay=bn_decay, ema_update=ema_update, scope=scope, reuse=None) + elif 'batch_renorm' == norm_name.lower(): + if type(is_training) is tf.Tensor: + return tf.cond( + is_training, + lambda: batch_renormalization(inputs=inputs, is_training=True, + r_max=r_max, d_max=d_max, bn_decay=bn_decay, + ema_update=ema_update, scope=scope, reuse=None), + lambda: batch_renormalization(inputs=inputs, is_training=False, + r_max=r_max, d_max=d_max, bn_decay=bn_decay, + ema_update=ema_update, scope=scope, reuse=True) + ) + else: + return batch_renormalization(inputs=inputs, is_training=is_training, + r_max=r_max, d_max=d_max, bn_decay=bn_decay, + ema_update=ema_update, scope=scope, reuse=None) + elif 'group_norm' == norm_name.lower(): + if type(is_training) is tf.Tensor: + return group_norm(inputs, is_training=True, group=group, scope=scope) + else: + return group_norm(inputs, is_training=is_training, group=group, scope=scope) + elif 'instance_norm' == norm_name.lower(): + if type(is_training) is tf.Tensor: + return instance_norm(inputs, is_training=True, scope=scope) + else: + return instance_norm(inputs, is_training=is_training, scope=scope) + else: + return tf.identity(inputs) + + return normalizer_fn + + +def moments(x, axes, keep_dims=False, is_training=False, name=None): + with ops.name_scope(name, "moments", [x, axes]): + mean = math_ops.reduce_mean(x, axes, keepdims=True, name="mean") + if is_training: + squared_difference = math_ops.squared_difference(x, array_ops.stop_gradient(mean)) + else: + squared_difference = math_ops.squared_difference(x, mean) + variance = math_ops.reduce_mean(squared_difference, axes, keepdims=True, name="variance") + if not keep_dims: + mean = array_ops.squeeze(mean, axes) + variance = array_ops.squeeze(variance, axes) + return (mean, variance) + + +def batch_normalization( + inputs, + is_training, + epsilon=1e-5, + bn_decay=0.99, + ema_update=True, + scope=None, + reuse=None): + + if scope: + scope = scope + '/BatchNorm' + with tf.variable_scope(scope, default_name='BatchNorm', reuse=reuse) as s, \ + tf.name_scope(s.original_name_scope): + C = inputs.get_shape().as_list()[3] + # gamma: a trainable scale factor + gamma = tf.get_variable("gamma", [C], + initializer=tf.constant_initializer(1.0), trainable=True) + # beta: a trainable shift value + beta = tf.get_variable("beta", [C], + initializer=tf.constant_initializer(0.0), trainable=True) + moving_mean = tf.get_variable("moving_mean", [C], + initializer=tf.constant_initializer(0.0), trainable=False) + moving_variance = tf.get_variable("moving_variance", [C], + initializer=tf.constant_initializer(1.0), trainable=False) + # use batch statistics + if is_training: + mean, var = moments(inputs, [0,1,2], keep_dims=True, is_training=is_training) + mean = tf.reshape(mean, [C]) + var = tf.reshape(var, [C]) + # update moving_mean and moving_variance + if ema_update: + update_moving_mean = tf.assign( + moving_mean, moving_mean * bn_decay + mean * (1 - bn_decay)) + update_moving_variance = tf.assign( + moving_variance, moving_variance * bn_decay + var * (1 - bn_decay)) + control_inputs = [update_moving_mean, update_moving_variance] + else: + control_inputs = [] + with tf.control_dependencies(control_inputs): + output = tf.nn.batch_normalization( + inputs, mean, var, offset=beta, scale=gamma, variance_epsilon=epsilon) + # use EMA statistics + else: + output = tf.nn.batch_normalization( + inputs, moving_mean, moving_variance, offset=beta, scale=gamma, + variance_epsilon=epsilon) + + return output + + +def batch_renormalization( + inputs, + is_training, + r_max=3, + d_max=5, + epsilon=1e-5, + bn_decay=0.99, + ema_update=False, + scope=None, + reuse=None): + + if scope: + scope = scope + '/BatchNorm' + with tf.variable_scope(scope, default_name='BatchNorm', reuse=reuse) as s, \ + tf.name_scope(s.original_name_scope): + C = inputs.get_shape().as_list()[3] + # gamma: a trainable scale factor + gamma = tf.get_variable("gamma", [C], + initializer=tf.constant_initializer(1.0), trainable=True) + # beta: a trainable shift value + beta = tf.get_variable("beta", [C], + initializer=tf.constant_initializer(0.0), trainable=True) + moving_mean = tf.get_variable("moving_mean", [C], + initializer=tf.constant_initializer(0.0), trainable=False) + moving_variance = tf.get_variable("moving_variance", [C], + initializer=tf.constant_initializer(1.0), trainable=False) + # use batch statistics + if is_training: + mean, var = moments(inputs, [0,1,2], keep_dims=True, is_training=is_training) + mean = tf.reshape(mean, [C]) + var = tf.reshape(var, [C]) + std = math_ops.sqrt(var + epsilon) + + r = std / (math_ops.sqrt(moving_variance + epsilon)) + r = array_ops.stop_gradient(tf.clip_by_value(r, 1/r_max, r_max)) + + d = (mean - moving_mean) / math_ops.sqrt(moving_variance + epsilon) + d = array_ops.stop_gradient(tf.clip_by_value(d, -d_max, d_max)) + # update moving_mean and moving_variance + if ema_update: + update_moving_mean = tf.assign(moving_mean, moving_mean * bn_decay + mean * (1 - bn_decay)) + update_moving_variance = tf.assign(moving_variance, moving_variance * bn_decay + var * (1 - bn_decay)) + control_inputs = [update_moving_mean, update_moving_variance] + else: + control_inputs = [] + + batch_normed_output = (inputs - mean) / std + with tf.control_dependencies(control_inputs): + output = (batch_normed_output * r + d) * gamma + beta + # use EMA statistics + else: + output = tf.nn.batch_normalization( + inputs, moving_mean, moving_variance, offset=beta, scale=gamma, + variance_epsilon=epsilon) + + return output + + +def group_norm(inputs, group=8, epsilon=1e-5, is_training=False, scope=None): + if scope: + scope = scope + '/GroupNorm' + with tf.variable_scope(scope, default_name='GroupNorm') as s, \ + tf.name_scope(s.original_name_scope): + C = inputs.get_shape().as_list()[3] + orig_shape = tf.shape(inputs) + H, W = orig_shape[1], orig_shape[2] + G = min(group, C) + + x = tf.reshape(inputs, [-1, H, W, G, C//G]) + mean, var = moments(x, [1, 2, 4], keep_dims=True, is_training=is_training) + + gamma = tf.get_variable('gamma', shape=[C], dtype=tf.float32, + initializer=tf.constant_initializer(1.0), trainable=True) + beta = tf.get_variable('beta', shape=[C], dtype=tf.float32, + initializer=tf.constant_initializer(0.0), trainable=True) + gamma = tf.reshape(gamma, [1, 1, 1, G, C//G]) + beta = tf.reshape(beta, [1, 1, 1, G, C//G]) + + output = tf.nn.batch_normalization( + x, mean, var, offset=beta, scale=gamma, variance_epsilon=epsilon) + output = tf.reshape(output, orig_shape) + return output + + +def instance_norm(inputs, epsilon=1e-5, is_training=False, scope=None): + if scope: + scope = scope + '/InstanceNorm' + with tf.variable_scope(scope, default_name='InstanceNorm') as s, \ + tf.name_scope(s.original_name_scope): + B = tf.shape(inputs)[0] + C = inputs.get_shape().as_list()[-1] + + gamma = tf.get_variable('gamma', shape=[C], dtype=tf.float32, + initializer=tf.constant_initializer(1.0), trainable=True) + beta = tf.get_variable('beta', shape=[C], dtype=tf.float32, + initializer=tf.constant_initializer(0.0), trainable=True) + gamma = tf.reshape(gamma, [1, 1, 1, C]) + beta = tf.reshape(beta, [1, 1, 1, C]) + + mean, var = moments(inputs, [1, 2], keep_dims=True, is_training=is_training) + output = tf.nn.batch_normalization( + inputs, mean, var, offset=beta, scale=gamma, variance_epsilon=epsilon) + return output + + +def relu(x, name="relu"): + return tf.nn.relu(x, name=name) + + +def relu6(x, name="relu6"): + return tf.nn.relu6(x, name=name) + + +# x = tf.where(x < 0.0, leak * x, x) +def leaky_relu(x, leak=0.01, name="leaky_relu"): + return tf.nn.leaky_relu(x, alpha=leak, name=name) + + +# x = tf.where(x > 0.0, x, alpha * tf.exp(x) - alpha) +# alpha =1.0 by default +def elu(x, name='elu'): + return tf.nn.elu(x, name=name) + + +# alpha = 1.6732632423543772848170429916717 +# scale = 1.0507009873554804934193349852946 +# x = scale * tf.where(x > 0.0, x, alpha * tf.exp(x) - alpha) +def selu(x, name='selu'): + return tf.nn.selu(x) + + +def hard_swish(x): + return x * tf.nn.relu6(x + 3.0) / 6.0 + + +# x = tf.clip_by_value(x + 3.0, 0.0, 6.0) / 6.0 +def hard_sigmoid(x): + return tf.nn.relu6(x + 3.0) / 6.0 + + +def sigmoid(x): + return tf.nn.sigmoid(x) + + +def max_pooling(inputs, kernel_size=2, stride=2, padding='SAME', name='MaxPooling'): + if type(kernel_size).__name__ == 'int': + kernel_size = [1, kernel_size, kernel_size, 1] + else: + kernel_size = [1] + kernel_size + [1] + if type(stride).__name__ == 'int': + strides = [1, stride, stride, 1] + else: + strides = [1] + stride + [1] + return tf.nn.max_pool(inputs, ksize=kernel_size, strides=strides, padding=padding, data_format='NHWC', name=name) + + +def avg_pooling(inputs, kernel_size=2, stride=2, padding='SAME', name='AveragePooling'): + if type(kernel_size).__name__ == 'int': + kernel_size = [1, kernel_size, kernel_size, 1] + else: + kernel_size = [1] + kernel_size + [1] + if type(stride).__name__ == 'int': + strides = [1, stride, stride, 1] + else: + strides = [1] + stride + [1] + return tf.nn.avg_pool(inputs, ksize=kernel_size, strides=strides, padding=padding, data_format='NHWC', name=name) + + +def global_avg_pooling(inputs, keep_dims=True, name='GlobalAveragePooling'): + shape = inputs.get_shape().as_list() + if shape[1] is None or shape[2] is None: + output = math_ops.reduce_mean(inputs, [1,2], keepdims=True, name=name) + else: + kernel_size = [1, shape[1], shape[2], 1] + output = tf.nn.avg_pool(inputs, ksize=kernel_size, strides=[1, 1, 1, 1], padding='VALID', name=name) + return output + + +def get_tensor_size(inputs): + shape = inputs.get_shape().as_list() + if shape[1] is None or shape[2] is None: + return tf.shape(inputs)[1:3] + else: + return shape[1:3] + + +def dropout(inputs, is_training, dropout_ratio=0.0, name='Dropout'): + if type(is_training) is tf.Tensor: + return tf.cond( + is_training, + lambda: tf.nn.dropout(inputs, dropout_ratio, name=name), + lambda: tf.identity(inputs, name=name) + ) + elif is_training: + return tf.nn.dropout(inputs, dropout_ratio, name=name) + else: + return tf.identity(inputs, name=name) diff --git a/cv/detection/ssd/tensorflow/net/resnet.py b/cv/detection/ssd/tensorflow/net/resnet.py new file mode 100644 index 0000000000000000000000000000000000000000..0ffc661f2570e54e94e81a3791a3065303276a89 --- /dev/null +++ b/cv/detection/ssd/tensorflow/net/resnet.py @@ -0,0 +1,281 @@ +from .common_ops import * + + +def resnet(is_training, num_classes=None, **kwargs): + + version = kwargs.get('version', 'v1') + size = kwargs.get('size', 50) + if version.lower() == 'v1d': + deepbase = True + avg_down = True + else: + deepbase = False + avg_down = False + dropout_ratio = kwargs.get('dropout_ratio', 0.0) + norm_name = kwargs.get('norm_name', 'batch_norm') + bn_decay = kwargs.get('bn_decay', 0.99) + r_max = kwargs.get('r_max', 3) + d_max = kwargs.get('d_max', 5) + use_se = kwargs.get('use_se', False) + se_reduction = kwargs.get('se_reduction', 16) + + stage_blocks = { + 18: [2, 2, 2, 2], + 34: [3, 4, 6, 3], + 50: [3, 4, 6, 3], + 101: [3, 4, 23, 3], + 152: [3, 8, 36, 3], + }[size] + output_channels = { + 18: [64, 128, 256, 512], + 34: [64, 128, 256, 512], + 50: [256, 512, 1024, 2048], + 101: [256, 512, 1024, 2048], + 152: [256, 512, 1024, 2048], + }[size] + num_stages = len(stage_blocks) + + norm_fn = get_normalizer_fn( + norm_name, + is_training=is_training, + bn_decay=0.99, + r_max=r_max, + d_max=d_max + ) + + if 'v1' in version: + net_name = 'ResNetV1' + if size < 50: + block_name = 'resblockv1' + else: + block_name = 'bottleneckv1' + elif 'v2' in version: + net_name = 'ResNetV2' + if size < 50: + block_name = 'resblockv2' + else: + block_name = 'bottleneckv2' + else: + raise NotImplementedError + + def conv_layer(inputs, filters, kernel_size=3, stride=1, padding='SAME', scope=None): + x = conv2d(inputs, filters, kernel_size=kernel_size, stride=stride, + use_bias=False, padding=padding, scope=scope) + x = norm_fn(x, scope=scope) + x = relu(x) + return x + + if use_se: + def squeeze_excite( + inputs, + scope=None): + with tf.variable_scope(scope, default_name='squeeze_excite') as s, \ + tf.name_scope(s.original_name_scope): + in_channel = inputs.get_shape().as_list()[3] + avgpool = global_avg_pooling(inputs, keep_dims=True, name="avgpool") + squeeze = conv2d(avgpool, in_channel//se_reduction, + kernel_size=1, stride=1, use_bias=True, scope='squeeze') + squeeze = relu(squeeze) + excite = conv2d(squeeze, in_channel, + kernel_size=1, stride=1, use_bias=True, scope='excite') + excite = sigmoid(excite) + return inputs * excite + else: + squeeze_excite = None + # A single block for ResNet v1. + if 'resblockv1' == block_name: + def block_fn(inputs, out_channel, kernel_size=3, stride=1, scope=None): + with tf.variable_scope(scope, default_name='ResidualBlockV1') as s, \ + tf.name_scope(s.original_name_scope): + in_channel = inputs.get_shape().as_list()[3] + if in_channel != out_channel: + if avg_down and stride != 1: + shortcut = avg_pooling(inputs, kernel_size=stride, stride=stride) + shortcut = conv2d(shortcut, out_channel, + kernel_size=1, stride=1, use_bias=False, + scope='projection_shortcut') + else: + shortcut = conv2d(inputs, out_channel, + kernel_size=1, stride=stride, use_bias=False, + scope='projection_shortcut') + shortcut = norm_fn(shortcut, scope='projection_shortcut') + else: + shortcut = inputs + x = conv_layer(inputs, out_channel, + kernel_size=kernel_size, stride=stride, scope='conv_1') + x = conv2d(x, out_channel, + kernel_size=kernel_size, stride=1, use_bias=False, scope='conv_2') + x = norm_fn(x, scope='conv_2') + if squeeze_excite: + x = squeeze_excite(x, scope='squeeze_excite') + + return relu(x + shortcut) + # A single block for ResNet v1, with a bottleneck. + # Bottleneck places the stride for downsampling at 3x3 convolution(conv2) + # while original implementation places the stride at the first 1x1 convolution(conv1) + # according to "Deep residual learning for image recognition"https://arxiv.org/abs/1512.03385. + # This variant is also known as ResNet V1.5 and improves accuracy according to + # https://ngc.nvidia.com/catalog/model-scripts/nvidia:resnet_50_v1_5_for_pytorch. + if 'bottleneckv1' == block_name: + def block_fn(inputs, out_channel, kernel_size=3, stride=1, reduction=4, scope=None): + with tf.variable_scope(scope, default_name='BottleneckBlockV1') as s, \ + tf.name_scope(s.original_name_scope): + in_channel = inputs.get_shape().as_list()[3] + if in_channel != out_channel: + if avg_down and stride != 1: + shortcut = avg_pooling(inputs, kernel_size=stride, stride=stride) + shortcut = conv2d(shortcut, out_channel, + kernel_size=1, stride=1, use_bias=False, + scope='projection_shortcut') + else: + shortcut = conv2d(inputs, out_channel, + kernel_size=1, stride=stride, use_bias=False, + scope='projection_shortcut') + shortcut = norm_fn(shortcut, scope='projection_shortcut') + else: + shortcut = inputs + x = conv_layer(inputs, out_channel//reduction, + kernel_size=1, stride=1, scope='reduction') + x = conv_layer(x, out_channel//reduction, + kernel_size=kernel_size, stride=stride, scope='bottleneck') + x = conv2d(x, out_channel, + kernel_size=1, stride=1, use_bias=False, scope='expansion') + x = norm_fn(x, scope='expansion') + if squeeze_excite: + x = squeeze_excite(x, scope='squeeze_excite') + return relu(x + shortcut) + # A single block for ResNet v2. + if 'resblockv2' == block_name: + def block_fn(inputs, out_channel, kernel_size=3, stride=1, scope=None): + with tf.variable_scope(scope, default_name='ResidualBlockV2') as s, \ + tf.name_scope(s.original_name_scope): + in_channel = inputs.get_shape().as_list()[3] + if in_channel != out_channel: + if avg_down and stride != 1: + shortcut = avg_pooling(inputs, kernel_size=stride, stride=stride) + shortcut = conv2d(shortcut, out_channel, + kernel_size=1, stride=1, use_bias=False, + scope='projection_shortcut') + else: + shortcut = conv2d(inputs, out_channel, + kernel_size=1, stride=stride, use_bias=False, + scope='projection_shortcut') + else: + shortcut = inputs + x = norm_fn(inputs, scope='norm_inputs') + x = relu(x) + x = conv_layer(x, out_channel, + kernel_size=kernel_size, stride=stride, scope='conv_1') + x = conv2d(x, out_channel, + kernel_size=kernel_size, stride=1, use_bias=False, scope='conv_2') + if squeeze_excite: + x = squeeze_excite(x, scope='squeeze_excite') + + return x + shortcut + # A single block for ResNet v2, with a bottleneck. + if 'bottleneckv2' == block_name: + def block_fn(inputs, out_channel, kernel_size=3, stride=1, reduction=4, scope=None): + with tf.variable_scope(scope, default_name='BottleneckBlockV2') as s, \ + tf.name_scope(s.original_name_scope): + in_channel = inputs.get_shape().as_list()[3] + if in_channel != out_channel: + if avg_down and stride != 1: + shortcut = avg_pooling(inputs, kernel_size=stride, stride=stride) + shortcut = conv2d(shortcut, out_channel, + kernel_size=1, stride=1, use_bias=False, + scope='projection_shortcut') + else: + shortcut = conv2d(inputs, out_channel, + kernel_size=1, stride=stride, use_bias=False, + scope='projection_shortcut') + else: + shortcut = inputs + x = norm_fn(inputs, scope='norm_inputs') + x = relu(x) + x = conv_layer(x, out_channel//reduction, + kernel_size=1, stride=1, scope='reduction') + x = conv_layer(x, out_channel//reduction, + kernel_size=kernel_size, stride=stride, scope='bottleneck') + x = conv2d(x, out_channel, + kernel_size=1, stride=1, use_bias=False, scope='expansion') + if squeeze_excite: + x = squeeze_excite(x, scope='squeeze_excite') + return x + shortcut + + def first_layer(inputs, filters=64, scope='first_layer'): + with tf.variable_scope(scope): + if deepbase: + x = conv_layer(inputs, filters//2, kernel_size=3, stride=2, scope='Conv_1') + x = conv_layer(x, filters//2, kernel_size=3, stride=1, scope='Conv_2') + if net_name == 'ResNetV2': + x = conv2d(x, filters, + kernel_size=3, stride=1, use_bias=False, scope='Conv_3') + else: + x = conv_layer(x, filters, kernel_size=3, stride=1, scope='Conv_3') + else: + if net_name == 'ResNetV2': + x = conv2d(inputs, filters, + kernel_size=7, stride=2, use_bias=False, scope='Conv_1') + else: + x = conv_layer(inputs, filters, kernel_size=7, stride=2, scope='Conv_1') + return x + + end_points = [] + + def forward(inputs): + + with tf.variable_scope(net_name, reuse=tf.AUTO_REUSE): + net = first_layer(inputs, scope='first_layer') + #end_points['down_1'] = net + end_points.append(net) + net = max_pooling(net, kernel_size=3, stride=2) + # stage 1,2,3,4 + for stage_idx in range(num_stages): + stage_scope = 'stage_{}'.format(stage_idx+1) + num_blocks = stage_blocks[stage_idx] + out_channel = output_channels[stage_idx] + with tf.variable_scope(stage_scope): + for block_idx in range(num_blocks): + block_scope = 'block_{}'.format(block_idx+1) + stride = 2 if (stage_idx > 0 and block_idx == 0) else 1 + net = block_fn(net, out_channel, + kernel_size=3, stride=stride, scope=block_scope) + #end_points['down_%d' %(stage_idx+2)] = net + end_points.append(net) + + if net_name == 'ResNetV2': + net = norm_fn(net, scope='postnorm') + net = relu(net) + #end_points['down_%d' %((num_stages-1)+2)] = net + end_points[-1] = net + + if not num_classes: + return end_points + + net = global_avg_pooling(net) + + if dropout_ratio: + net = dropout(net, is_training=is_training, dropout_ratio=dropout_ratio) + + logits = conv2d(net, num_classes, kernel_size=1, use_bias=True, scope='classification') + logits = tf.squeeze(logits, [1, 2], name='logits') + + return logits + + return forward + + +def resnet18(is_training, num_classes=None, **kwargs): + return resnet(is_training, num_classes, size=18, **kwargs) + + +def resnet34(is_training, num_classes=None, **kwargs): + return resnet(is_training, num_classes, size=34, **kwargs) + + +def resnet50(is_training, num_classes=None, **kwargs): + return resnet(is_training, num_classes, size=50, **kwargs) + + +def resnet101(is_training, num_classes=None, **kwargs): + return resnet(is_training, num_classes, size=101, **kwargs) diff --git a/cv/detection/ssd/tensorflow/net/ssd_net.py b/cv/detection/ssd/tensorflow/net/ssd_net.py new file mode 100644 index 0000000000000000000000000000000000000000..c584a7f283597b0490c9f6b9fd519e5b7afbcbe3 --- /dev/null +++ b/cv/detection/ssd/tensorflow/net/ssd_net.py @@ -0,0 +1,336 @@ +# Copyright 2018 Changan Wang + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================= +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from functools import partial +import tensorflow.compat.v1 as tf + +from .resnet import resnet18, resnet34, resnet50, resnet101 + +_BATCH_NORM_DECAY = 0.9 +_BATCH_NORM_EPSILON = 1e-5 +_USE_FUSED_BN = True + +# vgg_16/conv2/conv2_1/biases +# vgg_16/conv4/conv4_3/biases +# vgg_16/conv1/conv1_1/biases +# vgg_16/fc6/weights +# vgg_16/conv3/conv3_2/biases +# vgg_16/conv5/conv5_3/biases +# vgg_16/conv3/conv3_1/weights +# vgg_16/conv4/conv4_2/weights +# vgg_16/conv1/conv1_1/weights +# vgg_16/conv5/conv5_3/weights +# vgg_16/conv4/conv4_1/weights +# vgg_16/conv3/conv3_3/weights +# vgg_16/conv5/conv5_2/biases +# vgg_16/conv3/conv3_2/weights +# vgg_16/conv4/conv4_2/biases +# vgg_16/conv5/conv5_2/weights +# vgg_16/conv3/conv3_1/biases +# vgg_16/conv2/conv2_2/weights +# vgg_16/fc7/weights +# vgg_16/conv5/conv5_1/biases +# vgg_16/conv1/conv1_2/biases +# vgg_16/conv2/conv2_2/biases +# vgg_16/conv4/conv4_1/biases +# vgg_16/fc7/biases +# vgg_16/fc6/biases +# vgg_16/conv4/conv4_3/weights +# vgg_16/conv2/conv2_1/weights +# vgg_16/conv5/conv5_1/weights +# vgg_16/conv3/conv3_3/biases +# vgg_16/conv1/conv1_2/weights + +class ReLuLayer(tf.layers.Layer): + def __init__(self, name, **kwargs): + super(ReLuLayer, self).__init__(name=name, trainable=trainable, **kwargs) + self._name = name + def build(self, input_shape): + self._relu = lambda x : tf.nn.relu(x, name=self._name) + self.built = True + + def call(self, inputs): + return self._relu(inputs) + + def compute_output_shape(self, input_shape): + return tf.TensorShape(input_shape) + + +def forward_module(m, inputs, training=False): + if isinstance(m, tf.layers.BatchNormalization) or isinstance(m, tf.layers.Dropout): + return m.apply(inputs, training=training) + return m.apply(inputs) + + +def get_backbone(backbone, training, **kwargs): + forward_fn = _VGG_BACKBONES[backbone](training, **kwargs) + return forward_fn + + +def get_vgg16(training, **kwargs): + _backbone = VGG16Backbone(**kwargs) + return partial(_backbone.forward, training=training) + + +def get_resnet18(training, **kwargs): + _backbone = resnet18(training, **kwargs) + return _backbone + + +def get_resnet34(training, **kwargs): + _backbone = resnet34(training, **kwargs) + return _backbone + + +def get_resnet50(training, **kwargs): + _backbone = resnet50(training, **kwargs) + return _backbone + + +def get_resnet101(training, **kwargs): + _backbone = resnet101(training, **kwargs) + return _backbone + + +_VGG_BACKBONES = { + 'vgg16': get_vgg16, + 'resnet18': get_resnet18, + 'resnet34': get_resnet34, + 'resnet50': get_resnet50, + 'resnet101': get_resnet101, +} + + +def ssd_conv_block( + filters, strides, name, + data_format, kernel_initializer, + padding='same', reuse=None): + + with tf.variable_scope(name): + conv_blocks = [] + conv_blocks.append( + tf.layers.Conv2D(filters=filters, kernel_size=1, strides=1, padding=padding, + data_format=data_format, activation=tf.nn.relu, use_bias=True, + kernel_initializer=kernel_initializer, + bias_initializer=tf.zeros_initializer(), + name='{}_1'.format(name), _scope='{}_1'.format(name), _reuse=None) + ) + conv_blocks.append( + tf.layers.Conv2D(filters=filters * 2, kernel_size=3, strides=strides, padding=padding, + data_format=data_format, activation=tf.nn.relu, use_bias=True, + kernel_initializer=kernel_initializer, + bias_initializer=tf.zeros_initializer(), + name='{}_2'.format(name), _scope='{}_2'.format(name), _reuse=None) + ) + return conv_blocks + + +class SSDBackbone(object): + def __init__(self, backbone, training, **kwargs): + self.backbone = get_backbone(backbone, training, **kwargs) + self.training = training + self.data_format = kwargs.get('data_format', 'channels_first') + + # SSD layers + with tf.variable_scope('additional_layers') as scope: + # down_5 + self._conv8_block = ssd_conv_block(256, 2, 'conv8', + data_format=self.data_format, + kernel_initializer=tf.glorot_uniform_initializer()) + # down_6 + self._conv9_block = ssd_conv_block(128, 2, 'conv9', + data_format=self.data_format, + kernel_initializer=tf.glorot_uniform_initializer()) + self._conv10_block = ssd_conv_block(128, 1, 'conv10', padding='valid', + data_format=self.data_format, + kernel_initializer=tf.glorot_uniform_initializer()) + self._conv11_block = ssd_conv_block(128, 1, 'conv11', padding='valid', + data_format=self.data_format, + kernel_initializer=tf.glorot_uniform_initializer()) + + def forward(self, inputs): + feature_layers = self.backbone(inputs) + if len(feature_layers) > 2: + feature_layers = [feature_layers[-3], feature_layers[-2]] + else: + feature_layers = [feature_layers[-2], feature_layers[-1]] + inputs = feature_layers[-1] + + # forward ssd layers + for layer in self._conv8_block: + inputs = forward_module(layer, inputs, training=self.training) + # conv8 + feature_layers.append(inputs) + for layer in self._conv9_block: + inputs = forward_module(layer, inputs, training=self.training) + # conv9 + feature_layers.append(inputs) + for layer in self._conv10_block: + inputs = forward_module(layer, inputs, training=self.training) + # conv10 + feature_layers.append(inputs) + for layer in self._conv11_block: + inputs = forward_module(layer, inputs, training=self.training) + # conv11 + feature_layers.append(inputs) + + return feature_layers + + +class VGG16Backbone(object): + def __init__(self, data_format='channels_first'): + super(VGG16Backbone, self).__init__() + self._data_format = data_format + self._bn_axis = -1 if data_format == 'channels_last' else 1 + #initializer = tf.glorot_uniform_initializer glorot_normal_initializer + self._conv_initializer = tf.glorot_uniform_initializer + self._conv_bn_initializer = tf.glorot_uniform_initializer#lambda : tf.truncated_normal_initializer(mean=0.0, stddev=0.005) + # VGG layers + self._conv1_block = self.conv_block(2, 64, 3, (1, 1), 'conv1') + # down_1 + self._pool1 = tf.layers.MaxPooling2D(2, 2, padding='same', data_format=self._data_format, name='pool1') + self._conv2_block = self.conv_block(2, 128, 3, (1, 1), 'conv2') + # down_2 + self._pool2 = tf.layers.MaxPooling2D(2, 2, padding='same', data_format=self._data_format, name='pool2') + self._conv3_block = self.conv_block(3, 256, 3, (1, 1), 'conv3') + # down_3 + self._pool3 = tf.layers.MaxPooling2D(2, 2, padding='same', data_format=self._data_format, name='pool3') + self._conv4_block = self.conv_block(3, 512, 3, (1, 1), 'conv4') + # down_4 + self._pool4 = tf.layers.MaxPooling2D(2, 2, padding='same', data_format=self._data_format, name='pool4') + self._conv5_block = self.conv_block(3, 512, 3, (1, 1), 'conv5') + self._pool5 = tf.layers.MaxPooling2D(3, 1, padding='same', data_format=self._data_format, name='pool5') + self._conv6 = tf.layers.Conv2D(filters=1024, kernel_size=3, strides=1, padding='same', dilation_rate=6, + data_format=self._data_format, activation=tf.nn.relu, use_bias=True, + kernel_initializer=self._conv_initializer(), + bias_initializer=tf.zeros_initializer(), + name='fc6', _scope='fc6', _reuse=None) + self._conv7 = tf.layers.Conv2D(filters=1024, kernel_size=1, strides=1, padding='same', + data_format=self._data_format, activation=tf.nn.relu, use_bias=True, + kernel_initializer=self._conv_initializer(), + bias_initializer=tf.zeros_initializer(), + name='fc7', _scope='fc7', _reuse=None) + + def l2_normalize(self, x, name): + with tf.name_scope(name, "l2_normalize", [x]) as name: + axis = -1 if self._data_format == 'channels_last' else 1 + square_sum = tf.reduce_sum(tf.square(x), axis, keep_dims=True) + x_inv_norm = tf.rsqrt(tf.maximum(square_sum, 1e-10)) + return tf.multiply(x, x_inv_norm, name=name) + + def forward(self, inputs, training=False): + # inputs should in BGR + feature_layers = [] + # forward vgg layers + for conv in self._conv1_block: + inputs = forward_module(conv, inputs, training=training) + inputs = self._pool1.apply(inputs) + for conv in self._conv2_block: + inputs = forward_module(conv, inputs, training=training) + inputs = self._pool2.apply(inputs) + for conv in self._conv3_block: + inputs = forward_module(conv, inputs, training=training) + inputs = self._pool3.apply(inputs) + for conv in self._conv4_block: + inputs = forward_module(conv, inputs, training=training) + # conv4_3 + with tf.variable_scope('conv4_3_scale') as scope: + weight_scale = tf.Variable([20.] * 512, trainable=training, name='weights') + if self._data_format == 'channels_last': + weight_scale = tf.reshape(weight_scale, [1, 1, 1, -1], name='reshape') + else: + weight_scale = tf.reshape(weight_scale, [1, -1, 1, 1], name='reshape') + + feature_layers.append(tf.multiply(weight_scale, self.l2_normalize(inputs, name='norm'), name='rescale') + ) + inputs = self._pool4.apply(inputs) + for conv in self._conv5_block: + inputs = forward_module(conv, inputs, training=training) + inputs = self._pool5.apply(inputs) + # forward fc layers + inputs = self._conv6.apply(inputs) + inputs = self._conv7.apply(inputs) + # fc7 + feature_layers.append(inputs) + + return feature_layers + + def conv_block(self, num_blocks, filters, kernel_size, strides, name, reuse=None): + with tf.variable_scope(name): + conv_blocks = [] + for ind in range(1, num_blocks + 1): + conv_blocks.append( + tf.layers.Conv2D(filters=filters, kernel_size=kernel_size, strides=strides, padding='same', + data_format=self._data_format, activation=tf.nn.relu, use_bias=True, + kernel_initializer=self._conv_initializer(), + bias_initializer=tf.zeros_initializer(), + name='{}_{}'.format(name, ind), _scope='{}_{}'.format(name, ind), _reuse=None) + ) + return conv_blocks + + def ssd_conv_bn_block(self, filters, strides, name, reuse=None): + with tf.variable_scope(name): + conv_bn_blocks = [] + conv_bn_blocks.append( + tf.layers.Conv2D(filters=filters, kernel_size=1, strides=1, padding='same', + data_format=self._data_format, activation=None, use_bias=False, + kernel_initializer=self._conv_bn_initializer(), + bias_initializer=None, + name='{}_1'.format(name), _scope='{}_1'.format(name), _reuse=None) + ) + conv_bn_blocks.append( + tf.layers.BatchNormalization(axis=self._bn_axis, momentum=BN_MOMENTUM, epsilon=BN_EPSILON, fused=USE_FUSED_BN, + name='{}_bn1'.format(name), _scope='{}_bn1'.format(name), _reuse=None) + ) + conv_bn_blocks.append( + ReLuLayer('{}_relu1'.format(name), _scope='{}_relu1'.format(name), _reuse=None) + ) + conv_bn_blocks.append( + tf.layers.Conv2D(filters=filters * 2, kernel_size=3, strides=strides, padding='same', + data_format=self._data_format, activation=None, use_bias=False, + kernel_initializer=self._conv_bn_initializer(), + bias_initializer=None, + name='{}_2'.format(name), _scope='{}_2'.format(name), _reuse=None) + ) + conv_bn_blocks.append( + tf.layers.BatchNormalization(axis=self._bn_axis, momentum=BN_MOMENTUM, epsilon=BN_EPSILON, fused=USE_FUSED_BN, + name='{}_bn2'.format(name), _scope='{}_bn2'.format(name), _reuse=None) + ) + conv_bn_blocks.append( + ReLuLayer('{}_relu2'.format(name), _scope='{}_relu2'.format(name), _reuse=None) + ) + return conv_bn_blocks + + +def multibox_head(feature_layers, num_classes, num_anchors_depth_per_layer, data_format='channels_first'): + with tf.variable_scope('multibox_head'): + cls_preds = [] + loc_preds = [] + for ind, feat in enumerate(feature_layers): + loc_preds.append(tf.layers.conv2d(feat, num_anchors_depth_per_layer[ind] * 4, (3, 3), use_bias=True, + name='loc_{}'.format(ind), strides=(1, 1), + padding='same', data_format=data_format, activation=None, + kernel_initializer=tf.glorot_uniform_initializer(), + bias_initializer=tf.zeros_initializer())) + cls_preds.append(tf.layers.conv2d(feat, num_anchors_depth_per_layer[ind] * num_classes, (3, 3), use_bias=True, + name='cls_{}'.format(ind), strides=(1, 1), + padding='same', data_format=data_format, activation=None, + kernel_initializer=tf.glorot_uniform_initializer(), + bias_initializer=tf.zeros_initializer())) + + return loc_preds, cls_preds diff --git a/cv/detection/ssd/tensorflow/preprocessing/preprocessing_unittest.py b/cv/detection/ssd/tensorflow/preprocessing/preprocessing_unittest.py new file mode 100644 index 0000000000000000000000000000000000000000..92e41678aff8f72c97545fd53e03c766f85d2614 --- /dev/null +++ b/cv/detection/ssd/tensorflow/preprocessing/preprocessing_unittest.py @@ -0,0 +1,131 @@ +# Copyright 2018 Changan Wang + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================= +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os + +import tensorflow as tf +from scipy.misc import imread, imsave, imshow, imresize +import numpy as np +import sys; sys.path.insert(0, ".") +from utility import draw_toolbox +import ssd_preprocessing + +slim = tf.contrib.slim + +def save_image_with_bbox(image, labels_, scores_, bboxes_): + if not hasattr(save_image_with_bbox, "counter"): + save_image_with_bbox.counter = 0 # it doesn't exist yet, so initialize it + save_image_with_bbox.counter += 1 + + img_to_draw = np.copy(image) + + img_to_draw = draw_toolbox.bboxes_draw_on_img(img_to_draw, labels_, scores_, bboxes_, thickness=2) + imsave(os.path.join('./debug/{}.jpg').format(save_image_with_bbox.counter), img_to_draw) + return save_image_with_bbox.counter + +def slim_get_split(file_pattern='{}_????'): + # Features in Pascal VOC TFRecords. + keys_to_features = { + 'image/encoded': tf.FixedLenFeature((), tf.string, default_value=''), + 'image/format': tf.FixedLenFeature((), tf.string, default_value='jpeg'), + 'image/filename': tf.FixedLenFeature((), tf.string, default_value=''), + 'image/height': tf.FixedLenFeature([1], tf.int64), + 'image/width': tf.FixedLenFeature([1], tf.int64), + 'image/channels': tf.FixedLenFeature([1], tf.int64), + 'image/shape': tf.FixedLenFeature([3], tf.int64), + 'image/object/bbox/xmin': tf.VarLenFeature(dtype=tf.float32), + 'image/object/bbox/ymin': tf.VarLenFeature(dtype=tf.float32), + 'image/object/bbox/xmax': tf.VarLenFeature(dtype=tf.float32), + 'image/object/bbox/ymax': tf.VarLenFeature(dtype=tf.float32), + 'image/object/bbox/label': tf.VarLenFeature(dtype=tf.int64), + 'image/object/bbox/difficult': tf.VarLenFeature(dtype=tf.int64), + 'image/object/bbox/truncated': tf.VarLenFeature(dtype=tf.int64), + } + items_to_handlers = { + 'image': slim.tfexample_decoder.Image('image/encoded', 'image/format'), + 'filename': slim.tfexample_decoder.Tensor('image/filename'), + 'shape': slim.tfexample_decoder.Tensor('image/shape'), + 'object/bbox': slim.tfexample_decoder.BoundingBox( + ['ymin', 'xmin', 'ymax', 'xmax'], 'image/object/bbox/'), + 'object/label': slim.tfexample_decoder.Tensor('image/object/bbox/label'), + 'object/difficult': slim.tfexample_decoder.Tensor('image/object/bbox/difficult'), + 'object/truncated': slim.tfexample_decoder.Tensor('image/object/bbox/truncated'), + } + decoder = slim.tfexample_decoder.TFExampleDecoder(keys_to_features, items_to_handlers) + + dataset = slim.dataset.Dataset( + data_sources=file_pattern, + reader=tf.TFRecordReader, + decoder=decoder, + num_samples=100, + items_to_descriptions=None, + num_classes=21, + labels_to_names=None) + + with tf.name_scope('dataset_data_provider'): + provider = slim.dataset_data_provider.DatasetDataProvider( + dataset, + num_readers=2, + common_queue_capacity=32, + common_queue_min=8, + shuffle=True, + num_epochs=1) + + [org_image, filename, shape, glabels_raw, gbboxes_raw, isdifficult] = provider.get(['image', 'filename', 'shape', + 'object/label', + 'object/bbox', + 'object/difficult']) + image, glabels, gbboxes = ssd_preprocessing.preprocess_image(org_image, glabels_raw, gbboxes_raw, [300, 300], is_training=True, data_format='channels_first', output_rgb=True) + + image = tf.transpose(image, perm=(1, 2, 0)) + save_image_op = tf.py_func(save_image_with_bbox, + [ssd_preprocessing.unwhiten_image(image), + tf.clip_by_value(glabels, 0, tf.int64.max), + tf.ones_like(glabels), + gbboxes], + tf.int64, stateful=True) + return save_image_op + +if __name__ == '__main__': + save_image_op = slim_get_split('/media/rs/7A0EE8880EE83EAF/Detections/SSD/dataset/tfrecords/*') + # Create the graph, etc. + init_op = tf.group([tf.local_variables_initializer(), tf.local_variables_initializer(), tf.tables_initializer()]) + + # Create a session for running operations in the Graph. + sess = tf.Session() + # Initialize the variables (like the epoch counter). + sess.run(init_op) + + # Start input enqueue threads. + coord = tf.train.Coordinator() + threads = tf.train.start_queue_runners(sess=sess, coord=coord) + + try: + while not coord.should_stop(): + # Run training steps or whatever + print(sess.run(save_image_op)) + + except tf.errors.OutOfRangeError: + print('Done training -- epoch limit reached') + finally: + # When done, ask the threads to stop. + coord.request_stop() + + # Wait for threads to finish. + coord.join(threads) + sess.close() diff --git a/cv/detection/ssd/tensorflow/preprocessing/ssd_preprocessing.py b/cv/detection/ssd/tensorflow/preprocessing/ssd_preprocessing.py new file mode 100644 index 0000000000000000000000000000000000000000..739305df2d18d7eca660a01b4e7cddcab0679fc2 --- /dev/null +++ b/cv/detection/ssd/tensorflow/preprocessing/ssd_preprocessing.py @@ -0,0 +1,521 @@ +# Copyright 2016 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Provides utilities to preprocess images. + +The preprocessing steps for VGG were introduced in the following technical +report: + + Very Deep Convolutional Networks For Large-Scale Image Recognition + Karen Simonyan and Andrew Zisserman + arXiv technical report, 2015 + PDF: http://arxiv.org/pdf/1409.1556.pdf + ILSVRC 2014 Slides: http://www.robots.ox.ac.uk/~karen/pdf/ILSVRC_2014.pdf + CC-BY-4.0 + +More information can be obtained from the VGG website: +www.robots.ox.ac.uk/~vgg/research/very_deep/ +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow.compat.v1 as tf +from tensorflow.python.ops import control_flow_ops +import tf_slim as slim + + +_R_MEAN = 123.68 +_G_MEAN = 116.78 +_B_MEAN = 103.94 + +def _ImageDimensions(image, rank = 3): + """Returns the dimensions of an image tensor. + + Args: + image: A rank-D Tensor. For 3-D of shape: `[height, width, channels]`. + rank: The expected rank of the image + + Returns: + A list of corresponding to the dimensions of the + input image. Dimensions that are statically known are python integers, + otherwise they are integer scalar tensors. + """ + if image.get_shape().is_fully_defined(): + return image.get_shape().as_list() + else: + static_shape = image.get_shape().with_rank(rank).as_list() + dynamic_shape = tf.unstack(tf.shape(image), rank) + return [s if s is not None else d + for s, d in zip(static_shape, dynamic_shape)] + +def apply_with_random_selector(x, func, num_cases): + """Computes func(x, sel), with sel sampled from [0...num_cases-1]. + + Args: + x: input Tensor. + func: Python function to apply. + num_cases: Python int32, number of cases to sample sel from. + + Returns: + The result of func(x, sel), where func receives the value of the + selector as a python integer, but sel is sampled dynamically. + """ + sel = tf.random_uniform([], maxval=num_cases, dtype=tf.int32) + # Pass the real x only to one of the func calls. + return control_flow_ops.merge([ + func(control_flow_ops.switch(x, tf.equal(sel, case))[1], case) + for case in range(num_cases)])[0] + + +def distort_color(image, color_ordering=0, fast_mode=True, scope=None): + """Distort the color of a Tensor image. + + Each color distortion is non-commutative and thus ordering of the color ops + matters. Ideally we would randomly permute the ordering of the color ops. + Rather then adding that level of complication, we select a distinct ordering + of color ops for each preprocessing thread. + + Args: + image: 3-D Tensor containing single image in [0, 1]. + color_ordering: Python int, a type of distortion (valid values: 0-3). + fast_mode: Avoids slower ops (random_hue and random_contrast) + scope: Optional scope for name_scope. + Returns: + 3-D Tensor color-distorted image on range [0, 1] + Raises: + ValueError: if color_ordering not in [0, 3] + """ + with tf.name_scope(scope, 'distort_color', [image]): + if fast_mode: + if color_ordering == 0: + image = tf.image.random_brightness(image, max_delta=32. / 255.) + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + else: + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + image = tf.image.random_brightness(image, max_delta=32. / 255.) + else: + if color_ordering == 0: + image = tf.image.random_brightness(image, max_delta=32. / 255.) + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + image = tf.image.random_hue(image, max_delta=0.2) + image = tf.image.random_contrast(image, lower=0.5, upper=1.5) + elif color_ordering == 1: + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + image = tf.image.random_brightness(image, max_delta=32. / 255.) + image = tf.image.random_contrast(image, lower=0.5, upper=1.5) + image = tf.image.random_hue(image, max_delta=0.2) + elif color_ordering == 2: + image = tf.image.random_contrast(image, lower=0.5, upper=1.5) + image = tf.image.random_hue(image, max_delta=0.2) + image = tf.image.random_brightness(image, max_delta=32. / 255.) + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + elif color_ordering == 3: + image = tf.image.random_hue(image, max_delta=0.2) + image = tf.image.random_saturation(image, lower=0.5, upper=1.5) + image = tf.image.random_contrast(image, lower=0.5, upper=1.5) + image = tf.image.random_brightness(image, max_delta=32. / 255.) + else: + raise ValueError('color_ordering must be in [0, 3]') + + # The random_* ops do not necessarily clamp. + return tf.clip_by_value(image, 0.0, 1.0) + +def ssd_random_sample_patch(image, labels, bboxes, ratio_list=[0.1, 0.3, 0.5, 0.7, 0.9, 1.], name=None): + '''ssd_random_sample_patch. + select one min_iou + sample _width and _height from [0-width] and [0-height] + check if the aspect ratio between 0.5-2. + select left_top point from (width - _width, height - _height) + check if this bbox has a min_iou with all ground_truth bboxes + keep ground_truth those center is in this sampled patch, if none then try again + ''' + def sample_width_height(width, height): + with tf.name_scope('sample_width_height'): + index = 0 + max_attempt = 10 + sampled_width, sampled_height = width, height + + def condition(index, sampled_width, sampled_height, width, height): + return tf.logical_or(tf.logical_and(tf.logical_or(tf.greater(sampled_width, sampled_height * 2), + tf.greater(sampled_height, sampled_width * 2)), + tf.less(index, max_attempt)), + tf.less(index, 1)) + + def body(index, sampled_width, sampled_height, width, height): + sampled_width = tf.random_uniform([1], minval=0.3, maxval=0.999, dtype=tf.float32)[0] * width + sampled_height = tf.random_uniform([1], minval=0.3, maxval=0.999, dtype=tf.float32)[0] *height + + return index+1, sampled_width, sampled_height, width, height + + [index, sampled_width, sampled_height, _, _] = tf.while_loop(condition, body, + [index, sampled_width, sampled_height, width, height], parallel_iterations=4, back_prop=False, swap_memory=True) + + return tf.cast(sampled_width, tf.int32), tf.cast(sampled_height, tf.int32) + + def jaccard_with_anchors(roi, bboxes): + with tf.name_scope('jaccard_with_anchors'): + int_ymin = tf.maximum(roi[0], bboxes[:, 0]) + int_xmin = tf.maximum(roi[1], bboxes[:, 1]) + int_ymax = tf.minimum(roi[2], bboxes[:, 2]) + int_xmax = tf.minimum(roi[3], bboxes[:, 3]) + h = tf.maximum(int_ymax - int_ymin, 0.) + w = tf.maximum(int_xmax - int_xmin, 0.) + inter_vol = h * w + union_vol = (roi[3] - roi[1]) * (roi[2] - roi[0]) + ((bboxes[:, 2] - bboxes[:, 0]) * (bboxes[:, 3] - bboxes[:, 1]) - inter_vol) + jaccard = tf.div(inter_vol, union_vol) + return jaccard + + def areas(bboxes): + with tf.name_scope('bboxes_areas'): + vol = (bboxes[:, 3] - bboxes[:, 1]) * (bboxes[:, 2] - bboxes[:, 0]) + return vol + + def check_roi_center(width, height, labels, bboxes): + with tf.name_scope('check_roi_center'): + index = 0 + max_attempt = 20 + roi = [0., 0., 0., 0.] + float_width = tf.cast(width, tf.float32) + float_height = tf.cast(height, tf.float32) + mask = tf.cast(tf.zeros_like(labels, dtype=tf.uint8), tf.bool) + center_x, center_y = (bboxes[:, 1] + bboxes[:, 3]) / 2, (bboxes[:, 0] + bboxes[:, 2]) / 2 + + def condition(index, roi, mask): + return tf.logical_or(tf.logical_and(tf.reduce_sum(tf.cast(mask, tf.int32)) < 1, + tf.less(index, max_attempt)), + tf.less(index, 1)) + + def body(index, roi, mask): + sampled_width, sampled_height = sample_width_height(float_width, float_height) + + x = tf.random_uniform([], minval=0, maxval=width - sampled_width, dtype=tf.int32) + y = tf.random_uniform([], minval=0, maxval=height - sampled_height, dtype=tf.int32) + + roi = [tf.cast(y, tf.float32) / float_height, + tf.cast(x, tf.float32) / float_width, + tf.cast(y + sampled_height, tf.float32) / float_height, + tf.cast(x + sampled_width, tf.float32) / float_width] + + mask_min = tf.logical_and(tf.greater(center_y, roi[0]), tf.greater(center_x, roi[1])) + mask_max = tf.logical_and(tf.less(center_y, roi[2]), tf.less(center_x, roi[3])) + mask = tf.logical_and(mask_min, mask_max) + + return index + 1, roi, mask + + [index, roi, mask] = tf.while_loop(condition, body, [index, roi, mask], parallel_iterations=10, back_prop=False, swap_memory=True) + + mask_labels = tf.boolean_mask(labels, mask) + mask_bboxes = tf.boolean_mask(bboxes, mask) + + return roi, mask_labels, mask_bboxes + def check_roi_overlap(width, height, labels, bboxes, min_iou): + with tf.name_scope('check_roi_overlap'): + index = 0 + max_attempt = 50 + roi = [0., 0., 1., 1.] + mask_labels = labels + mask_bboxes = bboxes + + def condition(index, roi, mask_labels, mask_bboxes): + return tf.logical_or(tf.logical_or(tf.logical_and(tf.reduce_sum(tf.cast(jaccard_with_anchors(roi, mask_bboxes) < min_iou, tf.int32)) > 0, + tf.less(index, max_attempt)), + tf.less(index, 1)), + tf.less(tf.shape(mask_labels)[0], 1)) + + def body(index, roi, mask_labels, mask_bboxes): + roi, mask_labels, mask_bboxes = check_roi_center(width, height, labels, bboxes) + return index+1, roi, mask_labels, mask_bboxes + + [index, roi, mask_labels, mask_bboxes] = tf.while_loop(condition, body, [index, roi, mask_labels, mask_bboxes], parallel_iterations=16, back_prop=False, swap_memory=True) + + return tf.cond(tf.greater(tf.shape(mask_labels)[0], 0), + lambda : (tf.cast([roi[0] * tf.cast(height, tf.float32), + roi[1] * tf.cast(width, tf.float32), + (roi[2] - roi[0]) * tf.cast(height, tf.float32), + (roi[3] - roi[1]) * tf.cast(width, tf.float32)], tf.int32), mask_labels, mask_bboxes), + lambda : (tf.cast([0, 0, height, width], tf.int32), labels, bboxes)) + + + def sample_patch(image, labels, bboxes, min_iou): + with tf.name_scope('sample_patch'): + height, width, depth = _ImageDimensions(image, rank=3) + + roi_slice_range, mask_labels, mask_bboxes = check_roi_overlap(width, height, labels, bboxes, min_iou) + + scale = tf.cast(tf.stack([height, width, height, width]), mask_bboxes.dtype) + mask_bboxes = mask_bboxes * scale + + # Add offset. + offset = tf.cast(tf.stack([roi_slice_range[0], roi_slice_range[1], roi_slice_range[0], roi_slice_range[1]]), mask_bboxes.dtype) + mask_bboxes = mask_bboxes - offset + + cliped_ymin = tf.maximum(0., mask_bboxes[:, 0]) + cliped_xmin = tf.maximum(0., mask_bboxes[:, 1]) + cliped_ymax = tf.minimum(tf.cast(roi_slice_range[2], tf.float32), mask_bboxes[:, 2]) + cliped_xmax = tf.minimum(tf.cast(roi_slice_range[3], tf.float32), mask_bboxes[:, 3]) + + mask_bboxes = tf.stack([cliped_ymin, cliped_xmin, cliped_ymax, cliped_xmax], axis=-1) + # Rescale to target dimension. + scale = tf.cast(tf.stack([roi_slice_range[2], roi_slice_range[3], + roi_slice_range[2], roi_slice_range[3]]), mask_bboxes.dtype) + + return tf.cond(tf.logical_or(tf.less(roi_slice_range[2], 1), tf.less(roi_slice_range[3], 1)), + lambda: (image, labels, bboxes), + lambda: (tf.slice(image, [roi_slice_range[0], roi_slice_range[1], 0], [roi_slice_range[2], roi_slice_range[3], -1]), + mask_labels, mask_bboxes / scale)) + + with tf.name_scope('ssd_random_sample_patch'): + image = tf.convert_to_tensor(image, name='image') + + min_iou_list = tf.convert_to_tensor(ratio_list) + samples_min_iou = tf.multinomial(tf.log([[1. / len(ratio_list)] * len(ratio_list)]), 1) + + sampled_min_iou = min_iou_list[tf.cast(samples_min_iou[0][0], tf.int32)] + + return tf.cond(tf.less(sampled_min_iou, 1.), lambda: sample_patch(image, labels, bboxes, sampled_min_iou), lambda: (image, labels, bboxes)) + +def ssd_random_expand(image, bboxes, ratio=2., name=None): + with tf.name_scope('ssd_random_expand'): + image = tf.convert_to_tensor(image, name='image') + if image.get_shape().ndims != 3: + raise ValueError('\'image\' must have 3 dimensions.') + + height, width, depth = _ImageDimensions(image, rank=3) + + float_height, float_width = tf.to_float(height), tf.to_float(width) + + canvas_width, canvas_height = tf.to_int32(float_width * ratio), tf.to_int32(float_height * ratio) + + mean_color_of_image = [_R_MEAN/255., _G_MEAN/255., _B_MEAN/255.]#tf.reduce_mean(tf.reshape(image, [-1, 3]), 0) + + x = tf.random_uniform([], minval=0, maxval=canvas_width - width, dtype=tf.int32) + y = tf.random_uniform([], minval=0, maxval=canvas_height - height, dtype=tf.int32) + + paddings = tf.convert_to_tensor([[y, canvas_height - height - y], [x, canvas_width - width - x]]) + + big_canvas = tf.stack([tf.pad(image[:, :, 0], paddings, "CONSTANT", constant_values = mean_color_of_image[0]), + tf.pad(image[:, :, 1], paddings, "CONSTANT", constant_values = mean_color_of_image[1]), + tf.pad(image[:, :, 2], paddings, "CONSTANT", constant_values = mean_color_of_image[2])], axis=-1) + + scale = tf.cast(tf.stack([height, width, height, width]), bboxes.dtype) + absolute_bboxes = bboxes * scale + tf.cast(tf.stack([y, x, y, x]), bboxes.dtype) + + return big_canvas, absolute_bboxes / tf.cast(tf.stack([canvas_height, canvas_width, canvas_height, canvas_width]), bboxes.dtype) + +# def ssd_random_sample_patch_wrapper(image, labels, bboxes): +# with tf.name_scope('ssd_random_sample_patch_wrapper'): +# orgi_image, orgi_labels, orgi_bboxes = image, labels, bboxes +# def check_bboxes(bboxes): +# areas = (bboxes[:, 3] - bboxes[:, 1]) * (bboxes[:, 2] - bboxes[:, 0]) +# return tf.logical_and(tf.logical_and(areas < 0.9, areas > 0.001), +# tf.logical_and((bboxes[:, 3] - bboxes[:, 1]) > 0.025, (bboxes[:, 2] - bboxes[:, 0]) > 0.025)) + +# index = 0 +# max_attempt = 3 +# def condition(index, image, labels, bboxes): +# return tf.logical_or(tf.logical_and(tf.reduce_sum(tf.cast(check_bboxes(bboxes), tf.int64)) < 1, tf.less(index, max_attempt)), tf.less(index, 1)) + +# def body(index, image, labels, bboxes): +# image, bboxes = tf.cond(tf.random_uniform([], minval=0., maxval=1., dtype=tf.float32) < 0.5, +# lambda: (image, bboxes), +# lambda: ssd_random_expand(image, bboxes, tf.random_uniform([1], minval=1.1, maxval=4., dtype=tf.float32)[0])) +# # Distort image and bounding boxes. +# random_sample_image, labels, bboxes = ssd_random_sample_patch(image, labels, bboxes, ratio_list=[-0.1, 0.1, 0.3, 0.5, 0.7, 0.9, 1.]) +# random_sample_image.set_shape([None, None, 3]) +# return index+1, random_sample_image, labels, bboxes + +# [index, image, labels, bboxes] = tf.while_loop(condition, body, [index, orgi_image, orgi_labels, orgi_bboxes], parallel_iterations=4, back_prop=False, swap_memory=True) + +# valid_mask = check_bboxes(bboxes) +# labels, bboxes = tf.boolean_mask(labels, valid_mask), tf.boolean_mask(bboxes, valid_mask) +# return tf.cond(tf.less(index, max_attempt), +# lambda : (image, labels, bboxes), +# lambda : (orgi_image, orgi_labels, orgi_bboxes)) + +def ssd_random_sample_patch_wrapper(image, labels, bboxes): + with tf.name_scope('ssd_random_sample_patch_wrapper'): + orgi_image, orgi_labels, orgi_bboxes = image, labels, bboxes + def check_bboxes(bboxes): + areas = (bboxes[:, 3] - bboxes[:, 1]) * (bboxes[:, 2] - bboxes[:, 0]) + return tf.logical_and(tf.logical_and(areas < 0.9, areas > 0.001), + tf.logical_and((bboxes[:, 3] - bboxes[:, 1]) > 0.025, (bboxes[:, 2] - bboxes[:, 0]) > 0.025)) + + index = 0 + max_attempt = 3 + def condition(index, image, labels, bboxes, orgi_image, orgi_labels, orgi_bboxes): + return tf.logical_or(tf.logical_and(tf.reduce_sum(tf.cast(check_bboxes(bboxes), tf.int64)) < 1, tf.less(index, max_attempt)), tf.less(index, 1)) + + def body(index, image, labels, bboxes, orgi_image, orgi_labels, orgi_bboxes): + image, bboxes = tf.cond(tf.random_uniform([], minval=0., maxval=1., dtype=tf.float32) < 0.5, + lambda: (orgi_image, orgi_bboxes), + lambda: ssd_random_expand(orgi_image, orgi_bboxes, tf.random_uniform([1], minval=1.1, maxval=4., dtype=tf.float32)[0])) + # Distort image and bounding boxes. + random_sample_image, labels, bboxes = ssd_random_sample_patch(image, orgi_labels, bboxes, ratio_list=[-0.1, 0.1, 0.3, 0.5, 0.7, 0.9, 1.]) + random_sample_image.set_shape([None, None, 3]) + return index+1, random_sample_image, labels, bboxes, orgi_image, orgi_labels, orgi_bboxes + + [index, image, labels, bboxes, orgi_image, orgi_labels, orgi_bboxes] = tf.while_loop(condition, body, [index, image, labels, bboxes, orgi_image, orgi_labels, orgi_bboxes], parallel_iterations=4, back_prop=False, swap_memory=True) + + valid_mask = check_bboxes(bboxes) + labels, bboxes = tf.boolean_mask(labels, valid_mask), tf.boolean_mask(bboxes, valid_mask) + return tf.cond(tf.less(index, max_attempt), + lambda : (image, labels, bboxes), + lambda : (orgi_image, orgi_labels, orgi_bboxes)) + +def _mean_image_subtraction(image, means): + """Subtracts the given means from each image channel. + + For example: + means = [123.68, 116.779, 103.939] + image = _mean_image_subtraction(image, means) + + Note that the rank of `image` must be known. + + Args: + image: a tensor of size [height, width, C]. + means: a C-vector of values to subtract from each channel. + + Returns: + the centered image. + + Raises: + ValueError: If the rank of `image` is unknown, if `image` has a rank other + than three or if the number of channels in `image` doesn't match the + number of values in `means`. + """ + if image.get_shape().ndims != 3: + raise ValueError('Input must be of size [height, width, C>0]') + num_channels = image.get_shape().as_list()[-1] + if len(means) != num_channels: + raise ValueError('len(means) must match the number of channels') + + channels = tf.split(axis=2, num_or_size_splits=num_channels, value=image) + for i in range(num_channels): + channels[i] -= means[i] + return tf.concat(axis=2, values=channels) + +def unwhiten_image(image): + means=[_R_MEAN, _G_MEAN, _B_MEAN] + num_channels = image.get_shape().as_list()[-1] + channels = tf.split(axis=2, num_or_size_splits=num_channels, value=image) + for i in range(num_channels): + channels[i] += means[i] + return tf.concat(axis=2, values=channels) + +def random_flip_left_right(image, bboxes): + with tf.name_scope('random_flip_left_right'): + uniform_random = tf.random_uniform([], 0, 1.0) + mirror_cond = tf.less(uniform_random, .5) + # Flip image. + result = tf.cond(mirror_cond, lambda: tf.image.flip_left_right(image), lambda: image) + # Flip bboxes. + mirror_bboxes = tf.stack([bboxes[:, 0], 1 - bboxes[:, 3], + bboxes[:, 2], 1 - bboxes[:, 1]], axis=-1) + bboxes = tf.cond(mirror_cond, lambda: mirror_bboxes, lambda: bboxes) + return result, bboxes + +def preprocess_for_train(image, labels, bboxes, out_shape, data_format='channels_first', scope='ssd_preprocessing_train', output_rgb=True): + """Preprocesses the given image for training. + + Args: + image: A `Tensor` representing an image of arbitrary size. + labels: A `Tensor` containing all labels for all bboxes of this image. + bboxes: A `Tensor` containing all bboxes of this image, in range [0., 1.] with shape [num_bboxes, 4]. + out_shape: The height and width of the image after preprocessing. + data_format: The data_format of the desired output image. + Returns: + A preprocessed image. + """ + with tf.name_scope(scope, 'ssd_preprocessing_train', [image, labels, bboxes]): + if image.get_shape().ndims != 3: + raise ValueError('Input must be of size [height, width, C>0]') + # Convert to float scaled [0, 1]. + orig_dtype = image.dtype + if orig_dtype != tf.float32: + image = tf.image.convert_image_dtype(image, dtype=tf.float32) + + # Randomly distort the colors. There are 4 ways to do it. + distort_image = apply_with_random_selector(image, + lambda x, ordering: distort_color(x, ordering, True), + num_cases=4) + + random_sample_image, labels, bboxes = ssd_random_sample_patch_wrapper(distort_image, labels, bboxes) + # image, bboxes = tf.cond(tf.random_uniform([1], minval=0., maxval=1., dtype=tf.float32)[0] < 0.25, + # lambda: (image, bboxes), + # lambda: ssd_random_expand(image, bboxes, tf.random_uniform([1], minval=2, maxval=4, dtype=tf.int32)[0])) + + # # Distort image and bounding boxes. + # random_sample_image, labels, bboxes = ssd_random_sample_patch(image, labels, bboxes, ratio_list=[0.1, 0.3, 0.5, 0.7, 0.9, 1.]) + + # Randomly flip the image horizontally. + random_sample_flip_image, bboxes = random_flip_left_right(random_sample_image, bboxes) + # Rescale to VGG input scale. + random_sample_flip_resized_image = tf.image.resize_images(random_sample_flip_image, out_shape, method=tf.image.ResizeMethod.BILINEAR, align_corners=False) + random_sample_flip_resized_image.set_shape([None, None, 3]) + + final_image = tf.to_float(tf.image.convert_image_dtype(random_sample_flip_resized_image, orig_dtype, saturate=True)) + final_image = _mean_image_subtraction(final_image, [_R_MEAN, _G_MEAN, _B_MEAN]) + + final_image.set_shape(out_shape + [3]) + if not output_rgb: + image_channels = tf.unstack(final_image, axis=-1, name='split_rgb') + final_image = tf.stack([image_channels[2], image_channels[1], image_channels[0]], axis=-1, name='merge_bgr') + if data_format == 'channels_first': + final_image = tf.transpose(final_image, perm=(2, 0, 1)) + return final_image, labels, bboxes + +def preprocess_for_eval(image, out_shape, data_format='channels_first', scope='ssd_preprocessing_eval', output_rgb=True): + """Preprocesses the given image for evaluation. + + Args: + image: A `Tensor` representing an image of arbitrary size. + out_shape: The height and width of the image after preprocessing. + data_format: The data_format of the desired output image. + Returns: + A preprocessed image. + """ + with tf.name_scope(scope, 'ssd_preprocessing_eval', [image]): + image = tf.to_float(image) + image = tf.image.resize_images(image, out_shape, method=tf.image.ResizeMethod.BILINEAR, align_corners=False) + image.set_shape(out_shape + [3]) + + image = _mean_image_subtraction(image, [_R_MEAN, _G_MEAN, _B_MEAN]) + if not output_rgb: + image_channels = tf.unstack(image, axis=-1, name='split_rgb') + image = tf.stack([image_channels[2], image_channels[1], image_channels[0]], axis=-1, name='merge_bgr') + # Image data format. + if data_format == 'channels_first': + image = tf.transpose(image, perm=(2, 0, 1)) + return image + +def preprocess_image(image, labels, bboxes, out_shape, is_training=False, data_format='channels_first', output_rgb=True): + """Preprocesses the given image. + + Args: + image: A `Tensor` representing an image of arbitrary size. + labels: A `Tensor` containing all labels for all bboxes of this image. + bboxes: A `Tensor` containing all bboxes of this image, in range [0., 1.] with shape [num_bboxes, 4]. + out_shape: The height and width of the image after preprocessing. + is_training: Wether we are in training phase. + data_format: The data_format of the desired output image. + + Returns: + A preprocessed image. + """ + if is_training: + return preprocess_for_train(image, labels, bboxes, out_shape, data_format=data_format, output_rgb=output_rgb) + else: + return preprocess_for_eval(image, out_shape, data_format=data_format, output_rgb=output_rgb) diff --git a/cv/detection/ssd/tensorflow/readme_origin.md b/cv/detection/ssd/tensorflow/readme_origin.md new file mode 100644 index 0000000000000000000000000000000000000000..f2b3a20a623d1e3f80373651868edb350eadb4d4 --- /dev/null +++ b/cv/detection/ssd/tensorflow/readme_origin.md @@ -0,0 +1,138 @@ +# State-of-the-art Single Shot MultiBox Detector in TensorFlow + +This repository contains codes of the reimplementation of [SSD: Single Shot MultiBox Detector](https://arxiv.org/abs/1512.02325) in TensorFlow. If your goal is to reproduce the results in the original paper, please use the official [codes](https://github.com/weiliu89/caffe/tree/ssd). + +There are already some TensorFlow based SSD reimplementation codes on GitHub, the main special features of this repo inlcude: + +- state of the art performance(77.8%mAP) when training from VGG-16 pre-trained model (SSD300-VGG16). +- the model is trained using TensorFlow high level API [tf.estimator](https://www.tensorflow.org/api_docs/python/tf/estimator/Estimator). Although TensorFlow provides many APIs, the Estimator API is highly recommended to yield scalable, high-performance models. +- all codes were writen by pure TensorFlow ops (no numpy operation) to ensure the performance and portability. +- using ssd augmentation pipeline discribed in the original paper. +- PyTorch-like model definition using high-level [tf.layers](https://www.tensorflow.org/api_docs/python/tf/layers) API for better readability ^-^. +- high degree of modularity to ease futher development. +- using replicate\_model\_fn makes it flexible to use one or more GPUs. + +***New Update(77.9%mAP): using absolute bbox coordinates instead of normalized coordinates, checkout [here](https://github.com/HiKapok/SSD.TensorFlow/tree/AbsoluteCoord).*** + +## ## +## Usage +- Download [Pascal VOC Dataset](https://pjreddie.com/projects/pascal-voc-dataset-mirror/) and reorganize the directory as follows: + ``` + VOCROOT/ + |->VOC2007/ + | |->Annotations/ + | |->ImageSets/ + | |->... + |->VOC2012/ + | |->Annotations/ + | |->ImageSets/ + | |->... + |->VOC2007TEST/ + | |->Annotations/ + | |->... + ``` + VOCROOT is your path of the Pascal VOC Dataset. +- Run the following script to generate TFRecords. + ```sh + python dataset/convert_tfrecords.py --dataset_directory=VOCROOT --output_directory=./dataset/tfrecords + ``` +- Download the **pre-trained VGG-16 model (reduced-fc)** from [here](https://drive.google.com/drive/folders/184srhbt8_uvLKeWW_Yo8Mc5wTyc0lJT7) and put them into one sub-directory named 'model' (we support SaverDef.V2 by default, the V1 version is also available for sake of compatibility). +- Run the following script to start training: + + ```sh + python train_ssd.py + ``` +- Run the following script for evaluation and get mAP: + + ```sh + python eval_ssd.py + python voc_eval.py + ``` + Note: you need first modify some directory in voc_eval.py. +- Run the following script for visualization: + ```sh + python simple_ssd_demo.py + ``` + +All the codes was tested under TensorFlow 1.6, Python 3.5, Ubuntu 16.04 with CUDA 8.0. If you want to run training by yourself, one decent GPU will be highly recommended. The whole training process for VOC07+12 dataset took ~120k steps in total, and each step (32 samples per-batch) took ~1s on my little workstation with single GTX1080-Ti GPU Card. If you need run training without enough GPU memory you can try half of the current batch size(e.g. 16), try to lower the learning rate and run more steps, watching the TensorBoard until convergency. BTW, the codes here had also been tested under TensorFlow 1.4 with CUDA 8.0, but some modifications to the codes are needed to enable replicate model training, take following steps if you need: + +- copy all the codes of [this file](https://github.com/tensorflow/tensorflow/blob/v1.6.0/tensorflow/contrib/estimator/python/estimator/replicate_model_fn.py) to your local file named 'tf\_replicate\_model\_fn.py' +- add one more line [here](https://github.com/HiKapok/SSD.TensorFlow/blob/899e08dad48669ca0c444284977e3d7ffa1da5fe/train_ssd.py#L25) to import module 'tf\_replicate\_model\_fn' +- change 'tf.contrib.estimator' in [here](https://github.com/HiKapok/SSD.TensorFlow/blob/899e08dad48669ca0c444284977e3d7ffa1da5fe/train_ssd.py#L383) and [here](https://github.com/HiKapok/SSD.TensorFlow/blob/899e08dad48669ca0c444284977e3d7ffa1da5fe/train_ssd.py#L422) to 'tf\_replicate\_model\_fn' +- now the training process should run perfectly +- before you run 'eval_ssd.py', you should also remove [this line](https://github.com/HiKapok/SSD.TensorFlow/blob/e8296848b9f6eb585da5945d6b3ae099029ef4bf/eval_ssd.py#L369) because of the interface compatibility + + +***This repo is just created recently, any contribution will be welcomed.*** + +## Results (VOC07 Metric) + +This implementation(SSD300-VGG16) yield **mAP 77.8%** on PASCAL VOC 2007 test dataset(the original performance described in the paper is 77.2%mAP), the details are as follows: + +| sofa | bird | pottedplant | bus | diningtable | cow | bottle | horse | aeroplane | motorbike +|:-------|:-----:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:| +| 78.9 | 76.2 | 53.5 | 85.2 | 75.5 | 85.0 | 48.6 | 86.7 | 82.2 | 83.4 | +| **sheep** | **train** | **boat** | **bicycle** | **chair** | **cat** | **tvmonitor** | **person** | **car** | **dog** | +| 82.4 | 87.6 | 72.7 | 83.0 | 61.3 | 88.2 | 74.5 | 79.6 | 85.3 | 86.4 | + +You can download the trained model(VOC07+12 Train) from [GoogleDrive](https://drive.google.com/open?id=1yeYcfcOURcZ4DaElEn9C2xY1NymGzG5W) for further research. + +For Chinese friends, you can also download both the trained model and pre-trained vgg16 weights from [BaiduYun Drive](https://pan.baidu.com/s/1kRhZd4p-N46JFpVkMgU3fg), access code: **tg64**. + +Here is the training logs and some detection results: + +![](logs/loss.JPG "loss") +![](logs/celoss.JPG "celoss") +![](logs/locloss.JPG "locloss") +![](demo/demo1.jpg "demo1") +![](demo/demo2.jpg "demo2") +![](demo/demo3.jpg "demo3") + +## *Too Busy* TODO + +- Adapting for CoCo Dataset +- Update version SSD-512 +- Transfer to other backbone networks + +## Known Issues + +- Got 'TypeError: Expected binary or unicode string, got None' while training + - Why: There maybe some inconsistent between different TensorFlow version. + - How: If you got this error, try change the default value of checkpoint_path to './model/vgg16.ckpt' in [train_ssd.py](https://github.com/HiKapok/SSD.TensorFlow/blob/86e3fa600d8d07122e9366ae664dea8c3c87c622/train_ssd.py#L107). For more information [issue6](https://github.com/HiKapok/SSD.TensorFlow/issues/6) and [issue9](https://github.com/HiKapok/SSD.TensorFlow/issues/9). +- Nan loss during training + - Why: This is caused by the default learning rate which is a little higher for some TensorFlow version. + - How: I don't know the details about the different behavior between different versions. There are two workarounds: + - Adding warm-up: change some codes [here](https://github.com/HiKapok/SSD.TensorFlow/blob/d9cf250df81c8af29985c03d76636b2b8b19f089/train_ssd.py#L99) to the following snippet: + + ```python + tf.app.flags.DEFINE_string( + 'decay_boundaries', '2000, 80000, 100000', + 'Learning rate decay boundaries by global_step (comma-separated list).') + tf.app.flags.DEFINE_string( + 'lr_decay_factors', '0.1, 1, 0.1, 0.01', + 'The values of learning_rate decay factor for each segment between boundaries (comma-separated list).') + ``` + - Lower the learning rate and run more steps until convergency. +- Why this re-implementation perform better than the reported performance + - I don't know + +## Citation + +Use this bibtex to cite this repository: +``` +@misc{kapok_ssd_2018, + title={Single Shot MultiBox Detector in TensorFlow}, + author={Changan Wang}, + year={2018}, + publisher={Github}, + journal={GitHub repository}, + howpublished={\url{https://github.com/HiKapok/SSD.TensorFlow}}, +} +``` + +## Discussion + +Welcome to join in QQ Group(758790869) for more discussion + +## ## +Apache License, Version 2.0 diff --git a/cv/detection/ssd/tensorflow/simple_ssd_demo.py b/cv/detection/ssd/tensorflow/simple_ssd_demo.py new file mode 100644 index 0000000000000000000000000000000000000000..67540bc148e005f2e99268310957e7609cb6d1c7 --- /dev/null +++ b/cv/detection/ssd/tensorflow/simple_ssd_demo.py @@ -0,0 +1,220 @@ +# Copyright 2018 Changan Wang + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================= +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os +import sys + +import tensorflow as tf +from scipy.misc import imread, imsave, imshow, imresize +import numpy as np + +from net import ssd_net + +from dataset import dataset_common +from preprocessing import ssd_preprocessing +from utility import anchor_manipulator +from utility import draw_toolbox + +# scaffold related configuration +tf.app.flags.DEFINE_integer( + 'num_classes', 21, 'Number of classes to use in the dataset.') +# model related configuration +tf.app.flags.DEFINE_integer( + 'train_image_size', 300, + 'The size of the input image for the model to use.') +tf.app.flags.DEFINE_string( + 'data_format', 'channels_last', # 'channels_first' or 'channels_last' + 'A flag to override the data format used in the model. channels_first ' + 'provides a performance boost on GPU but is not always compatible ' + 'with CPU. If left unspecified, the data format will be chosen ' + 'automatically based on whether TensorFlow was built for CPU or GPU.') +tf.app.flags.DEFINE_float( + 'select_threshold', 0.2, 'Class-specific confidence score threshold for selecting a box.') +tf.app.flags.DEFINE_float( + 'min_size', 0.03, 'The min size of bboxes to keep.') +tf.app.flags.DEFINE_float( + 'nms_threshold', 0.45, 'Matching threshold in NMS algorithm.') +tf.app.flags.DEFINE_integer( + 'nms_topk', 20, 'Number of total object to keep after NMS.') +tf.app.flags.DEFINE_integer( + 'keep_topk', 200, 'Number of total object to keep for each image before nms.') +# checkpoint related configuration +tf.app.flags.DEFINE_string( + 'checkpoint_path', './logs', + 'The path to a checkpoint from which to fine-tune.') +tf.app.flags.DEFINE_string( + 'model_scope', 'ssd300', + 'Model scope name used to replace the name_scope in checkpoint.') + +FLAGS = tf.app.flags.FLAGS +#CUDA_VISIBLE_DEVICES + +def get_checkpoint(): + if tf.gfile.IsDirectory(FLAGS.checkpoint_path): + checkpoint_path = tf.train.latest_checkpoint(FLAGS.checkpoint_path) + else: + checkpoint_path = FLAGS.checkpoint_path + + return checkpoint_path + +def select_bboxes(scores_pred, bboxes_pred, num_classes, select_threshold): + selected_bboxes = {} + selected_scores = {} + with tf.name_scope('select_bboxes', [scores_pred, bboxes_pred]): + for class_ind in range(1, num_classes): + class_scores = scores_pred[:, class_ind] + + select_mask = class_scores > select_threshold + select_mask = tf.cast(select_mask, tf.float32) + selected_bboxes[class_ind] = tf.multiply(bboxes_pred, tf.expand_dims(select_mask, axis=-1)) + selected_scores[class_ind] = tf.multiply(class_scores, select_mask) + + return selected_bboxes, selected_scores + +def clip_bboxes(ymin, xmin, ymax, xmax, name): + with tf.name_scope(name, 'clip_bboxes', [ymin, xmin, ymax, xmax]): + ymin = tf.maximum(ymin, 0.) + xmin = tf.maximum(xmin, 0.) + ymax = tf.minimum(ymax, 1.) + xmax = tf.minimum(xmax, 1.) + + ymin = tf.minimum(ymin, ymax) + xmin = tf.minimum(xmin, xmax) + + return ymin, xmin, ymax, xmax + +def filter_bboxes(scores_pred, ymin, xmin, ymax, xmax, min_size, name): + with tf.name_scope(name, 'filter_bboxes', [scores_pred, ymin, xmin, ymax, xmax]): + width = xmax - xmin + height = ymax - ymin + + filter_mask = tf.logical_and(width > min_size, height > min_size) + + filter_mask = tf.cast(filter_mask, tf.float32) + return tf.multiply(ymin, filter_mask), tf.multiply(xmin, filter_mask), \ + tf.multiply(ymax, filter_mask), tf.multiply(xmax, filter_mask), tf.multiply(scores_pred, filter_mask) + +def sort_bboxes(scores_pred, ymin, xmin, ymax, xmax, keep_topk, name): + with tf.name_scope(name, 'sort_bboxes', [scores_pred, ymin, xmin, ymax, xmax]): + cur_bboxes = tf.shape(scores_pred)[0] + scores, idxes = tf.nn.top_k(scores_pred, k=tf.minimum(keep_topk, cur_bboxes), sorted=True) + + ymin, xmin, ymax, xmax = tf.gather(ymin, idxes), tf.gather(xmin, idxes), tf.gather(ymax, idxes), tf.gather(xmax, idxes) + + paddings_scores = tf.expand_dims(tf.stack([0, tf.maximum(keep_topk-cur_bboxes, 0)], axis=0), axis=0) + + return tf.pad(ymin, paddings_scores, "CONSTANT"), tf.pad(xmin, paddings_scores, "CONSTANT"),\ + tf.pad(ymax, paddings_scores, "CONSTANT"), tf.pad(xmax, paddings_scores, "CONSTANT"),\ + tf.pad(scores, paddings_scores, "CONSTANT") + +def nms_bboxes(scores_pred, bboxes_pred, nms_topk, nms_threshold, name): + with tf.name_scope(name, 'nms_bboxes', [scores_pred, bboxes_pred]): + idxes = tf.image.non_max_suppression(bboxes_pred, scores_pred, nms_topk, nms_threshold) + return tf.gather(scores_pred, idxes), tf.gather(bboxes_pred, idxes) + +def parse_by_class(cls_pred, bboxes_pred, num_classes, select_threshold, min_size, keep_topk, nms_topk, nms_threshold): + with tf.name_scope('select_bboxes', [cls_pred, bboxes_pred]): + scores_pred = tf.nn.softmax(cls_pred) + selected_bboxes, selected_scores = select_bboxes(scores_pred, bboxes_pred, num_classes, select_threshold) + for class_ind in range(1, num_classes): + ymin, xmin, ymax, xmax = tf.unstack(selected_bboxes[class_ind], 4, axis=-1) + #ymin, xmin, ymax, xmax = tf.squeeze(ymin), tf.squeeze(xmin), tf.squeeze(ymax), tf.squeeze(xmax) + ymin, xmin, ymax, xmax = clip_bboxes(ymin, xmin, ymax, xmax, 'clip_bboxes_{}'.format(class_ind)) + ymin, xmin, ymax, xmax, selected_scores[class_ind] = filter_bboxes(selected_scores[class_ind], + ymin, xmin, ymax, xmax, min_size, 'filter_bboxes_{}'.format(class_ind)) + ymin, xmin, ymax, xmax, selected_scores[class_ind] = sort_bboxes(selected_scores[class_ind], + ymin, xmin, ymax, xmax, keep_topk, 'sort_bboxes_{}'.format(class_ind)) + selected_bboxes[class_ind] = tf.stack([ymin, xmin, ymax, xmax], axis=-1) + selected_scores[class_ind], selected_bboxes[class_ind] = nms_bboxes(selected_scores[class_ind], selected_bboxes[class_ind], nms_topk, nms_threshold, 'nms_bboxes_{}'.format(class_ind)) + + return selected_bboxes, selected_scores + +def main(_): + with tf.Graph().as_default(): + out_shape = [FLAGS.train_image_size] * 2 + + image_input = tf.placeholder(tf.uint8, shape=(None, None, 3)) + shape_input = tf.placeholder(tf.int32, shape=(2,)) + + features = ssd_preprocessing.preprocess_for_eval(image_input, out_shape, data_format=FLAGS.data_format, output_rgb=False) + features = tf.expand_dims(features, axis=0) + + anchor_creator = anchor_manipulator.AnchorCreator(out_shape, + layers_shapes = [(38, 38), (19, 19), (10, 10), (5, 5), (3, 3), (1, 1)], + anchor_scales = [(0.1,), (0.2,), (0.375,), (0.55,), (0.725,), (0.9,)], + extra_anchor_scales = [(0.1414,), (0.2739,), (0.4541,), (0.6315,), (0.8078,), (0.9836,)], + anchor_ratios = [(1., 2., .5), (1., 2., 3., .5, 0.3333), (1., 2., 3., .5, 0.3333), (1., 2., 3., .5, 0.3333), (1., 2., .5), (1., 2., .5)], + #anchor_ratios = [(2., .5), (2., 3., .5, 0.3333), (2., 3., .5, 0.3333), (2., 3., .5, 0.3333), (2., .5), (2., .5)], + layer_steps = [8, 16, 32, 64, 100, 300]) + all_anchors, all_num_anchors_depth, all_num_anchors_spatial = anchor_creator.get_all_anchors() + + anchor_encoder_decoder = anchor_manipulator.AnchorEncoder(allowed_borders = [1.0] * 6, + positive_threshold = None, + ignore_threshold = None, + prior_scaling=[0.1, 0.1, 0.2, 0.2]) + + decode_fn = lambda pred : anchor_encoder_decoder.ext_decode_all_anchors(pred, all_anchors, all_num_anchors_depth, all_num_anchors_spatial) + + with tf.variable_scope(FLAGS.model_scope, default_name=None, values=[features], reuse=tf.AUTO_REUSE): + backbone = ssd_net.VGG16Backbone(FLAGS.data_format) + feature_layers = backbone.forward(features, training=False) + location_pred, cls_pred = ssd_net.multibox_head(feature_layers, FLAGS.num_classes, all_num_anchors_depth, data_format=FLAGS.data_format) + if FLAGS.data_format == 'channels_first': + cls_pred = [tf.transpose(pred, [0, 2, 3, 1]) for pred in cls_pred] + location_pred = [tf.transpose(pred, [0, 2, 3, 1]) for pred in location_pred] + + cls_pred = [tf.reshape(pred, [-1, FLAGS.num_classes]) for pred in cls_pred] + location_pred = [tf.reshape(pred, [-1, 4]) for pred in location_pred] + + cls_pred = tf.concat(cls_pred, axis=0) + location_pred = tf.concat(location_pred, axis=0) + + with tf.device('/cpu:0'): + bboxes_pred = decode_fn(location_pred) + bboxes_pred = tf.concat(bboxes_pred, axis=0) + selected_bboxes, selected_scores = parse_by_class(cls_pred, bboxes_pred, + FLAGS.num_classes, FLAGS.select_threshold, FLAGS.min_size, + FLAGS.keep_topk, FLAGS.nms_topk, FLAGS.nms_threshold) + + labels_list = [] + scores_list = [] + bboxes_list = [] + for k, v in selected_scores.items(): + labels_list.append(tf.ones_like(v, tf.int32) * k) + scores_list.append(v) + bboxes_list.append(selected_bboxes[k]) + all_labels = tf.concat(labels_list, axis=0) + all_scores = tf.concat(scores_list, axis=0) + all_bboxes = tf.concat(bboxes_list, axis=0) + + saver = tf.train.Saver() + with tf.Session() as sess: + init = tf.global_variables_initializer() + sess.run(init) + + saver.restore(sess, get_checkpoint()) + + np_image = imread('./demo/test.jpg') + labels_, scores_, bboxes_ = sess.run([all_labels, all_scores, all_bboxes], feed_dict = {image_input : np_image, shape_input : np_image.shape[:-1]}) + + img_to_draw = draw_toolbox.bboxes_draw_on_img(np_image, labels_, scores_, bboxes_, thickness=2) + imsave('./demo/test_out.jpg', img_to_draw) + +if __name__ == '__main__': + tf.logging.set_verbosity(tf.logging.INFO) + tf.app.run() diff --git a/cv/detection/ssd/tensorflow/train_ssd.py b/cv/detection/ssd/tensorflow/train_ssd.py new file mode 100644 index 0000000000000000000000000000000000000000..4df6c21772044fa4d605de8ab49cf108e0ede872 --- /dev/null +++ b/cv/detection/ssd/tensorflow/train_ssd.py @@ -0,0 +1,518 @@ +# Copyright 2018 Changan Wang + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================= +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os +import sys + +import tensorflow.compat.v1 as tf +tf.disable_v2_behavior() + +from net import ssd_net + +from dataset import dataset_common +from preprocessing import ssd_preprocessing +from utility import anchor_manipulator +from utility import scaffolds + +# hardware related configuration +tf.app.flags.DEFINE_integer( + 'num_readers', 8, + 'The number of parallel readers that read data from the dataset.') +tf.app.flags.DEFINE_integer( + 'num_preprocessing_threads', 24, + 'The number of threads used to create the batches.') +tf.app.flags.DEFINE_integer( + 'num_cpu_threads', 0, + 'The number of cpu cores used to train.') +tf.app.flags.DEFINE_float( + 'gpu_memory_fraction', 1., 'GPU memory fraction to use.') +# scaffold related configuration +tf.app.flags.DEFINE_string( + 'data_dir', './dataset/tfrecords', + 'The directory where the dataset input data is stored.') +tf.app.flags.DEFINE_integer( + 'num_classes', 21, 'Number of classes to use in the dataset.') +tf.app.flags.DEFINE_string( + 'model_dir', './logs/', + 'The directory where the model will be stored.') +tf.app.flags.DEFINE_integer( + 'log_every_n_steps', 10, + 'The frequency with which logs are printed.') +tf.app.flags.DEFINE_integer( + 'save_summary_steps', 500, + 'The frequency with which summaries are saved, in seconds.') +tf.app.flags.DEFINE_integer( + 'save_checkpoints_secs', 7200, + 'The frequency with which the model is saved, in seconds.') +# model related configuration +tf.app.flags.DEFINE_integer( + 'train_image_size', 300, + 'The size of the input image for the model to use.') +tf.app.flags.DEFINE_integer( + 'train_epochs', 5, + 'The number of epochs to use for training.') +tf.app.flags.DEFINE_integer( + 'max_number_of_steps', 120000, + 'The max number of steps to use for training.') +tf.app.flags.DEFINE_integer( + 'batch_size', 32, + 'Batch size for training and evaluation.') +tf.app.flags.DEFINE_string( + 'data_format', 'channels_first', # 'channels_first' or 'channels_last' + 'A flag to override the data format used in the model. channels_first ' + 'provides a performance boost on GPU but is not always compatible ' + 'with CPU. If left unspecified, the data format will be chosen ' + 'automatically based on whether TensorFlow was built for CPU or GPU.') +tf.app.flags.DEFINE_float( + 'negative_ratio', 3., 'Negative ratio in the loss function.') +tf.app.flags.DEFINE_float( + 'match_threshold', 0.5, 'Matching threshold in the loss function.') +tf.app.flags.DEFINE_float( + 'neg_threshold', 0.5, 'Matching threshold for the negtive examples in the loss function.') +# optimizer related configuration +tf.app.flags.DEFINE_integer( + 'tf_random_seed', 20180503, 'Random seed for TensorFlow initializers.') +tf.app.flags.DEFINE_float( + 'weight_decay', 5e-4, 'The weight decay on the model weights.') +tf.app.flags.DEFINE_float( + 'momentum', 0.9, + 'The momentum for the MomentumOptimizer and RMSPropOptimizer.') +tf.app.flags.DEFINE_float('learning_rate', 1e-3, 'Initial learning rate.') +tf.app.flags.DEFINE_float( + 'end_learning_rate', 0.000001, + 'The minimal end learning rate used by a polynomial decay learning rate.') +# for learning rate piecewise_constant decay +tf.app.flags.DEFINE_string( + 'decay_boundaries', '500, 80000, 100000', + 'Learning rate decay boundaries by global_step (comma-separated list).') +tf.app.flags.DEFINE_string( + 'lr_decay_factors', '0.1, 1, 0.1, 0.01', + 'The values of learning_rate decay factor for each segment between boundaries (comma-separated list).') +# checkpoint related configuration +tf.app.flags.DEFINE_string( + 'checkpoint_path', './model', + 'The path to a checkpoint from which to fine-tune.') +tf.app.flags.DEFINE_string( + 'checkpoint_model_scope', 'vgg_16', + 'Model scope in the checkpoint. None if the same as the trained model.') +tf.app.flags.DEFINE_string( + 'model_scope', 'ssd300', + 'Model scope name used to replace the name_scope in checkpoint.') +tf.app.flags.DEFINE_string( + 'checkpoint_exclude_scopes', 'ssd300/multibox_head, ssd300/additional_layers, ssd300/conv4_3_scale', + 'Comma-separated list of scopes of variables to exclude when restoring from a checkpoint.') +tf.app.flags.DEFINE_boolean( + 'ignore_missing_vars', True, + 'When restoring a checkpoint would ignore missing variables.') +tf.app.flags.DEFINE_boolean( + 'multi_gpu', True, + 'Whether there is GPU to use for training.') +tf.app.flags.DEFINE_boolean( + 'use_amp', False, + 'Whether to use amp for training.') +tf.app.flags.DEFINE_string( + 'backbone', 'vgg16', + 'The backbone for feature extraction: vgg16/resnet18/resnet34/resnet50/resnet101.') + +FLAGS = tf.app.flags.FLAGS +#CUDA_VISIBLE_DEVICES +def validate_batch_size_for_multi_gpu(batch_size): + """For multi-gpu, batch-size must be a multiple of the number of + available GPUs. + + Note that this should eventually be handled by replicate_model_fn + directly. Multi-GPU support is currently experimental, however, + so doing the work here until that feature is in place. + """ + if FLAGS.multi_gpu: + from tensorflow.python.client import device_lib + + local_device_protos = device_lib.list_local_devices() + num_gpus = sum([1 for d in local_device_protos if d.device_type == 'GPU']) + if not num_gpus: + raise ValueError('Multi-GPU mode was specified, but no GPUs ' + 'were found. To use CPU, run --multi_gpu=False.') + + remainder = batch_size % num_gpus + if remainder: + err = ('When running with multiple GPUs, batch size ' + 'must be a multiple of the number of available GPUs. ' + 'Found {} GPUs with a batch size of {}; try --batch_size={} instead.' + ).format(num_gpus, batch_size, batch_size - remainder) + raise ValueError(err) + return num_gpus + return 0 + +def get_init_fn(): + return scaffolds.get_init_fn_for_scaffold(FLAGS.model_dir, FLAGS.checkpoint_path, + FLAGS.model_scope, FLAGS.checkpoint_model_scope, + FLAGS.checkpoint_exclude_scopes, FLAGS.ignore_missing_vars, + name_remap={'/kernel': '/weights', '/bias': '/biases'}) + +# couldn't find better way to pass params from input_fn to model_fn +# some tensors used by model_fn must be created in input_fn to ensure they are in the same graph +# but when we put these tensors to labels's dict, the replicate_model_fn will split them into each GPU +# the problem is that they shouldn't be splited +global_anchor_info = dict() + +def input_pipeline(dataset_pattern='train-*', is_training=True, batch_size=FLAGS.batch_size): + def input_fn(): + out_shape = [FLAGS.train_image_size] * 2 + anchor_creator = anchor_manipulator.AnchorCreator(out_shape, + layers_shapes = [(38, 38), (19, 19), (10, 10), (5, 5), (3, 3), (1, 1)], + anchor_scales = [(0.1,), (0.2,), (0.375,), (0.55,), (0.725,), (0.9,)], + extra_anchor_scales = [(0.1414,), (0.2739,), (0.4541,), (0.6315,), (0.8078,), (0.9836,)], + anchor_ratios = [(1., 2., .5), (1., 2., 3., .5, 0.3333), (1., 2., 3., .5, 0.3333), (1., 2., 3., .5, 0.3333), (1., 2., .5), (1., 2., .5)], + layer_steps = [8, 16, 32, 64, 100, 300]) + all_anchors, all_num_anchors_depth, all_num_anchors_spatial = anchor_creator.get_all_anchors() + + num_anchors_per_layer = [] + for ind in range(len(all_anchors)): + num_anchors_per_layer.append(all_num_anchors_depth[ind] * all_num_anchors_spatial[ind]) + + anchor_encoder_decoder = anchor_manipulator.AnchorEncoder(allowed_borders = [1.0] * 6, + positive_threshold = FLAGS.match_threshold, + ignore_threshold = FLAGS.neg_threshold, + prior_scaling=[0.1, 0.1, 0.2, 0.2]) + + image_preprocessing_fn = lambda image_, labels_, bboxes_ : ssd_preprocessing.preprocess_image(image_, labels_, bboxes_, out_shape, is_training=is_training, data_format=FLAGS.data_format, output_rgb=False) + anchor_encoder_fn = lambda glabels_, gbboxes_: anchor_encoder_decoder.encode_all_anchors(glabels_, gbboxes_, all_anchors, all_num_anchors_depth, all_num_anchors_spatial) + + image, _, shape, loc_targets, cls_targets, match_scores = dataset_common.slim_get_batch(FLAGS.num_classes, + batch_size, + ('train' if is_training else 'val'), + os.path.join(FLAGS.data_dir, dataset_pattern), + FLAGS.num_readers, + FLAGS.num_preprocessing_threads, + image_preprocessing_fn, + anchor_encoder_fn, + num_epochs=FLAGS.train_epochs, + is_training=is_training) + global global_anchor_info + global_anchor_info = {'decode_fn': lambda pred : anchor_encoder_decoder.decode_all_anchors(pred, num_anchors_per_layer), + 'num_anchors_per_layer': num_anchors_per_layer, + 'all_num_anchors_depth': all_num_anchors_depth } + + return image, {'shape': shape, 'loc_targets': loc_targets, 'cls_targets': cls_targets, 'match_scores': match_scores} + return input_fn + +def modified_smooth_l1(bbox_pred, bbox_targets, bbox_inside_weights=1., bbox_outside_weights=1., sigma=1.): + """ + ResultLoss = outside_weights * SmoothL1(inside_weights * (bbox_pred - bbox_targets)) + SmoothL1(x) = 0.5 * (sigma * x)^2, if |x| < 1 / sigma^2 + |x| - 0.5 / sigma^2, otherwise + """ + with tf.name_scope('smooth_l1', [bbox_pred, bbox_targets]): + sigma2 = sigma * sigma + + inside_mul = tf.multiply(bbox_inside_weights, tf.subtract(bbox_pred, bbox_targets)) + + smooth_l1_sign = tf.cast(tf.less(tf.abs(inside_mul), 1.0 / sigma2), tf.float32) + smooth_l1_option1 = tf.multiply(tf.multiply(inside_mul, inside_mul), 0.5 * sigma2) + smooth_l1_option2 = tf.subtract(tf.abs(inside_mul), 0.5 / sigma2) + smooth_l1_result = tf.add(tf.multiply(smooth_l1_option1, smooth_l1_sign), + tf.multiply(smooth_l1_option2, tf.abs(tf.subtract(smooth_l1_sign, 1.0)))) + + outside_mul = tf.multiply(bbox_outside_weights, smooth_l1_result) + + return outside_mul + + +# from scipy.misc import imread, imsave, imshow, imresize +# import numpy as np +# from utility import draw_toolbox + +# def save_image_with_bbox(image, labels_, scores_, bboxes_): +# if not hasattr(save_image_with_bbox, "counter"): +# save_image_with_bbox.counter = 0 # it doesn't exist yet, so initialize it +# save_image_with_bbox.counter += 1 + +# img_to_draw = np.copy(image) + +# img_to_draw = draw_toolbox.bboxes_draw_on_img(img_to_draw, labels_, scores_, bboxes_, thickness=2) +# imsave(os.path.join('./debug/{}.jpg').format(save_image_with_bbox.counter), img_to_draw) +# return save_image_with_bbox.counter + +def ssd_model_fn(features, labels, mode, params): + """model_fn for SSD to be used with our Estimator.""" + shape = labels['shape'] + loc_targets = labels['loc_targets'] + cls_targets = labels['cls_targets'] + match_scores = labels['match_scores'] + + global global_anchor_info + decode_fn = global_anchor_info['decode_fn'] + num_anchors_per_layer = global_anchor_info['num_anchors_per_layer'] + all_num_anchors_depth = global_anchor_info['all_num_anchors_depth'] + + # bboxes_pred = decode_fn(loc_targets[0]) + # bboxes_pred = [tf.reshape(preds, [-1, 4]) for preds in bboxes_pred] + # bboxes_pred = tf.concat(bboxes_pred, axis=0) + # save_image_op = tf.py_func(save_image_with_bbox, + # [ssd_preprocessing.unwhiten_image(features[0]), + # tf.clip_by_value(cls_targets[0], 0, tf.int64.max), + # match_scores[0], + # bboxes_pred], + # tf.int64, stateful=True) + # with tf.control_dependencies([save_image_op]): + + #print(all_num_anchors_depth) + with tf.variable_scope(params['model_scope'], default_name=None, values=[features], reuse=tf.AUTO_REUSE): + ssd_backbone = ssd_net.SSDBackbone( + FLAGS.backbone, + training=(mode == tf.estimator.ModeKeys.TRAIN), + data_format=params['data_format']) + feature_layers = ssd_backbone.forward(features) + #print(feature_layers) + location_pred, cls_pred = ssd_net.multibox_head(feature_layers, params['num_classes'], all_num_anchors_depth, data_format=params['data_format']) + + if params['data_format'] == 'channels_first': + cls_pred = [tf.transpose(pred, [0, 2, 3, 1]) for pred in cls_pred] + location_pred = [tf.transpose(pred, [0, 2, 3, 1]) for pred in location_pred] + + cls_pred = [tf.reshape(pred, [tf.shape(features)[0], -1, params['num_classes']]) for pred in cls_pred] + location_pred = [tf.reshape(pred, [tf.shape(features)[0], -1, 4]) for pred in location_pred] + + cls_pred = tf.concat(cls_pred, axis=1) + location_pred = tf.concat(location_pred, axis=1) + + cls_pred = tf.reshape(cls_pred, [-1, params['num_classes']]) + location_pred = tf.reshape(location_pred, [-1, 4]) + + with tf.device('/cpu:0'): + with tf.control_dependencies([cls_pred, location_pred]): + with tf.name_scope('post_forward'): + #bboxes_pred = decode_fn(location_pred) + bboxes_pred = tf.map_fn(lambda _preds : decode_fn(_preds), + tf.reshape(location_pred, [tf.shape(features)[0], -1, 4]), + dtype=[tf.float32] * len(num_anchors_per_layer), back_prop=False) + #cls_targets = tf.Print(cls_targets, [tf.shape(bboxes_pred[0]),tf.shape(bboxes_pred[1]),tf.shape(bboxes_pred[2]),tf.shape(bboxes_pred[3])]) + bboxes_pred = [tf.reshape(preds, [-1, 4]) for preds in bboxes_pred] + bboxes_pred = tf.concat(bboxes_pred, axis=0) + + flaten_cls_targets = tf.reshape(cls_targets, [-1]) + flaten_match_scores = tf.reshape(match_scores, [-1]) + flaten_loc_targets = tf.reshape(loc_targets, [-1, 4]) + + # each positive examples has one label + positive_mask = flaten_cls_targets > 0 + n_positives = tf.count_nonzero(positive_mask) + + batch_n_positives = tf.count_nonzero(cls_targets, -1) + + batch_negtive_mask = tf.equal(cls_targets, 0)#tf.logical_and(tf.equal(cls_targets, 0), match_scores > 0.) + batch_n_negtives = tf.count_nonzero(batch_negtive_mask, -1) + + batch_n_neg_select = tf.cast(params['negative_ratio'] * tf.cast(batch_n_positives, tf.float32), tf.int32) + batch_n_neg_select = tf.minimum(batch_n_neg_select, tf.cast(batch_n_negtives, tf.int32)) + + # hard negative mining for classification + predictions_for_bg = tf.nn.softmax(tf.reshape(cls_pred, [tf.shape(features)[0], -1, params['num_classes']]))[:, :, 0] + prob_for_negtives = tf.where(batch_negtive_mask, + 0. - predictions_for_bg, + # ignore all the positives + 0. - tf.ones_like(predictions_for_bg)) + topk_prob_for_bg, _ = tf.nn.top_k(prob_for_negtives, k=tf.shape(prob_for_negtives)[1]) + score_at_k = tf.gather_nd(topk_prob_for_bg, tf.stack([tf.range(tf.shape(features)[0]), batch_n_neg_select - 1], axis=-1)) + + selected_neg_mask = prob_for_negtives >= tf.expand_dims(score_at_k, axis=-1) + + # include both selected negtive and all positive examples + final_mask = tf.stop_gradient(tf.logical_or(tf.reshape(tf.logical_and(batch_negtive_mask, selected_neg_mask), [-1]), positive_mask)) + total_examples = tf.count_nonzero(final_mask) + + cls_pred = tf.boolean_mask(cls_pred, final_mask) + location_pred = tf.boolean_mask(location_pred, tf.stop_gradient(positive_mask)) + flaten_cls_targets = tf.boolean_mask(tf.clip_by_value(flaten_cls_targets, 0, params['num_classes']), final_mask) + flaten_loc_targets = tf.stop_gradient(tf.boolean_mask(flaten_loc_targets, positive_mask)) + + predictions = { + 'classes': tf.argmax(cls_pred, axis=-1), + 'probabilities': tf.reduce_max(tf.nn.softmax(cls_pred, name='softmax_tensor'), axis=-1), + 'loc_predict': bboxes_pred } + + cls_accuracy = tf.metrics.accuracy(flaten_cls_targets, predictions['classes']) + metrics = {'cls_accuracy': cls_accuracy} + + # Create a tensor named train_accuracy for logging purposes. + tf.identity(cls_accuracy[1], name='cls_accuracy') + tf.summary.scalar('cls_accuracy', cls_accuracy[1]) + + if mode == tf.estimator.ModeKeys.PREDICT: + return tf.estimator.EstimatorSpec(mode=mode, predictions=predictions) + + # Calculate loss, which includes softmax cross entropy and L2 regularization. + #cross_entropy = tf.cond(n_positives > 0, lambda: tf.losses.sparse_softmax_cross_entropy(labels=flaten_cls_targets, logits=cls_pred), lambda: 0.)# * (params['negative_ratio'] + 1.) + #flaten_cls_targets=tf.Print(flaten_cls_targets, [flaten_loc_targets],summarize=50000) + cross_entropy = tf.losses.sparse_softmax_cross_entropy(labels=flaten_cls_targets, logits=cls_pred) * (params['negative_ratio'] + 1.) + # Create a tensor named cross_entropy for logging purposes. + tf.identity(cross_entropy, name='cross_entropy_loss') + tf.summary.scalar('cross_entropy_loss', cross_entropy) + + #loc_loss = tf.cond(n_positives > 0, lambda: modified_smooth_l1(location_pred, tf.stop_gradient(flaten_loc_targets), sigma=1.), lambda: tf.zeros_like(location_pred)) + loc_loss = modified_smooth_l1(location_pred, flaten_loc_targets, sigma=1.) + #loc_loss = modified_smooth_l1(location_pred, tf.stop_gradient(gtargets)) + loc_loss = tf.reduce_mean(tf.reduce_sum(loc_loss, axis=-1), name='location_loss') + tf.summary.scalar('location_loss', loc_loss) + tf.losses.add_loss(loc_loss) + + l2_loss_vars = [] + for trainable_var in tf.trainable_variables(): + if '_bn' not in trainable_var.name: + if 'conv4_3_scale' not in trainable_var.name: + l2_loss_vars.append(tf.nn.l2_loss(trainable_var)) + else: + l2_loss_vars.append(tf.nn.l2_loss(trainable_var) * 0.1) + # Add weight decay to the loss. We exclude the batch norm variables because + # doing so leads to a small improvement in accuracy. + total_loss = tf.add(cross_entropy + loc_loss, tf.multiply(params['weight_decay'], tf.add_n(l2_loss_vars), name='l2_loss'), name='total_loss') + + if mode == tf.estimator.ModeKeys.TRAIN: + global_step = tf.train.get_or_create_global_step() + + lr_values = [params['learning_rate'] * decay for decay in params['lr_decay_factors']] + learning_rate = tf.train.piecewise_constant(tf.cast(global_step, tf.int32), + [int(_) for _ in params['decay_boundaries']], + lr_values) + truncated_learning_rate = tf.maximum(learning_rate, tf.constant(params['end_learning_rate'], dtype=learning_rate.dtype), name='learning_rate') + # Create a tensor named learning_rate for logging purposes. + tf.summary.scalar('learning_rate', truncated_learning_rate) + + optimizer = tf.train.MomentumOptimizer(learning_rate=truncated_learning_rate, + momentum=params['momentum']) + if params['use_amp']: + optimizer = tf.train.experimental.enable_mixed_precision_graph_rewrite(optimizer) + # optimizer = tf.contrib.estimator.TowerOptimizer(optimizer) + + # Batch norm requires update_ops to be added as a train_op dependency. + update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS) + with tf.control_dependencies(update_ops): + train_op = optimizer.minimize(total_loss, global_step) + else: + train_op = None + + return tf.estimator.EstimatorSpec( + mode=mode, + predictions=predictions, + loss=total_loss, + train_op=train_op, + eval_metric_ops=metrics, + scaffold=tf.train.Scaffold(init_fn=get_init_fn())) + +def parse_comma_list(args): + return [float(s.strip()) for s in args.split(',')] + +def main(_): + # Using the Winograd non-fused algorithms provides a small performance boost. + os.environ['TF_ENABLE_WINOGRAD_NONFUSED'] = '1' + + try: + from dltest import show_training_arguments + show_training_arguments(FLAGS) + except: + pass + + gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=FLAGS.gpu_memory_fraction) + config = tf.ConfigProto(allow_soft_placement=True, log_device_placement=False, intra_op_parallelism_threads=FLAGS.num_cpu_threads, inter_op_parallelism_threads=FLAGS.num_cpu_threads, gpu_options=gpu_options) + + num_gpus = validate_batch_size_for_multi_gpu(FLAGS.batch_size) + + # Set up a RunConfig to only save checkpoints once per training cycle. + run_config = tf.estimator.RunConfig().replace( + save_checkpoints_secs=FLAGS.save_checkpoints_secs).replace( + save_checkpoints_steps=None).replace( + save_summary_steps=FLAGS.save_summary_steps).replace( + keep_checkpoint_max=5).replace( + tf_random_seed=FLAGS.tf_random_seed).replace( + log_step_count_steps=FLAGS.log_every_n_steps).replace( + session_config=config) + + # replicate_ssd_model_fn = tf.contrib.estimator.replicate_model_fn(ssd_model_fn, loss_reduction=tf.losses.Reduction.MEAN) + replicate_ssd_model_fn =ssd_model_fn + ssd_detector = tf.estimator.Estimator( + model_fn=replicate_ssd_model_fn, model_dir=FLAGS.model_dir, config=run_config, + params={ + 'num_gpus': num_gpus, + 'data_format': FLAGS.data_format, + 'batch_size': FLAGS.batch_size, + 'model_scope': FLAGS.model_scope, + 'num_classes': FLAGS.num_classes, + 'negative_ratio': FLAGS.negative_ratio, + 'match_threshold': FLAGS.match_threshold, + 'neg_threshold': FLAGS.neg_threshold, + 'weight_decay': FLAGS.weight_decay, + 'momentum': FLAGS.momentum, + 'learning_rate': FLAGS.learning_rate, + 'end_learning_rate': FLAGS.end_learning_rate, + 'decay_boundaries': parse_comma_list(FLAGS.decay_boundaries), + 'lr_decay_factors': parse_comma_list(FLAGS.lr_decay_factors), + 'use_amp':FLAGS.use_amp, + }) + tensors_to_log = { + 'lr': 'learning_rate', + 'ce': 'cross_entropy_loss', + 'loc': 'location_loss', + 'loss': 'total_loss', + 'l2': 'l2_loss', + 'acc': 'post_forward/cls_accuracy', + } + logging_hook = tf.train.LoggingTensorHook(tensors=tensors_to_log, every_n_iter=FLAGS.log_every_n_steps, + formatter=lambda dicts: (', '.join(['%s=%.6f' % (k, v) for k, v in dicts.items()]))) + + #hook = tf.train.ProfilerHook(save_steps=50, output_dir='.', show_memory=True) + print('Starting a training cycle.') + ssd_detector.train(input_fn=input_pipeline(dataset_pattern='train-*', is_training=True, batch_size=FLAGS.batch_size), + hooks=[logging_hook], max_steps=FLAGS.max_number_of_steps) + +if __name__ == '__main__': + tf.logging.set_verbosity(tf.logging.INFO) + tf.app.run() + + + # cls_targets = tf.reshape(cls_targets, [-1]) + # match_scores = tf.reshape(match_scores, [-1]) + # loc_targets = tf.reshape(loc_targets, [-1, 4]) + + # # each positive examples has one label + # positive_mask = cls_targets > 0 + # n_positives = tf.count_nonzero(positive_mask) + + # negtive_mask = tf.logical_and(tf.equal(cls_targets, 0), match_scores > 0.) + # n_negtives = tf.count_nonzero(negtive_mask) + + # n_neg_to_select = tf.cast(params['negative_ratio'] * tf.cast(n_positives, tf.float32), tf.int32) + # n_neg_to_select = tf.minimum(n_neg_to_select, tf.cast(n_negtives, tf.int32)) + + # # hard negative mining for classification + # predictions_for_bg = tf.nn.softmax(cls_pred)[:, 0] + + # prob_for_negtives = tf.where(negtive_mask, + # 0. - predictions_for_bg, + # # ignore all the positives + # 0. - tf.ones_like(predictions_for_bg)) + # topk_prob_for_bg, _ = tf.nn.top_k(prob_for_negtives, k=n_neg_to_select) + # selected_neg_mask = prob_for_negtives > topk_prob_for_bg[-1] + + # # include both selected negtive and all positive examples + # final_mask = tf.stop_gradient(tf.logical_or(tf.logical_and(negtive_mask, selected_neg_mask), positive_mask)) + # total_examples = tf.count_nonzero(final_mask) + + # glabels = tf.boolean_mask(tf.clip_by_value(cls_targets, 0, FLAGS.num_classes), final_mask) + # cls_pred = tf.boolean_mask(cls_pred, final_mask) + # location_pred = tf.boolean_mask(location_pred, tf.stop_gradient(positive_mask)) + # loc_targets = tf.boolean_mask(loc_targets, tf.stop_gradient(positive_mask)) diff --git a/cv/detection/ssd/tensorflow/utility/anchor_manipulator.py b/cv/detection/ssd/tensorflow/utility/anchor_manipulator.py new file mode 100644 index 0000000000000000000000000000000000000000..de29ff4cf3e5895ae7aa886bd2e9b097ece2bac7 --- /dev/null +++ b/cv/detection/ssd/tensorflow/utility/anchor_manipulator.py @@ -0,0 +1,348 @@ +# Copyright 2018 Changan Wang + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================= +import math + +import tensorflow.compat.v1 as tf +tf.disable_eager_execution() +import numpy as np + + +# Fix bug by adjust the position of arguments on TensorFlow 1.15 +def tf_name_scope_wrapper(tf_name_scope): + def _real(*args, **kwargs): + total_args = len(args) + len(kwargs) + if total_args == len(args) == 2: + if isinstance(args[1], str): + return tf_name_scope(*args, **kwargs) + else: + return tf_name_scope(args[0], args[0], args[1]) + return tf_name_scope(*args, **kwargs) + return _real + +tf.name_scope = tf_name_scope_wrapper(tf.name_scope) + + +def areas(gt_bboxes): + with tf.name_scope('bboxes_areas', [gt_bboxes]): + ymin, xmin, ymax, xmax = tf.split(gt_bboxes, 4, axis=1) + return (xmax - xmin) * (ymax - ymin) + +def intersection(gt_bboxes, default_bboxes): + with tf.name_scope('bboxes_intersection', [gt_bboxes, default_bboxes]): + # num_anchors x 1 + ymin, xmin, ymax, xmax = tf.split(gt_bboxes, 4, axis=1) + # 1 x num_anchors + gt_ymin, gt_xmin, gt_ymax, gt_xmax = [tf.transpose(b, perm=[1, 0]) for b in tf.split(default_bboxes, 4, axis=1)] + # broadcast here to generate the full matrix + int_ymin = tf.maximum(ymin, gt_ymin) + int_xmin = tf.maximum(xmin, gt_xmin) + int_ymax = tf.minimum(ymax, gt_ymax) + int_xmax = tf.minimum(xmax, gt_xmax) + h = tf.maximum(int_ymax - int_ymin, 0.) + w = tf.maximum(int_xmax - int_xmin, 0.) + + return h * w +def iou_matrix(gt_bboxes, default_bboxes): + with tf.name_scope('iou_matrix', [gt_bboxes, default_bboxes]): + inter_vol = intersection(gt_bboxes, default_bboxes) + # broadcast + union_vol = areas(gt_bboxes) + tf.transpose(areas(default_bboxes), perm=[1, 0]) - inter_vol + + return tf.where(tf.equal(union_vol, 0.0), + tf.zeros_like(inter_vol), tf.truediv(inter_vol, union_vol)) + +def do_dual_max_match(overlap_matrix, low_thres, high_thres, ignore_between=True, gt_max_first=True): + ''' + overlap_matrix: num_gt * num_anchors + ''' + with tf.name_scope('dual_max_match', [overlap_matrix]): + # first match from anchors' side + anchors_to_gt = tf.argmax(overlap_matrix, axis=0) + # the matching degree + match_values = tf.reduce_max(overlap_matrix, axis=0) + + #positive_mask = tf.greater(match_values, high_thres) + less_mask = tf.less(match_values, low_thres) + between_mask = tf.logical_and(tf.less(match_values, high_thres), tf.greater_equal(match_values, low_thres)) + negative_mask = less_mask if ignore_between else between_mask + ignore_mask = between_mask if ignore_between else less_mask + # fill all negative positions with -1, all ignore positions is -2 + match_indices = tf.where(negative_mask, -1 * tf.ones_like(anchors_to_gt), anchors_to_gt) + match_indices = tf.where(ignore_mask, -2 * tf.ones_like(match_indices), match_indices) + + # negtive values has no effect in tf.one_hot, that means all zeros along that axis + # so all positive match positions in anchors_to_gt_mask is 1, all others are 0 + anchors_to_gt_mask = tf.one_hot(tf.clip_by_value(match_indices, -1, tf.cast(tf.shape(overlap_matrix)[0], tf.int64)), + tf.shape(overlap_matrix)[0], on_value=1, off_value=0, axis=0, dtype=tf.int32) + # match from ground truth's side + gt_to_anchors = tf.argmax(overlap_matrix, axis=1) + + if gt_max_first: + # the max match from ground truth's side has higher priority + left_gt_to_anchors_mask = tf.one_hot(gt_to_anchors, tf.shape(overlap_matrix)[1], on_value=1, off_value=0, axis=1, dtype=tf.int32) + else: + # the max match from anchors' side has higher priority + # use match result from ground truth's side only when the the matching degree from anchors' side is lower than position threshold + left_gt_to_anchors_mask = tf.cast(tf.logical_and(tf.reduce_max(anchors_to_gt_mask, axis=1, keep_dims=True) < 1, + tf.one_hot(gt_to_anchors, tf.shape(overlap_matrix)[1], + on_value=True, off_value=False, axis=1, dtype=tf.bool) + ), tf.int64) + # can not use left_gt_to_anchors_mask here, because there are many ground truthes match to one anchor, we should pick the highest one even when we are merging matching from ground truth side + left_gt_to_anchors_scores = overlap_matrix * tf.to_float(left_gt_to_anchors_mask) + # merge matching results from ground truth's side with the original matching results from anchors' side + # then select all the overlap score of those matching pairs + selected_scores = tf.gather_nd(overlap_matrix, tf.stack([tf.where(tf.reduce_max(left_gt_to_anchors_mask, axis=0) > 0, + tf.argmax(left_gt_to_anchors_scores, axis=0), + anchors_to_gt), + tf.range(tf.cast(tf.shape(overlap_matrix)[1], tf.int64))], axis=1)) + # return the matching results for both foreground anchors and background anchors, also with overlap scores + return tf.where(tf.reduce_max(left_gt_to_anchors_mask, axis=0) > 0, + tf.argmax(left_gt_to_anchors_scores, axis=0), + match_indices), selected_scores + +# def save_anchors(bboxes, labels, anchors_point): +# if not hasattr(save_image_with_bbox, "counter"): +# save_image_with_bbox.counter = 0 # it doesn't exist yet, so initialize it +# save_image_with_bbox.counter += 1 + +# np.save('./debug/bboxes_{}.npy'.format(save_image_with_bbox.counter), np.copy(bboxes)) +# np.save('./debug/labels_{}.npy'.format(save_image_with_bbox.counter), np.copy(labels)) +# np.save('./debug/anchors_{}.npy'.format(save_image_with_bbox.counter), np.copy(anchors_point)) +# return save_image_with_bbox.counter + +class AnchorEncoder(object): + def __init__(self, allowed_borders, positive_threshold, ignore_threshold, prior_scaling, clip=False): + super(AnchorEncoder, self).__init__() + self._all_anchors = None + self._allowed_borders = allowed_borders + self._positive_threshold = positive_threshold + self._ignore_threshold = ignore_threshold + self._prior_scaling = prior_scaling + self._clip = clip + + def center2point(self, center_y, center_x, height, width): + return center_y - height / 2., center_x - width / 2., center_y + height / 2., center_x + width / 2., + + def point2center(self, ymin, xmin, ymax, xmax): + height, width = (ymax - ymin), (xmax - xmin) + return ymin + height / 2., xmin + width / 2., height, width + + def encode_all_anchors(self, labels, bboxes, all_anchors, all_num_anchors_depth, all_num_anchors_spatial, debug=False): + # y, x, h, w are all in range [0, 1] relative to the original image size + # shape info: + # y_on_image, x_on_image: layers_shapes[0] * layers_shapes[1] + # h_on_image, w_on_image: num_anchors + assert (len(all_num_anchors_depth)==len(all_num_anchors_spatial)) and (len(all_num_anchors_depth)==len(all_anchors)), 'inconsist num layers for anchors.' + with tf.name_scope('encode_all_anchors'): + num_layers = len(all_num_anchors_depth) + list_anchors_ymin = [] + list_anchors_xmin = [] + list_anchors_ymax = [] + list_anchors_xmax = [] + tiled_allowed_borders = [] + for ind, anchor in enumerate(all_anchors): + anchors_ymin_, anchors_xmin_, anchors_ymax_, anchors_xmax_ = self.center2point(anchor[0], anchor[1], anchor[2], anchor[3]) + + list_anchors_ymin.append(tf.reshape(anchors_ymin_, [-1])) + list_anchors_xmin.append(tf.reshape(anchors_xmin_, [-1])) + list_anchors_ymax.append(tf.reshape(anchors_ymax_, [-1])) + list_anchors_xmax.append(tf.reshape(anchors_xmax_, [-1])) + + tiled_allowed_borders.extend([self._allowed_borders[ind]] * all_num_anchors_depth[ind] * all_num_anchors_spatial[ind]) + + anchors_ymin = tf.concat(list_anchors_ymin, 0, name='concat_ymin') + anchors_xmin = tf.concat(list_anchors_xmin, 0, name='concat_xmin') + anchors_ymax = tf.concat(list_anchors_ymax, 0, name='concat_ymax') + anchors_xmax = tf.concat(list_anchors_xmax, 0, name='concat_xmax') + + if self._clip: + anchors_ymin = tf.clip_by_value(anchors_ymin, 0., 1.) + anchors_xmin = tf.clip_by_value(anchors_xmin, 0., 1.) + anchors_ymax = tf.clip_by_value(anchors_ymax, 0., 1.) + anchors_xmax = tf.clip_by_value(anchors_xmax, 0., 1.) + + anchor_allowed_borders = tf.stack(tiled_allowed_borders, 0, name='concat_allowed_borders') + + inside_mask = tf.logical_and(tf.logical_and(anchors_ymin > -anchor_allowed_borders * 1., + anchors_xmin > -anchor_allowed_borders * 1.), + tf.logical_and(anchors_ymax < (1. + anchor_allowed_borders * 1.), + anchors_xmax < (1. + anchor_allowed_borders * 1.))) + + anchors_point = tf.stack([anchors_ymin, anchors_xmin, anchors_ymax, anchors_xmax], axis=-1) + + # save_anchors_op = tf.py_func(save_anchors, + # [bboxes, + # labels, + # anchors_point], + # tf.int64, stateful=True) + + # with tf.control_dependencies([save_anchors_op]): + overlap_matrix = iou_matrix(bboxes, anchors_point) * tf.cast(tf.expand_dims(inside_mask, 0), tf.float32) + matched_gt, gt_scores = do_dual_max_match(overlap_matrix, self._ignore_threshold, self._positive_threshold) + # get all positive matching positions + matched_gt_mask = matched_gt > -1 + matched_indices = tf.clip_by_value(matched_gt, 0, tf.int64.max) + # the labels here maybe chaos at those non-positive positions + gt_labels = tf.gather(labels, matched_indices) + # filter the invalid labels + gt_labels = gt_labels * tf.cast(matched_gt_mask, tf.int64) + # set those ignored positions to -1 + gt_labels = gt_labels + (-1 * tf.cast(matched_gt < -1, tf.int64)) + + gt_ymin, gt_xmin, gt_ymax, gt_xmax = tf.unstack(tf.gather(bboxes, matched_indices), 4, axis=-1) + + # transform to center / size. + gt_cy, gt_cx, gt_h, gt_w = self.point2center(gt_ymin, gt_xmin, gt_ymax, gt_xmax) + anchor_cy, anchor_cx, anchor_h, anchor_w = self.point2center(anchors_ymin, anchors_xmin, anchors_ymax, anchors_xmax) + # encode features. + # the prior_scaling (in fact is 5 and 10) is use for balance the regression loss of center and with(or height) + gt_cy = (gt_cy - anchor_cy) / anchor_h / self._prior_scaling[0] + gt_cx = (gt_cx - anchor_cx) / anchor_w / self._prior_scaling[1] + gt_h = tf.log(gt_h / anchor_h) / self._prior_scaling[2] + gt_w = tf.log(gt_w / anchor_w) / self._prior_scaling[3] + # now gt_localizations is our regression object, but also maybe chaos at those non-positive positions + if debug: + gt_targets = tf.stack([anchors_ymin, anchors_xmin, anchors_ymax, anchors_xmax], axis=-1) + else: + gt_targets = tf.stack([gt_cy, gt_cx, gt_h, gt_w], axis=-1) + # set all targets of non-positive positions to 0 + gt_targets = tf.expand_dims(tf.cast(matched_gt_mask, tf.float32), -1) * gt_targets + self._all_anchors = (anchor_cy, anchor_cx, anchor_h, anchor_w) + return gt_targets, gt_labels, gt_scores + + # return a list, of which each is: + # shape: [feature_h, feature_w, num_anchors, 4] + # order: ymin, xmin, ymax, xmax + def decode_all_anchors(self, pred_location, num_anchors_per_layer): + assert self._all_anchors is not None, 'no anchors to decode.' + with tf.name_scope('decode_all_anchors', [pred_location]): + anchor_cy, anchor_cx, anchor_h, anchor_w = self._all_anchors + + pred_h = tf.exp(pred_location[:, -2] * self._prior_scaling[2]) * anchor_h + pred_w = tf.exp(pred_location[:, -1] * self._prior_scaling[3]) * anchor_w + pred_cy = pred_location[:, 0] * self._prior_scaling[0] * anchor_h + anchor_cy + pred_cx = pred_location[:, 1] * self._prior_scaling[1] * anchor_w + anchor_cx + + return tf.split(tf.stack(self.center2point(pred_cy, pred_cx, pred_h, pred_w), axis=-1), num_anchors_per_layer, axis=0) + + def ext_decode_all_anchors(self, pred_location, all_anchors, all_num_anchors_depth, all_num_anchors_spatial): + assert (len(all_num_anchors_depth)==len(all_num_anchors_spatial)) and (len(all_num_anchors_depth)==len(all_anchors)), 'inconsist num layers for anchors.' + with tf.name_scope('ext_decode_all_anchors', [pred_location]): + num_anchors_per_layer = [] + for ind in range(len(all_anchors)): + num_anchors_per_layer.append(all_num_anchors_depth[ind] * all_num_anchors_spatial[ind]) + + num_layers = len(all_num_anchors_depth) + list_anchors_ymin = [] + list_anchors_xmin = [] + list_anchors_ymax = [] + list_anchors_xmax = [] + tiled_allowed_borders = [] + for ind, anchor in enumerate(all_anchors): + anchors_ymin_, anchors_xmin_, anchors_ymax_, anchors_xmax_ = self.center2point(anchor[0], anchor[1], anchor[2], anchor[3]) + + list_anchors_ymin.append(tf.reshape(anchors_ymin_, [-1])) + list_anchors_xmin.append(tf.reshape(anchors_xmin_, [-1])) + list_anchors_ymax.append(tf.reshape(anchors_ymax_, [-1])) + list_anchors_xmax.append(tf.reshape(anchors_xmax_, [-1])) + + anchors_ymin = tf.concat(list_anchors_ymin, 0, name='concat_ymin') + anchors_xmin = tf.concat(list_anchors_xmin, 0, name='concat_xmin') + anchors_ymax = tf.concat(list_anchors_ymax, 0, name='concat_ymax') + anchors_xmax = tf.concat(list_anchors_xmax, 0, name='concat_xmax') + + anchor_cy, anchor_cx, anchor_h, anchor_w = self.point2center(anchors_ymin, anchors_xmin, anchors_ymax, anchors_xmax) + + pred_h = tf.exp(pred_location[:,-2] * self._prior_scaling[2]) * anchor_h + pred_w = tf.exp(pred_location[:, -1] * self._prior_scaling[3]) * anchor_w + pred_cy = pred_location[:, 0] * self._prior_scaling[0] * anchor_h + anchor_cy + pred_cx = pred_location[:, 1] * self._prior_scaling[1] * anchor_w + anchor_cx + + return tf.split(tf.stack(self.center2point(pred_cy, pred_cx, pred_h, pred_w), axis=-1), num_anchors_per_layer, axis=0) + +class AnchorCreator(object): + def __init__(self, img_shape, layers_shapes, anchor_scales, extra_anchor_scales, anchor_ratios, layer_steps): + super(AnchorCreator, self).__init__() + # img_shape -> (height, width) + self._img_shape = img_shape + self._layers_shapes = layers_shapes + self._anchor_scales = anchor_scales + self._extra_anchor_scales = extra_anchor_scales + self._anchor_ratios = anchor_ratios + self._layer_steps = layer_steps + self._anchor_offset = [0.5] * len(self._layers_shapes) + + def get_layer_anchors(self, layer_shape, anchor_scale, extra_anchor_scale, anchor_ratio, layer_step, offset = 0.5): + ''' assume layer_shape[0] = 6, layer_shape[1] = 5 + x_on_layer = [[0, 1, 2, 3, 4], + [0, 1, 2, 3, 4], + [0, 1, 2, 3, 4], + [0, 1, 2, 3, 4], + [0, 1, 2, 3, 4], + [0, 1, 2, 3, 4]] + y_on_layer = [[0, 0, 0, 0, 0], + [1, 1, 1, 1, 1], + [2, 2, 2, 2, 2], + [3, 3, 3, 3, 3], + [4, 4, 4, 4, 4], + [5, 5, 5, 5, 5]] + ''' + with tf.name_scope('get_layer_anchors'): + x_on_layer, y_on_layer = tf.meshgrid(tf.range(layer_shape[1]), tf.range(layer_shape[0])) + + y_on_image = (tf.cast(y_on_layer, tf.float32) + offset) * layer_step / self._img_shape[0] + x_on_image = (tf.cast(x_on_layer, tf.float32) + offset) * layer_step / self._img_shape[1] + + num_anchors_along_depth = len(anchor_scale) * len(anchor_ratio) + len(extra_anchor_scale) + num_anchors_along_spatial = layer_shape[1] * layer_shape[0] + + list_h_on_image = [] + list_w_on_image = [] + + global_index = 0 + # for square anchors + for _, scale in enumerate(extra_anchor_scale): + list_h_on_image.append(scale) + list_w_on_image.append(scale) + global_index += 1 + # for other aspect ratio anchors + for scale_index, scale in enumerate(anchor_scale): + for ratio_index, ratio in enumerate(anchor_ratio): + list_h_on_image.append(scale / math.sqrt(ratio)) + list_w_on_image.append(scale * math.sqrt(ratio)) + global_index += 1 + # shape info: + # y_on_image, x_on_image: layers_shapes[0] * layers_shapes[1] + # h_on_image, w_on_image: num_anchors_along_depth + return tf.expand_dims(y_on_image, axis=-1), tf.expand_dims(x_on_image, axis=-1), \ + tf.constant(list_h_on_image, dtype=tf.float32), \ + tf.constant(list_w_on_image, dtype=tf.float32), num_anchors_along_depth, num_anchors_along_spatial + + def get_all_anchors(self): + all_anchors = [] + all_num_anchors_depth = [] + all_num_anchors_spatial = [] + for layer_index, layer_shape in enumerate(self._layers_shapes): + anchors_this_layer = self.get_layer_anchors(layer_shape, + self._anchor_scales[layer_index], + self._extra_anchor_scales[layer_index], + self._anchor_ratios[layer_index], + self._layer_steps[layer_index], + self._anchor_offset[layer_index]) + all_anchors.append(anchors_this_layer[:-2]) + all_num_anchors_depth.append(anchors_this_layer[-2]) + all_num_anchors_spatial.append(anchors_this_layer[-1]) + return all_anchors, all_num_anchors_depth, all_num_anchors_spatial + diff --git a/cv/detection/ssd/tensorflow/utility/anchor_manipulator_unittest.py b/cv/detection/ssd/tensorflow/utility/anchor_manipulator_unittest.py new file mode 100644 index 0000000000000000000000000000000000000000..bbacc6416c2c0003bada31f8bce400a3ada83396 --- /dev/null +++ b/cv/detection/ssd/tensorflow/utility/anchor_manipulator_unittest.py @@ -0,0 +1,156 @@ +# Copyright 2018 Changan Wang + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================= +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os + +import tensorflow as tf +from scipy.misc import imread, imsave, imshow, imresize +import numpy as np +import sys; sys.path.insert(0, ".") +from utility import draw_toolbox +from utility import anchor_manipulator +from preprocessing import ssd_preprocessing + +slim = tf.contrib.slim + +def save_image_with_bbox(image, labels_, scores_, bboxes_): + if not hasattr(save_image_with_bbox, "counter"): + save_image_with_bbox.counter = 0 # it doesn't exist yet, so initialize it + save_image_with_bbox.counter += 1 + + img_to_draw = np.copy(image) + + img_to_draw = draw_toolbox.bboxes_draw_on_img(img_to_draw, labels_, scores_, bboxes_, thickness=2) + imsave(os.path.join('./debug/{}.jpg').format(save_image_with_bbox.counter), img_to_draw) + return save_image_with_bbox.counter + +def slim_get_split(file_pattern='{}_????'): + # Features in Pascal VOC TFRecords. + keys_to_features = { + 'image/encoded': tf.FixedLenFeature((), tf.string, default_value=''), + 'image/format': tf.FixedLenFeature((), tf.string, default_value='jpeg'), + 'image/height': tf.FixedLenFeature([1], tf.int64), + 'image/width': tf.FixedLenFeature([1], tf.int64), + 'image/channels': tf.FixedLenFeature([1], tf.int64), + 'image/shape': tf.FixedLenFeature([3], tf.int64), + 'image/object/bbox/xmin': tf.VarLenFeature(dtype=tf.float32), + 'image/object/bbox/ymin': tf.VarLenFeature(dtype=tf.float32), + 'image/object/bbox/xmax': tf.VarLenFeature(dtype=tf.float32), + 'image/object/bbox/ymax': tf.VarLenFeature(dtype=tf.float32), + 'image/object/bbox/label': tf.VarLenFeature(dtype=tf.int64), + 'image/object/bbox/difficult': tf.VarLenFeature(dtype=tf.int64), + 'image/object/bbox/truncated': tf.VarLenFeature(dtype=tf.int64), + } + items_to_handlers = { + 'image': slim.tfexample_decoder.Image('image/encoded', 'image/format'), + 'shape': slim.tfexample_decoder.Tensor('image/shape'), + 'object/bbox': slim.tfexample_decoder.BoundingBox( + ['ymin', 'xmin', 'ymax', 'xmax'], 'image/object/bbox/'), + 'object/label': slim.tfexample_decoder.Tensor('image/object/bbox/label'), + 'object/difficult': slim.tfexample_decoder.Tensor('image/object/bbox/difficult'), + 'object/truncated': slim.tfexample_decoder.Tensor('image/object/bbox/truncated'), + } + decoder = slim.tfexample_decoder.TFExampleDecoder(keys_to_features, items_to_handlers) + + dataset = slim.dataset.Dataset( + data_sources=file_pattern, + reader=tf.TFRecordReader, + decoder=decoder, + num_samples=100, + items_to_descriptions=None, + num_classes=21, + labels_to_names=None) + + with tf.name_scope('dataset_data_provider'): + provider = slim.dataset_data_provider.DatasetDataProvider( + dataset, + num_readers=2, + common_queue_capacity=32, + common_queue_min=8, + shuffle=True, + num_epochs=1) + + [org_image, shape, glabels_raw, gbboxes_raw, isdifficult] = provider.get(['image', 'shape', + 'object/label', + 'object/bbox', + 'object/difficult']) + image, glabels, gbboxes = ssd_preprocessing.preprocess_image(org_image, glabels_raw, gbboxes_raw, [300, 300], is_training=True, data_format='channels_last', output_rgb=True) + + anchor_creator = anchor_manipulator.AnchorCreator([300] * 2, + layers_shapes = [(38, 38), (19, 19), (10, 10), (5, 5), (3, 3), (1, 1)], + anchor_scales = [(0.1,), (0.2,), (0.375,), (0.55,), (0.725,), (0.9,)], + extra_anchor_scales = [(0.1414,), (0.2739,), (0.4541,), (0.6315,), (0.8078,), (0.9836,)], + anchor_ratios = [(2., .5), (2., 3., .5, 0.3333), (2., 3., .5, 0.3333), (2., 3., .5, 0.3333), (2., .5), (2., .5)], + layer_steps = [8, 16, 32, 64, 100, 300]) + + all_anchors, all_num_anchors_depth, all_num_anchors_spatial = anchor_creator.get_all_anchors() + + num_anchors_per_layer = [] + for ind in range(len(all_anchors)): + num_anchors_per_layer.append(all_num_anchors_depth[ind] * all_num_anchors_spatial[ind]) + + anchor_encoder_decoder = anchor_manipulator.AnchorEncoder(allowed_borders=[1.0] * 6, + positive_threshold = 0.5, + ignore_threshold = 0.5, + prior_scaling=[0.1, 0.1, 0.2, 0.2]) + + gt_targets, gt_labels, gt_scores = anchor_encoder_decoder.encode_all_anchors(glabels, gbboxes, all_anchors, all_num_anchors_depth, all_num_anchors_spatial, True) + + anchors = anchor_encoder_decoder._all_anchors + # split by layers + gt_targets, gt_labels, gt_scores, anchors = tf.split(gt_targets, num_anchors_per_layer, axis=0),\ + tf.split(gt_labels, num_anchors_per_layer, axis=0),\ + tf.split(gt_scores, num_anchors_per_layer, axis=0),\ + [tf.split(anchor, num_anchors_per_layer, axis=0) for anchor in anchors] + + save_image_op = tf.py_func(save_image_with_bbox, + [ssd_preprocessing.unwhiten_image(image), + tf.clip_by_value(tf.concat(gt_labels, axis=0), 0, tf.int64.max), + tf.concat(gt_scores, axis=0), + tf.concat(gt_targets, axis=0)], + tf.int64, stateful=True) + return save_image_op + +if __name__ == '__main__': + save_image_op = slim_get_split('/media/rs/7A0EE8880EE83EAF/Detections/SSD/dataset/tfrecords/train*') + # Create the graph, etc. + init_op = tf.group([tf.local_variables_initializer(), tf.local_variables_initializer(), tf.tables_initializer()]) + + # Create a session for running operations in the Graph. + sess = tf.Session() + # Initialize the variables (like the epoch counter). + sess.run(init_op) + + # Start input enqueue threads. + coord = tf.train.Coordinator() + threads = tf.train.start_queue_runners(sess=sess, coord=coord) + + try: + while not coord.should_stop(): + # Run training steps or whatever + print(sess.run(save_image_op)) + + except tf.errors.OutOfRangeError: + print('Done training -- epoch limit reached') + finally: + # When done, ask the threads to stop. + coord.request_stop() + + # Wait for threads to finish. + coord.join(threads) + sess.close() diff --git a/cv/detection/ssd/tensorflow/utility/checkpint_inspect.py b/cv/detection/ssd/tensorflow/utility/checkpint_inspect.py new file mode 100644 index 0000000000000000000000000000000000000000..2979e88cedc2564f326506f4412c8949e9dfb0a1 --- /dev/null +++ b/cv/detection/ssd/tensorflow/utility/checkpint_inspect.py @@ -0,0 +1,55 @@ +# Copyright 2018 Changan Wang + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================= +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import numpy as np + +from tensorflow.python import pywrap_tensorflow + +def print_tensors_in_checkpoint_file(file_name, tensor_name, all_tensors): + try: + reader = pywrap_tensorflow.NewCheckpointReader(file_name) + if all_tensors: + var_to_shape_map = reader.get_variable_to_shape_map() + for key in var_to_shape_map: + print("tensor_name: ", key) + print(reader.get_tensor(key)) + elif not tensor_name: + print(reader.debug_string().decode("utf-8")) + else: + print("tensor_name: ", tensor_name) + print(reader.get_tensor(tensor_name)) + except Exception as e: # pylint: disable=broad-except + print(str(e)) + if "corrupted compressed block contents" in str(e): + print("It's likely that your checkpoint file has been compressed " + "with SNAPPY.") + +def print_all_tensors_name(file_name): + try: + reader = pywrap_tensorflow.NewCheckpointReader(file_name) + var_to_shape_map = reader.get_variable_to_shape_map() + for key in var_to_shape_map: + print(key) + except Exception as e: # pylint: disable=broad-except + print(str(e)) + if "corrupted compressed block contents" in str(e): + print("It's likely that your checkpoint file has been compressed " + "with SNAPPY.") + +if __name__ == "__main__": + print_all_tensors_name('./model/vgg16_reducedfc.ckpt') diff --git a/cv/detection/ssd/tensorflow/utility/draw_toolbox.py b/cv/detection/ssd/tensorflow/utility/draw_toolbox.py new file mode 100644 index 0000000000000000000000000000000000000000..a72ae50ecdf48cb10af98c0795f0cb865f66daf0 --- /dev/null +++ b/cv/detection/ssd/tensorflow/utility/draw_toolbox.py @@ -0,0 +1,73 @@ +# Copyright 2018 Changan Wang + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================= +import cv2 +import matplotlib.cm as mpcm + +from dataset import dataset_common + +def gain_translate_table(): + label2name_table = {} + for class_name, labels_pair in dataset_common.VOC_LABELS.items(): + label2name_table[labels_pair[0]] = class_name + return label2name_table + +label2name_table = gain_translate_table() + +def colors_subselect(colors, num_classes=21): + dt = len(colors) // num_classes + sub_colors = [] + for i in range(num_classes): + color = colors[i*dt] + if isinstance(color[0], float): + sub_colors.append([int(c * 255) for c in color]) + else: + sub_colors.append([c for c in color]) + return sub_colors + +colors = colors_subselect(mpcm.plasma.colors, num_classes=21) +colors_tableau = [(255, 255, 255), (31, 119, 180), (174, 199, 232), (255, 127, 14), (255, 187, 120), + (44, 160, 44), (152, 223, 138), (214, 39, 40), (255, 152, 150), + (148, 103, 189), (197, 176, 213), (140, 86, 75), (196, 156, 148), + (227, 119, 194), (247, 182, 210), (127, 127, 127), (199, 199, 199), + (188, 189, 34), (219, 219, 141), (23, 190, 207), (158, 218, 229)] + +def bboxes_draw_on_img(img, classes, scores, bboxes, thickness=2): + shape = img.shape + scale = 0.4 + text_thickness = 1 + line_type = 8 + for i in range(bboxes.shape[0]): + if classes[i] < 1: continue + bbox = bboxes[i] + color = colors_tableau[classes[i]] + # Draw bounding boxes + p1 = (int(bbox[0] * shape[0]), int(bbox[1] * shape[1])) + p2 = (int(bbox[2] * shape[0]), int(bbox[3] * shape[1])) + if (p2[0] - p1[0] < 1) or (p2[1] - p1[1] < 1): + continue + + cv2.rectangle(img, p1[::-1], p2[::-1], color, thickness) + # Draw text + s = '%s/%.1f%%' % (label2name_table[classes[i]], scores[i]*100) + # text_size is (width, height) + text_size, baseline = cv2.getTextSize(s, cv2.FONT_HERSHEY_SIMPLEX, scale, text_thickness) + p1 = (p1[0] - text_size[1], p1[1]) + + cv2.rectangle(img, (p1[1] - thickness//2, p1[0] - thickness - baseline), (p1[1] + text_size[0], p1[0] + text_size[1]), color, -1) + + cv2.putText(img, s, (p1[1], p1[0] + baseline), cv2.FONT_HERSHEY_SIMPLEX, scale, (255,255,255), text_thickness, line_type) + + return img + diff --git a/cv/detection/ssd/tensorflow/utility/scaffolds.py b/cv/detection/ssd/tensorflow/utility/scaffolds.py new file mode 100644 index 0000000000000000000000000000000000000000..f19b7fcd9cbad93b703fef374fac7a0fa83a7fbf --- /dev/null +++ b/cv/detection/ssd/tensorflow/utility/scaffolds.py @@ -0,0 +1,86 @@ +# Copyright 2018 Changan Wang + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================= +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os +import sys + +import tensorflow.compat.v1 as tf + +def get_init_fn_for_scaffold(model_dir, checkpoint_path, model_scope, checkpoint_model_scope, checkpoint_exclude_scopes, ignore_missing_vars, name_remap=None): + if tf.train.latest_checkpoint(model_dir): + tf.logging.info('Ignoring --checkpoint_path because a checkpoint already exists in %s.' % model_dir) + return None + exclusion_scopes = [] + if checkpoint_exclude_scopes: + exclusion_scopes = [scope.strip() for scope in checkpoint_exclude_scopes.split(',')] + + variables_to_restore = [] + for var in tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES): + excluded = False + for exclusion in exclusion_scopes: + if exclusion in var.op.name:#.startswith(exclusion): + excluded = True + break + if not excluded: + variables_to_restore.append(var) + if checkpoint_model_scope is not None: + if checkpoint_model_scope.strip() == '': + variables_to_restore = {var.op.name.replace(model_scope + '/', ''): var for var in variables_to_restore} + else: + variables_to_restore = {var.op.name.replace(model_scope, checkpoint_model_scope.strip()): var for var in variables_to_restore} + if name_remap is not None: + renamed_variables_to_restore = dict() + for var_name, var in variables_to_restore.items(): + found = False + for k, v in name_remap.items(): + if k in var_name: + renamed_variables_to_restore[var_name.replace(k, v)] = var + found = True + break + if not found: + renamed_variables_to_restore[var_name] = var + variables_to_restore = renamed_variables_to_restore + + checkpoint_path = tf.train.latest_checkpoint(checkpoint_path) if tf.gfile.IsDirectory(checkpoint_path) else checkpoint_path + + tf.logging.info('Fine-tuning from %s. Ignoring missing vars: %s.' % (checkpoint_path, ignore_missing_vars)) + + if not variables_to_restore: + raise ValueError('variables_to_restore cannot be empty') + if ignore_missing_vars: + reader = tf.train.NewCheckpointReader(checkpoint_path) + if isinstance(variables_to_restore, dict): + var_dict = variables_to_restore + else: + var_dict = {var.op.name: var for var in variables_to_restore} + available_vars = {} + for var in var_dict: + if reader.has_tensor(var): + available_vars[var] = var_dict[var] + else: + tf.logging.warning('Variable %s missing in checkpoint %s.', var, checkpoint_path) + variables_to_restore = available_vars + if variables_to_restore: + saver = tf.train.Saver(variables_to_restore, reshape=False) + saver.build() + def callback(scaffold, session): + saver.restore(session, checkpoint_path) + return callback + else: + tf.logging.warning('No Variables to restore.') + return None diff --git a/cv/detection/ssd/tensorflow/voc_eval.py b/cv/detection/ssd/tensorflow/voc_eval.py new file mode 100644 index 0000000000000000000000000000000000000000..d15d848ddf623450bd053c3a1a49e731e6ca2bd5 --- /dev/null +++ b/cv/detection/ssd/tensorflow/voc_eval.py @@ -0,0 +1,268 @@ +# Copyright 2018 Changan Wang + +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================= +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import sys +import os +import numpy as np +import pickle + +if sys.version_info[0] == 2: + import xml.etree.cElementTree as ET +else: + import xml.etree.ElementTree as ET + +from dataset import dataset_common + +''' +VOC2007TEST + Annotations + ... + ImageSets +''' +dataset_path = '/media/rs/7A0EE8880EE83EAF/Detections/PASCAL/VOC/VOC2007TEST' +# change above path according to your system settings +pred_path = './logs/predict' +pred_file = 'results_{}.txt' # from 1-num_classes +output_path = './logs/predict/eval_output' +cache_path = './logs/predict/eval_cache' +anno_files = 'Annotations/{}.xml' +all_images_file = 'ImageSets/Main/test.txt' + +def parse_rec(filename): + """ Parse a PASCAL VOC xml file """ + tree = ET.parse(filename) + objects = [] + for obj in tree.findall('object'): + obj_struct = {} + obj_struct['name'] = obj.find('name').text + obj_struct['pose'] = obj.find('pose').text + obj_struct['truncated'] = int(obj.find('truncated').text) + obj_struct['difficult'] = int(obj.find('difficult').text) + bbox = obj.find('bndbox') + obj_struct['bbox'] = [int(bbox.find('xmin').text) - 1, + int(bbox.find('ymin').text) - 1, + int(bbox.find('xmax').text) - 1, + int(bbox.find('ymax').text) - 1] + objects.append(obj_struct) + + return objects + +def do_python_eval(use_07=True): + aps = [] + # The PASCAL VOC metric changed in 2010 + use_07_metric = use_07 + print('VOC07 metric? ' + ('Yes' if use_07_metric else 'No')) + if not os.path.isdir(output_path): + os.mkdir(output_path) + for cls_name, cls_pair in dataset_common.VOC_LABELS.items(): + if 'none' in cls_name: + continue + cls_id = cls_pair[0] + filename = os.path.join(pred_path, pred_file.format(cls_id)) + rec, prec, ap = voc_eval(filename, os.path.join(dataset_path, anno_files), + os.path.join(dataset_path, all_images_file), cls_name, cache_path, + ovthresh=0.5, use_07_metric=use_07_metric) + aps += [ap] + print('AP for {} = {:.4f}'.format(cls_name, ap)) + with open(os.path.join(output_path, cls_name + '_pr.pkl'), 'wb') as f: + pickle.dump({'rec': rec, 'prec': prec, 'ap': ap}, f) + print('Mean AP = {:.4f}'.format(np.mean(aps))) + print('~~~~~~~~') + print('Results:') + for ap in aps: + print('{:.3f}'.format(ap)) + print('{:.3f}'.format(np.mean(aps))) + print('~~~~~~~~') + print('') + print('--------------------------------------------------------------') + print('Results computed with the **unofficial** Python eval code.') + print('Results should be very close to the official MATLAB eval code.') + print('--------------------------------------------------------------') + + +def voc_ap(rec, prec, use_07_metric=True): + """ ap = voc_ap(rec, prec, [use_07_metric]) + Compute VOC AP given precision and recall. + If use_07_metric is true, uses the + VOC 07 11 point method (default:False). + """ + if use_07_metric: + # 11 point metric + ap = 0. + for t in np.arange(0., 1.1, 0.1): + if np.sum(rec >= t) == 0: + p = 0 + else: + p = np.max(prec[rec >= t]) + ap = ap + p / 11. + else: + # correct AP calculation + # first append sentinel values at the end + mrec = np.concatenate(([0.], rec, [1.])) + mpre = np.concatenate(([0.], prec, [0.])) + + # compute the precision envelope + for i in range(mpre.size - 1, 0, -1): + mpre[i - 1] = np.maximum(mpre[i - 1], mpre[i]) + + # to calculate area under PR curve, look for points + # where X axis (recall) changes value + i = np.where(mrec[1:] != mrec[:-1])[0] + + # and sum (\Delta recall) * prec + ap = np.sum((mrec[i + 1] - mrec[i]) * mpre[i + 1]) + return ap + + +def voc_eval(detpath, + annopath, + imagesetfile, + classname, + cachedir, + ovthresh=0.5, + use_07_metric=True): + """rec, prec, ap = voc_eval(detpath, + annopath, + imagesetfile, + classname, + [ovthresh], + [use_07_metric]) + Top level function that does the PASCAL VOC evaluation. + detpath: Path to detections + detpath.format(classname) should produce the detection results file. + annopath: Path to annotations + annopath.format(imagename) should be the xml annotations file. + imagesetfile: Text file containing the list of images, one image per line. + classname: Category name (duh) + cachedir: Directory for caching the annotations + [ovthresh]: Overlap threshold (default = 0.5) + [use_07_metric]: Whether to use VOC07's 11 point AP computation + (default False) + """ + # assumes detections are in detpath.format(classname) + # assumes annotations are in annopath.format(imagename) + # assumes imagesetfile is a text file with each line an image name + # cachedir caches the annotations in a pickle file + # first load gt + if not os.path.isdir(cachedir): + os.mkdir(cachedir) + cachefile = os.path.join(cachedir, 'annots.pkl') + # read list of images + with open(imagesetfile, 'r') as f: + lines = f.readlines() + imagenames = [x.strip() for x in lines] + if not os.path.isfile(cachefile): + # load annots + recs = {} + for i, imagename in enumerate(imagenames): + recs[imagename] = parse_rec(annopath.format(imagename)) + if i % 100 == 0: + print('Reading annotation for {:d}/{:d}'.format( + i + 1, len(imagenames))) + # save + print('Saving cached annotations to {:s}'.format(cachefile)) + with open(cachefile, 'wb') as f: + pickle.dump(recs, f) + else: + # load + with open(cachefile, 'rb') as f: + recs = pickle.load(f) + + # extract gt objects for this class + class_recs = {} + npos = 0 + + for imagename in imagenames: + R = [obj for obj in recs[imagename] if obj['name'] == classname] + bbox = np.array([x['bbox'] for x in R]) + difficult = np.array([x['difficult'] for x in R]).astype(np.bool) + det = [False] * len(R) + npos = npos + sum(~difficult) + class_recs[imagename] = {'bbox': bbox, + 'difficult': difficult, + 'det': det} + # read dets + with open(detpath, 'r') as f: + lines = f.readlines() + + if any(lines) == 1: + + splitlines = [x.strip().split(' ') for x in lines] + image_ids = [x[0] for x in splitlines] + confidence = np.array([float(x[1]) for x in splitlines]) + BB = np.array([[float(z) for z in x[2:]] for x in splitlines]) + + # sort by confidence + sorted_ind = np.argsort(-confidence) + sorted_scores = np.sort(-confidence) + BB = BB[sorted_ind, :] + image_ids = [image_ids[x] for x in sorted_ind] + + # go down dets and mark TPs and FPs + nd = len(image_ids) + tp = np.zeros(nd) + fp = np.zeros(nd) + for d in range(nd): + R = class_recs[image_ids[d]] + bb = BB[d, :].astype(float) + ovmax = -np.inf + BBGT = R['bbox'].astype(float) + if BBGT.size > 0: + # compute overlaps + # intersection + ixmin = np.maximum(BBGT[:, 0], bb[0]) + iymin = np.maximum(BBGT[:, 1], bb[1]) + ixmax = np.minimum(BBGT[:, 2], bb[2]) + iymax = np.minimum(BBGT[:, 3], bb[3]) + iw = np.maximum(ixmax - ixmin, 0.) + ih = np.maximum(iymax - iymin, 0.) + inters = iw * ih + uni = ((bb[2] - bb[0]) * (bb[3] - bb[1]) + + (BBGT[:, 2] - BBGT[:, 0]) * + (BBGT[:, 3] - BBGT[:, 1]) - inters) + overlaps = inters / uni + ovmax = np.max(overlaps) + jmax = np.argmax(overlaps) + + if ovmax > ovthresh: + if not R['difficult'][jmax]: + if not R['det'][jmax]: + tp[d] = 1. + R['det'][jmax] = 1 + else: + fp[d] = 1. + else: + fp[d] = 1. + + # compute precision recall + fp = np.cumsum(fp) + tp = np.cumsum(tp) + rec = tp / float(npos) + # avoid divide by zero in case the first detection matches a difficult + # ground truth + prec = tp / np.maximum(tp + fp, np.finfo(np.float64).eps) + ap = voc_ap(rec, prec, use_07_metric) + else: + rec = -1. + prec = -1. + ap = -1. + + return rec, prec, ap + +if __name__ == '__main__': + do_python_eval() diff --git a/cv/detection/yolov3/tensorflow/.gitignore b/cv/detection/yolov3/tensorflow/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..deaec135ca437f8771a6a7fd25de3cb6e189856b --- /dev/null +++ b/cv/detection/yolov3/tensorflow/.gitignore @@ -0,0 +1,2 @@ +**/__pycache__/ +**/log/ diff --git a/cv/detection/yolov3/tensorflow/LICENSE b/cv/detection/yolov3/tensorflow/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..78bf38e4ced491cefb130e1a4f50358cd71cf506 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 YangYun + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/cv/detection/yolov3/tensorflow/LICENSE.fuck b/cv/detection/yolov3/tensorflow/LICENSE.fuck new file mode 100644 index 0000000000000000000000000000000000000000..e6f18f4fe971f74eef46c706fb9dc6c237ba05ae --- /dev/null +++ b/cv/detection/yolov3/tensorflow/LICENSE.fuck @@ -0,0 +1,13 @@ + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 1, JUNE 2019 + +Copyright (C) 2019 YunYang1994 + +Everyone is permitted to copy and distribute verbatim or modified +copies of this license document, and changing it is allowed as long +as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. DON'T ASK ME, JUST DO IT. diff --git a/cv/detection/yolov3/tensorflow/README.md b/cv/detection/yolov3/tensorflow/README.md new file mode 100644 index 0000000000000000000000000000000000000000..bc6211f3ad9a1d9e1319a5ae9e0a239b493f8df1 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/README.md @@ -0,0 +1,28 @@ +## Prepare +``` +bash init_tf.sh +``` + +## Download dataset and checkpoint +``` +# download dataset +mkdir -p VOC +cd VOC +wget http://10.150.9.95/swapp/datasets/cv/detection/VOC_07_12.tgz +tar -zxvf VOC_07_12.tgz +rm -rf VOC_07_12.tgz +cd .. + +# download checkpoint +mkdir checkpoint +cd checkpoint +wget http://10.150.9.95/swapp/datasets/cv/detection/yolov3_coco_demo.ckpt.tar.gz +tar -zxvf yolov3_coco_demo.ckpt.tar.gz +rm -rf yolov3_coco_demo.ckpt.tar.gz +cd .. +``` + +## Run training +``` +bash ./run_training.sh +``` diff --git a/cv/detection/yolov3/tensorflow/README_origin.md b/cv/detection/yolov3/tensorflow/README_origin.md new file mode 100644 index 0000000000000000000000000000000000000000..ca726055e618f33a38017c0ff1821dbcabd7f3e5 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/README_origin.md @@ -0,0 +1,147 @@ +## Run inference on BI +```bashrc +bash ./run_inference.sh +``` + +## Run training on BI +```bashrc +bash ./run_training.sh +``` + +## 🆕 Are you looking for a new YOLOv3 implemented by TF2.0 ? + +>If you hate the fucking tensorflow1.x very much, no worries! I have implemented **a new YOLOv3 repo with TF2.0**, and also made a chinese blog on how to implement YOLOv3 object detector from scratch.
+[code](https://github.com/YunYang1994/TensorFlow2.0-Examples/tree/master/4-Object_Detection/YOLOV3) | [blog](https://yunyang1994.gitee.io/2018/12/28/YOLOv3/) | [issue](https://github.com/YunYang1994/tensorflow-yolov3/issues/39) + +## part 1. Quick start +1. Clone this file +```bashrc +$ git clone https://github.com/YunYang1994/tensorflow-yolov3.git +``` +2. You are supposed to install some dependencies before getting out hands with these codes. +```bashrc +$ cd tensorflow-yolov3 +$ pip install -r ./docs/requirements.txt +``` +3. Exporting loaded COCO weights as TF checkpoint(`yolov3_coco.ckpt`)【[BaiduCloud](https://pan.baidu.com/s/11mwiUy8KotjUVQXqkGGPFQ&shfl=sharepset)】 +```bashrc +$ cd checkpoint +$ wget https://github.com/YunYang1994/tensorflow-yolov3/releases/download/v1.0/yolov3_coco.tar.gz +$ tar -xvf yolov3_coco.tar.gz +$ cd .. +$ python convert_weight.py +$ python freeze_graph.py +``` +4. Then you will get some `.pb` files in the root path., and run the demo script +```bashrc +$ python image_demo.py +$ python video_demo.py # if use camera, set video_path = 0 +``` +

+ + +

+ +## part 2. Train your own dataset +Two files are required as follows: + +- [`dataset.txt`](https://raw.githubusercontent.com/YunYang1994/tensorflow-yolov3/master/data/dataset/voc_train.txt): + +``` +xxx/xxx.jpg 18.19,6.32,424.13,421.83,20 323.86,2.65,640.0,421.94,20 +xxx/xxx.jpg 48,240,195,371,11 8,12,352,498,14 +# image_path x_min, y_min, x_max, y_max, class_id x_min, y_min ,..., class_id +# make sure that x_max < width and y_max < height +``` + +- [`class.names`](https://github.com/YunYang1994/tensorflow-yolov3/blob/master/data/classes/coco.names): + +``` +person +bicycle +car +... +toothbrush +``` + +### 2.1 Train on VOC dataset +Download VOC PASCAL trainval and test data +```bashrc +$ wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar +$ wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar +$ wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar +``` +Extract all of these tars into one directory and rename them, which should have the following basic structure. + +```bashrc + +VOC # path: /home/yang/dataset/VOC +├── test +| └──VOCdevkit +| └──VOC2007 (from VOCtest_06-Nov-2007.tar) +└── train + └──VOCdevkit + └──VOC2007 (from VOCtrainval_06-Nov-2007.tar) + └──VOC2012 (from VOCtrainval_11-May-2012.tar) + +$ python scripts/voc_annotation.py --data_path /home/yang/test/VOC +``` +Then edit your `./core/config.py` to make some necessary configurations + +```bashrc +__C.YOLO.CLASSES = "./data/classes/voc.names" +__C.TRAIN.ANNOT_PATH = "./data/dataset/voc_train.txt" +__C.TEST.ANNOT_PATH = "./data/dataset/voc_test.txt" +``` +Here are two kinds of training method: + +##### (1) train from scratch: + +```bashrc +$ python train.py +$ tensorboard --logdir ./data +``` +##### (2) train from COCO weights(recommend): + +```bashrc +$ cd checkpoint +$ wget https://github.com/YunYang1994/tensorflow-yolov3/releases/download/v1.0/yolov3_coco.tar.gz +$ tar -xvf yolov3_coco.tar.gz +$ cd .. +$ python convert_weight.py --train_from_coco +$ python train.py +``` +### 2.2 Evaluate on VOC dataset + +``` +$ python evaluate.py +$ cd mAP +$ python main.py -na +``` + +the mAP on the VOC2012 dataset: + +

+ + +

+ + +## part 3. Stargazers over time + +[![Stargazers over time](https://starcharts.herokuapp.com/YunYang1994/tensorflow-yolov3.svg)](https://starcharts.herokuapp.com/YunYang1994/tensorflow-yolov3) + +## part 4. Other Implementations + +[-**`YOLOv3目标检测有了TensorFlow实现,可用自己的数据来训练`**](https://mp.weixin.qq.com/s/cq7g1-4oFTftLbmKcpi_aQ)
+ +[-**`Stronger-yolo`**](https://github.com/Stinky-Tofu/Stronger-yolo)
+ +[- **`Implementing YOLO v3 in Tensorflow (TF-Slim)`**](https://itnext.io/implementing-yolo-v3-in-tensorflow-tf-slim-c3c55ff59dbe) + +[- **`YOLOv3_TensorFlow`**](https://github.com/wizyoung/YOLOv3_TensorFlow) + +[- **`Object Detection using YOLOv2 on Pascal VOC2012`**](https://fairyonice.github.io/Part_1_Object_Detection_with_Yolo_for_VOC_2014_data_anchor_box_clustering.html) + +[-**`Understanding YOLO`**](https://hackernoon.com/understanding-yolo-f5a74bbc7967) + diff --git a/cv/detection/yolov3/tensorflow/convert_weight.py b/cv/detection/yolov3/tensorflow/convert_weight.py new file mode 100644 index 0000000000000000000000000000000000000000..910524ce55c4e6cdaff84c6f68d84c1dd2944dbb --- /dev/null +++ b/cv/detection/yolov3/tensorflow/convert_weight.py @@ -0,0 +1,93 @@ +#! /usr/bin/env python +# coding=utf-8 +#================================================================ +# Copyright (C) 2019 * Ltd. All rights reserved. +# +# Editor : VIM +# File name : convert_weight.py +# Author : YunYang1994 +# Created date: 2019-02-28 13:51:31 +# Description : +# +#================================================================ + +import argparse +import tensorflow as tf +from core.yolov3 import YOLOV3 +from core.config import cfg +parser = argparse.ArgumentParser() +parser.add_argument("--train_from_coco", action='store_true') +flag = parser.parse_args() + +org_weights_path = cfg.YOLO.ORIGINAL_WEIGHT +cur_weights_path = cfg.YOLO.DEMO_WEIGHT +preserve_cur_names = ['conv_sbbox', 'conv_mbbox', 'conv_lbbox'] +preserve_org_names = ['Conv_6', 'Conv_14', 'Conv_22'] + + +org_weights_mess = [] +tf.Graph().as_default() +load = tf.train.import_meta_graph(org_weights_path + '.meta') +with tf.Session() as sess: + load.restore(sess, org_weights_path) + for var in tf.global_variables(): + var_name = var.op.name + var_name_mess = str(var_name).split('/') + var_shape = var.shape + if flag.train_from_coco: + if (var_name_mess[-1] not in ['weights', 'gamma', 'beta', 'moving_mean', 'moving_variance']) or \ + (var_name_mess[1] == 'yolo-v3' and (var_name_mess[-2] in preserve_org_names)): continue + org_weights_mess.append([var_name, var_shape]) + print("=> " + str(var_name).ljust(50), var_shape) +print() +tf.reset_default_graph() + +cur_weights_mess = [] +tf.Graph().as_default() +with tf.name_scope('input'): + input_data = tf.placeholder(dtype=tf.float32, shape=(1, 416, 416, 3), name='input_data') + training = tf.placeholder(dtype=tf.bool, name='trainable') +model = YOLOV3(input_data, training) +for var in tf.global_variables(): + var_name = var.op.name + var_name_mess = str(var_name).split('/') + var_shape = var.shape + print(var_name_mess[0]) + if flag.train_from_coco: + if var_name_mess[0] in preserve_cur_names: continue + cur_weights_mess.append([var_name, var_shape]) + print("=> " + str(var_name).ljust(50), var_shape) + +org_weights_num = len(org_weights_mess) +cur_weights_num = len(cur_weights_mess) +if cur_weights_num != org_weights_num: + raise RuntimeError + +print('=> Number of weights that will rename:\t%d' % cur_weights_num) +cur_to_org_dict = {} +for index in range(org_weights_num): + org_name, org_shape = org_weights_mess[index] + cur_name, cur_shape = cur_weights_mess[index] + if cur_shape != org_shape: + print(org_weights_mess[index]) + print(cur_weights_mess[index]) + raise RuntimeError + cur_to_org_dict[cur_name] = org_name + print("=> " + str(cur_name).ljust(50) + ' : ' + org_name) + +with tf.name_scope('load_save'): + name_to_var_dict = {var.op.name: var for var in tf.global_variables()} + restore_dict = {cur_to_org_dict[cur_name]: name_to_var_dict[cur_name] for cur_name in cur_to_org_dict} + load = tf.train.Saver(restore_dict) + save = tf.train.Saver(tf.global_variables()) + for var in tf.global_variables(): + print("=> " + var.op.name) + +with tf.Session() as sess: + sess.run(tf.global_variables_initializer()) + print('=> Restoring weights from:\t %s' % org_weights_path) + load.restore(sess, org_weights_path) + save.save(sess, cur_weights_path) +tf.reset_default_graph() + + diff --git a/cv/detection/yolov3/tensorflow/core/__init__.py b/cv/detection/yolov3/tensorflow/core/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cv/detection/yolov3/tensorflow/core/backbone.py b/cv/detection/yolov3/tensorflow/core/backbone.py new file mode 100644 index 0000000000000000000000000000000000000000..0ce12deb44ec4eca20b07e3e2af1bb303839087e --- /dev/null +++ b/cv/detection/yolov3/tensorflow/core/backbone.py @@ -0,0 +1,59 @@ +#! /usr/bin/env python +# coding=utf-8 +#================================================================ +# Copyright (C) 2019 * Ltd. All rights reserved. +# +# Editor : VIM +# File name : backbone.py +# Author : YunYang1994 +# Created date: 2019-02-17 11:03:35 +# Description : +# +#================================================================ + +import core.common as common +import tensorflow.compat.v1 as tf + + +def darknet53(input_data, trainable): + + with tf.variable_scope('darknet'): + + input_data = common.convolutional(input_data, filters_shape=(3, 3, 3, 32), trainable=trainable, name='conv0') + input_data = common.convolutional(input_data, filters_shape=(3, 3, 32, 64), + trainable=trainable, name='conv1', downsample=True) + + for i in range(1): + input_data = common.residual_block(input_data, 64, 32, 64, trainable=trainable, name='residual%d' %(i+0)) + + input_data = common.convolutional(input_data, filters_shape=(3, 3, 64, 128), + trainable=trainable, name='conv4', downsample=True) + + for i in range(2): + input_data = common.residual_block(input_data, 128, 64, 128, trainable=trainable, name='residual%d' %(i+1)) + + input_data = common.convolutional(input_data, filters_shape=(3, 3, 128, 256), + trainable=trainable, name='conv9', downsample=True) + + for i in range(8): + input_data = common.residual_block(input_data, 256, 128, 256, trainable=trainable, name='residual%d' %(i+3)) + + route_1 = input_data + input_data = common.convolutional(input_data, filters_shape=(3, 3, 256, 512), + trainable=trainable, name='conv26', downsample=True) + + for i in range(8): + input_data = common.residual_block(input_data, 512, 256, 512, trainable=trainable, name='residual%d' %(i+11)) + + route_2 = input_data + input_data = common.convolutional(input_data, filters_shape=(3, 3, 512, 1024), + trainable=trainable, name='conv43', downsample=True) + + for i in range(4): + input_data = common.residual_block(input_data, 1024, 512, 1024, trainable=trainable, name='residual%d' %(i+19)) + + return route_1, route_2, input_data + + + + diff --git a/cv/detection/yolov3/tensorflow/core/common.py b/cv/detection/yolov3/tensorflow/core/common.py new file mode 100644 index 0000000000000000000000000000000000000000..05fcac1cf9e39b6cab0a22dce0f5beabbb74f70c --- /dev/null +++ b/cv/detection/yolov3/tensorflow/core/common.py @@ -0,0 +1,90 @@ +#! /usr/bin/env python +# coding=utf-8 +#================================================================ +# Copyright (C) 2019 * Ltd. All rights reserved. +# +# Editor : VIM +# File name : common.py +# Author : YunYang1994 +# Created date: 2019-02-28 09:56:29 +# Description : +# +#================================================================ + +import tensorflow.compat.v1 as tf + + +def convolutional(input_data, filters_shape, trainable, name, downsample=False, activate=True, bn=True): + + with tf.variable_scope(name): + if downsample: + pad_h, pad_w = (filters_shape[0] - 2) // 2 + 1, (filters_shape[1] - 2) // 2 + 1 + paddings = tf.constant([[0, 0], [pad_h, pad_h], [pad_w, pad_w], [0, 0]]) + input_data = tf.pad(input_data, paddings, 'CONSTANT') + strides = (1, 2, 2, 1) + padding = 'VALID' + else: + strides = (1, 1, 1, 1) + padding = "SAME" + + weight = tf.get_variable(name='weight', dtype=tf.float32, trainable=True, + shape=filters_shape, initializer=tf.random_normal_initializer(stddev=0.01)) + conv = tf.nn.conv2d(input=input_data, filter=weight, strides=strides, padding=padding) + + if bn: + conv = tf.layers.batch_normalization(conv, beta_initializer=tf.zeros_initializer(), + gamma_initializer=tf.ones_initializer(), + moving_mean_initializer=tf.zeros_initializer(), + moving_variance_initializer=tf.ones_initializer(), training=trainable) + else: + bias = tf.get_variable(name='bias', shape=filters_shape[-1], trainable=True, + dtype=tf.float32, initializer=tf.constant_initializer(0.0)) + conv = tf.nn.bias_add(conv, bias) + + if activate == True: conv = tf.nn.leaky_relu(conv, alpha=0.1) + + return conv + + +def residual_block(input_data, input_channel, filter_num1, filter_num2, trainable, name): + + short_cut = input_data + + with tf.variable_scope(name): + input_data = convolutional(input_data, filters_shape=(1, 1, input_channel, filter_num1), + trainable=trainable, name='conv1') + input_data = convolutional(input_data, filters_shape=(3, 3, filter_num1, filter_num2), + trainable=trainable, name='conv2') + + residual_output = input_data + short_cut + + return residual_output + + + +def route(name, previous_output, current_output): + + with tf.variable_scope(name): + output = tf.concat([current_output, previous_output], axis=-1) + + return output + + +def upsample(input_data, name, method="deconv"): + assert method in ["resize", "deconv"] + + if method == "resize": + with tf.variable_scope(name): + input_shape = tf.shape(input_data) + output = tf.image.resize_nearest_neighbor(input_data, (input_shape[1] * 2, input_shape[2] * 2)) + + if method == "deconv": + # replace resize_nearest_neighbor with conv2d_transpose To support TensorRT optimization + numm_filter = input_data.shape.as_list()[-1] + output = tf.layers.conv2d_transpose(input_data, numm_filter, kernel_size=2, padding='same', + strides=(2,2), kernel_initializer=tf.random_normal_initializer()) + + return output + + + diff --git a/cv/detection/yolov3/tensorflow/core/config.py b/cv/detection/yolov3/tensorflow/core/config.py new file mode 100644 index 0000000000000000000000000000000000000000..483d6f48dc42ec75452d4082d7ad53697bb12876 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/core/config.py @@ -0,0 +1,71 @@ +#! /usr/bin/env python +# coding=utf-8 +#================================================================ +# Copyright (C) 2019 * Ltd. All rights reserved. +# +# Editor : VIM +# File name : config.py +# Author : YunYang1994 +# Created date: 2019-02-28 13:06:54 +# Description : +# +#================================================================ + +from easydict import EasyDict as edict + + +__C = edict() +# Consumers can get config by: from config import cfg + +cfg = __C + +# YOLO options +__C.YOLO = edict() + +# Set the class name +__C.YOLO.CLASSES = "./data/classes/voc.names" +__C.YOLO.ANCHORS = "./data/anchors/basline_anchors.txt" +__C.YOLO.MOVING_AVE_DECAY = 0.9995 +__C.YOLO.STRIDES = [8, 16, 32] +__C.YOLO.ANCHOR_PER_SCALE = 3 +__C.YOLO.IOU_LOSS_THRESH = 0.5 +__C.YOLO.UPSAMPLE_METHOD = "resize" +__C.YOLO.ORIGINAL_WEIGHT = "./checkpoint/yolov3_coco.ckpt" +__C.YOLO.DEMO_WEIGHT = "./checkpoint/yolov3_coco_demo.ckpt" + +# Train options +__C.TRAIN = edict() + +__C.TRAIN.ANNOT_PATH = "./data/dataset/voc_train.txt" +__C.TRAIN.BATCH_SIZE = 6 +__C.TRAIN.INPUT_SIZE = [320, 352, 384, 416, 448, 480, 512, 544, 576, 608] +__C.TRAIN.DATA_AUG = True +__C.TRAIN.LEARN_RATE_INIT = 1e-4 +__C.TRAIN.LEARN_RATE_END = 1e-6 +__C.TRAIN.WARMUP_EPOCHS = 2 +__C.TRAIN.FISRT_STAGE_EPOCHS = 4 +__C.TRAIN.SECOND_STAGE_EPOCHS = 4 +__C.TRAIN.INITIAL_WEIGHT = "./checkpoint/yolov3_coco_demo.ckpt" + + + +# TEST options +__C.TEST = edict() + +__C.TEST.ANNOT_PATH = "./data/dataset/voc_test.txt" +__C.TEST.BATCH_SIZE = 8 +__C.TEST.INPUT_SIZE = 544 +__C.TEST.DATA_AUG = False +__C.TEST.WRITE_IMAGE = False +__C.TEST.WRITE_IMAGE_PATH = "./data/detection/" +__C.TEST.WRITE_IMAGE_SHOW_LABEL = True +__C.TEST.WEIGHT_FILE = "./model_inference/yolov3_test_loss=6.7481.ckpt-8" +__C.TEST.SHOW_LABEL = True +__C.TEST.SCORE_THRESHOLD = 0.3 +__C.TEST.IOU_THRESHOLD = 0.45 + + + + + + diff --git a/cv/detection/yolov3/tensorflow/core/dataset.py b/cv/detection/yolov3/tensorflow/core/dataset.py new file mode 100644 index 0000000000000000000000000000000000000000..1238cf1750794dc688261ce1983c7851ee0a1c69 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/core/dataset.py @@ -0,0 +1,296 @@ +#! /usr/bin/env python +# coding=utf-8 +#================================================================ +# Copyright (C) 2019 * Ltd. All rights reserved. +# +# Editor : VIM +# File name : dataset.py +# Author : YunYang1994 +# Created date: 2019-03-15 18:05:03 +# Description : +# +#================================================================ + +import os +import cv2 +import random +import numpy as np +import tensorflow.compat.v1 as tf +import core.utils as utils +from core.config import cfg + +def set_seed(seed=42): + random.seed(seed) + np.random.seed(seed) + tf.set_random_seed(seed) + +class Dataset(object): + """implement Dataset here""" + def __init__(self, dataset_type): + set_seed() + self.annot_path = cfg.TRAIN.ANNOT_PATH if dataset_type == 'train' else cfg.TEST.ANNOT_PATH + self.input_sizes = cfg.TRAIN.INPUT_SIZE if dataset_type == 'train' else cfg.TEST.INPUT_SIZE + self.batch_size = cfg.TRAIN.BATCH_SIZE if dataset_type == 'train' else cfg.TEST.BATCH_SIZE + self.data_aug = cfg.TRAIN.DATA_AUG if dataset_type == 'train' else cfg.TEST.DATA_AUG + + self.train_input_sizes = cfg.TRAIN.INPUT_SIZE + self.strides = np.array(cfg.YOLO.STRIDES) + self.classes = utils.read_class_names(cfg.YOLO.CLASSES) + self.num_classes = len(self.classes) + self.anchors = np.array(utils.get_anchors(cfg.YOLO.ANCHORS)) + self.anchor_per_scale = cfg.YOLO.ANCHOR_PER_SCALE + self.max_bbox_per_scale = 150 + + self.annotations = self.load_annotations(dataset_type) + self.num_samples = len(self.annotations) + self.num_batchs = int(np.ceil(self.num_samples / self.batch_size)) + self.batch_count = 0 + + + def load_annotations(self, dataset_type): + with open(self.annot_path, 'r') as f: + txt = f.readlines() + annotations = [line.strip() for line in txt if len(line.strip().split()[1:]) != 0] + np.random.shuffle(annotations) + return annotations + + def __iter__(self): + return self + + def __next__(self): + + with tf.device('/cpu:0'): + self.train_input_size = random.choice(self.train_input_sizes) + self.train_output_sizes = self.train_input_size // self.strides + + batch_image = np.zeros((self.batch_size, self.train_input_size, self.train_input_size, 3)) + + batch_label_sbbox = np.zeros((self.batch_size, self.train_output_sizes[0], self.train_output_sizes[0], + self.anchor_per_scale, 5 + self.num_classes)) + batch_label_mbbox = np.zeros((self.batch_size, self.train_output_sizes[1], self.train_output_sizes[1], + self.anchor_per_scale, 5 + self.num_classes)) + batch_label_lbbox = np.zeros((self.batch_size, self.train_output_sizes[2], self.train_output_sizes[2], + self.anchor_per_scale, 5 + self.num_classes)) + + batch_sbboxes = np.zeros((self.batch_size, self.max_bbox_per_scale, 4)) + batch_mbboxes = np.zeros((self.batch_size, self.max_bbox_per_scale, 4)) + batch_lbboxes = np.zeros((self.batch_size, self.max_bbox_per_scale, 4)) + + num = 0 + if self.batch_count < self.num_batchs: + while num < self.batch_size: + index = self.batch_count * self.batch_size + num + if index >= self.num_samples: index -= self.num_samples + annotation = self.annotations[index] + image, bboxes = self.parse_annotation(annotation) + label_sbbox, label_mbbox, label_lbbox, sbboxes, mbboxes, lbboxes = self.preprocess_true_boxes(bboxes) + + batch_image[num, :, :, :] = image + batch_label_sbbox[num, :, :, :, :] = label_sbbox + batch_label_mbbox[num, :, :, :, :] = label_mbbox + batch_label_lbbox[num, :, :, :, :] = label_lbbox + batch_sbboxes[num, :, :] = sbboxes + batch_mbboxes[num, :, :] = mbboxes + batch_lbboxes[num, :, :] = lbboxes + num += 1 + self.batch_count += 1 + return batch_image, batch_label_sbbox, batch_label_mbbox, batch_label_lbbox, \ + batch_sbboxes, batch_mbboxes, batch_lbboxes + else: + self.batch_count = 0 + np.random.shuffle(self.annotations) + raise StopIteration + + def random_horizontal_flip(self, image, bboxes): + + if random.random() < 0.5: + _, w, _ = image.shape + image = image[:, ::-1, :] + bboxes[:, [0,2]] = w - bboxes[:, [2,0]] + + return image, bboxes + + def random_crop(self, image, bboxes): + + if random.random() < 0.5: + h, w, _ = image.shape + max_bbox = np.concatenate([np.min(bboxes[:, 0:2], axis=0), np.max(bboxes[:, 2:4], axis=0)], axis=-1) + + max_l_trans = max_bbox[0] + max_u_trans = max_bbox[1] + max_r_trans = w - max_bbox[2] + max_d_trans = h - max_bbox[3] + + crop_xmin = max(0, int(max_bbox[0] - random.uniform(0, max_l_trans))) + crop_ymin = max(0, int(max_bbox[1] - random.uniform(0, max_u_trans))) + crop_xmax = max(w, int(max_bbox[2] + random.uniform(0, max_r_trans))) + crop_ymax = max(h, int(max_bbox[3] + random.uniform(0, max_d_trans))) + + image = image[crop_ymin : crop_ymax, crop_xmin : crop_xmax] + + bboxes[:, [0, 2]] = bboxes[:, [0, 2]] - crop_xmin + bboxes[:, [1, 3]] = bboxes[:, [1, 3]] - crop_ymin + + return image, bboxes + + def random_translate(self, image, bboxes): + + if random.random() < 0.5: + h, w, _ = image.shape + max_bbox = np.concatenate([np.min(bboxes[:, 0:2], axis=0), np.max(bboxes[:, 2:4], axis=0)], axis=-1) + + max_l_trans = max_bbox[0] + max_u_trans = max_bbox[1] + max_r_trans = w - max_bbox[2] + max_d_trans = h - max_bbox[3] + + tx = random.uniform(-(max_l_trans - 1), (max_r_trans - 1)) + ty = random.uniform(-(max_u_trans - 1), (max_d_trans - 1)) + + M = np.array([[1, 0, tx], [0, 1, ty]]) + image = cv2.warpAffine(image, M, (w, h)) + + bboxes[:, [0, 2]] = bboxes[:, [0, 2]] + tx + bboxes[:, [1, 3]] = bboxes[:, [1, 3]] + ty + + return image, bboxes + + def parse_annotation(self, annotation): + + line = annotation.split() + image_path = line[0] + if not os.path.exists(image_path): + raise KeyError("%s does not exist ... " %image_path) + image = np.array(cv2.imread(image_path)) + bboxes = np.array([list(map(lambda x: int(float(x)), box.split(','))) for box in line[1:]]) + + if self.data_aug: + image, bboxes = self.random_horizontal_flip(np.copy(image), np.copy(bboxes)) + image, bboxes = self.random_crop(np.copy(image), np.copy(bboxes)) + image, bboxes = self.random_translate(np.copy(image), np.copy(bboxes)) + + image, bboxes = utils.image_preporcess(np.copy(image), [self.train_input_size, self.train_input_size], np.copy(bboxes)) + + updated_bb = [] + for bb in bboxes: + x1, y1, x2, y2, cls_label = bb + + if x2 <= x1 or y2 <= y1: + # dont use such boxes as this may cause nan loss. + continue + + x1 = int(np.clip(x1, 0, image.shape[1])) + y1 = int(np.clip(y1, 0, image.shape[0])) + x2 = int(np.clip(x2, 0, image.shape[1])) + y2 = int(np.clip(y2, 0, image.shape[0])) + # clipping coordinates between 0 to image dimensions as negative values + # or values greater than image dimensions may cause nan loss. + updated_bb.append([x1, y1, x2, y2, cls_label]) + + return image, np.array(updated_bb) + + def bbox_iou(self, boxes1, boxes2): + + boxes1 = np.array(boxes1) + boxes2 = np.array(boxes2) + + boxes1_area = boxes1[..., 2] * boxes1[..., 3] + boxes2_area = boxes2[..., 2] * boxes2[..., 3] + + boxes1 = np.concatenate([boxes1[..., :2] - boxes1[..., 2:] * 0.5, + boxes1[..., :2] + boxes1[..., 2:] * 0.5], axis=-1) + boxes2 = np.concatenate([boxes2[..., :2] - boxes2[..., 2:] * 0.5, + boxes2[..., :2] + boxes2[..., 2:] * 0.5], axis=-1) + + left_up = np.maximum(boxes1[..., :2], boxes2[..., :2]) + right_down = np.minimum(boxes1[..., 2:], boxes2[..., 2:]) + + inter_section = np.maximum(right_down - left_up, 0.0) + inter_area = inter_section[..., 0] * inter_section[..., 1] + union_area = boxes1_area + boxes2_area - inter_area + + return inter_area / (union_area + 1e-6) + # added 1e-6 in denominator to avoid generation of inf, which may cause nan loss + + + def preprocess_true_boxes(self, bboxes): + + label = [np.zeros((self.train_output_sizes[i], self.train_output_sizes[i], self.anchor_per_scale, + 5 + self.num_classes)) for i in range(3)] + bboxes_xywh = [np.zeros((self.max_bbox_per_scale, 4)) for _ in range(3)] + bbox_count = np.zeros((3,)) + + for bbox in bboxes: + bbox_coor = bbox[:4] + bbox_class_ind = bbox[4] + + onehot = np.zeros(self.num_classes, dtype=np.float) + onehot[bbox_class_ind] = 1.0 + uniform_distribution = np.full(self.num_classes, 1.0 / self.num_classes) + deta = 0.01 + smooth_onehot = onehot * (1 - deta) + deta * uniform_distribution + + bbox_xywh = np.concatenate([(bbox_coor[2:] + bbox_coor[:2]) * 0.5, bbox_coor[2:] - bbox_coor[:2]], axis=-1) + bbox_xywh_scaled = 1.0 * bbox_xywh[np.newaxis, :] / self.strides[:, np.newaxis] + + iou = [] + exist_positive = False + for i in range(3): + anchors_xywh = np.zeros((self.anchor_per_scale, 4)) + anchors_xywh[:, 0:2] = np.floor(bbox_xywh_scaled[i, 0:2]).astype(np.int32) + 0.5 + anchors_xywh[:, 2:4] = self.anchors[i] + + iou_scale = self.bbox_iou(bbox_xywh_scaled[i][np.newaxis, :], anchors_xywh) + iou.append(iou_scale) + iou_mask = iou_scale > 0.3 + + if np.any(iou_mask): + xind, yind = np.floor(bbox_xywh_scaled[i, 0:2]).astype(np.int32) + xind = np.clip(xind, 0, self.train_output_sizes[i] - 1) + yind = np.clip(yind, 0, self.train_output_sizes[i] - 1) + # This will mitigate errors generated when the location computed by this is more the grid cell location. + # e.g. For 52x52 grid cells possible values of xind and yind are in range [0-51] including both. + # But sometimes the coomputation makes it 52 and then it will try to find that location in label array + # which is not present and throws error during training. + + label[i][yind, xind, iou_mask, :] = 0 + label[i][yind, xind, iou_mask, 0:4] = bbox_xywh + label[i][yind, xind, iou_mask, 4:5] = 1.0 + label[i][yind, xind, iou_mask, 5:] = smooth_onehot + + bbox_ind = int(bbox_count[i] % self.max_bbox_per_scale) + bboxes_xywh[i][bbox_ind, :4] = bbox_xywh + bbox_count[i] += 1 + + exist_positive = True + + if not exist_positive: + best_anchor_ind = np.argmax(np.array(iou).reshape(-1), axis=-1) + best_detect = int(best_anchor_ind / self.anchor_per_scale) + best_anchor = int(best_anchor_ind % self.anchor_per_scale) + xind, yind = np.floor(bbox_xywh_scaled[best_detect, 0:2]).astype(np.int32) + xind = np.clip(xind, 0, self.train_output_sizes[i] - 1) + yind = np.clip(yind, 0, self.train_output_sizes[i] - 1) + # This will mitigate errors generated when the location computed by this is more the grid cell location. + # e.g. For 52x52 grid cells possible values of xind and yind are in range [0-51] including both. + # But sometimes the coomputation makes it 52 and then it will try to find that location in label array + # which is not present and throws error during training. + + label[best_detect][yind, xind, best_anchor, :] = 0 + label[best_detect][yind, xind, best_anchor, 0:4] = bbox_xywh + label[best_detect][yind, xind, best_anchor, 4:5] = 1.0 + label[best_detect][yind, xind, best_anchor, 5:] = smooth_onehot + + bbox_ind = int(bbox_count[best_detect] % self.max_bbox_per_scale) + bboxes_xywh[best_detect][bbox_ind, :4] = bbox_xywh + bbox_count[best_detect] += 1 + label_sbbox, label_mbbox, label_lbbox = label + sbboxes, mbboxes, lbboxes = bboxes_xywh + return label_sbbox, label_mbbox, label_lbbox, sbboxes, mbboxes, lbboxes + + def __len__(self): + return self.num_batchs + + + + diff --git a/cv/detection/yolov3/tensorflow/core/utils.py b/cv/detection/yolov3/tensorflow/core/utils.py new file mode 100644 index 0000000000000000000000000000000000000000..b7f2d0f43f8a33e0fd222220a307f1a6757fc791 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/core/utils.py @@ -0,0 +1,212 @@ +#! /usr/bin/env python +# coding=utf-8 +#================================================================ +# Copyright (C) 2019 * Ltd. All rights reserved. +# +# Editor : VIM +# File name : utils.py +# Author : YunYang1994 +# Created date: 2019-02-28 13:14:19 +# Description : +# +#================================================================ + +import cv2 +import random +import colorsys +import numpy as np +import tensorflow.compat.v1 as tf +from core.config import cfg + +def read_class_names(class_file_name): + '''loads class name from a file''' + names = {} + with open(class_file_name, 'r') as data: + for ID, name in enumerate(data): + names[ID] = name.strip('\n') + return names + + +def get_anchors(anchors_path): + '''loads the anchors from a file''' + with open(anchors_path) as f: + anchors = f.readline() + anchors = np.array(anchors.split(','), dtype=np.float32) + return anchors.reshape(3, 3, 2) + + +def image_preporcess(image, target_size, gt_boxes=None): + + image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB).astype(np.float32) + + ih, iw = target_size + h, w, _ = image.shape + + scale = min(iw/w, ih/h) + nw, nh = int(scale * w), int(scale * h) + image_resized = cv2.resize(image, (nw, nh)) + + image_paded = np.full(shape=[ih, iw, 3], fill_value=128.0) + dw, dh = (iw - nw) // 2, (ih-nh) // 2 + image_paded[dh:nh+dh, dw:nw+dw, :] = image_resized + image_paded = image_paded / 255. + + if gt_boxes is None: + return image_paded + + else: + gt_boxes[:, [0, 2]] = gt_boxes[:, [0, 2]] * scale + dw + gt_boxes[:, [1, 3]] = gt_boxes[:, [1, 3]] * scale + dh + return image_paded, gt_boxes + + +def draw_bbox(image, bboxes, classes=read_class_names(cfg.YOLO.CLASSES), show_label=True): + """ + bboxes: [x_min, y_min, x_max, y_max, probability, cls_id] format coordinates. + """ + + num_classes = len(classes) + image_h, image_w, _ = image.shape + hsv_tuples = [(1.0 * x / num_classes, 1., 1.) for x in range(num_classes)] + colors = list(map(lambda x: colorsys.hsv_to_rgb(*x), hsv_tuples)) + colors = list(map(lambda x: (int(x[0] * 255), int(x[1] * 255), int(x[2] * 255)), colors)) + + random.seed(0) + random.shuffle(colors) + random.seed(None) + + for i, bbox in enumerate(bboxes): + coor = np.array(bbox[:4], dtype=np.int32) + fontScale = 0.5 + score = bbox[4] + class_ind = int(bbox[5]) + bbox_color = colors[class_ind] + bbox_thick = int(0.6 * (image_h + image_w) / 600) + c1, c2 = (coor[0], coor[1]), (coor[2], coor[3]) + cv2.rectangle(image, c1, c2, bbox_color, bbox_thick) + + if show_label: + bbox_mess = '%s: %.2f' % (classes[class_ind], score) + t_size = cv2.getTextSize(bbox_mess, 0, fontScale, thickness=bbox_thick//2)[0] + cv2.rectangle(image, c1, (c1[0] + t_size[0], c1[1] - t_size[1] - 3), bbox_color, -1) # filled + + cv2.putText(image, bbox_mess, (c1[0], c1[1]-2), cv2.FONT_HERSHEY_SIMPLEX, + fontScale, (0, 0, 0), bbox_thick//2, lineType=cv2.LINE_AA) + + return image + + + +def bboxes_iou(boxes1, boxes2): + + boxes1 = np.array(boxes1) + boxes2 = np.array(boxes2) + + boxes1_area = (boxes1[..., 2] - boxes1[..., 0]) * (boxes1[..., 3] - boxes1[..., 1]) + boxes2_area = (boxes2[..., 2] - boxes2[..., 0]) * (boxes2[..., 3] - boxes2[..., 1]) + + left_up = np.maximum(boxes1[..., :2], boxes2[..., :2]) + right_down = np.minimum(boxes1[..., 2:], boxes2[..., 2:]) + + inter_section = np.maximum(right_down - left_up, 0.0) + inter_area = inter_section[..., 0] * inter_section[..., 1] + union_area = boxes1_area + boxes2_area - inter_area + ious = np.maximum(1.0 * inter_area / union_area, np.finfo(np.float32).eps) + + return ious + + + +def read_pb_return_tensors(graph, pb_file, return_elements): + + with tf.gfile.FastGFile(pb_file, 'rb') as f: + frozen_graph_def = tf.GraphDef() + frozen_graph_def.ParseFromString(f.read()) + + with graph.as_default(): + return_elements = tf.import_graph_def(frozen_graph_def, + return_elements=return_elements) + return return_elements + + +def nms(bboxes, iou_threshold, sigma=0.3, method='nms'): + """ + :param bboxes: (xmin, ymin, xmax, ymax, score, class) + + Note: soft-nms, https://arxiv.org/pdf/1704.04503.pdf + https://github.com/bharatsingh430/soft-nms + """ + classes_in_img = list(set(bboxes[:, 5])) + best_bboxes = [] + + for cls in classes_in_img: + cls_mask = (bboxes[:, 5] == cls) + cls_bboxes = bboxes[cls_mask] + + while len(cls_bboxes) > 0: + max_ind = np.argmax(cls_bboxes[:, 4]) + best_bbox = cls_bboxes[max_ind] + best_bboxes.append(best_bbox) + cls_bboxes = np.concatenate([cls_bboxes[: max_ind], cls_bboxes[max_ind + 1:]]) + iou = bboxes_iou(best_bbox[np.newaxis, :4], cls_bboxes[:, :4]) + weight = np.ones((len(iou),), dtype=np.float32) + + assert method in ['nms', 'soft-nms'] + + if method == 'nms': + iou_mask = iou > iou_threshold + weight[iou_mask] = 0.0 + + if method == 'soft-nms': + weight = np.exp(-(1.0 * iou ** 2 / sigma)) + + cls_bboxes[:, 4] = cls_bboxes[:, 4] * weight + score_mask = cls_bboxes[:, 4] > 0. + cls_bboxes = cls_bboxes[score_mask] + + return best_bboxes + + +def postprocess_boxes(pred_bbox, org_img_shape, input_size, score_threshold): + + valid_scale=[0, np.inf] + pred_bbox = np.array(pred_bbox) + + pred_xywh = pred_bbox[:, 0:4] + pred_conf = pred_bbox[:, 4] + pred_prob = pred_bbox[:, 5:] + + # # (1) (x, y, w, h) --> (xmin, ymin, xmax, ymax) + pred_coor = np.concatenate([pred_xywh[:, :2] - pred_xywh[:, 2:] * 0.5, + pred_xywh[:, :2] + pred_xywh[:, 2:] * 0.5], axis=-1) + # # (2) (xmin, ymin, xmax, ymax) -> (xmin_org, ymin_org, xmax_org, ymax_org) + org_h, org_w = org_img_shape + resize_ratio = min(input_size / org_w, input_size / org_h) + + dw = (input_size - resize_ratio * org_w) / 2 + dh = (input_size - resize_ratio * org_h) / 2 + + pred_coor[:, 0::2] = 1.0 * (pred_coor[:, 0::2] - dw) / resize_ratio + pred_coor[:, 1::2] = 1.0 * (pred_coor[:, 1::2] - dh) / resize_ratio + + # # (3) clip some boxes those are out of range + pred_coor = np.concatenate([np.maximum(pred_coor[:, :2], [0, 0]), + np.minimum(pred_coor[:, 2:], [org_w - 1, org_h - 1])], axis=-1) + invalid_mask = np.logical_or((pred_coor[:, 0] > pred_coor[:, 2]), (pred_coor[:, 1] > pred_coor[:, 3])) + pred_coor[invalid_mask] = 0 + + # # (4) discard some invalid boxes + bboxes_scale = np.sqrt(np.multiply.reduce(pred_coor[:, 2:4] - pred_coor[:, 0:2], axis=-1)) + scale_mask = np.logical_and((valid_scale[0] < bboxes_scale), (bboxes_scale < valid_scale[1])) + + # # (5) discard some boxes with low scores + classes = np.argmax(pred_prob, axis=-1) + scores = pred_conf * pred_prob[np.arange(len(pred_coor)), classes] + score_mask = scores > score_threshold + mask = np.logical_and(scale_mask, score_mask) + coors, scores, classes = pred_coor[mask], scores[mask], classes[mask] + + return np.concatenate([coors, scores[:, np.newaxis], classes[:, np.newaxis]], axis=-1) + + + diff --git a/cv/detection/yolov3/tensorflow/core/yolov3.py b/cv/detection/yolov3/tensorflow/core/yolov3.py new file mode 100644 index 0000000000000000000000000000000000000000..1d75165ee4b6f7e35193d92523ab81299e3d2be3 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/core/yolov3.py @@ -0,0 +1,261 @@ +#! /usr/bin/env python +# coding=utf-8 +#================================================================ +# Copyright (C) 2019 * Ltd. All rights reserved. +# +# Editor : VIM +# File name : yolov3.py +# Author : YunYang1994 +# Created date: 2019-02-28 10:47:03 +# Description : +# +#================================================================ + +import numpy as np +import tensorflow.compat.v1 as tf +import core.utils as utils +import core.common as common +import core.backbone as backbone +from core.config import cfg + +tf.disable_v2_behavior() + +class YOLOV3(object): + """Implement tensoflow yolov3 here""" + def __init__(self, input_data, trainable): + + self.trainable = trainable + self.classes = utils.read_class_names(cfg.YOLO.CLASSES) + self.num_class = len(self.classes) + self.strides = np.array(cfg.YOLO.STRIDES) + self.anchors = utils.get_anchors(cfg.YOLO.ANCHORS) + self.anchor_per_scale = cfg.YOLO.ANCHOR_PER_SCALE + self.iou_loss_thresh = cfg.YOLO.IOU_LOSS_THRESH + self.upsample_method = cfg.YOLO.UPSAMPLE_METHOD + + try: + self.conv_lbbox, self.conv_mbbox, self.conv_sbbox = self.__build_nework(input_data) + except: + raise NotImplementedError("Can not build up yolov3 network!") + + with tf.variable_scope('pred_sbbox'): + self.pred_sbbox = self.decode(self.conv_sbbox, self.anchors[0], self.strides[0]) + + with tf.variable_scope('pred_mbbox'): + self.pred_mbbox = self.decode(self.conv_mbbox, self.anchors[1], self.strides[1]) + + with tf.variable_scope('pred_lbbox'): + self.pred_lbbox = self.decode(self.conv_lbbox, self.anchors[2], self.strides[2]) + + def __build_nework(self, input_data): + + route_1, route_2, input_data = backbone.darknet53(input_data, self.trainable) + + input_data = common.convolutional(input_data, (1, 1, 1024, 512), self.trainable, 'conv52') + input_data = common.convolutional(input_data, (3, 3, 512, 1024), self.trainable, 'conv53') + input_data = common.convolutional(input_data, (1, 1, 1024, 512), self.trainable, 'conv54') + input_data = common.convolutional(input_data, (3, 3, 512, 1024), self.trainable, 'conv55') + input_data = common.convolutional(input_data, (1, 1, 1024, 512), self.trainable, 'conv56') + + conv_lobj_branch = common.convolutional(input_data, (3, 3, 512, 1024), self.trainable, name='conv_lobj_branch') + conv_lbbox = common.convolutional(conv_lobj_branch, (1, 1, 1024, 3*(self.num_class + 5)), + trainable=self.trainable, name='conv_lbbox', activate=False, bn=False) + + input_data = common.convolutional(input_data, (1, 1, 512, 256), self.trainable, 'conv57') + input_data = common.upsample(input_data, name='upsample0', method=self.upsample_method) + + with tf.variable_scope('route_1'): + input_data = tf.concat([input_data, route_2], axis=-1) + + input_data = common.convolutional(input_data, (1, 1, 768, 256), self.trainable, 'conv58') + input_data = common.convolutional(input_data, (3, 3, 256, 512), self.trainable, 'conv59') + input_data = common.convolutional(input_data, (1, 1, 512, 256), self.trainable, 'conv60') + input_data = common.convolutional(input_data, (3, 3, 256, 512), self.trainable, 'conv61') + input_data = common.convolutional(input_data, (1, 1, 512, 256), self.trainable, 'conv62') + + conv_mobj_branch = common.convolutional(input_data, (3, 3, 256, 512), self.trainable, name='conv_mobj_branch' ) + conv_mbbox = common.convolutional(conv_mobj_branch, (1, 1, 512, 3*(self.num_class + 5)), + trainable=self.trainable, name='conv_mbbox', activate=False, bn=False) + + input_data = common.convolutional(input_data, (1, 1, 256, 128), self.trainable, 'conv63') + input_data = common.upsample(input_data, name='upsample1', method=self.upsample_method) + + with tf.variable_scope('route_2'): + input_data = tf.concat([input_data, route_1], axis=-1) + + input_data = common.convolutional(input_data, (1, 1, 384, 128), self.trainable, 'conv64') + input_data = common.convolutional(input_data, (3, 3, 128, 256), self.trainable, 'conv65') + input_data = common.convolutional(input_data, (1, 1, 256, 128), self.trainable, 'conv66') + input_data = common.convolutional(input_data, (3, 3, 128, 256), self.trainable, 'conv67') + input_data = common.convolutional(input_data, (1, 1, 256, 128), self.trainable, 'conv68') + + conv_sobj_branch = common.convolutional(input_data, (3, 3, 128, 256), self.trainable, name='conv_sobj_branch') + conv_sbbox = common.convolutional(conv_sobj_branch, (1, 1, 256, 3*(self.num_class + 5)), + trainable=self.trainable, name='conv_sbbox', activate=False, bn=False) + + return conv_lbbox, conv_mbbox, conv_sbbox + + def decode(self, conv_output, anchors, stride): + """ + return tensor of shape [batch_size, output_size, output_size, anchor_per_scale, 5 + num_classes] + contains (x, y, w, h, score, probability) + """ + + conv_shape = tf.shape(conv_output) + batch_size = conv_shape[0] + output_size = conv_shape[1] + anchor_per_scale = len(anchors) + + conv_output = tf.reshape(conv_output, (batch_size, output_size, output_size, anchor_per_scale, 5 + self.num_class)) + + conv_raw_dxdy = conv_output[:, :, :, :, 0:2] + conv_raw_dwdh = conv_output[:, :, :, :, 2:4] + conv_raw_conf = conv_output[:, :, :, :, 4:5] + conv_raw_prob = conv_output[:, :, :, :, 5: ] + + y = tf.tile(tf.range(output_size, dtype=tf.int32)[:, tf.newaxis], [1, output_size]) + x = tf.tile(tf.range(output_size, dtype=tf.int32)[tf.newaxis, :], [output_size, 1]) + + xy_grid = tf.concat([x[:, :, tf.newaxis], y[:, :, tf.newaxis]], axis=-1) + xy_grid = tf.tile(xy_grid[tf.newaxis, :, :, tf.newaxis, :], [batch_size, 1, 1, anchor_per_scale, 1]) + xy_grid = tf.cast(xy_grid, tf.float32) + + pred_xy = (tf.sigmoid(conv_raw_dxdy) + xy_grid) * stride + pred_wh = (tf.exp(conv_raw_dwdh) * anchors) * stride + pred_xywh = tf.concat([pred_xy, pred_wh], axis=-1) + + pred_conf = tf.sigmoid(conv_raw_conf) + pred_prob = tf.sigmoid(conv_raw_prob) + + return tf.concat([pred_xywh, pred_conf, pred_prob], axis=-1) + + def focal(self, target, actual, alpha=1, gamma=2): + focal_loss = alpha * tf.pow(tf.abs(target - actual), gamma) + return focal_loss + + def bbox_giou(self, boxes1, boxes2): + + boxes1 = tf.concat([boxes1[..., :2] - boxes1[..., 2:] * 0.5, + boxes1[..., :2] + boxes1[..., 2:] * 0.5], axis=-1) + boxes2 = tf.concat([boxes2[..., :2] - boxes2[..., 2:] * 0.5, + boxes2[..., :2] + boxes2[..., 2:] * 0.5], axis=-1) + + boxes1 = tf.concat([tf.minimum(boxes1[..., :2], boxes1[..., 2:]), + tf.maximum(boxes1[..., :2], boxes1[..., 2:])], axis=-1) + boxes2 = tf.concat([tf.minimum(boxes2[..., :2], boxes2[..., 2:]), + tf.maximum(boxes2[..., :2], boxes2[..., 2:])], axis=-1) + + boxes1_area = (boxes1[..., 2] - boxes1[..., 0]) * (boxes1[..., 3] - boxes1[..., 1]) + boxes2_area = (boxes2[..., 2] - boxes2[..., 0]) * (boxes2[..., 3] - boxes2[..., 1]) + + left_up = tf.maximum(boxes1[..., :2], boxes2[..., :2]) + right_down = tf.minimum(boxes1[..., 2:], boxes2[..., 2:]) + + inter_section = tf.maximum(right_down - left_up, 0.0) + inter_area = inter_section[..., 0] * inter_section[..., 1] + union_area = boxes1_area + boxes2_area - inter_area + iou = inter_area / (union_area + 1e-6) + # added 1e-6 in denominator to avoid generation of inf, which may cause nan loss + + enclose_left_up = tf.minimum(boxes1[..., :2], boxes2[..., :2]) + enclose_right_down = tf.maximum(boxes1[..., 2:], boxes2[..., 2:]) + enclose = tf.maximum(enclose_right_down - enclose_left_up, 0.0) + enclose_area = enclose[..., 0] * enclose[..., 1] + giou = iou - 1.0 * (enclose_area - union_area) / (enclose_area + 1e-6) + # added 1e-6 in denominator to avoid generation of inf, which may cause nan loss + + return giou + + def bbox_iou(self, boxes1, boxes2): + + boxes1_area = boxes1[..., 2] * boxes1[..., 3] + boxes2_area = boxes2[..., 2] * boxes2[..., 3] + + boxes1 = tf.concat([boxes1[..., :2] - boxes1[..., 2:] * 0.5, + boxes1[..., :2] + boxes1[..., 2:] * 0.5], axis=-1) + boxes2 = tf.concat([boxes2[..., :2] - boxes2[..., 2:] * 0.5, + boxes2[..., :2] + boxes2[..., 2:] * 0.5], axis=-1) + + left_up = tf.maximum(boxes1[..., :2], boxes2[..., :2]) + right_down = tf.minimum(boxes1[..., 2:], boxes2[..., 2:]) + + inter_section = tf.maximum(right_down - left_up, 0.0) + inter_area = inter_section[..., 0] * inter_section[..., 1] + union_area = boxes1_area + boxes2_area - inter_area + iou = 1.0 * inter_area / union_area + + return iou + + def loss_layer(self, conv, pred, label, bboxes, anchors, stride): + + conv_shape = tf.shape(conv) + batch_size = conv_shape[0] + output_size = conv_shape[1] + input_size = stride * output_size + conv = tf.reshape(conv, (batch_size, output_size, output_size, + self.anchor_per_scale, 5 + self.num_class)) + conv_raw_conf = conv[:, :, :, :, 4:5] + conv_raw_prob = conv[:, :, :, :, 5:] + + pred_xywh = pred[:, :, :, :, 0:4] + pred_conf = pred[:, :, :, :, 4:5] + + label_xywh = label[:, :, :, :, 0:4] + respond_bbox = label[:, :, :, :, 4:5] + label_prob = label[:, :, :, :, 5:] + + giou = tf.expand_dims(self.bbox_giou(pred_xywh, label_xywh), axis=-1) + input_size = tf.cast(input_size, tf.float32) + + bbox_loss_scale = 2.0 - 1.0 * label_xywh[:, :, :, :, 2:3] * label_xywh[:, :, :, :, 3:4] / (input_size ** 2) + giou_loss = respond_bbox * bbox_loss_scale * (1- giou) + + iou = self.bbox_iou(pred_xywh[:, :, :, :, np.newaxis, :], bboxes[:, np.newaxis, np.newaxis, np.newaxis, :, :]) + max_iou = tf.expand_dims(tf.reduce_max(iou, axis=-1), axis=-1) + + respond_bgd = (1.0 - respond_bbox) * tf.cast( max_iou < self.iou_loss_thresh, tf.float32 ) + + conf_focal = self.focal(respond_bbox, pred_conf) + + conf_loss = conf_focal * ( + respond_bbox * tf.nn.sigmoid_cross_entropy_with_logits(labels=respond_bbox, logits=conv_raw_conf) + + + respond_bgd * tf.nn.sigmoid_cross_entropy_with_logits(labels=respond_bbox, logits=conv_raw_conf) + ) + + prob_loss = respond_bbox * tf.nn.sigmoid_cross_entropy_with_logits(labels=label_prob, logits=conv_raw_prob) + + giou_loss = tf.reduce_mean(tf.reduce_sum(giou_loss, axis=[1,2,3,4])) + conf_loss = tf.reduce_mean(tf.reduce_sum(conf_loss, axis=[1,2,3,4])) + prob_loss = tf.reduce_mean(tf.reduce_sum(prob_loss, axis=[1,2,3,4])) + + return giou_loss, conf_loss, prob_loss + + + + def compute_loss(self, label_sbbox, label_mbbox, label_lbbox, true_sbbox, true_mbbox, true_lbbox): + + with tf.name_scope('smaller_box_loss'): + loss_sbbox = self.loss_layer(self.conv_sbbox, self.pred_sbbox, label_sbbox, true_sbbox, + anchors = self.anchors[0], stride = self.strides[0]) + + with tf.name_scope('medium_box_loss'): + loss_mbbox = self.loss_layer(self.conv_mbbox, self.pred_mbbox, label_mbbox, true_mbbox, + anchors = self.anchors[1], stride = self.strides[1]) + + with tf.name_scope('bigger_box_loss'): + loss_lbbox = self.loss_layer(self.conv_lbbox, self.pred_lbbox, label_lbbox, true_lbbox, + anchors = self.anchors[2], stride = self.strides[2]) + + with tf.name_scope('giou_loss'): + giou_loss = loss_sbbox[0] + loss_mbbox[0] + loss_lbbox[0] + + with tf.name_scope('conf_loss'): + conf_loss = loss_sbbox[1] + loss_mbbox[1] + loss_lbbox[1] + + with tf.name_scope('prob_loss'): + prob_loss = loss_sbbox[2] + loss_mbbox[2] + loss_lbbox[2] + + return giou_loss, conf_loss, prob_loss + + diff --git a/cv/detection/yolov3/tensorflow/data/anchors/basline_anchors.txt b/cv/detection/yolov3/tensorflow/data/anchors/basline_anchors.txt new file mode 100644 index 0000000000000000000000000000000000000000..ee6e756eced092c485c3446656d088854f2a49b8 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/data/anchors/basline_anchors.txt @@ -0,0 +1 @@ +1.25,1.625, 2.0,3.75, 4.125,2.875, 1.875,3.8125, 3.875,2.8125, 3.6875,7.4375, 3.625,2.8125, 4.875,6.1875, 11.65625,10.1875 diff --git a/cv/detection/yolov3/tensorflow/data/anchors/coco_anchors.txt b/cv/detection/yolov3/tensorflow/data/anchors/coco_anchors.txt new file mode 100644 index 0000000000000000000000000000000000000000..80785b05f013de4da770ed5939634b1874701eda --- /dev/null +++ b/cv/detection/yolov3/tensorflow/data/anchors/coco_anchors.txt @@ -0,0 +1 @@ +10,13, 16,30, 33,23, 30,61, 62,45, 59,119, 116,90, 156,198, 373,326 diff --git a/cv/detection/yolov3/tensorflow/data/classes/coco.names b/cv/detection/yolov3/tensorflow/data/classes/coco.names new file mode 100644 index 0000000000000000000000000000000000000000..ca76c80b5b2cd0b25047f75736656cfebc9da7aa --- /dev/null +++ b/cv/detection/yolov3/tensorflow/data/classes/coco.names @@ -0,0 +1,80 @@ +person +bicycle +car +motorbike +aeroplane +bus +train +truck +boat +traffic light +fire hydrant +stop sign +parking meter +bench +bird +cat +dog +horse +sheep +cow +elephant +bear +zebra +giraffe +backpack +umbrella +handbag +tie +suitcase +frisbee +skis +snowboard +sports ball +kite +baseball bat +baseball glove +skateboard +surfboard +tennis racket +bottle +wine glass +cup +fork +knife +spoon +bowl +banana +apple +sandwich +orange +broccoli +carrot +hot dog +pizza +donut +cake +chair +sofa +pottedplant +bed +diningtable +toilet +tvmonitor +laptop +mouse +remote +keyboard +cell phone +microwave +oven +toaster +sink +refrigerator +book +clock +vase +scissors +teddy bear +hair drier +toothbrush diff --git a/cv/detection/yolov3/tensorflow/data/classes/voc.names b/cv/detection/yolov3/tensorflow/data/classes/voc.names new file mode 100644 index 0000000000000000000000000000000000000000..1168c39990e4604bb76326833eb7814ed275fcec --- /dev/null +++ b/cv/detection/yolov3/tensorflow/data/classes/voc.names @@ -0,0 +1,20 @@ +aeroplane +bicycle +bird +boat +bottle +bus +car +cat +chair +cow +diningtable +dog +horse +motorbike +person +pottedplant +sheep +sofa +train +tvmonitor \ No newline at end of file diff --git a/cv/detection/yolov3/tensorflow/data/dataset/voc_test.txt b/cv/detection/yolov3/tensorflow/data/dataset/voc_test.txt new file mode 100644 index 0000000000000000000000000000000000000000..e0d2e385aeabc90c5cf43fa8de97f6e93093fcdf --- /dev/null +++ b/cv/detection/yolov3/tensorflow/data/dataset/voc_test.txt @@ -0,0 +1,4952 @@ +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000001.jpg 48,240,195,371,11 8,12,352,498,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000002.jpg 139,200,207,301,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000003.jpg 123,155,215,195,17 239,156,307,205,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000004.jpg 13,311,84,362,6 362,330,500,389,6 235,328,334,375,6 175,327,252,364,6 139,320,189,359,6 108,325,150,353,6 84,323,121,350,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000006.jpg 187,135,282,242,15 154,209,369,375,10 255,207,366,375,8 138,211,249,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000008.jpg 192,16,364,249,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000010.jpg 87,97,258,427,12 133,72,245,284,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000011.jpg 126,51,330,308,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000013.jpg 299,160,446,252,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000014.jpg 72,163,302,228,5 185,194,500,316,6 416,180,500,222,6 314,8,344,65,14 331,4,361,61,14 357,8,401,61,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000015.jpg 77,136,360,358,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000018.jpg 31,30,358,279,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000022.jpg 68,103,368,283,12 186,44,255,230,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000025.jpg 2,84,59,248,9 68,115,233,279,9 64,173,377,373,9 320,2,496,375,14 221,4,341,374,14 135,14,220,148,14 69,43,156,177,9 58,54,104,139,14 279,1,331,86,14 320,22,344,96,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000027.jpg 174,101,349,351,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000028.jpg 63,18,374,500,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000029.jpg 56,63,284,290,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000031.jpg 41,77,430,255,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000037.jpg 61,96,464,339,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000038.jpg 159,178,279,246,1 1,235,43,315,13 192,111,261,240,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000040.jpg 1,52,384,290,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000043.jpg 174,229,324,375,14 5,145,250,500,14 19,6,323,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000045.jpg 280,64,483,252,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000049.jpg 178,131,356,227,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000053.jpg 36,12,425,262,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000054.jpg 24,54,472,292,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000055.jpg 209,132,275,222,13 219,107,273,187,14 436,279,456,327,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000056.jpg 165,60,387,334,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000057.jpg 133,53,385,358,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000058.jpg 334,1,436,373,14 196,80,309,326,14 279,53,334,267,14 29,109,359,375,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000059.jpg 88,161,142,206,19 177,135,273,200,19 110,210,328,500,14 72,272,115,356,14 125,274,171,353,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000062.jpg 58,188,271,310,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000067.jpg 44,72,450,210,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000068.jpg 27,45,266,375,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000069.jpg 19,64,424,190,3 305,155,390,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000070.jpg 358,163,378,197,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000071.jpg 61,75,443,274,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000074.jpg 58,61,475,283,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000075.jpg 102,83,222,348,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000076.jpg 63,78,265,375,14 257,75,448,375,14 362,130,446,261,14 472,157,500,343,14 457,209,478,255,14 439,170,458,216,14 247,142,288,197,14 44,162,84,286,14 77,157,120,245,14 1,159,26,283,14 24,174,45,201,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000079.jpg 1,53,390,357,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000080.jpg 246,202,269,282,3 70,243,111,274,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000082.jpg 22,93,493,298,6 1,1,207,88,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000084.jpg 339,156,390,235,8 291,171,346,273,8 142,174,193,276,8 232,192,291,303,8 156,182,332,281,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000085.jpg 22,70,254,327,14 338,12,500,199,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000086.jpg 308,131,356,173,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000087.jpg 120,166,318,204,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000088.jpg 123,7,500,365,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000090.jpg 193,65,346,278,8 33,33,307,255,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000092.jpg 2,66,413,333,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000094.jpg 16,1,500,333,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000096.jpg 2,144,176,500,14 140,109,330,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000097.jpg 58,174,270,285,17 1,220,156,375,8 208,139,267,235,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000098.jpg 69,70,317,162,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000100.jpg 3,47,432,222,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000103.jpg 1,241,47,276,6 26,234,85,265,6 98,222,143,252,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000105.jpg 22,1,320,314,3 202,71,295,215,14 170,107,239,206,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000106.jpg 181,96,368,252,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000108.jpg 313,131,500,235,11 1,103,305,262,11 1,59,500,375,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000111.jpg 415,270,500,375,14 149,186,171,213,14 112,186,135,222,14 92,198,141,227,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000114.jpg 158,64,432,365,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000115.jpg 1,219,247,437,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000116.jpg 1,185,45,302,8 2,97,106,273,15 192,96,277,202,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000119.jpg 107,96,309,348,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000124.jpg 2,6,104,146,14 230,25,320,138,14 78,15,478,375,14 70,2,227,127,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000126.jpg 78,182,259,215,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000127.jpg 238,215,341,318,2 173,226,231,375,2 68,21,371,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000128.jpg 53,117,458,231,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000135.jpg 208,194,332,259,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000136.jpg 331,205,407,267,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000137.jpg 96,430,164,482,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000139.jpg 114,124,262,275,1 151,52,265,209,14 1,173,98,334,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000144.jpg 135,191,438,333,10 221,192,248,276,4 245,156,265,215,4 2,100,134,333,14 166,66,279,193,14 351,3,438,304,14 344,8,500,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000145.jpg 52,88,380,291,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000148.jpg 131,112,465,312,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000149.jpg 114,2,351,361,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000151.jpg 153,136,375,264,4 4,49,375,440,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000152.jpg 60,99,123,152,6 413,93,500,156,6 309,93,421,141,6 116,82,405,285,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000155.jpg 122,160,168,255,1 223,288,305,419,1 89,7,137,89,14 114,120,171,208,14 221,250,299,359,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000157.jpg 132,162,378,224,7 34,35,400,266,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000160.jpg 2,242,336,373,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000166.jpg 324,170,354,285,14 243,180,292,227,14 2,170,22,266,14 26,178,47,230,14 67,114,160,238,14 48,163,229,334,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000167.jpg 27,18,478,374,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000168.jpg 72,102,223,304,14 104,123,201,471,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000172.jpg 29,54,456,321,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000175.jpg 25,34,419,271,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000176.jpg 41,135,148,288,16 175,152,287,284,16 287,216,319,277,16 2,208,83,278,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000178.jpg 240,85,288,254,4 356,72,397,216,4 331,60,362,166,4 167,65,204,180,4 202,82,251,244,4 1,1,102,216,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000179.jpg 269,420,366,467,3 85,29,301,493,3 1,419,77,465,3 221,412,246,457,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000181.jpg 259,159,410,287,14 121,154,304,369,14 17,129,277,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000182.jpg 114,50,325,372,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000183.jpg 77,2,500,338,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000185.jpg 239,239,338,378,14 280,290,346,390,8 254,234,299,289,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000186.jpg 58,49,284,362,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000188.jpg 89,88,500,200,5 29,109,68,215,14 406,146,500,216,6 1,140,139,202,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000191.jpg 29,181,147,499,14 307,222,333,428,14 204,244,218,296,14 167,245,188,295,14 140,245,155,293,14 224,233,316,438,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000195.jpg 6,15,482,373,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000196.jpg 1,201,69,356,8 75,161,170,298,8 270,150,347,261,8 236,153,281,224,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000197.jpg 35,56,466,259,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000199.jpg 82,68,383,270,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000201.jpg 180,72,234,124,14 316,29,376,93,14 268,81,384,248,14 256,135,378,314,13 326,59,391,134,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000202.jpg 417,114,500,333,4 1,8,335,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000204.jpg 211,66,327,174,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000205.jpg 107,156,304,482,14 83,277,241,401,11 1,199,374,457,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000206.jpg 89,349,189,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000212.jpg 2,82,198,332,14 139,141,206,195,14 243,103,288,170,14 282,100,341,195,14 265,140,302,193,14 322,133,456,223,14 468,123,499,221,14 431,114,463,184,14 321,60,369,142,14 351,68,384,113,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000213.jpg 100,69,312,294,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000216.jpg 234,170,284,224,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000217.jpg 133,184,409,333,10 135,213,235,333,8 121,210,200,320,8 296,224,383,333,8 292,169,337,217,8 251,167,298,205,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000223.jpg 156,85,341,290,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000226.jpg 312,250,432,375,8 74,265,262,375,8 51,230,113,375,8 111,242,377,375,10 233,161,296,221,14 352,168,404,243,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000227.jpg 220,123,473,354,7 26,38,177,163,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000230.jpg 162,167,397,357,1 250,72,357,355,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000231.jpg 87,110,278,206,5 337,124,366,227,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000234.jpg 307,92,472,326,8 61,231,135,316,15 11,150,75,201,15 12,51,220,228,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000237.jpg 232,37,337,201,14 55,47,387,332,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000238.jpg 1,1,293,373,18 443,252,490,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000239.jpg 63,26,468,219,5 1,138,33,206,14 29,166,82,238,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000240.jpg 410,133,489,172,3 263,175,438,234,6 60,156,146,221,6 374,154,416,181,6 348,153,374,189,14 159,153,175,193,14 176,152,206,174,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000243.jpg 181,127,274,193,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000247.jpg 2,143,135,319,8 114,51,273,374,14 146,143,247,395,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000248.jpg 189,157,308,265,14 104,90,313,273,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000252.jpg 194,168,297,241,6 147,54,283,224,5 239,112,266,135,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000253.jpg 108,55,350,228,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000254.jpg 197,239,475,333,6 1,210,197,333,6 159,247,231,314,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000255.jpg 2,2,419,332,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000258.jpg 192,123,404,333,11 350,27,500,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000260.jpg 55,50,456,235,0 394,163,500,212,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000261.jpg 1,76,405,326,1 58,79,408,295,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000264.jpg 2,82,333,500,13 115,47,309,475,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000265.jpg 167,8,363,144,19 131,233,231,333,14 109,179,240,333,14 16,184,134,332,14 257,29,353,135,14 3,74,65,259,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000267.jpg 80,86,332,500,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000271.jpg 414,182,484,237,6 338,189,357,232,14 43,169,62,231,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000272.jpg 25,71,304,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000273.jpg 235,149,304,184,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000274.jpg 49,100,407,303,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000277.jpg 14,104,479,321,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000279.jpg 298,190,373,359,14 215,199,302,367,14 75,186,213,365,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000280.jpg 454,153,477,213,4 480,107,500,173,4 438,127,458,164,4 153,68,288,325,14 245,153,500,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000281.jpg 47,93,436,254,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000283.jpg 333,110,456,421,14 82,14,191,301,14 331,257,436,455,1 86,130,184,354,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000284.jpg 201,78,440,256,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000286.jpg 94,218,226,375,14 189,11,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000287.jpg 421,65,500,129,14 7,1,303,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000290.jpg 88,101,333,500,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000291.jpg 176,160,335,291,19 1,132,183,308,19 291,102,326,136,14 267,114,303,135,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000292.jpg 94,1,442,374,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000293.jpg 13,20,65,192,14 140,33,175,133,14 171,40,200,116,14 479,49,500,76,14 1,2,456,318,6 68,62,122,99,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000295.jpg 362,195,404,246,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000297.jpg 103,120,249,395,9 269,176,366,399,14 226,178,319,365,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000299.jpg 160,118,290,337,14 62,45,83,69,14 86,45,112,69,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000300.jpg 37,192,337,447,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000301.jpg 8,295,375,487,6 15,318,106,365,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000309.jpg 105,170,325,298,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000310.jpg 270,122,352,374,14 167,103,277,375,14 54,163,90,240,14 118,146,135,162,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000313.jpg 7,193,81,233,6 74,194,140,235,6 136,196,196,236,6 208,199,259,238,6 281,199,330,239,6 360,202,419,245,6 422,203,493,247,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000314.jpg 355,171,500,330,17 212,178,298,293,8 288,132,315,202,8 194,135,245,206,8 196,134,308,210,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000315.jpg 51,195,324,500,14 2,133,112,500,14 284,99,375,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000316.jpg 337,179,404,211,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000319.jpg 31,80,312,291,12 316,183,374,250,12 155,49,229,220,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000324.jpg 33,104,358,246,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000326.jpg 189,98,295,236,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000327.jpg 305,27,333,127,4 1,89,500,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000330.jpg 188,46,304,208,14 82,53,388,333,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000333.jpg 1,39,367,270,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000335.jpg 4,80,361,374,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000339.jpg 1,6,235,230,8 2,110,214,372,14 208,184,302,373,14 301,90,472,358,14 362,174,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000341.jpg 313,113,393,200,5 412,154,430,190,14 383,199,500,297,6 193,137,312,222,6 48,148,177,215,6 1,204,102,337,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000342.jpg 95,136,328,319,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000345.jpg 249,119,499,280,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000346.jpg 124,107,230,343,4 137,78,497,375,14 89,202,129,247,14 72,209,111,259,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000348.jpg 213,102,281,324,14 266,111,322,265,14 307,128,334,181,14 101,144,382,306,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000350.jpg 167,145,247,189,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000351.jpg 1,28,330,156,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000353.jpg 79,29,441,356,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000356.jpg 86,116,251,322,14 122,170,218,480,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000357.jpg 29,1,500,356,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000358.jpg 89,100,387,284,6 23,33,110,287,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000360.jpg 64,42,500,375,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000361.jpg 217,188,286,234,6 467,117,500,146,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000362.jpg 163,26,287,267,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000364.jpg 54,25,454,315,13 318,37,489,161,13 369,1,458,130,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000365.jpg 112,136,344,378,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000366.jpg 79,174,266,486,10 16,185,115,411,8 242,206,371,431,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000368.jpg 50,21,272,482,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000369.jpg 181,259,216,375,4 96,89,429,277,14 231,91,500,375,14 1,92,120,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000371.jpg 248,179,406,248,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000375.jpg 3,1,489,340,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000376.jpg 229,150,265,175,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000377.jpg 115,73,201,228,14 181,90,270,221,14 203,149,315,263,14 90,158,210,266,14 22,80,121,255,14 386,77,493,253,14 339,89,406,294,14 284,99,355,270,14 375,228,481,375,8 378,265,500,375,8 1,250,383,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000378.jpg 46,67,208,318,12 48,4,160,212,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000383.jpg 64,46,398,374,2 2,15,144,350,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000384.jpg 174,27,454,292,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000385.jpg 154,194,281,372,8 373,173,500,322,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000386.jpg 287,155,432,266,9 137,166,204,236,9 68,130,178,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000388.jpg 2,125,175,497,14 138,6,329,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000389.jpg 7,256,194,434,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000390.jpg 8,64,492,401,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000392.jpg 100,96,355,324,12 198,58,286,197,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000393.jpg 235,51,309,222,14 157,106,426,294,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000397.jpg 142,206,213,261,19 271,192,313,273,8 32,186,64,249,15 1,153,37,249,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000398.jpg 78,1,396,417,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000399.jpg 23,15,479,296,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000401.jpg 215,156,485,375,7 1,113,202,259,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000402.jpg 12,184,393,324,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000405.jpg 16,39,312,479,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000409.jpg 44,19,332,290,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000410.jpg 131,228,251,315,12 16,189,66,348,14 271,224,306,318,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000412.jpg 66,127,366,333,12 57,100,395,316,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000413.jpg 139,149,270,344,14 68,288,128,375,14 1,209,73,375,14 159,6,443,364,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000414.jpg 58,56,242,234,19 118,88,206,187,14 263,100,300,215,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000415.jpg 12,105,490,279,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000418.jpg 2,40,458,374,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000421.jpg 2,53,192,248,19 292,18,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000422.jpg 10,16,500,446,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000423.jpg 51,80,122,266,14 367,92,461,315,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000425.jpg 1,3,500,333,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000426.jpg 165,177,274,258,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000429.jpg 33,255,85,296,15 2,249,61,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000432.jpg 220,202,275,239,9 316,203,376,239,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000434.jpg 95,73,425,263,12 187,44,291,208,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000436.jpg 36,119,351,263,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000437.jpg 324,96,380,231,14 97,142,139,219,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000440.jpg 37,82,459,305,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000441.jpg 161,103,315,248,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000442.jpg 35,2,500,375,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000444.jpg 2,2,332,325,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000445.jpg 266,86,475,252,12 135,70,318,255,12 1,68,173,268,12 38,46,128,154,14 125,43,188,101,14 192,48,263,150,14 334,70,414,157,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000447.jpg 226,156,279,318,4 35,42,279,184,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000449.jpg 1,1,500,298,3 416,61,480,193,14 210,118,306,208,14 129,94,199,209,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000451.jpg 7,15,462,330,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000452.jpg 50,121,295,338,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000453.jpg 267,139,305,181,14 9,121,483,294,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000455.jpg 213,35,302,212,14 125,79,500,306,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000456.jpg 92,43,425,303,5 121,117,174,160,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000457.jpg 1,99,304,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000458.jpg 107,125,384,325,16 201,39,388,337,14 34,1,120,234,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000465.jpg 1,134,500,316,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000466.jpg 241,104,344,258,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000467.jpg 370,123,472,176,13 291,129,349,205,13 217,148,284,229,13 87,141,168,265,13 404,72,455,152,14 295,81,362,186,14 208,80,288,211,14 184,79,245,199,14 89,84,177,233,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000471.jpg 40,71,463,321,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000472.jpg 1,49,445,375,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000473.jpg 415,120,460,153,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000475.jpg 213,153,343,259,16 328,85,363,133,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000478.jpg 180,96,454,243,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000479.jpg 34,2,374,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000481.jpg 277,164,500,319,3 12,140,322,298,3 1,164,185,272,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000485.jpg 10,112,475,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000487.jpg 343,248,482,376,8 35,253,182,376,8 181,176,253,336,8 259,152,302,229,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000488.jpg 34,102,480,315,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000490.jpg 100,77,184,281,14 130,74,250,319,14 252,191,339,284,14 245,121,500,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000493.jpg 28,61,158,341,14 138,83,221,341,14 210,71,306,341,14 295,36,400,341,14 347,25,472,341,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000495.jpg 104,16,400,266,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000497.jpg 6,203,418,472,13 157,170,298,462,14 340,178,389,258,14 399,238,423,305,14 439,220,468,302,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000502.jpg 1,1,500,357,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000504.jpg 341,102,500,406,9 36,34,79,123,14 2,44,36,120,14 29,42,41,64,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000505.jpg 197,58,398,161,6 245,79,405,204,6 158,158,386,287,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000506.jpg 75,291,226,476,11 48,4,325,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000507.jpg 1,135,500,375,6 187,49,295,231,14 293,91,350,220,14 284,192,397,284,14 117,154,164,219,14 160,167,199,218,14 61,156,124,263,14 16,168,78,270,14 71,101,126,201,14 409,181,488,284,14 389,185,412,216,14 11,131,42,200,14 2,139,22,174,14 1,214,18,284,14 264,158,305,207,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000510.jpg 44,244,130,371,8 58,259,162,375,8 157,271,249,375,8 259,266,373,375,8 109,268,322,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000511.jpg 109,143,284,225,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000512.jpg 20,79,423,357,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000517.jpg 190,114,349,270,7 187,225,216,340,4 25,238,154,375,11 196,38,358,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000521.jpg 247,125,327,250,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000527.jpg 384,160,426,238,14 232,156,286,254,14 154,163,222,261,14 53,82,86,149,14 145,208,259,293,1 219,194,323,263,1 369,194,452,259,1 350,170,412,220,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000529.jpg 290,143,500,250,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000532.jpg 202,159,357,331,13 282,123,433,288,13 185,92,357,316,14 266,54,417,259,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000533.jpg 341,63,401,115,11 3,2,500,152,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000534.jpg 3,15,463,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000536.jpg 11,90,481,330,5 463,207,498,320,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000538.jpg 71,128,116,274,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000539.jpg 24,103,347,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000542.jpg 1,1,497,361,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000546.jpg 1,138,290,372,11 285,56,479,359,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000547.jpg 313,294,360,373,8 163,303,216,353,8 230,298,285,346,8 158,252,201,312,8 307,218,340,286,8 259,387,308,475,8 207,438,260,495,8 147,398,201,473,8 160,339,208,410,8 183,365,283,443,10 186,255,265,304,10 255,232,294,287,14 199,218,238,263,14 301,171,336,223,8 48,297,91,369,8 22,418,80,495,8 1,399,49,478,14 25,362,64,422,14 32,314,69,373,14 83,156,121,249,14 1,295,49,468,10 326,172,375,206,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000548.jpg 16,177,454,319,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000551.jpg 288,143,497,330,11 2,184,312,378,11 74,12,294,209,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000553.jpg 40,51,428,349,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000556.jpg 75,101,358,302,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000557.jpg 51,138,167,213,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000558.jpg 118,135,174,211,3 171,114,235,209,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000560.jpg 56,328,204,390,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000561.jpg 145,167,311,491,2 37,27,177,412,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000562.jpg 184,188,259,307,1 194,131,273,291,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000566.jpg 16,29,315,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000567.jpg 189,234,294,375,1 144,63,312,362,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000568.jpg 95,53,380,262,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000569.jpg 40,34,412,348,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000570.jpg 141,108,470,330,13 259,46,406,275,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000571.jpg 174,189,282,298,19 92,207,146,278,19 222,285,345,398,19 300,132,330,170,19 264,130,288,156,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000572.jpg 1,178,235,331,1 8,134,226,297,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000573.jpg 5,69,137,220,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000574.jpg 160,208,354,355,16 243,291,313,341,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000575.jpg 208,22,309,150,15 3,8,92,98,15 20,97,271,283,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000576.jpg 253,106,471,312,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000578.jpg 81,2,317,443,14 3,2,317,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000580.jpg 270,145,391,219,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000584.jpg 31,74,369,346,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000585.jpg 2,11,494,332,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000586.jpg 166,341,292,444,6 104,334,141,454,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000587.jpg 281,117,444,266,14 209,153,328,269,14 187,168,268,273,14 23,151,212,375,14 348,255,433,375,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000593.jpg 78,74,382,258,6 270,63,500,228,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000594.jpg 2,124,431,321,1 158,64,486,317,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000595.jpg 147,180,218,354,8 203,211,336,374,8 369,227,500,375,8 143,166,483,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000596.jpg 71,288,111,315,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000600.jpg 1,11,450,322,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000602.jpg 270,105,500,333,14 25,141,259,331,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000603.jpg 47,151,417,341,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000604.jpg 25,228,276,449,12 107,164,218,386,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000606.jpg 144,216,500,375,10 351,71,500,269,14 151,100,281,233,14 178,68,210,117,14 26,101,220,375,14 422,207,456,299,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000607.jpg 236,148,454,305,6 174,114,275,286,14 238,100,259,129,14 75,68,98,122,14 101,75,135,123,14 106,49,133,109,14 1,155,70,305,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000611.jpg 209,2,500,291,11 118,70,181,297,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000614.jpg 136,100,457,311,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000615.jpg 24,29,157,301,14 336,37,489,263,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000616.jpg 354,150,458,414,14 53,99,326,408,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000617.jpg 11,85,500,375,10 353,1,500,239,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000618.jpg 1,35,150,212,0 124,35,489,291,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000621.jpg 352,162,448,375,8 257,163,338,311,14 146,50,245,359,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000623.jpg 113,51,221,201,12 154,25,196,120,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000624.jpg 317,66,343,101,14 341,75,360,105,14 390,61,407,87,14 387,68,422,134,14 430,77,459,140,14 465,61,500,164,14 3,57,91,265,14 1,171,78,285,14 61,53,500,315,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000627.jpg 56,107,317,306,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000629.jpg 34,84,500,184,18 87,100,107,124,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000630.jpg 187,162,483,375,13 266,158,408,298,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000631.jpg 198,31,420,340,3 68,75,259,331,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000634.jpg 214,156,231,186,14 149,196,189,297,14 231,155,413,227,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000636.jpg 79,96,392,300,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000638.jpg 1,24,355,323,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000639.jpg 6,92,330,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000640.jpg 1,54,486,375,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000641.jpg 34,30,406,375,8 138,121,285,299,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000642.jpg 2,191,426,375,8 68,13,443,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000643.jpg 161,112,251,375,14 250,157,339,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000644.jpg 219,114,328,213,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000646.jpg 198,25,412,102,6 394,45,500,236,6 2,32,78,231,6 58,38,449,370,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000649.jpg 16,200,253,339,6 337,167,368,212,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000650.jpg 103,2,416,375,15 40,32,139,254,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000651.jpg 87,4,496,373,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000652.jpg 7,53,268,375,8 125,18,392,375,14 40,64,202,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000655.jpg 199,81,359,296,14 100,120,426,315,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000658.jpg 223,247,500,375,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000659.jpg 99,35,341,243,19 1,1,500,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000662.jpg 46,23,478,242,17 4,69,432,197,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000664.jpg 51,2,325,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000665.jpg 138,176,381,261,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000666.jpg 58,114,306,315,12 296,176,382,322,14 33,153,88,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000668.jpg 15,107,456,262,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000669.jpg 296,198,410,245,6 409,202,500,333,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000670.jpg 189,46,500,375,14 2,61,202,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000673.jpg 1,1,485,333,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000674.jpg 1,2,248,375,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000678.jpg 22,151,272,220,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000679.jpg 102,117,458,280,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000681.jpg 127,130,246,227,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000683.jpg 124,2,284,333,14 284,48,500,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000687.jpg 309,56,489,200,6 102,10,141,68,14 157,20,176,73,14 61,15,100,122,14 186,36,293,133,14 27,66,481,308,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000691.jpg 15,78,253,252,8 223,79,467,284,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000692.jpg 104,33,359,208,14 127,193,472,332,11 127,2,315,95,15 1,2,497,334,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000693.jpg 292,181,499,288,6 379,175,500,229,6 164,178,263,242,6 1,172,177,252,6 321,138,367,194,14 272,138,324,269,14 264,147,291,266,14 219,153,266,281,14 104,158,146,295,14 61,149,111,292,14 13,144,47,288,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000696.jpg 103,90,430,214,0 101,245,121,284,14 175,284,196,312,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000697.jpg 133,206,230,355,1 135,140,229,307,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000698.jpg 146,69,228,369,15 201,196,300,358,15 56,355,131,436,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000701.jpg 132,43,499,295,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000703.jpg 1,183,290,443,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000704.jpg 13,81,235,341,12 352,22,432,123,14 270,15,351,120,14 92,90,337,343,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000706.jpg 224,187,287,235,0 139,244,199,285,0 48,284,111,330,0 118,161,180,213,0 9,107,73,156,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000708.jpg 351,183,490,369,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000715.jpg 28,96,462,355,6 196,58,245,149,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000716.jpg 96,56,315,445,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000718.jpg 148,25,358,374,11 2,1,223,249,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000719.jpg 22,91,196,268,5 244,154,264,241,14 315,133,337,215,14 367,109,388,169,14 415,164,460,270,14 382,162,422,263,14 373,154,404,257,14 436,175,485,288,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000721.jpg 95,139,434,273,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000722.jpg 189,88,366,266,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000723.jpg 95,129,458,262,5 400,206,464,351,14 318,198,365,326,14 75,188,92,243,14 1,195,29,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000724.jpg 62,71,500,328,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000725.jpg 350,149,387,208,9 256,168,282,213,9 179,160,215,217,9 68,162,115,215,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000727.jpg 89,323,273,436,5 272,369,323,388,6 2,380,89,435,6 333,356,358,438,14 319,357,341,424,14 354,363,375,414,14 113,138,160,164,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000732.jpg 52,232,334,450,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000734.jpg 275,89,341,256,14 382,178,460,283,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000735.jpg 27,24,500,290,18 145,118,196,258,14 357,175,392,245,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000736.jpg 3,47,500,333,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000737.jpg 255,122,401,259,12 463,197,473,227,4 434,168,500,284,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000741.jpg 28,84,287,314,7 76,41,418,374,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000743.jpg 89,25,465,347,18 55,307,86,322,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000744.jpg 19,167,359,375,10 207,105,254,194,14 272,105,342,177,14 341,120,380,184,14 355,127,407,212,14 348,163,437,314,14 346,170,480,373,14 167,116,248,217,14 126,121,205,236,14 67,128,195,278,14 15,170,125,344,14 2,181,92,373,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000745.jpg 3,40,498,299,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000747.jpg 47,16,440,316,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000749.jpg 1,100,467,375,10 244,61,452,374,8 56,104,369,375,8 1,104,203,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000751.jpg 79,48,412,309,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000757.jpg 47,25,479,333,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000758.jpg 8,1,454,373,19 180,71,365,298,14 153,82,224,287,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000759.jpg 124,113,493,369,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000762.jpg 29,152,118,375,4 382,61,500,261,14 143,127,266,223,14 199,140,220,187,14 4,22,124,252,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000765.jpg 1,1,446,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000766.jpg 111,2,483,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000769.jpg 8,3,482,331,14 398,14,500,186,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000773.jpg 1,30,441,375,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000775.jpg 75,265,452,459,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000778.jpg 97,111,452,240,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000779.jpg 189,85,306,270,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000781.jpg 103,66,489,400,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000783.jpg 201,57,325,259,14 112,100,441,409,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000784.jpg 1,88,75,265,15 91,107,169,371,14 157,114,211,370,14 188,96,260,363,14 236,88,292,361,14 287,83,352,351,14 329,90,380,353,14 376,100,425,342,14 114,26,157,119,14 118,64,165,117,14 153,35,191,111,14 178,49,239,134,14 233,47,293,137,14 274,57,305,129,14 302,58,340,111,14 340,45,382,124,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000785.jpg 29,40,500,317,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000788.jpg 3,19,33,32,6 41,168,118,315,15 24,52,240,231,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000789.jpg 158,163,232,231,16 230,176,328,250,16 260,158,360,233,16 344,117,382,148,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000790.jpg 139,101,196,163,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000792.jpg 163,5,283,467,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000795.jpg 1,272,500,333,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000798.jpg 1,105,500,333,17 68,117,259,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000801.jpg 55,139,243,221,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000803.jpg 114,88,249,256,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000807.jpg 34,31,200,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000809.jpg 252,119,500,213,6 118,123,149,138,6 1,124,133,201,6 26,124,479,269,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000811.jpg 149,133,337,269,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000813.jpg 58,55,390,373,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000817.jpg 227,131,291,149,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000819.jpg 71,14,322,316,14 25,158,333,394,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000821.jpg 105,50,385,178,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000824.jpg 54,105,486,323,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000825.jpg 41,47,459,294,1 242,143,282,190,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000833.jpg 12,6,450,382,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000835.jpg 207,118,305,235,18 302,91,412,246,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000836.jpg 69,99,224,297,14 93,162,226,442,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000837.jpg 261,65,365,159,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000838.jpg 196,91,361,363,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000839.jpg 93,124,277,247,17 280,124,487,291,17 263,179,417,351,14 303,110,427,241,14 266,103,365,257,14 274,96,348,206,14 217,103,280,192,14 162,107,238,194,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000840.jpg 1,179,288,345,17 334,75,385,135,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000841.jpg 1,156,492,343,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000844.jpg 70,69,394,291,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000846.jpg 123,177,165,208,0 147,213,187,243,0 174,244,213,273,0 189,211,231,241,0 213,181,251,212,0 259,185,298,215,0 190,152,230,182,0 146,142,185,173,0 168,103,206,134,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000852.jpg 249,12,463,113,2 252,91,475,152,2 23,20,238,116,2 114,70,312,214,2 14,111,213,208,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000853.jpg 51,147,333,500,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000856.jpg 174,68,311,314,14 5,190,500,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000858.jpg 288,146,404,250,5 71,192,104,293,14 145,195,169,284,14 105,206,119,247,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000861.jpg 1,1,315,189,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000864.jpg 4,81,486,242,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000866.jpg 133,159,376,365,12 187,107,277,298,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000869.jpg 144,192,167,243,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000870.jpg 254,146,419,315,14 3,72,309,374,14 28,170,221,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000873.jpg 90,40,335,500,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000875.jpg 278,171,304,202,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000877.jpg 166,107,305,283,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000881.jpg 245,156,432,256,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000883.jpg 68,94,305,277,6 151,53,217,146,14 130,114,149,143,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000884.jpg 1,99,356,334,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000886.jpg 51,3,436,356,14 4,106,351,356,8 450,124,489,195,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000890.jpg 398,148,462,310,15 361,253,411,307,15 325,189,394,309,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000891.jpg 46,193,220,333,1 57,13,271,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000893.jpg 53,152,73,206,4 71,152,89,206,4 88,152,109,206,4 57,223,76,256,4 75,220,95,255,4 93,220,111,254,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000894.jpg 86,88,265,412,13 5,90,35,106,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000897.jpg 241,87,380,336,11 72,124,267,322,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000901.jpg 23,22,243,331,14 308,224,376,314,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000905.jpg 161,46,500,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000907.jpg 196,145,346,249,14 1,153,395,332,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000909.jpg 127,182,253,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000910.jpg 20,27,183,500,14 112,2,249,500,14 246,233,376,490,14 231,319,356,468,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000913.jpg 3,1,306,237,11 1,179,401,377,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000914.jpg 51,2,374,423,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000916.jpg 119,110,156,245,14 4,116,22,165,14 100,38,500,328,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000922.jpg 126,94,218,224,18 242,55,347,348,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000924.jpg 281,133,397,270,5 153,133,266,267,5 15,129,167,268,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000925.jpg 29,101,216,343,16 309,105,460,333,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000927.jpg 256,155,492,332,14 82,1,316,331,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000928.jpg 24,81,204,222,7 256,116,452,269,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000930.jpg 174,72,333,248,14 139,153,345,282,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000932.jpg 35,111,497,299,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000933.jpg 117,148,341,471,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000938.jpg 319,184,434,318,8 213,170,281,241,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000939.jpg 1,59,340,461,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000940.jpg 185,81,445,355,14 128,85,224,190,14 157,163,399,375,8 48,184,200,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000941.jpg 14,190,500,399,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000942.jpg 62,114,500,265,18 1,133,75,194,18 216,188,264,259,14 327,120,353,148,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000944.jpg 228,98,373,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000945.jpg 55,79,426,230,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000952.jpg 15,95,246,332,14 196,103,412,332,14 465,189,492,236,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000953.jpg 22,187,125,351,8 222,104,268,135,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000955.jpg 139,62,385,332,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000956.jpg 163,227,398,375,19 185,56,500,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000957.jpg 97,21,297,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000959.jpg 204,22,362,139,14 51,11,201,154,14 100,108,284,332,14 226,110,407,333,14 333,83,500,333,14 1,117,150,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000960.jpg 93,109,203,252,2 338,109,454,224,2 192,275,356,367,2 75,293,205,370,2 358,315,477,389,2 15,44,139,90,2 10,163,97,270,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000961.jpg 122,354,222,468,19 344,134,375,194,6 317,125,365,172,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000963.jpg 1,4,381,333,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000968.jpg 17,64,472,231,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000969.jpg 224,2,500,375,14 2,5,335,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000970.jpg 344,128,414,214,18 1,64,500,375,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000974.jpg 22,123,147,226,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000975.jpg 111,61,485,462,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000976.jpg 2,1,500,430,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000978.jpg 189,1,486,373,14 103,3,241,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000979.jpg 93,261,198,394,13 98,168,190,364,14 3,143,74,404,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000981.jpg 51,18,332,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000983.jpg 36,70,288,486,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000984.jpg 66,308,126,498,14 43,322,57,359,14 194,323,233,351,6 1,324,38,361,6 231,294,324,347,6 112,255,184,352,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000985.jpg 1,2,500,357,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000986.jpg 258,150,390,294,9 109,151,172,212,9 51,138,169,215,9 304,146,422,230,9 141,116,300,261,12 160,62,283,236,14 322,68,354,99,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000988.jpg 76,56,401,373,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000990.jpg 208,35,460,333,14 5,34,234,334,14 6,114,55,177,14 402,134,450,187,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000992.jpg 436,197,500,268,16 362,198,440,280,16 137,204,221,300,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000994.jpg 47,124,153,213,19 310,147,419,236,8 210,188,472,374,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000995.jpg 1,72,281,314,3 402,128,500,326,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/000998.jpg 2,80,333,500,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001000.jpg 2,1,500,325,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001003.jpg 111,102,351,254,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001005.jpg 38,149,268,258,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001006.jpg 1,248,68,375,14 178,142,312,251,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001007.jpg 132,117,380,336,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001013.jpg 220,15,500,333,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001016.jpg 206,135,483,237,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001019.jpg 3,1,375,405,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001020.jpg 75,63,287,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001021.jpg 138,34,465,375,8 1,51,183,375,14 199,40,401,375,14 75,223,121,290,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001022.jpg 5,139,490,295,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001023.jpg 408,270,500,400,8 1,294,415,400,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001025.jpg 1,146,371,500,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001026.jpg 209,54,333,118,11 70,238,217,404,11 152,89,325,408,14 75,1,198,247,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001029.jpg 242,43,454,238,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001030.jpg 36,77,442,265,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001031.jpg 43,46,227,211,14 85,174,314,454,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001032.jpg 95,4,500,375,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001033.jpg 145,98,310,386,14 155,231,315,474,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001034.jpg 196,196,452,316,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001035.jpg 1,146,242,350,10 296,64,423,333,14 210,56,323,341,14 1,6,89,170,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001037.jpg 321,98,479,210,11 163,114,327,236,11 101,131,185,218,11 1,116,115,222,11 53,24,145,140,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001038.jpg 162,91,452,410,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001039.jpg 175,224,298,375,8 172,153,213,199,19 224,156,270,203,19 295,153,355,205,19 380,159,435,223,19 173,75,209,117,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001040.jpg 126,125,229,332,14 135,112,366,331,14 362,200,479,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001044.jpg 202,42,344,129,11 18,38,163,138,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001046.jpg 15,117,430,243,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001047.jpg 92,15,107,61,4 74,52,211,242,14 188,58,338,251,14 344,3,482,261,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001048.jpg 170,88,376,248,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001049.jpg 103,68,256,165,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001051.jpg 222,85,322,298,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001054.jpg 17,30,333,443,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001055.jpg 139,102,440,334,14 136,123,500,334,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001058.jpg 9,105,449,242,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001059.jpg 125,242,271,292,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001063.jpg 2,174,480,318,12 221,60,319,318,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001065.jpg 128,1,234,124,14 196,75,500,346,14 2,62,499,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001067.jpg 3,68,481,375,17 89,45,219,375,14 178,40,291,331,14 239,17,394,275,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001070.jpg 89,15,174,108,15 177,5,263,116,15 269,5,348,119,15 90,70,189,206,15 175,125,279,216,15 284,10,404,215,15 369,51,454,170,15 74,204,169,329,15 137,210,288,325,15 281,219,422,329,15 362,208,478,322,15 400,267,499,357,15 106,327,230,401,15 230,335,301,401,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001075.jpg 223,148,407,231,11 58,147,112,284,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001076.jpg 27,81,224,141,3 418,83,496,120,3 114,114,328,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001080.jpg 3,45,500,227,0 137,213,191,255,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001081.jpg 147,176,283,375,8 403,153,461,230,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001085.jpg 68,15,447,314,6 440,3,483,112,14 2,2,86,204,14 101,1,128,71,14 414,1,426,48,14 421,1,444,58,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001086.jpg 299,49,500,358,14 2,37,249,349,14 303,230,366,375,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001087.jpg 20,68,240,307,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001088.jpg 2,1,418,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001089.jpg 12,86,457,328,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001090.jpg 18,159,474,287,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001094.jpg 2,167,347,212,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001095.jpg 260,134,359,348,14 205,165,284,253,14 175,122,237,262,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001096.jpg 175,39,334,225,14 150,141,371,322,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001098.jpg 46,18,375,500,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001099.jpg 3,97,500,327,0 66,257,86,301,14 409,240,433,319,14 86,241,106,298,14 433,239,468,318,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001100.jpg 152,146,327,284,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001103.jpg 135,121,333,366,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001105.jpg 2,219,335,375,10 203,88,423,374,14 443,42,500,375,14 124,176,142,239,4 83,188,113,254,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001108.jpg 87,127,238,375,14 270,49,500,375,14 213,163,308,373,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001111.jpg 386,244,426,270,6 110,247,167,290,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001114.jpg 206,110,401,302,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001115.jpg 104,113,500,261,18 1,117,86,229,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001116.jpg 29,30,500,356,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001117.jpg 6,206,474,375,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001118.jpg 217,88,419,326,14 15,38,235,326,14 40,4,227,225,14 440,1,482,63,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001120.jpg 9,124,44,152,9 119,159,169,193,9 217,186,281,234,9 284,193,352,241,9 409,210,468,259,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001122.jpg 74,22,345,499,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001123.jpg 196,27,440,299,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001126.jpg 155,70,345,279,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001128.jpg 1,110,301,300,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001131.jpg 78,24,414,266,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001132.jpg 21,93,404,286,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001133.jpg 1,208,433,375,17 264,159,404,375,14 181,192,273,375,14 64,202,184,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001134.jpg 56,176,143,302,13 174,186,309,279,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001135.jpg 147,82,393,258,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001138.jpg 278,184,351,291,8 150,195,228,305,8 144,254,217,368,8 257,150,292,192,19 143,156,190,206,19 1,163,26,217,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001139.jpg 1,153,111,359,8 52,128,157,318,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001141.jpg 355,85,404,110,3 261,172,412,368,3 217,118,242,209,14 171,124,197,195,14 146,118,176,212,14 51,192,99,308,14 12,194,53,311,14 219,23,245,41,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001146.jpg 37,32,122,272,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001150.jpg 174,89,397,375,11 1,1,387,375,14 1,1,203,199,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001153.jpg 146,198,358,269,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001155.jpg 22,134,336,308,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001157.jpg 11,27,440,287,13 426,1,466,83,14 461,1,500,89,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001159.jpg 2,240,500,373,17 238,241,314,340,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001162.jpg 196,125,489,327,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001163.jpg 47,187,315,375,17 351,180,500,358,8 43,150,245,223,10 2,144,76,288,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001165.jpg 115,311,191,348,1 192,317,266,358,1 274,252,313,355,14 252,243,282,352,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001167.jpg 1,6,160,166,14 157,19,481,357,14 1,94,43,357,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001169.jpg 107,43,327,181,14 12,92,80,212,8 22,131,138,262,8 237,124,383,279,14 103,120,259,289,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001173.jpg 334,45,498,284,7 3,52,378,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001177.jpg 14,115,90,373,4 202,122,465,348,14 103,129,270,268,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001178.jpg 1,126,500,175,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001179.jpg 178,147,341,373,8 4,202,145,374,8 21,170,274,373,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001180.jpg 175,263,266,426,15 39,115,333,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001181.jpg 99,103,268,284,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001183.jpg 79,163,187,281,12 138,121,349,356,12 227,89,286,245,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001188.jpg 288,95,318,124,3 344,63,377,87,3 325,97,359,123,3 376,96,408,125,3 404,64,445,86,3 180,187,248,262,3 58,110,136,158,3 132,96,176,135,3 451,131,500,173,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001189.jpg 107,266,278,422,10 252,262,342,420,8 259,252,324,388,8 247,248,298,356,8 143,274,246,465,8 60,249,126,325,8 44,258,129,415,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001190.jpg 88,160,411,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001193.jpg 1,1,374,500,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001195.jpg 139,51,327,321,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001196.jpg 89,118,286,408,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001197.jpg 33,26,496,313,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001198.jpg 1,2,422,372,6 376,103,408,162,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001202.jpg 1,159,252,251,11 220,30,391,236,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001208.jpg 247,1,500,260,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001210.jpg 277,259,307,316,14 279,186,309,262,14 224,214,250,306,14 196,199,220,276,14 5,202,45,307,14 2,204,16,280,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001213.jpg 234,376,375,471,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001216.jpg 316,64,380,159,7 1,137,196,250,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001217.jpg 31,142,224,330,11 237,94,500,200,11 274,259,475,375,11 201,160,500,326,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001218.jpg 21,76,471,276,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001219.jpg 100,169,178,310,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001220.jpg 1,54,430,375,17 1,127,385,375,11 1,4,384,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001222.jpg 9,189,46,252,14 1,299,43,375,8 112,183,471,328,6 107,146,243,196,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001223.jpg 15,120,486,254,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001227.jpg 1,1,375,442,3 276,305,310,352,14 108,306,144,376,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001228.jpg 211,209,309,349,7 320,2,500,241,14 181,39,288,235,14 135,27,189,229,14 65,26,134,230,14 16,42,105,237,14 411,9,465,72,14 299,23,360,237,14 259,38,315,237,14 1,48,40,126,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001232.jpg 128,34,378,316,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001235.jpg 134,121,208,265,2 314,157,404,313,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001238.jpg 174,147,257,320,14 171,227,252,358,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001242.jpg 1,12,310,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001243.jpg 88,15,278,491,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001244.jpg 3,154,63,265,8 454,13,493,112,4 254,121,269,177,4 16,114,237,366,14 255,1,475,373,14 358,63,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001245.jpg 238,103,358,252,12 192,146,235,191,14 3,123,33,216,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001246.jpg 178,202,473,376,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001249.jpg 2,319,340,477,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001251.jpg 129,93,160,128,14 18,11,101,154,14 1,65,22,121,14 1,15,351,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001252.jpg 61,87,429,350,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001253.jpg 271,84,375,442,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001255.jpg 1,2,379,375,15 291,2,500,375,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001256.jpg 385,194,429,352,14 443,188,500,322,1 416,196,472,315,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001257.jpg 94,32,312,320,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001261.jpg 1,153,494,375,8 61,18,301,343,14 72,123,331,375,14 256,95,493,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001262.jpg 41,31,359,372,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001264.jpg 69,25,447,348,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001267.jpg 318,200,500,296,6 106,207,140,256,14 238,189,270,261,14 125,205,178,242,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001271.jpg 304,1,405,125,14 293,61,347,137,16 44,24,500,375,16 174,1,218,65,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001275.jpg 171,124,244,280,2 322,206,394,276,2 216,144,286,227,2 288,147,326,213,2 256,129,299,173,2 203,73,238,106,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001276.jpg 118,163,200,223,8 141,175,238,331,8 12,220,184,374,8 309,160,397,288,8 392,176,476,308,8 36,153,82,216,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001278.jpg 2,1,500,351,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001280.jpg 63,76,480,298,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001282.jpg 241,40,397,334,14 30,64,238,333,14 107,117,213,294,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001283.jpg 233,147,375,199,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001285.jpg 204,138,458,285,13 78,128,241,258,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001291.jpg 8,15,500,365,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001295.jpg 75,4,315,498,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001296.jpg 179,47,333,300,14 72,95,408,328,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001297.jpg 1,136,366,500,17 1,86,330,409,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001300.jpg 71,103,255,457,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001301.jpg 22,18,372,375,13 345,16,426,375,14 386,1,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001302.jpg 2,216,202,374,8 4,160,489,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001303.jpg 1,1,431,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001305.jpg 48,110,380,248,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001306.jpg 173,136,287,202,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001307.jpg 267,136,367,270,1 375,85,408,143,14 353,82,373,136,14 338,90,358,114,14 200,56,237,128,14 19,8,270,334,14 372,63,476,334,14 287,63,356,192,14 458,79,496,128,14 168,67,196,95,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001308.jpg 114,76,484,374,6 401,57,472,106,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001313.jpg 154,23,294,193,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001317.jpg 16,11,181,254,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001318.jpg 206,182,368,251,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001319.jpg 68,204,254,375,8 111,99,266,340,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001320.jpg 236,55,302,214,14 171,93,407,290,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001321.jpg 1,98,456,333,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001322.jpg 1,15,500,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001328.jpg 133,114,322,319,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001329.jpg 288,229,450,333,1 58,149,82,192,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001331.jpg 77,37,403,311,6 449,125,500,227,6 380,142,452,200,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001335.jpg 1,182,93,271,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001336.jpg 125,29,288,251,14 68,114,330,269,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001338.jpg 248,58,337,128,19 3,209,263,375,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001339.jpg 52,11,447,337,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001340.jpg 326,284,500,375,11 213,48,406,266,8 150,140,252,375,14 92,111,331,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001342.jpg 312,168,489,326,14 194,36,270,157,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001344.jpg 60,60,374,375,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001347.jpg 113,65,450,375,14 203,63,493,357,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001349.jpg 86,323,134,375,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001351.jpg 399,85,500,375,14 61,177,255,375,14 49,139,152,344,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001353.jpg 121,108,339,331,11 95,2,368,332,14 3,26,95,330,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001354.jpg 337,263,376,361,4 98,199,122,277,4 2,214,480,361,10 2,47,157,255,14 192,71,398,267,14 114,46,188,216,14 183,33,264,210,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001355.jpg 68,118,500,375,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001356.jpg 26,61,500,294,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001357.jpg 43,89,442,351,13 119,25,227,227,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001358.jpg 50,90,166,287,14 180,152,290,252,14 115,54,143,91,14 338,5,433,42,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001359.jpg 201,53,376,265,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001363.jpg 177,33,500,355,19 1,36,179,327,19 360,101,436,194,14 302,103,357,190,14 219,100,288,178,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001366.jpg 286,271,351,330,11 102,261,139,329,11 209,149,262,275,14 257,149,296,280,14 282,165,375,331,14 57,179,122,330,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001367.jpg 115,65,265,240,19 267,59,440,241,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001368.jpg 93,29,301,310,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001369.jpg 19,101,330,433,6 26,45,282,157,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001370.jpg 44,217,190,500,1 199,195,301,464,1 22,48,221,454,14 196,57,331,420,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001372.jpg 300,76,333,233,14 185,72,294,476,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001373.jpg 5,68,497,210,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001374.jpg 323,204,500,374,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001376.jpg 383,241,426,274,6 202,186,306,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001377.jpg 273,163,318,250,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001379.jpg 33,31,475,337,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001380.jpg 394,200,496,298,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001381.jpg 113,43,500,333,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001382.jpg 96,227,288,324,6 298,257,421,327,6 421,254,500,333,6 305,227,470,273,6 284,246,329,284,6 16,231,105,287,6 46,241,70,314,14 1,239,25,315,14 76,233,104,295,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001389.jpg 222,163,461,333,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001391.jpg 7,174,348,375,17 360,16,407,86,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001392.jpg 382,18,500,186,19 46,64,486,329,7 433,45,500,179,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001394.jpg 43,97,109,135,3 132,34,500,290,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001396.jpg 224,199,265,277,14 284,198,316,298,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001398.jpg 18,5,216,175,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001399.jpg 122,206,180,248,2 182,188,246,233,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001401.jpg 109,123,433,279,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001403.jpg 50,170,128,228,1 129,170,206,237,1 246,173,329,250,1 368,187,475,264,1 69,141,100,230,14 99,135,131,228,14 187,129,234,279,14 235,118,275,246,14 320,135,344,260,14 330,138,377,274,14 376,132,417,268,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001407.jpg 425,273,500,374,8 32,246,97,340,8 14,223,65,313,8 227,223,244,267,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001410.jpg 189,46,349,259,3 33,2,98,97,3 160,2,194,77,3 209,1,251,34,3 302,65,355,94,3 364,49,421,80,3 436,32,496,63,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001411.jpg 2,89,152,256,14 164,18,500,333,14 193,35,269,214,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001412.jpg 179,101,394,285,12 217,83,313,289,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001415.jpg 361,257,412,310,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001416.jpg 208,78,401,192,16 19,71,183,195,16 1,106,121,249,16 1,185,324,328,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001417.jpg 183,43,302,205,14 55,85,367,376,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001419.jpg 133,15,333,412,14 42,29,205,280,14 57,1,206,128,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001422.jpg 68,87,453,278,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001423.jpg 124,56,382,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001424.jpg 261,316,319,402,5 141,336,167,416,14 188,360,204,407,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001425.jpg 208,179,383,301,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001428.jpg 155,187,436,352,7 243,141,402,225,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001429.jpg 420,98,473,226,4 453,71,498,184,4 1,54,498,369,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001431.jpg 22,128,87,277,4 300,3,417,163,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001433.jpg 15,87,479,254,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001435.jpg 242,232,461,312,6 10,258,249,347,6 12,177,104,209,6 151,184,251,227,6 226,188,343,231,6 294,180,371,206,6 401,172,482,212,6 135,171,146,229,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001437.jpg 3,78,44,264,15 43,57,160,241,15 19,100,97,277,15 143,44,394,129,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001438.jpg 1,119,369,500,10 149,8,358,256,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001440.jpg 49,75,402,272,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001446.jpg 109,211,299,392,13 101,185,264,332,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001447.jpg 140,125,419,318,13 165,39,327,295,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001448.jpg 149,247,209,409,14 8,231,156,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001449.jpg 322,81,422,203,18 23,87,164,221,18 197,86,288,213,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001452.jpg 85,278,223,500,12 94,142,252,350,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001454.jpg 252,169,300,307,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001456.jpg 37,62,112,332,4 118,77,181,332,4 268,2,500,332,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001458.jpg 106,121,392,299,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001459.jpg 132,121,281,375,14 250,122,373,375,14 134,173,148,213,14 114,182,140,213,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001461.jpg 142,177,412,375,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001462.jpg 135,161,278,285,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001469.jpg 107,102,199,460,14 269,335,325,390,15 292,270,375,376,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001471.jpg 160,131,312,394,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001473.jpg 64,106,209,500,14 183,88,331,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001474.jpg 104,84,467,141,3 369,16,428,118,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001476.jpg 199,143,327,266,13 200,56,302,217,14 461,107,482,160,14 325,99,404,131,6 29,99,47,141,14 88,115,129,145,13 381,126,411,145,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001477.jpg 196,84,458,287,16 93,172,227,312,16 37,202,208,338,16 13,1,77,84,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001478.jpg 241,124,429,300,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001482.jpg 2,195,48,375,14 145,146,235,375,14 73,170,163,375,14 200,162,306,375,14 276,143,382,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001487.jpg 242,117,277,151,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001489.jpg 329,63,346,107,4 181,161,205,241,4 156,181,176,247,4 128,181,161,261,4 1,88,491,333,10 5,1,82,84,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001491.jpg 2,95,199,230,6 93,97,433,266,6 448,108,500,260,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001495.jpg 104,74,429,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001496.jpg 365,110,494,234,1 218,133,345,264,1 82,178,203,304,1 163,49,285,160,1 380,39,496,208,14 229,54,351,238,14 89,108,206,282,14 167,3,290,141,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001500.jpg 203,52,342,168,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001502.jpg 172,65,323,343,14 106,131,386,381,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001503.jpg 288,157,340,220,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001505.jpg 325,165,355,192,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001506.jpg 189,71,286,354,14 373,105,478,347,14 37,119,125,340,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001507.jpg 12,1,337,274,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001508.jpg 114,242,375,500,9 234,230,256,263,2 293,198,309,215,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001511.jpg 20,42,489,280,6 482,70,500,174,14 384,71,402,107,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001513.jpg 311,230,468,375,8 52,223,175,339,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001516.jpg 36,35,457,333,13 295,8,368,126,14 418,29,500,231,14 411,16,447,68,14 387,49,422,96,14 376,37,401,94,14 354,22,376,82,14 1,17,61,205,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001518.jpg 23,149,135,205,17 46,159,183,224,17 76,167,245,255,17 138,188,366,311,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001519.jpg 33,246,132,348,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001520.jpg 5,124,472,374,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001525.jpg 158,151,320,222,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001527.jpg 321,142,429,167,3 102,138,174,161,3 230,142,280,164,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001530.jpg 7,54,500,338,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001533.jpg 99,134,193,292,14 295,65,358,314,14 254,179,498,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001534.jpg 1,305,327,375,10 166,199,241,281,8 113,184,167,242,8 186,194,285,241,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001535.jpg 228,147,400,230,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001538.jpg 275,219,299,269,14 370,221,392,290,14 392,224,418,280,14 415,214,450,322,14 472,223,498,311,14 441,224,486,325,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001540.jpg 196,228,268,294,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001542.jpg 3,99,434,316,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001546.jpg 94,59,410,330,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001547.jpg 58,106,462,216,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001549.jpg 26,60,113,139,19 9,84,226,333,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001550.jpg 6,59,500,340,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001551.jpg 169,46,354,189,19 1,98,146,303,8 167,188,455,373,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001552.jpg 1,30,470,375,6 1,70,132,238,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001558.jpg 1,56,286,329,14 283,15,500,328,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001560.jpg 61,96,447,350,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001562.jpg 177,41,329,360,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001564.jpg 1,77,101,375,14 59,182,235,375,14 269,75,393,309,14 408,158,500,327,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001566.jpg 1,61,373,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001567.jpg 64,120,322,417,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001568.jpg 3,42,400,372,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001569.jpg 5,274,43,394,4 60,312,114,411,4 88,45,305,335,14 260,130,344,167,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001570.jpg 61,15,397,314,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001572.jpg 6,111,429,350,6 2,121,157,223,6 215,96,241,170,14 421,79,460,102,6 422,132,500,170,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001573.jpg 174,105,334,273,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001574.jpg 31,119,214,500,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001575.jpg 2,232,18,290,14 27,236,51,289,14 56,237,76,289,14 330,227,350,282,14 265,238,283,273,14 432,223,469,353,14 470,234,500,354,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001578.jpg 26,96,346,293,18 338,121,443,268,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001581.jpg 3,17,139,500,14 134,163,333,476,14 209,167,332,390,14 175,112,264,210,14 254,125,333,349,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001583.jpg 312,45,412,282,14 70,16,232,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001584.jpg 182,1,500,338,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001585.jpg 197,115,328,358,14 6,180,425,341,17 58,158,72,191,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001587.jpg 204,249,274,325,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001589.jpg 330,102,441,315,9 40,3,263,323,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001591.jpg 1,36,454,215,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001592.jpg 1,25,230,242,7 232,25,482,223,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001596.jpg 2,2,375,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001599.jpg 250,146,323,232,8 163,149,239,239,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001600.jpg 345,208,388,305,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001601.jpg 102,63,436,326,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001602.jpg 252,2,351,365,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001605.jpg 205,230,237,259,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001606.jpg 238,187,360,381,1 374,175,443,381,1 229,6,370,379,14 359,40,464,381,14 1,1,137,379,14 1,163,156,381,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001609.jpg 3,120,374,500,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001613.jpg 63,61,397,314,6 73,80,441,333,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001615.jpg 294,139,337,261,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001616.jpg 49,190,135,265,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001619.jpg 3,21,224,240,13 66,2,196,166,14 2,2,137,183,14 176,1,499,157,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001620.jpg 11,283,212,450,1 132,235,322,436,1 59,200,145,420,14 84,132,253,410,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001621.jpg 1,39,500,352,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001623.jpg 21,125,332,397,6 1,181,58,260,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001624.jpg 171,129,425,266,12 207,98,291,272,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001625.jpg 255,128,303,205,14 213,127,247,206,14 136,186,235,259,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001626.jpg 69,11,393,278,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001629.jpg 5,188,135,330,8 17,228,289,375,17 235,71,500,372,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001631.jpg 76,6,201,498,4 4,3,373,446,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001634.jpg 14,44,403,335,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001635.jpg 459,135,500,167,12 261,143,294,168,12 134,142,155,172,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001637.jpg 145,64,224,117,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001639.jpg 128,52,500,334,11 80,187,360,334,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001641.jpg 174,64,397,375,9 362,36,454,146,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001644.jpg 19,3,498,319,5 388,96,420,160,14 224,119,334,330,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001645.jpg 161,102,316,235,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001646.jpg 305,121,409,319,3 132,82,286,318,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001648.jpg 386,199,440,310,15 400,23,500,282,15 454,197,500,302,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001652.jpg 33,132,241,427,14 205,290,299,500,4 50,267,134,477,4 227,178,362,340,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001655.jpg 64,8,493,368,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001656.jpg 14,1,108,273,14 160,111,352,255,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001657.jpg 291,258,408,361,11 323,72,433,280,8 1,43,339,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001658.jpg 209,20,396,74,6 310,40,400,97,13 118,59,210,143,6 132,72,450,323,6 378,43,500,173,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001659.jpg 40,110,315,366,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001660.jpg 191,120,481,187,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001663.jpg 51,55,467,338,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001664.jpg 61,1,327,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001665.jpg 364,202,415,269,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001666.jpg 383,170,428,239,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001667.jpg 251,115,298,217,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001668.jpg 138,136,192,299,14 188,212,246,301,14 232,128,278,285,14 272,149,311,280,14 316,155,355,278,14 327,97,420,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001670.jpg 209,49,339,181,8 306,33,375,128,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001671.jpg 206,154,258,213,16 217,372,298,474,16 117,391,237,475,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001672.jpg 31,149,430,249,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001674.jpg 90,319,360,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001679.jpg 2,235,391,500,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001681.jpg 276,166,417,251,2 277,251,418,339,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001687.jpg 183,123,288,232,2 117,291,300,500,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001692.jpg 96,49,238,210,12 135,22,204,139,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001694.jpg 104,21,476,291,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001695.jpg 48,54,497,375,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001696.jpg 331,7,445,331,14 125,164,206,331,14 433,140,482,251,8 258,135,335,240,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001697.jpg 269,221,355,284,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001698.jpg 61,93,447,209,3 39,138,358,233,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001700.jpg 252,139,337,192,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001701.jpg 1,1,433,332,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001702.jpg 7,75,392,375,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001703.jpg 245,21,390,125,14 1,29,478,305,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001704.jpg 118,1,405,317,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001705.jpg 5,51,500,344,3 444,234,465,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001706.jpg 89,54,193,350,14 271,57,376,364,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001709.jpg 367,132,426,287,14 1,45,412,333,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001710.jpg 298,45,475,349,14 52,72,161,356,14 472,98,494,163,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001712.jpg 2,216,131,375,15 99,39,262,375,14 187,70,364,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001715.jpg 316,199,357,280,15 189,197,224,270,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001716.jpg 265,181,321,234,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001719.jpg 228,63,456,245,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001720.jpg 105,214,130,295,4 164,214,189,295,4 5,142,175,374,14 116,136,202,242,14 220,133,316,206,14 298,138,394,246,14 264,150,486,374,14 12,198,355,362,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001722.jpg 206,185,308,370,14 299,169,500,375,14 1,285,54,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001728.jpg 2,118,181,373,14 142,111,293,375,14 274,105,500,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001731.jpg 58,182,397,308,11 222,86,309,121,7 79,14,199,112,14 62,58,352,192,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001735.jpg 92,83,238,375,8 146,56,368,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001736.jpg 114,183,466,301,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001737.jpg 8,27,476,315,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001740.jpg 5,43,497,373,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001742.jpg 57,177,148,257,19 137,251,283,477,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001743.jpg 206,43,344,226,14 333,73,361,198,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001744.jpg 160,32,353,145,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001745.jpg 450,87,482,149,2 383,128,401,152,2 304,87,341,147,2 237,74,284,123,2 190,117,219,155,2 105,137,134,184,2 56,143,86,188,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001748.jpg 135,25,236,188,14 95,85,232,253,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001751.jpg 157,57,498,331,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001753.jpg 3,230,376,319,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001757.jpg 2,184,263,500,10 109,121,175,261,14 138,127,218,337,14 144,203,284,403,14 197,291,375,500,14 12,114,96,186,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001760.jpg 1,155,107,377,14 196,118,272,344,14 257,129,343,348,14 269,255,375,423,14 167,334,323,500,14 11,284,124,500,14 149,274,228,349,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001762.jpg 136,70,375,275,7 1,115,498,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001763.jpg 281,119,500,375,7 1,24,330,366,11 1,48,500,375,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001764.jpg 278,103,349,147,9 221,106,282,148,9 134,103,223,148,9 98,97,144,133,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001767.jpg 110,54,500,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001769.jpg 65,100,252,375,12 249,110,458,375,12 287,39,429,234,14 169,25,289,204,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001770.jpg 309,177,500,374,3 99,331,126,351,6 61,337,96,361,6 18,358,51,375,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001773.jpg 196,219,277,346,8 107,204,188,321,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001774.jpg 14,86,500,286,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001776.jpg 1,106,349,296,6 68,189,171,333,14 175,12,496,333,14 1,88,67,189,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001779.jpg 36,167,390,372,17 404,1,500,375,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001781.jpg 242,3,455,331,14 380,4,500,308,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001783.jpg 72,189,297,261,0 369,195,500,261,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001786.jpg 2,99,447,375,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001788.jpg 99,36,468,301,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001790.jpg 93,2,332,472,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001791.jpg 10,19,381,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001792.jpg 425,27,489,212,14 404,18,442,63,14 380,38,433,212,14 351,25,380,71,14 320,39,378,214,14 298,21,341,71,14 275,35,322,215,14 233,40,281,211,14 183,34,231,206,14 134,51,179,206,14 90,50,133,226,14 7,31,84,231,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001794.jpg 66,64,140,320,12 32,23,154,200,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001796.jpg 70,91,458,266,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001798.jpg 27,62,474,305,13 1,1,212,172,13 258,1,443,128,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001802.jpg 1,1,499,267,18 196,50,291,310,14 125,40,196,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001803.jpg 224,202,365,259,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001804.jpg 75,40,419,321,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001805.jpg 331,12,500,332,14 43,46,157,218,14 5,130,417,332,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001808.jpg 253,62,322,317,14 368,67,417,218,14 422,85,489,332,14 1,76,57,312,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001811.jpg 1,167,40,241,15 196,169,222,195,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001812.jpg 466,273,500,339,15 269,239,362,353,15 238,124,323,296,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001813.jpg 458,181,500,287,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001814.jpg 245,1,415,197,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001815.jpg 85,150,313,291,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001817.jpg 3,2,333,298,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001819.jpg 102,89,269,443,12 127,58,260,293,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001820.jpg 93,71,435,316,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001822.jpg 135,192,437,262,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001823.jpg 92,74,226,269,14 119,127,206,355,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001824.jpg 157,71,309,227,19 213,170,500,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001826.jpg 387,155,486,304,8 171,201,341,331,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001829.jpg 48,373,111,500,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001831.jpg 304,71,500,350,14 198,104,330,375,14 102,104,251,375,14 75,107,227,375,14 1,128,443,346,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001835.jpg 17,54,298,374,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001838.jpg 39,43,473,330,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001839.jpg 4,2,139,366,14 117,4,187,174,14 411,5,500,302,14 398,2,465,149,14 353,65,414,144,14 210,1,252,138,14 181,1,215,142,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001844.jpg 134,112,285,209,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001846.jpg 45,143,337,332,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001848.jpg 52,88,415,197,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001850.jpg 108,125,500,271,0 253,209,280,295,14 227,221,257,293,14 227,185,256,301,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001851.jpg 1,83,321,500,11 41,68,92,108,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001852.jpg 72,105,232,305,16 184,58,500,352,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001856.jpg 202,244,248,348,8 188,258,259,396,10 113,189,173,272,14 107,258,141,316,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001857.jpg 1,11,500,374,6 397,1,479,127,14 328,1,413,122,14 226,1,327,117,14 168,3,236,104,14 86,1,145,45,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001859.jpg 13,1,476,375,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001863.jpg 168,79,419,284,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001865.jpg 1,34,347,500,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001866.jpg 86,81,369,272,11 29,1,143,247,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001867.jpg 85,191,103,207,15 164,190,186,203,15 341,202,360,219,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001868.jpg 248,185,479,350,17 1,201,130,359,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001869.jpg 132,3,440,338,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001871.jpg 82,37,348,238,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001873.jpg 203,87,436,230,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001874.jpg 17,82,244,495,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001876.jpg 289,89,500,258,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001879.jpg 38,270,275,446,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001880.jpg 1,9,183,375,15 219,9,432,375,15 247,331,452,375,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001883.jpg 90,46,435,289,6 20,20,97,213,14 430,170,489,229,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001884.jpg 200,216,311,251,5 309,213,416,245,5 130,112,435,211,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001885.jpg 146,56,500,189,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001886.jpg 92,43,192,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001889.jpg 51,137,150,284,13 211,106,332,330,13 348,130,426,264,13 123,82,176,242,14 327,95,375,209,14 348,89,437,239,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001890.jpg 65,54,472,304,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001891.jpg 414,1,473,205,14 1,1,34,197,14 68,29,429,375,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001893.jpg 260,279,293,320,14 285,281,294,298,14 315,282,337,330,14 337,270,375,388,14 145,281,162,340,14 101,284,117,336,14 119,280,150,359,14 72,278,92,343,14 13,263,82,442,14 220,202,248,300,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001895.jpg 358,208,451,245,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001897.jpg 21,78,490,240,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001900.jpg 86,47,375,500,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001905.jpg 276,184,355,244,19 1,44,160,272,15 142,123,188,187,15 194,136,236,185,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001908.jpg 132,44,342,239,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001909.jpg 51,3,440,333,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001910.jpg 4,3,438,332,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001912.jpg 8,45,487,226,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001913.jpg 136,89,441,214,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001914.jpg 202,215,344,476,11 88,27,291,390,14 1,55,246,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001916.jpg 100,99,153,192,13 113,110,199,209,13 384,103,464,198,13 295,109,382,199,13 256,98,319,186,13 401,59,469,165,14 309,68,383,168,14 263,69,323,158,14 122,71,212,205,14 444,42,470,117,14 427,35,449,67,14 153,45,180,76,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001917.jpg 191,167,266,210,9 416,181,482,217,9 341,173,420,220,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001919.jpg 203,85,350,212,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001921.jpg 43,284,132,367,14 126,259,138,305,14 154,117,322,499,14 201,312,229,376,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001923.jpg 1,137,413,317,6 427,116,468,234,14 465,90,489,162,14 415,91,443,173,14 245,106,292,139,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001924.jpg 90,109,444,264,6 396,97,500,259,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001925.jpg 365,1,486,261,4 270,1,376,257,4 175,1,273,245,4 81,1,177,230,4 1,1,79,217,4 1,198,79,298,4 47,250,137,333,4 82,206,160,313,4 171,214,252,323,4 135,259,227,333,4 251,220,335,331,4 222,268,316,333,4 337,231,424,331,4 316,277,398,333,4 414,287,498,333,4 423,240,500,322,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001926.jpg 261,81,431,334,2 120,76,237,303,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001929.jpg 205,145,362,196,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001935.jpg 42,114,500,217,18 370,181,443,214,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001939.jpg 6,3,428,269,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001942.jpg 93,25,462,306,6 171,12,208,68,14 339,2,500,75,6 1,125,46,180,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001943.jpg 1,11,500,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001946.jpg 107,67,491,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001947.jpg 202,10,323,157,14 1,88,119,373,14 1,89,234,375,14 132,152,388,375,14 312,68,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001949.jpg 144,318,316,497,8 259,309,374,500,8 48,259,151,500,8 35,276,372,500,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001951.jpg 5,27,486,299,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001953.jpg 1,43,497,330,5 363,155,406,213,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001955.jpg 247,183,296,239,12 212,178,248,226,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001956.jpg 180,111,488,284,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001957.jpg 144,18,438,390,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001959.jpg 163,63,468,297,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001961.jpg 7,193,168,347,8 43,123,157,194,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001965.jpg 1,39,193,265,6 9,17,482,409,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001966.jpg 364,50,500,375,7 1,28,115,287,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001967.jpg 128,82,220,257,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001968.jpg 19,97,292,327,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001969.jpg 150,132,261,333,14 91,118,151,269,14 47,111,120,288,14 14,100,60,277,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001973.jpg 144,39,304,256,7 79,26,236,254,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001974.jpg 65,174,301,246,3 295,183,387,243,9 393,167,455,240,14 254,167,284,246,14 105,181,125,261,14 101,178,142,251,14 259,152,387,182,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001975.jpg 147,88,227,163,14 254,84,361,184,14 295,91,411,216,14 389,106,492,276,14 89,87,136,195,14 23,88,153,311,14 2,156,153,375,14 104,157,458,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001979.jpg 191,320,231,426,14 234,324,277,425,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001983.jpg 61,123,348,226,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001984.jpg 15,1,288,373,11 226,105,387,319,11 352,107,500,372,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001986.jpg 1,1,468,332,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001987.jpg 185,114,300,291,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001988.jpg 10,151,333,495,1 78,66,269,392,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001990.jpg 425,78,500,198,8 365,64,446,180,8 204,151,352,365,8 160,124,287,322,8 1,129,119,350,8 1,234,119,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001991.jpg 4,97,369,299,6 315,76,500,202,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001992.jpg 25,156,263,335,11 1,10,215,375,14 391,157,407,211,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001993.jpg 195,334,338,500,14 56,293,237,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001994.jpg 210,141,420,240,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001996.jpg 21,69,472,242,0 321,201,371,217,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001997.jpg 132,148,257,401,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/001998.jpg 56,138,329,288,13 276,63,394,275,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002003.jpg 2,1,500,373,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002005.jpg 348,128,486,213,9 95,95,258,324,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002007.jpg 164,112,290,221,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002008.jpg 74,203,144,314,1 74,142,140,272,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002009.jpg 92,82,500,329,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002010.jpg 1,14,472,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002013.jpg 248,125,500,333,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002014.jpg 132,146,195,206,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002016.jpg 43,239,91,334,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002017.jpg 148,112,415,236,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002018.jpg 298,31,500,158,17 1,28,296,158,17 304,78,481,131,14 6,34,235,122,14 11,8,51,53,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002026.jpg 1,133,371,375,17 143,138,390,333,14 405,292,429,358,4 367,142,400,197,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002028.jpg 249,214,327,253,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002029.jpg 1,51,266,449,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002031.jpg 75,70,408,248,12 174,52,279,186,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002032.jpg 3,2,500,347,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002033.jpg 1,188,174,315,16 224,48,291,138,16 244,96,398,300,16 441,133,500,338,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002035.jpg 181,147,500,374,17 266,54,406,180,15 89,102,128,162,15 14,1,104,132,15 130,103,182,146,15 146,38,183,107,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002038.jpg 117,415,242,452,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002040.jpg 78,38,432,334,6 366,20,500,103,6 462,2,500,111,14 408,13,436,104,14 316,7,344,59,14 64,26,97,125,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002041.jpg 40,161,206,300,6 189,136,259,269,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002044.jpg 203,136,332,256,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002046.jpg 277,143,454,423,12 1,67,269,433,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002048.jpg 103,118,398,251,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002050.jpg 3,185,225,430,12 193,127,285,430,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002052.jpg 38,19,479,250,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002053.jpg 14,105,155,234,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002057.jpg 2,1,500,320,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002059.jpg 18,89,425,375,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002060.jpg 203,224,310,375,1 204,151,299,335,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002062.jpg 87,84,308,314,19 455,54,500,110,14 233,180,275,252,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002065.jpg 79,39,391,256,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002066.jpg 1,284,145,323,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002071.jpg 72,116,134,201,14 205,76,254,203,14 281,104,318,204,14 85,133,120,236,12 146,123,317,279,12 339,172,403,216,12 226,138,370,249,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002072.jpg 66,93,379,370,12 220,30,326,241,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002073.jpg 216,1,500,333,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002074.jpg 79,89,190,178,19 207,92,291,268,14 284,146,440,294,15 100,104,177,160,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002075.jpg 209,74,421,212,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002076.jpg 8,83,303,252,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002077.jpg 1,68,374,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002078.jpg 1,57,470,346,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002079.jpg 210,37,327,374,14 313,79,433,372,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002080.jpg 1,50,500,304,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002081.jpg 211,141,344,252,19 1,182,87,281,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002084.jpg 2,3,317,373,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002085.jpg 166,213,245,285,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002087.jpg 45,134,120,340,14 1,153,33,351,14 106,131,167,273,14 119,127,224,375,14 196,101,331,375,14 440,255,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002089.jpg 163,140,310,182,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002092.jpg 105,324,215,412,9 11,342,91,424,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002093.jpg 140,5,327,251,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002097.jpg 93,3,496,279,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002100.jpg 234,233,266,284,8 169,235,210,284,8 104,235,144,289,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002103.jpg 56,111,301,255,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002105.jpg 169,96,407,276,13 237,99,358,240,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002106.jpg 1,2,359,500,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002107.jpg 408,243,449,257,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002110.jpg 133,226,150,294,14 149,211,172,283,14 26,54,464,232,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002111.jpg 387,157,412,199,14 332,137,385,263,14 316,145,351,247,14 220,113,280,287,14 97,224,211,292,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002113.jpg 24,8,353,500,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002115.jpg 192,101,280,254,9 343,75,373,113,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002118.jpg 1,160,389,334,6 1,144,458,311,6 9,109,418,234,6 1,105,461,237,6 215,109,487,211,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002119.jpg 369,135,443,202,19 155,65,256,332,14 85,36,164,368,14 30,2,143,375,14 6,117,31,153,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002121.jpg 143,96,242,248,16 15,25,203,345,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002122.jpg 3,26,298,208,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002123.jpg 345,257,369,311,15 72,255,128,302,15 36,146,84,308,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002127.jpg 2,1,470,368,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002128.jpg 42,14,455,291,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002130.jpg 63,85,384,312,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002131.jpg 141,2,337,224,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002133.jpg 185,130,319,242,11 1,189,199,375,16 94,244,357,375,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002137.jpg 301,269,375,367,16 206,249,298,316,16 89,236,202,401,16 219,267,308,409,16 80,118,139,369,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002138.jpg 2,28,333,318,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002141.jpg 29,243,272,441,11 253,167,296,220,8 68,131,147,181,6 1,141,46,184,6 231,126,319,174,6 139,58,259,415,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002143.jpg 96,36,453,266,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002144.jpg 1,114,312,233,2 391,254,433,308,2 153,29,171,58,2 42,301,78,355,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002147.jpg 57,17,500,328,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002148.jpg 3,96,491,314,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002149.jpg 96,167,448,277,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002150.jpg 5,62,500,327,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002154.jpg 1,91,184,217,6 407,95,461,146,6 327,96,433,174,6 39,94,362,294,6 439,94,482,132,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002157.jpg 8,87,496,219,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002159.jpg 423,52,500,266,8 5,73,89,214,8 157,57,357,375,14 22,4,420,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002160.jpg 1,105,264,252,11 184,130,500,306,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002161.jpg 188,223,248,305,8 149,233,214,310,8 1,179,53,344,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002162.jpg 88,56,454,297,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002164.jpg 1,35,463,345,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002167.jpg 59,163,181,331,7 5,157,411,329,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002168.jpg 114,174,164,307,14 231,174,280,302,14 298,179,342,301,14 367,179,403,294,14 461,177,500,307,14 168,188,193,252,14 326,181,353,274,14 262,185,290,273,14 430,230,500,310,1 358,227,429,299,1 295,233,351,305,1 153,223,185,281,1 121,230,155,321,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002173.jpg 45,2,500,333,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002175.jpg 11,216,85,240,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002177.jpg 1,112,93,205,5 105,115,341,241,5 211,185,284,255,6 240,183,500,298,6 1,178,149,307,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002185.jpg 168,111,500,331,13 43,93,313,265,13 312,31,500,293,14 130,46,293,216,14 289,14,420,70,6 277,21,298,56,14 128,53,161,109,13 107,49,132,103,13 63,52,110,104,13 1,58,61,106,13 335,25,396,78,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002188.jpg 2,19,500,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002189.jpg 4,220,499,375,10 84,53,295,315,14 242,83,401,263,14 18,48,137,175,14 102,68,148,119,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002195.jpg 220,72,467,367,14 2,105,124,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002198.jpg 118,106,426,177,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002200.jpg 26,27,412,345,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002203.jpg 44,136,213,326,11 10,41,436,338,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002204.jpg 75,46,236,186,12 135,12,211,107,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002205.jpg 48,1,500,355,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002206.jpg 51,135,373,248,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002207.jpg 68,114,440,468,11 3,204,474,500,8 4,36,474,500,14 416,156,448,226,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002210.jpg 2,92,368,375,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002211.jpg 13,305,61,380,14 2,344,57,440,14 61,323,119,436,14 195,307,234,369,14 189,344,247,454,14 192,334,313,497,14 297,322,375,500,14 135,337,184,447,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002216.jpg 360,110,500,313,5 65,104,396,319,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002217.jpg 42,73,273,155,0 191,111,422,183,0 345,152,500,212,0 74,149,299,221,0 227,188,486,257,0 118,220,372,294,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002222.jpg 23,14,319,343,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002223.jpg 357,214,375,311,14 321,215,354,317,14 266,225,295,346,14 1,1,220,476,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002225.jpg 81,238,460,359,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002227.jpg 419,64,500,135,19 33,20,450,330,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002229.jpg 385,188,425,280,14 37,95,433,304,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002230.jpg 118,218,325,331,17 52,246,150,356,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002231.jpg 256,1,349,192,4 309,136,466,275,4 287,274,433,375,4 2,240,179,340,4 1,89,151,240,4 112,1,213,137,4 146,44,297,287,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002232.jpg 396,237,493,282,6 360,220,391,237,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002235.jpg 453,110,465,153,4 442,164,458,209,4 275,119,422,315,14 245,143,298,237,14 109,92,271,333,14 2,102,178,331,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002236.jpg 31,30,385,302,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002239.jpg 344,176,432,306,1 297,181,349,266,1 116,144,189,270,1 341,79,424,283,14 290,132,344,262,14 111,61,186,245,14 10,75,61,140,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002240.jpg 212,28,318,136,8 318,1,368,43,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002242.jpg 1,127,276,332,6 164,75,387,178,5 414,135,500,196,6 345,127,370,192,14 208,127,264,328,14 244,120,295,303,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002243.jpg 47,45,471,373,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002245.jpg 433,187,473,213,6 52,198,131,249,6 1,206,58,251,6 128,38,438,268,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002246.jpg 6,73,326,471,0 54,210,82,277,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002250.jpg 256,157,291,203,14 225,185,281,259,14 75,107,335,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002252.jpg 337,116,492,324,19 26,5,357,344,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002254.jpg 143,261,334,493,11 3,253,147,500,17 12,274,80,320,7 146,153,209,270,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002258.jpg 194,78,361,231,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002262.jpg 93,36,467,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002264.jpg 210,219,274,363,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002269.jpg 66,58,224,196,12 2,116,194,485,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002271.jpg 127,96,365,203,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002274.jpg 61,66,276,406,3 17,278,57,369,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002275.jpg 1,9,373,421,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002282.jpg 155,203,259,312,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002283.jpg 235,77,419,350,12 270,52,380,248,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002286.jpg 15,29,327,324,11 226,121,500,324,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002289.jpg 214,136,330,196,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002292.jpg 83,225,310,375,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002294.jpg 1,13,498,375,6 390,1,434,115,14 355,2,390,49,14 295,3,320,35,14 26,1,77,105,14 1,1,40,111,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002295.jpg 84,1,499,331,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002296.jpg 425,164,457,256,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002297.jpg 292,85,500,213,17 367,166,500,375,8 264,92,291,124,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002298.jpg 13,89,500,306,14 3,59,410,333,8 193,40,493,163,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002299.jpg 1,2,441,375,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002301.jpg 381,121,448,208,14 415,92,500,340,14 366,66,432,180,14 329,66,382,181,14 257,69,319,151,14 166,62,234,138,14 19,87,65,160,14 58,102,263,375,14 1,91,110,308,14 130,71,169,108,14 167,145,426,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002303.jpg 105,39,377,321,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002304.jpg 19,47,499,333,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002309.jpg 61,43,400,319,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002312.jpg 1,19,499,255,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002313.jpg 5,62,461,428,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002314.jpg 112,1,333,276,9 38,2,255,218,9 1,50,45,86,9 54,270,298,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002316.jpg 104,52,377,425,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002317.jpg 111,3,500,280,5 221,168,278,371,14 167,192,224,375,14 150,159,206,374,14 26,121,76,272,14 1,123,20,275,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002319.jpg 73,165,375,413,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002322.jpg 135,369,238,500,8 6,373,121,500,8 290,334,344,499,8 1,356,280,500,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002325.jpg 245,244,462,377,1 1,274,258,377,1 125,243,274,377,1 268,138,361,377,14 43,193,207,373,14 137,161,196,222,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002326.jpg 376,115,424,158,9 294,128,344,178,9 177,135,220,188,9 238,171,278,248,9 364,178,401,278,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002327.jpg 2,81,296,500,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002331.jpg 138,87,288,333,12 114,12,309,265,14 222,54,479,333,14 2,56,53,103,6 70,52,120,101,6 224,57,292,99,6 292,54,370,97,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002336.jpg 3,94,447,286,2 1,180,174,375,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002338.jpg 239,111,365,207,16 176,114,254,196,16 146,90,167,114,16 426,84,454,108,16 462,92,487,115,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002339.jpg 231,156,338,257,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002341.jpg 28,4,165,249,14 177,11,291,249,14 22,88,130,222,11 143,168,254,250,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002344.jpg 3,44,333,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002346.jpg 95,78,398,282,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002349.jpg 159,164,298,242,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002351.jpg 1,121,399,287,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002353.jpg 34,247,177,375,8 202,233,254,327,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002356.jpg 4,54,158,223,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002357.jpg 39,171,437,329,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002358.jpg 223,208,288,227,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002360.jpg 74,153,264,386,12 165,94,244,286,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002363.jpg 234,181,275,322,14 189,181,231,325,14 106,182,151,346,14 18,189,54,344,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002365.jpg 40,31,301,477,14 45,64,318,443,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002370.jpg 355,174,391,213,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002379.jpg 404,4,500,375,14 97,1,203,86,14 61,42,432,347,13 3,2,270,181,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002380.jpg 114,121,277,331,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002381.jpg 195,378,284,471,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002383.jpg 95,38,338,265,5 339,178,379,207,6 381,177,405,200,6 1,212,29,253,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002386.jpg 26,82,500,265,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002388.jpg 134,3,500,326,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002389.jpg 29,185,436,374,10 82,188,231,375,8 331,177,455,374,8 248,201,377,374,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002390.jpg 157,28,393,273,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002394.jpg 150,214,281,369,19 71,35,108,65,14 32,31,50,105,14 4,31,27,105,14 15,29,33,105,14 92,147,117,172,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002395.jpg 75,1,484,284,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002396.jpg 141,86,463,362,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002397.jpg 139,199,202,341,14 136,247,202,378,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002398.jpg 80,110,250,434,12 82,85,218,291,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002399.jpg 11,94,429,376,14 9,50,272,327,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002400.jpg 2,27,305,499,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002402.jpg 332,3,351,51,14 250,16,277,54,14 122,22,146,73,14 399,1,500,74,6 55,50,464,240,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002406.jpg 221,167,449,238,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002408.jpg 70,48,493,332,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002409.jpg 89,74,445,366,12 201,35,313,220,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002412.jpg 274,181,305,220,2 210,199,247,240,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002414.jpg 337,222,500,319,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002416.jpg 168,150,488,316,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002418.jpg 1,149,260,209,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002421.jpg 249,29,323,247,14 128,83,426,301,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002422.jpg 34,8,283,500,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002424.jpg 401,222,490,285,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002426.jpg 95,34,493,285,14 38,2,248,116,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002428.jpg 383,120,500,238,11 97,79,270,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002429.jpg 329,137,369,266,4 217,161,268,285,4 1,37,277,357,14 278,56,453,356,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002430.jpg 79,28,361,375,7 1,1,466,190,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002431.jpg 179,150,317,235,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002432.jpg 102,235,256,344,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002434.jpg 116,67,336,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002438.jpg 43,283,269,500,14 113,2,375,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002440.jpg 49,54,282,500,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002446.jpg 187,150,289,238,6 100,138,139,238,14 286,140,323,238,14 429,132,467,238,14 15,153,149,234,6 317,157,435,233,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002447.jpg 110,59,500,264,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002449.jpg 275,213,338,234,3 247,294,424,375,8 161,255,224,307,8 308,267,500,374,10 1,254,183,319,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002451.jpg 1,153,38,375,15 29,254,179,375,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002453.jpg 17,22,252,207,7 262,34,486,193,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002455.jpg 6,168,443,275,17 78,133,207,272,14 202,140,288,264,14 285,111,419,264,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002457.jpg 266,160,500,278,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002463.jpg 183,152,308,455,14 3,28,202,464,14 156,111,268,261,14 263,208,333,440,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002464.jpg 292,110,366,199,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002467.jpg 33,144,455,258,0 100,218,195,256,0 235,222,385,261,0 341,225,454,261,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002469.jpg 1,131,125,375,19 206,115,435,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002473.jpg 4,17,494,329,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002474.jpg 121,102,250,262,3 85,89,212,271,3 68,114,183,283,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002475.jpg 306,228,370,314,1 225,213,288,301,1 151,204,217,294,1 72,188,142,279,1 310,173,363,299,14 312,146,405,316,14 235,161,284,280,14 256,139,302,299,14 149,154,206,267,14 171,125,235,290,14 75,141,133,258,14 92,122,164,282,14 263,125,283,166,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002482.jpg 60,362,140,456,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002484.jpg 82,253,114,276,6 116,252,139,276,6 140,249,175,277,6 199,252,263,292,6 294,253,375,292,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002485.jpg 299,167,500,374,11 9,30,240,374,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002486.jpg 5,122,53,170,2 109,93,175,133,2 150,110,229,154,2 233,100,306,144,2 394,124,474,168,2 311,144,396,195,2 110,153,216,215,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002487.jpg 104,64,242,333,18 219,45,443,364,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002488.jpg 110,75,281,443,14 11,226,375,500,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002489.jpg 3,6,500,281,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002495.jpg 1,28,461,355,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002498.jpg 1,87,195,375,14 259,93,452,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002499.jpg 7,61,500,333,10 260,1,500,251,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002503.jpg 2,215,137,354,19 176,54,287,449,14 33,237,121,334,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002506.jpg 148,93,299,380,8 16,94,185,476,8 1,1,91,149,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002507.jpg 461,2,500,84,13 2,1,479,333,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002509.jpg 1,3,327,499,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002510.jpg 174,121,488,329,17 3,127,177,271,8 178,102,220,183,8 160,102,277,160,10 143,4,174,103,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002511.jpg 190,84,295,295,14 95,120,385,456,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002515.jpg 33,106,64,190,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002516.jpg 215,160,337,375,14 328,140,499,375,14 349,224,496,375,14 28,84,312,375,14 278,32,302,89,14 285,44,319,102,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002517.jpg 80,75,430,315,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002521.jpg 11,59,496,255,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002522.jpg 1,12,495,286,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002526.jpg 85,104,388,236,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002527.jpg 1,40,373,500,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002528.jpg 273,46,443,308,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002530.jpg 109,104,391,288,5 2,164,117,278,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002531.jpg 12,85,490,353,6 344,46,378,89,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002532.jpg 185,111,500,231,18 111,175,157,205,6 68,172,114,203,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002535.jpg 9,41,500,290,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002536.jpg 3,136,489,330,10 246,117,266,180,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002538.jpg 200,226,231,328,4 120,42,274,290,14 104,1,282,305,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002541.jpg 34,61,474,283,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002543.jpg 256,231,500,333,6 1,255,256,333,6 238,252,302,300,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002548.jpg 249,115,360,208,6 31,67,247,232,6 375,117,500,219,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002550.jpg 32,50,333,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002551.jpg 455,8,500,223,14 1,11,90,163,14 104,1,199,166,14 250,74,478,333,14 94,53,294,300,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002552.jpg 102,241,170,348,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002553.jpg 114,28,457,377,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002556.jpg 7,1,500,308,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002557.jpg 421,76,466,172,15 281,65,342,112,15 330,46,410,113,15 196,2,261,108,15 118,3,212,114,15 100,87,146,123,15 63,89,103,128,15 38,1,105,70,15 25,143,94,245,15 169,177,224,230,15 133,173,182,215,15 86,184,143,234,15 228,188,291,238,15 277,151,345,222,15 340,179,405,267,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002560.jpg 8,1,156,394,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002562.jpg 29,76,500,308,6 99,40,197,283,14 181,66,272,294,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002568.jpg 86,37,394,332,13 3,12,120,140,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002570.jpg 2,2,375,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002573.jpg 317,160,427,239,12 369,158,500,261,12 255,140,316,178,12 302,135,369,179,12 116,148,270,276,12 58,154,177,246,12 426,117,471,220,14 370,121,402,174,14 175,117,206,230,14 89,128,108,162,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002574.jpg 104,69,311,295,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002575.jpg 415,281,436,355,4 434,311,459,380,4 316,314,364,380,4 13,245,72,348,8 276,128,420,327,14 179,134,257,355,14 222,146,323,357,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002576.jpg 154,110,442,315,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002577.jpg 28,54,478,311,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002580.jpg 134,25,166,143,3 54,215,324,330,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002581.jpg 453,184,500,314,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002582.jpg 78,62,322,409,18 43,322,89,453,14 130,337,170,442,14 361,271,375,372,14 343,270,364,366,14 330,298,347,364,14 320,274,344,351,14 25,287,40,317,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002583.jpg 2,1,500,254,0 65,266,390,375,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002587.jpg 1,54,107,289,11 172,88,373,359,11 92,89,327,263,11 360,48,500,177,11 435,88,500,291,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002588.jpg 1,97,247,375,14 206,51,476,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002591.jpg 266,50,471,356,14 206,15,329,236,14 14,53,170,356,14 187,2,275,110,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002592.jpg 43,4,427,333,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002596.jpg 47,212,300,438,12 135,150,210,337,14 182,122,240,264,14 108,152,266,412,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002597.jpg 88,173,422,375,7 51,21,388,248,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002601.jpg 1,82,128,273,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002602.jpg 89,1,490,61,6 177,54,401,293,13 172,36,337,288,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002604.jpg 235,128,492,317,8 350,2,500,266,15 23,64,206,323,14 218,105,415,313,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002607.jpg 126,112,348,193,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002608.jpg 273,180,435,325,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002610.jpg 1,241,213,344,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002612.jpg 237,6,463,375,13 1,10,288,374,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002614.jpg 150,220,476,333,10 405,156,500,333,14 344,146,427,277,14 311,150,369,241,14 274,150,323,230,14 374,91,500,245,14 148,170,203,241,14 90,169,126,224,14 65,180,164,333,14 1,181,192,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002616.jpg 18,16,381,249,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002617.jpg 46,134,125,232,8 13,129,67,220,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002619.jpg 26,15,345,476,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002620.jpg 42,222,322,421,7 156,28,333,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002622.jpg 263,294,311,330,6 223,298,270,330,6 188,301,228,330,6 156,308,190,330,6 10,310,75,333,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002623.jpg 1,1,455,375,9 402,252,500,350,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002624.jpg 109,142,281,375,14 254,150,360,256,14 217,245,500,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002626.jpg 92,275,132,376,14 27,284,65,423,14 1,284,29,412,14 177,274,224,398,14 254,284,309,415,14 259,249,374,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002628.jpg 235,57,351,306,3 172,78,284,280,3 64,168,121,267,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002629.jpg 250,168,339,197,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002630.jpg 74,41,266,335,2 317,76,479,335,2 420,99,500,182,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002631.jpg 11,133,207,429,14 97,85,291,312,14 71,204,309,429,1 173,128,333,341,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002638.jpg 217,78,297,146,19 212,174,346,375,8 129,79,221,167,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002639.jpg 345,158,402,284,14 240,141,307,301,14 185,156,242,301,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002640.jpg 61,1,500,257,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002642.jpg 58,132,208,408,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002644.jpg 148,197,267,346,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002650.jpg 1,134,159,363,17 320,98,394,209,8 221,75,311,204,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002651.jpg 256,57,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002652.jpg 149,112,396,337,11 196,1,316,309,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002654.jpg 121,248,401,374,17 19,246,135,372,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002655.jpg 82,84,423,303,12 164,50,286,212,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002656.jpg 182,196,197,248,4 269,100,365,457,14 95,93,208,494,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002660.jpg 233,162,500,375,14 121,124,271,251,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002661.jpg 1,130,481,233,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002663.jpg 12,38,346,314,11 286,6,498,270,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002665.jpg 245,107,500,209,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002671.jpg 1,54,500,375,14 249,131,499,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002672.jpg 52,72,419,394,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002673.jpg 134,64,466,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002674.jpg 239,325,386,375,10 122,276,164,331,8 33,293,97,372,8 462,223,498,305,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002676.jpg 426,273,458,296,9 382,271,418,300,9 348,244,384,296,9 286,252,337,304,9 245,248,286,299,9 204,252,256,308,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002679.jpg 79,24,440,375,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002681.jpg 11,181,325,452,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002685.jpg 266,111,327,207,2 200,71,233,110,2 183,84,260,173,2 355,72,416,162,2 422,166,500,305,2 148,61,173,102,2 41,55,65,105,2 82,171,308,375,2 1,128,125,259,2 22,113,136,172,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002686.jpg 125,184,357,365,13 169,167,295,363,14 254,137,325,227,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002687.jpg 12,169,166,375,14 44,79,407,357,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002688.jpg 1,87,467,293,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002692.jpg 274,164,362,380,12 226,188,296,291,14 231,223,270,268,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002694.jpg 10,48,459,284,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002698.jpg 47,48,432,292,1 106,2,472,253,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002700.jpg 257,63,412,373,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002701.jpg 339,260,500,318,6 133,267,305,323,6 7,267,28,321,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002703.jpg 102,176,188,234,0 181,204,251,235,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002705.jpg 43,54,221,375,14 185,100,433,353,14 327,284,367,375,4 446,36,500,206,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002707.jpg 93,103,499,241,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002708.jpg 71,124,312,333,11 254,69,362,194,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002711.jpg 1,248,64,375,4 362,54,474,319,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002712.jpg 240,212,290,372,4 94,72,256,327,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002716.jpg 8,181,223,296,5 3,127,293,248,5 8,109,316,218,5 74,67,376,186,5 107,49,404,159,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002719.jpg 53,100,468,238,3 158,130,188,168,14 183,108,206,136,14 144,107,167,132,14 87,126,122,150,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002720.jpg 1,34,206,346,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002724.jpg 43,213,387,375,10 2,224,142,375,8 183,233,352,374,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002725.jpg 101,4,500,363,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002726.jpg 410,139,500,369,14 328,135,435,375,14 243,299,301,375,14 202,164,302,375,14 157,200,220,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002728.jpg 264,170,376,236,18 333,1,500,332,14 1,1,223,334,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002729.jpg 29,32,480,333,6 443,35,500,325,14 387,58,455,149,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002731.jpg 277,188,384,295,1 311,160,371,268,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002733.jpg 43,50,478,267,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002736.jpg 15,68,375,470,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002739.jpg 347,46,397,77,13 162,234,232,324,13 152,156,229,322,14 361,25,383,78,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002740.jpg 45,124,293,295,7 135,2,424,205,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002742.jpg 118,45,226,289,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002743.jpg 450,88,496,216,4 358,114,409,223,15 160,8,444,229,15 122,94,261,223,15 96,216,162,344,4 26,93,189,229,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002746.jpg 14,91,358,174,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002748.jpg 31,173,41,199,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002750.jpg 143,82,219,375,14 304,88,390,375,14 217,94,317,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002752.jpg 192,182,341,270,17 143,202,201,344,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002753.jpg 368,206,475,319,8 100,219,230,365,8 249,162,317,252,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002754.jpg 47,49,454,219,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002756.jpg 1,1,231,500,18 160,185,188,257,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002758.jpg 278,170,330,230,6 328,171,381,223,6 369,197,500,375,6 179,173,264,238,6 25,163,168,252,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002761.jpg 166,80,376,332,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002764.jpg 43,110,217,355,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002768.jpg 305,72,396,299,14 264,199,357,290,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002769.jpg 6,45,495,276,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002770.jpg 73,197,167,259,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002771.jpg 63,7,265,242,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002773.jpg 460,216,475,276,4 475,216,493,273,4 10,14,36,105,4 75,50,97,120,4 39,123,65,206,4 61,128,86,205,4 115,136,135,202,4 17,232,43,317,4 86,224,107,298,4 101,220,115,256,4 68,317,93,375,4 110,145,245,375,14 218,85,456,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002777.jpg 270,194,318,273,8 321,216,500,375,8 143,220,214,301,8 206,223,284,330,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002780.jpg 254,95,476,280,12 1,92,103,305,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002781.jpg 385,96,465,360,14 344,127,450,360,14 226,229,347,360,14 305,92,379,196,14 281,178,382,360,14 237,146,316,236,14 227,79,303,178,14 159,113,227,360,14 141,90,189,173,14 80,126,160,360,14 6,113,85,360,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002787.jpg 93,61,258,284,7 153,192,422,375,7 2,10,500,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002788.jpg 52,142,249,272,10 5,114,129,176,10 319,70,500,334,14 235,70,336,334,14 249,70,273,112,14 133,194,215,300,8 30,183,135,298,8 8,163,95,269,8 2,135,57,194,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002789.jpg 376,128,427,222,14 50,130,174,219,9 459,174,485,184,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002790.jpg 107,86,301,500,12 57,256,136,317,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002792.jpg 29,25,265,190,19 2,47,225,374,14 194,75,426,375,14 371,66,471,365,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002793.jpg 1,255,145,294,6 139,250,289,293,6 331,94,470,173,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002797.jpg 381,192,422,257,13 383,170,420,243,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002799.jpg 6,133,500,376,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002802.jpg 102,266,375,500,16 38,79,375,225,16 57,131,374,337,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002805.jpg 42,9,435,398,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002806.jpg 202,109,464,279,13 274,70,418,268,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002808.jpg 70,67,294,499,13 243,107,331,244,6 2,132,75,217,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002809.jpg 293,241,375,337,19 1,248,106,376,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002811.jpg 121,74,314,455,3 21,156,140,366,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002813.jpg 266,161,335,246,8 196,213,392,373,8 184,135,290,273,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002814.jpg 38,202,321,381,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002818.jpg 390,209,437,259,9 3,215,41,258,9 3,206,53,247,9 79,216,121,271,9 125,211,154,256,9 153,221,182,273,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002819.jpg 418,134,480,283,12 78,68,410,276,12 197,36,313,207,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002821.jpg 214,153,429,304,3 263,161,323,316,14 186,146,236,303,14 228,127,247,199,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002822.jpg 189,103,225,125,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002823.jpg 93,227,448,375,13 213,149,327,344,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002824.jpg 1,13,500,431,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002825.jpg 2,83,376,332,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002828.jpg 10,26,376,265,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002829.jpg 36,53,443,309,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002830.jpg 190,1,287,70,13 387,1,488,96,13 1,10,60,88,13 11,109,317,297,13 107,49,316,283,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002831.jpg 57,64,301,433,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002832.jpg 150,125,166,180,14 135,121,153,186,14 112,115,143,195,14 91,129,108,178,14 5,109,43,235,14 25,78,93,255,14 166,76,314,208,18 304,50,500,226,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002837.jpg 170,119,351,307,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002839.jpg 43,1,443,333,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002840.jpg 7,109,421,284,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002843.jpg 272,103,352,131,0 2,103,500,374,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002846.jpg 48,153,112,259,8 128,13,285,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002849.jpg 61,58,324,269,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002850.jpg 327,86,481,219,19 196,80,314,192,19 128,226,309,374,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002851.jpg 97,75,420,251,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002852.jpg 38,57,298,157,11 68,147,458,237,11 22,202,387,361,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002853.jpg 63,2,500,313,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002856.jpg 19,53,469,333,10 271,1,421,81,14 36,1,179,107,14 422,1,500,162,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002857.jpg 43,171,114,394,4 1,47,374,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002860.jpg 323,192,466,332,11 135,134,341,285,1 157,22,281,245,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002861.jpg 4,37,333,500,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002862.jpg 98,201,269,325,10 48,244,121,334,8 210,219,271,306,8 86,202,124,252,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002863.jpg 358,1,500,375,14 126,2,365,374,14 176,40,210,75,14 97,52,120,104,14 128,54,140,103,14 141,54,153,88,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002865.jpg 404,215,500,257,5 46,1,394,373,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002871.jpg 1,236,75,282,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002872.jpg 285,117,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002874.jpg 65,43,353,375,14 210,54,487,372,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002876.jpg 62,28,396,351,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002877.jpg 3,26,315,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002878.jpg 1,27,155,375,14 121,46,246,244,14 97,133,367,375,14 135,18,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002882.jpg 388,278,418,300,16 177,263,193,282,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002883.jpg 85,111,332,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002885.jpg 171,63,500,256,17 373,1,500,298,14 92,66,177,238,14 122,204,323,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002887.jpg 135,244,336,333,17 340,255,377,274,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002888.jpg 78,8,170,331,14 19,107,133,348,14 258,141,391,337,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002890.jpg 8,80,433,279,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002892.jpg 162,188,246,256,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002894.jpg 1,107,495,315,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002895.jpg 388,194,419,339,14 415,192,447,338,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002897.jpg 448,244,464,282,14 265,238,280,280,14 210,236,227,279,14 147,235,162,276,14 119,232,139,278,14 88,230,107,278,14 58,229,72,277,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002898.jpg 8,71,500,337,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002900.jpg 104,122,383,248,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002902.jpg 163,85,300,224,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002903.jpg 16,19,480,376,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002904.jpg 270,225,324,372,4 358,230,415,375,4 1,62,236,340,14 219,90,373,287,14 344,146,500,299,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002905.jpg 214,282,326,380,19 1,19,280,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002907.jpg 3,236,112,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002908.jpg 199,102,312,231,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002909.jpg 95,147,203,404,12 88,85,226,302,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002911.jpg 156,100,298,257,14 114,65,393,333,14 4,224,89,332,14 64,228,125,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002918.jpg 40,56,324,331,14 420,188,500,331,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002920.jpg 8,123,242,244,5 420,229,486,281,1 315,226,394,281,1 228,209,314,279,1 72,201,177,280,1 47,203,137,273,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002921.jpg 94,162,233,447,12 90,97,229,299,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002922.jpg 274,365,319,443,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002923.jpg 3,30,461,333,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002925.jpg 9,170,100,349,15 437,195,500,344,15 369,108,450,370,14 62,112,169,371,14 170,147,247,359,14 251,148,302,359,14 291,150,391,365,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002926.jpg 108,117,286,234,7 230,50,347,137,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002927.jpg 17,31,466,337,6 421,84,500,256,6 35,116,59,162,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002928.jpg 93,55,373,292,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002929.jpg 193,152,374,383,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002930.jpg 103,176,185,307,8 181,166,248,303,8 321,176,417,310,8 255,107,341,205,8 130,130,203,184,8 238,168,322,306,8 319,159,387,280,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002936.jpg 2,21,447,325,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002945.jpg 323,1,392,47,15 250,61,500,369,14 17,70,215,314,14 336,296,378,375,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002948.jpg 2,2,291,295,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002949.jpg 1,36,346,202,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002950.jpg 113,321,229,500,4 86,1,333,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002951.jpg 451,195,475,276,4 96,124,224,253,19 224,120,356,256,19 351,43,378,93,14 132,143,196,209,14 122,153,186,213,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002955.jpg 128,1,500,262,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002959.jpg 118,295,298,400,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002961.jpg 15,7,500,309,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002964.jpg 128,312,182,427,11 33,27,210,411,14 256,55,317,228,14 2,40,47,171,14 22,66,64,197,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002968.jpg 181,132,341,277,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002970.jpg 2,71,444,374,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002971.jpg 1,107,500,333,0 354,190,442,375,14 124,209,160,299,14 74,262,104,301,14 1,248,29,298,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002972.jpg 11,11,333,500,14 43,273,374,497,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002973.jpg 36,59,307,419,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002974.jpg 118,238,242,390,14 90,164,146,220,14 339,124,375,202,14 283,152,340,230,14 156,126,364,411,14 78,223,151,338,8 1,212,101,337,10 24,208,90,314,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002979.jpg 113,129,171,207,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002980.jpg 39,3,482,493,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002981.jpg 217,67,397,290,14 229,141,287,277,14 62,124,164,349,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002982.jpg 272,278,353,500,4 14,21,299,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002983.jpg 1,110,429,207,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002985.jpg 194,15,475,273,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002991.jpg 72,91,309,500,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002993.jpg 206,221,339,303,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002996.jpg 100,50,166,114,2 320,65,363,121,2 348,9,426,138,2 217,151,267,220,2 82,199,129,259,2 20,280,118,322,2 58,329,132,385,2 182,243,222,325,2 398,222,476,297,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002997.jpg 263,8,500,272,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002998.jpg 264,79,500,181,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/002999.jpg 288,118,461,226,13 121,112,270,193,13 38,92,164,169,13 344,74,447,180,14 175,85,265,189,14 75,64,158,141,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003001.jpg 63,33,343,500,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003006.jpg 431,93,500,183,5 262,117,433,234,5 23,136,125,250,5 378,184,500,276,6 293,202,370,245,6 217,206,341,262,6 184,207,235,249,6 137,206,185,240,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003010.jpg 52,35,113,198,4 104,36,160,196,4 401,25,458,188,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003012.jpg 263,106,302,139,3 111,124,295,375,14 303,188,429,355,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003014.jpg 61,129,87,150,15 139,117,166,142,15 204,111,238,138,15 295,106,326,136,15 387,107,416,131,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003016.jpg 67,84,477,314,5 355,137,408,179,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003018.jpg 110,58,300,389,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003019.jpg 17,1,500,360,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003020.jpg 405,205,444,245,15 415,270,450,325,15 72,122,172,375,14 171,117,281,375,14 256,142,337,352,14 330,130,405,342,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003022.jpg 153,80,416,286,12 241,51,299,181,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003025.jpg 320,205,500,375,16 214,174,403,375,16 26,159,283,340,16 5,124,212,256,16 213,90,314,178,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003026.jpg 54,153,198,375,14 158,88,341,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003029.jpg 1,106,444,372,17 150,101,405,300,14 366,4,479,160,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003030.jpg 123,1,421,349,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003033.jpg 21,232,317,416,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003035.jpg 54,193,306,486,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003036.jpg 5,30,264,338,14 187,116,263,221,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003037.jpg 1,25,500,329,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003040.jpg 164,127,406,253,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003041.jpg 52,180,298,403,12 149,125,236,288,14 235,181,315,307,12 1,193,83,312,12 261,152,299,248,14 34,154,66,224,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003043.jpg 5,53,256,396,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003046.jpg 2,58,489,331,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003048.jpg 177,113,470,308,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003049.jpg 249,241,361,375,8 171,251,304,375,8 55,227,160,354,8 43,220,125,301,8 2,199,63,269,8 153,173,250,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003050.jpg 130,166,257,233,16 141,151,231,191,16 310,85,334,105,16 426,258,500,339,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003052.jpg 2,47,116,333,14 159,96,259,333,14 225,201,277,333,14 256,47,316,195,14 468,53,500,210,14 3,58,211,169,6 111,56,259,127,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003055.jpg 171,129,347,190,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003059.jpg 217,129,275,210,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003060.jpg 59,36,435,322,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003062.jpg 173,36,490,375,15 302,1,475,164,15 1,1,227,175,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003067.jpg 374,68,436,270,4 301,63,375,268,4 218,69,289,268,4 127,62,204,271,4 70,73,127,271,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003068.jpg 75,98,422,326,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003069.jpg 97,5,500,332,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003070.jpg 428,170,500,236,6 1,169,41,221,6 90,168,213,224,6 114,172,372,345,6 355,156,458,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003071.jpg 179,10,295,469,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003073.jpg 1,1,227,235,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003075.jpg 145,48,328,500,14 66,5,182,356,14 4,132,167,486,1 248,143,389,500,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003076.jpg 51,51,83,150,4 84,51,117,150,4 117,45,149,152,4 151,47,182,151,4 182,47,213,150,4 214,46,246,150,4 246,46,279,151,4 279,47,311,151,4 311,47,343,151,4 61,217,85,282,4 118,212,150,281,4 150,214,181,281,4 181,214,213,281,4 213,217,245,281,4 245,215,276,281,4 276,217,305,281,4 213,307,243,369,4 243,308,274,369,4 274,308,304,367,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003079.jpg 309,107,474,256,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003080.jpg 5,71,377,331,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003081.jpg 1,156,398,375,1 5,60,316,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003084.jpg 222,111,259,207,14 139,154,165,220,14 94,152,110,214,14 68,157,86,206,14 361,166,385,224,14 413,165,433,225,14 458,173,486,225,14 188,154,334,250,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003087.jpg 189,81,378,354,16 397,135,435,166,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003091.jpg 35,168,270,495,14 43,2,333,458,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003095.jpg 122,55,374,500,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003096.jpg 1,22,300,224,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003097.jpg 248,56,431,247,18 24,52,252,246,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003099.jpg 3,2,304,232,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003101.jpg 292,1,500,253,5 197,59,263,209,5 1,2,211,295,5 257,170,289,188,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003104.jpg 64,71,161,368,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003109.jpg 203,154,358,256,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003111.jpg 400,199,496,240,3 271,196,413,244,3 282,50,401,262,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003113.jpg 288,4,497,213,15 302,19,335,67,15 59,96,246,251,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003114.jpg 152,28,363,225,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003115.jpg 201,149,453,324,17 196,133,252,226,8 156,129,205,220,8 288,99,460,368,14 36,50,115,271,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003119.jpg 1,3,482,400,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003123.jpg 93,79,153,160,14 146,98,200,163,14 187,99,233,165,14 233,94,297,201,14 295,115,354,207,14 337,107,390,167,14 369,105,440,234,14 20,100,89,311,14 88,126,139,206,14 100,166,168,269,14 174,160,221,246,14 212,158,272,244,14 271,166,327,251,14 314,162,380,262,14 70,245,455,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003125.jpg 198,30,500,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003128.jpg 174,137,288,206,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003130.jpg 36,221,301,430,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003131.jpg 340,214,410,330,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003132.jpg 150,18,438,330,14 3,82,176,367,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003136.jpg 204,55,401,232,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003139.jpg 3,94,154,201,10 3,89,68,262,8 20,79,263,356,14 144,70,500,372,14 259,10,313,69,14 118,11,185,72,14 159,1,185,43,14 449,30,493,81,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003141.jpg 391,188,457,340,8 389,219,500,375,8 96,203,404,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003143.jpg 33,72,482,254,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003144.jpg 68,133,454,224,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003148.jpg 281,120,333,226,2 236,219,420,374,2 104,206,288,366,2 355,70,463,145,2 1,184,118,300,2 37,110,171,225,2 342,96,454,227,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003151.jpg 46,201,161,354,1 80,105,224,313,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003152.jpg 9,58,297,330,16 245,47,500,333,16 1,79,169,215,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003153.jpg 1,231,412,375,10 74,123,173,238,14 154,132,274,236,14 358,219,478,368,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003156.jpg 112,88,415,265,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003158.jpg 156,139,224,186,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003160.jpg 1,128,500,351,0 383,206,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003166.jpg 2,73,500,376,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003167.jpg 67,36,118,287,14 125,43,185,287,14 79,6,420,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003168.jpg 270,28,474,205,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003171.jpg 1,29,349,500,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003172.jpg 43,126,192,334,14 150,94,321,334,14 246,60,418,334,14 321,21,500,322,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003173.jpg 24,46,243,169,12 118,25,202,116,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003174.jpg 1,35,482,297,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003179.jpg 17,199,312,299,6 157,131,203,196,14 205,144,242,201,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003180.jpg 134,60,448,368,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003182.jpg 1,132,469,500,12 50,14,252,422,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003187.jpg 181,20,264,214,14 37,66,362,289,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003190.jpg 100,30,269,179,16 7,47,107,265,16 123,93,282,458,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003191.jpg 3,1,351,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003192.jpg 5,30,230,288,15 233,36,489,284,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003193.jpg 145,85,385,275,12 222,73,300,228,14 61,104,86,193,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003196.jpg 103,55,272,471,14 7,43,318,376,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003197.jpg 2,86,404,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003198.jpg 124,24,494,100,7 1,44,277,285,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003201.jpg 1,53,166,260,9 137,25,416,298,9 320,30,500,261,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003203.jpg 1,95,417,235,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003206.jpg 157,94,218,205,14 144,139,230,275,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003208.jpg 33,163,465,332,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003209.jpg 48,114,427,221,0 3,143,158,205,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003212.jpg 26,111,478,308,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003215.jpg 105,232,178,287,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003217.jpg 68,90,492,275,6 288,80,322,120,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003220.jpg 1,227,61,294,6 51,241,113,294,6 169,231,243,283,6 246,243,304,279,6 288,247,341,278,6 327,248,369,274,6 100,231,199,375,14 378,237,398,288,14 1,96,363,222,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003221.jpg 143,241,385,340,17 299,268,352,315,15 417,247,500,349,8 213,230,232,254,15 196,229,216,254,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003222.jpg 213,29,380,224,14 53,65,378,261,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003224.jpg 361,195,500,338,11 4,49,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003225.jpg 429,177,478,265,14 355,213,465,359,14 200,218,341,335,14 232,174,309,252,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003226.jpg 71,43,286,485,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003227.jpg 57,14,500,375,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003230.jpg 165,135,391,233,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003232.jpg 24,47,256,182,12 141,22,199,132,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003234.jpg 77,112,139,372,14 117,147,165,373,14 163,127,220,175,14 164,137,239,374,14 235,118,292,373,14 282,126,366,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003235.jpg 111,114,247,480,12 94,67,273,294,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003237.jpg 109,155,254,461,12 130,53,256,256,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003238.jpg 59,77,408,397,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003241.jpg 139,119,500,325,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003245.jpg 33,191,101,291,8 152,199,222,306,8 327,195,390,298,8 392,98,450,311,14 238,91,297,316,14 89,80,152,297,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003246.jpg 21,101,500,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003248.jpg 188,154,329,304,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003249.jpg 415,1,500,167,14 13,2,174,375,4 171,1,291,372,4 319,1,461,375,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003251.jpg 120,159,392,340,10 278,226,446,375,8 258,158,353,283,8 109,174,218,330,8 135,148,202,233,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003252.jpg 1,141,179,375,14 33,59,188,227,14 144,57,245,270,14 171,29,397,375,14 245,51,485,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003257.jpg 22,14,476,222,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003263.jpg 1,267,155,499,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003264.jpg 52,55,415,275,11 2,2,500,335,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003265.jpg 158,247,331,375,6 10,268,83,330,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003266.jpg 64,95,399,500,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003267.jpg 2,69,500,333,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003268.jpg 1,119,496,268,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003275.jpg 95,215,215,291,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003276.jpg 21,43,485,359,6 320,69,370,171,14 128,81,161,122,14 159,77,188,118,14 97,80,125,128,14 433,48,487,212,14 471,62,500,243,14 417,68,443,140,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003277.jpg 1,104,348,375,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003278.jpg 20,278,82,375,4 15,26,287,284,14 257,7,500,337,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003281.jpg 2,110,21,208,15 22,122,75,208,15 75,154,115,217,15 177,288,204,358,15 195,284,220,351,15 210,235,237,400,15 245,238,259,373,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003283.jpg 229,36,411,280,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003286.jpg 66,61,448,301,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003287.jpg 1,9,333,242,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003288.jpg 111,247,227,311,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003289.jpg 239,187,410,240,5 26,217,100,244,6 384,209,452,249,6 134,216,150,270,14 47,221,63,257,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003291.jpg 285,68,375,235,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003295.jpg 258,68,339,300,14 111,139,284,336,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003297.jpg 101,116,257,274,15 26,301,208,500,8 1,214,342,488,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003298.jpg 20,19,328,483,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003302.jpg 160,164,310,320,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003304.jpg 115,204,220,436,12 80,67,253,404,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003305.jpg 145,184,234,302,13 146,152,221,259,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003306.jpg 40,109,396,291,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003309.jpg 2,176,450,370,17 1,135,319,320,14 227,133,500,349,14 391,238,434,369,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003310.jpg 6,12,329,479,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003312.jpg 25,11,488,320,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003314.jpg 242,64,421,314,14 37,51,239,375,14 176,52,304,185,19 1,68,119,202,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003315.jpg 21,23,305,356,2 195,225,387,328,2 338,170,500,333,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003317.jpg 1,73,302,372,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003318.jpg 201,109,383,248,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003319.jpg 94,55,239,289,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003321.jpg 441,148,495,191,6 302,162,355,191,6 246,167,275,189,6 89,176,145,195,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003322.jpg 1,172,82,259,19 446,235,500,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003323.jpg 91,120,341,375,10 50,233,185,375,8 337,124,428,225,8 342,143,483,363,8 413,79,487,144,15 281,2,404,341,14 107,135,249,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003324.jpg 186,59,475,375,14 136,123,307,330,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003326.jpg 7,19,472,494,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003328.jpg 195,158,432,333,6 11,4,159,397,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003329.jpg 11,15,284,495,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003332.jpg 223,66,498,250,11 2,22,339,464,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003333.jpg 64,262,144,417,13 161,280,324,500,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003334.jpg 19,98,383,285,6 235,55,490,182,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003340.jpg 83,242,270,438,13 103,192,233,362,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003341.jpg 404,148,500,255,8 26,14,147,330,14 119,85,215,318,14 189,94,284,315,14 275,92,355,298,14 316,131,422,328,14 259,38,453,312,14 377,27,486,273,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003342.jpg 341,203,412,241,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003345.jpg 372,209,440,328,8 302,226,373,351,8 70,224,401,326,10 22,203,85,327,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003346.jpg 42,182,135,335,1 47,123,143,304,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003347.jpg 97,89,162,110,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003348.jpg 164,231,430,354,6 3,262,83,304,6 75,264,128,302,6 119,266,155,298,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003352.jpg 1,223,193,448,11 96,44,336,448,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003353.jpg 89,124,271,238,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003357.jpg 24,84,477,276,6 433,52,500,168,6 263,45,450,119,6 1,38,213,205,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003358.jpg 1,15,263,471,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003361.jpg 209,249,270,287,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003364.jpg 100,97,447,305,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003366.jpg 387,213,419,251,16 298,209,331,245,16 187,205,224,243,16 67,199,109,247,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003368.jpg 21,1,500,333,14 14,20,250,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003371.jpg 269,78,500,372,7 6,46,281,315,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003372.jpg 210,135,277,186,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003375.jpg 93,107,390,294,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003378.jpg 27,115,158,323,14 91,110,273,372,14 230,133,426,375,14 260,93,447,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003381.jpg 6,111,496,242,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003383.jpg 17,12,136,331,14 114,9,233,331,14 212,2,347,331,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003384.jpg 121,1,246,140,8 267,1,387,98,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003385.jpg 150,77,235,145,6 350,88,448,137,6 284,129,500,332,6 1,87,190,331,6 139,70,352,331,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003387.jpg 73,109,433,248,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003388.jpg 200,14,253,131,14 109,59,171,162,14 43,35,132,234,14 408,40,436,114,14 461,33,500,113,14 232,3,458,333,14 436,76,500,128,1 200,110,244,208,1 124,131,185,169,1 53,164,123,307,1 222,217,408,334,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003389.jpg 75,153,251,329,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003393.jpg 63,82,375,500,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003394.jpg 35,26,371,375,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003399.jpg 35,62,246,213,5 114,97,166,276,14 217,130,430,286,14 464,120,493,260,14 331,119,358,179,14 358,151,398,192,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003400.jpg 1,12,500,360,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003402.jpg 130,161,205,245,2 251,181,347,255,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003405.jpg 49,121,279,248,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003409.jpg 312,184,419,224,3 53,136,379,214,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003411.jpg 2,15,500,375,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003414.jpg 72,125,468,316,6 65,133,150,174,6 104,128,240,183,6 32,123,50,163,14 19,125,37,164,14 79,107,100,128,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003418.jpg 151,259,205,384,11 1,355,182,447,11 253,244,354,380,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003423.jpg 331,94,497,320,14 203,119,344,373,14 1,77,262,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003426.jpg 107,15,363,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003427.jpg 65,18,500,375,7 1,1,500,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003428.jpg 191,72,330,259,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003431.jpg 11,15,373,500,14 1,250,29,385,4 59,226,129,468,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003432.jpg 270,130,308,230,2 170,183,205,291,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003434.jpg 151,97,245,375,14 216,128,346,375,14 327,181,415,375,14 405,148,500,375,14 344,138,383,194,14 293,182,311,218,14 17,169,56,196,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003437.jpg 240,126,448,286,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003438.jpg 164,22,355,340,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003440.jpg 79,92,333,500,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003442.jpg 7,87,500,332,17 120,1,154,69,15 420,220,500,333,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003445.jpg 25,115,493,223,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003446.jpg 238,162,288,346,4 174,150,224,316,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003447.jpg 152,160,404,291,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003448.jpg 247,277,287,327,15 282,206,330,330,15 294,171,375,250,15 230,57,293,242,15 164,175,203,224,15 77,82,205,170,15 22,203,51,245,15 4,137,127,302,8 177,125,281,284,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003454.jpg 192,89,380,332,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003456.jpg 2,5,500,337,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003457.jpg 1,109,375,483,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003459.jpg 387,207,500,335,8 114,186,393,375,10 390,114,494,319,14 317,141,387,242,14 1,160,140,375,14 132,100,176,164,14 132,67,160,139,14 301,204,328,284,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003460.jpg 105,129,500,289,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003463.jpg 2,2,375,500,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003467.jpg 1,82,451,333,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003471.jpg 147,54,235,142,16 308,48,468,135,16 242,77,500,333,16 98,135,344,333,16 12,98,222,158,16 215,52,421,141,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003472.jpg 367,164,493,284,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003473.jpg 113,128,213,291,14 97,69,447,288,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003474.jpg 30,42,500,367,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003475.jpg 79,56,471,254,5 270,161,316,285,14 222,165,261,229,14 1,232,53,332,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003476.jpg 1,337,262,375,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003478.jpg 422,14,473,71,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003479.jpg 84,29,403,333,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003480.jpg 1,13,499,375,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003481.jpg 310,247,348,273,6 282,262,328,297,6 242,285,298,326,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003482.jpg 146,143,387,375,1 196,26,317,337,14 146,1,360,297,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003483.jpg 208,104,365,330,14 31,181,79,227,14 1,176,18,235,14 1,171,499,333,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003485.jpg 71,100,259,326,14 236,102,436,316,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003486.jpg 8,104,204,181,6 5,102,333,482,6 1,79,43,181,14 171,84,189,132,14 150,93,174,124,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003488.jpg 1,272,17,325,15 42,232,92,285,15 97,201,138,247,15 143,153,206,209,15 227,120,268,173,15 274,77,331,136,15 30,235,46,286,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003490.jpg 71,99,227,333,11 236,236,358,333,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003494.jpg 1,22,500,260,0 58,206,118,375,14 417,206,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003495.jpg 167,237,215,292,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003498.jpg 3,184,500,317,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003501.jpg 107,8,398,288,6 259,76,337,342,14 36,84,149,332,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003502.jpg 150,122,237,289,8 8,136,119,323,8 337,144,450,337,8 216,185,347,375,8 84,177,222,374,8 64,149,403,360,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003503.jpg 456,191,500,237,6 1,187,106,244,6 102,76,378,272,5 1,200,35,321,14 16,183,58,281,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003504.jpg 2,41,499,373,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003505.jpg 179,161,312,337,13 189,84,306,293,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003507.jpg 122,178,223,256,19 450,99,500,243,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003512.jpg 161,98,394,210,6 249,116,269,142,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003513.jpg 168,178,302,262,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003514.jpg 181,25,380,375,2 361,1,500,375,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003515.jpg 66,61,494,339,6 339,65,369,117,14 472,95,500,146,14 79,85,119,130,14 100,92,111,106,14 2,83,47,153,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003517.jpg 405,151,500,237,5 364,121,426,227,5 1,106,47,209,5 32,141,119,222,6 322,77,410,340,14 117,1,346,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003520.jpg 6,55,157,204,8 255,35,335,179,8 94,33,240,222,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003523.jpg 170,136,348,269,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003526.jpg 376,160,419,234,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003527.jpg 89,266,134,365,14 40,272,92,405,14 41,252,89,383,14 215,280,375,416,6 164,270,199,288,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003531.jpg 51,111,151,302,12 37,62,150,223,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003532.jpg 1,226,118,325,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003533.jpg 74,126,123,166,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003534.jpg 274,187,500,333,1 153,115,416,333,1 1,72,132,272,1 294,22,500,333,14 161,1,389,269,14 1,1,114,182,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003535.jpg 10,52,305,264,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003538.jpg 58,121,392,334,13 191,19,340,344,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003540.jpg 5,3,328,198,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003541.jpg 195,18,335,500,14 34,72,222,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003542.jpg 210,226,308,286,1 137,225,224,287,1 36,245,150,324,1 229,183,286,270,14 153,180,213,279,14 100,186,154,245,14 61,195,138,296,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003543.jpg 210,60,367,189,3 357,143,403,184,3 1,85,173,374,3 7,55,38,134,14 54,56,114,264,14 112,63,138,118,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003544.jpg 366,184,500,375,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003545.jpg 118,1,390,225,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003547.jpg 1,50,355,284,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003552.jpg 63,121,500,283,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003553.jpg 28,125,500,337,6 1,199,107,258,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003557.jpg 175,129,284,236,12 200,94,252,203,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003558.jpg 214,1,500,256,19 345,277,407,329,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003559.jpg 30,203,369,328,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003560.jpg 98,56,479,354,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003561.jpg 2,125,333,500,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003562.jpg 275,170,397,262,12 65,50,241,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003563.jpg 230,135,269,189,13 154,126,177,164,13 130,124,154,157,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003568.jpg 1,87,394,379,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003569.jpg 91,107,365,284,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003570.jpg 71,132,489,360,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003571.jpg 259,206,500,333,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003572.jpg 143,178,300,377,15 9,233,146,385,15 2,36,229,273,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003573.jpg 60,96,178,375,14 160,135,274,375,14 323,123,421,375,14 446,92,500,375,14 417,174,450,228,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003574.jpg 10,46,484,238,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003578.jpg 77,120,354,404,13 3,185,207,295,6 274,155,375,327,6 104,162,217,203,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003579.jpg 93,113,200,453,12 59,98,223,331,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003581.jpg 2,24,265,375,14 305,30,498,375,14 274,1,321,69,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003582.jpg 323,115,397,204,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003583.jpg 59,105,388,318,12 178,4,287,318,14 459,181,480,292,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003584.jpg 66,55,218,188,12 109,13,178,126,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003590.jpg 194,193,212,261,4 112,135,189,238,8 324,133,430,276,8 42,7,106,232,14 8,227,229,373,14 210,224,458,368,14 411,143,500,340,14 238,131,324,198,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003591.jpg 340,34,420,156,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003592.jpg 95,297,261,393,11 132,265,250,318,11 233,304,296,407,11 289,166,305,207,14 18,111,112,440,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003595.jpg 443,204,500,338,16 380,213,450,341,16 316,192,389,343,16 239,210,347,339,16 137,222,222,357,16 4,79,93,325,14 61,103,160,252,14 192,71,302,209,14 256,64,360,202,14 333,70,423,197,14 404,61,447,201,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003598.jpg 82,11,280,141,2 55,150,143,361,2 10,266,74,368,2 82,114,290,266,2 160,267,327,370,2 99,34,486,364,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003600.jpg 244,98,450,350,8 197,32,362,367,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003601.jpg 43,96,489,311,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003602.jpg 3,54,170,333,14 85,47,302,333,14 267,34,500,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003607.jpg 1,12,375,500,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003610.jpg 1,51,375,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003612.jpg 81,85,231,333,14 216,103,341,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003613.jpg 15,4,486,358,18 1,175,121,358,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003615.jpg 47,74,397,305,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003616.jpg 195,67,248,227,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003617.jpg 21,172,139,375,8 196,294,384,375,8 113,177,346,372,10 270,78,486,375,14 61,80,242,372,14 111,87,136,107,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003619.jpg 128,241,223,311,2 241,79,321,142,2 175,115,328,348,14 200,44,330,212,14 308,43,377,225,14 178,45,205,164,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003624.jpg 259,181,312,213,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003626.jpg 14,149,233,313,15 2,51,219,192,15 92,295,252,477,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003630.jpg 202,139,334,204,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003631.jpg 394,37,500,341,14 135,60,156,91,14 87,59,103,78,14 212,40,264,88,14 373,45,403,68,14 3,62,440,341,6 22,78,137,143,6 216,43,262,91,14 200,118,264,203,14 135,61,153,90,14 86,58,104,77,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003633.jpg 316,155,485,247,9 183,137,337,235,9 48,139,169,237,9 3,134,60,216,9 287,137,312,232,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003637.jpg 2,152,465,251,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003641.jpg 1,277,345,500,17 158,75,245,306,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003643.jpg 234,285,280,465,4 327,291,372,471,8 128,71,326,421,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003647.jpg 72,57,252,315,7 226,45,415,374,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003649.jpg 273,202,295,279,4 42,152,134,316,14 129,160,179,241,14 158,153,201,211,14 224,149,292,201,14 295,149,339,198,14 310,146,386,269,14 366,142,500,316,14 402,149,500,333,14 65,199,406,333,10 133,96,170,160,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003650.jpg 192,67,371,228,14 277,1,425,124,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003652.jpg 334,234,500,269,3 291,275,500,332,3 237,299,500,370,3 334,217,483,244,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003653.jpg 51,64,500,295,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003659.jpg 168,128,228,240,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003661.jpg 151,301,474,437,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003665.jpg 294,108,500,375,14 132,138,330,375,14 1,36,271,375,14 439,122,461,157,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003666.jpg 29,57,465,280,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003668.jpg 27,157,376,333,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003670.jpg 54,99,369,278,13 155,68,299,264,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003672.jpg 115,168,401,316,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003676.jpg 43,177,150,294,8 135,118,204,257,15 115,146,148,187,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003677.jpg 41,104,453,430,13 1,56,351,183,6 178,29,303,235,14 272,145,407,299,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003680.jpg 57,134,404,341,12 437,1,500,145,12 383,9,443,124,14 351,2,397,143,14 311,8,358,123,14 293,124,349,321,14 344,284,430,375,14 247,307,317,375,14 168,10,198,54,14 128,2,164,46,14 80,2,108,142,14 94,3,142,142,14 133,20,197,142,14 2,227,49,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003682.jpg 344,144,406,198,2 34,151,167,245,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003683.jpg 1,1,498,353,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003686.jpg 117,40,475,374,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003687.jpg 192,222,355,310,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003689.jpg 17,147,97,174,18 171,163,294,237,18 286,153,344,191,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003692.jpg 126,194,181,230,6 270,187,334,227,6 52,190,105,227,6 442,190,500,226,6 39,205,125,228,6 174,205,256,230,6 330,206,366,228,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003693.jpg 115,162,268,320,11 223,127,332,284,11 20,109,204,228,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003697.jpg 213,195,336,375,4 91,189,217,342,4 58,132,219,375,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003701.jpg 159,99,222,154,14 226,99,279,157,14 279,115,336,156,14 198,127,247,156,14 475,252,500,375,14 43,263,156,337,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003702.jpg 3,103,500,275,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003707.jpg 397,43,434,81,4 100,22,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003710.jpg 1,25,433,280,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003712.jpg 153,113,419,299,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003715.jpg 44,62,476,355,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003716.jpg 324,287,375,438,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003718.jpg 1,3,500,333,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003719.jpg 6,1,500,375,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003720.jpg 137,76,220,205,14 288,121,351,171,14 351,97,422,209,14 11,124,302,326,12 235,127,487,305,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003723.jpg 230,99,384,248,18 390,163,423,220,14 429,174,459,209,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003724.jpg 99,121,348,267,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003725.jpg 312,29,428,174,14 114,8,287,188,14 15,2,171,198,14 211,88,243,196,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003726.jpg 2,62,500,306,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003728.jpg 10,29,500,375,17 135,131,285,285,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003730.jpg 165,45,285,319,13 292,73,377,253,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003731.jpg 1,42,235,332,14 198,2,500,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003733.jpg 53,112,208,263,6 217,107,441,258,6 436,151,500,233,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003734.jpg 274,184,372,265,12 297,167,330,229,14 155,91,253,268,14 83,145,288,429,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003736.jpg 84,58,392,375,8 393,153,500,375,8 134,59,340,375,14 145,181,205,274,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003737.jpg 1,185,223,500,11 59,26,338,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003738.jpg 358,40,454,193,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003739.jpg 2,60,279,368,11 3,23,461,373,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003741.jpg 20,355,144,444,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003742.jpg 2,24,181,236,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003744.jpg 8,146,447,374,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003745.jpg 71,37,251,465,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003746.jpg 111,93,194,281,14 70,121,139,222,14 377,91,479,239,14 426,49,500,361,14 39,164,260,308,1 284,169,500,367,1 308,83,383,116,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003747.jpg 40,10,270,316,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003755.jpg 73,141,355,298,17 335,231,500,375,8 118,261,308,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003756.jpg 29,7,408,375,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003757.jpg 35,93,195,247,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003761.jpg 207,215,328,375,8 74,178,197,375,8 148,176,368,375,10 304,147,368,219,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003762.jpg 181,184,312,266,11 31,259,48,294,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003764.jpg 96,40,202,203,12 103,13,189,131,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003765.jpg 40,277,119,420,14 32,214,127,379,14 235,338,274,500,14 242,230,289,295,14 248,258,312,333,14 290,196,333,260,14 288,181,317,250,14 248,187,296,238,14 248,160,275,196,14 250,69,303,201,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003766.jpg 1,31,439,355,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003768.jpg 36,69,259,383,1 130,11,298,365,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003769.jpg 14,139,306,346,6 59,85,91,162,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003770.jpg 3,102,469,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003771.jpg 28,74,184,322,14 183,127,300,284,14 295,170,397,305,14 475,143,500,228,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003775.jpg 321,1,407,84,8 75,11,436,331,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003776.jpg 169,64,284,155,19 164,178,176,215,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003777.jpg 80,141,344,247,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003778.jpg 38,67,443,466,7 55,75,221,256,15 380,94,496,270,15 432,54,500,289,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003782.jpg 33,46,451,308,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003785.jpg 140,36,500,333,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003787.jpg 199,179,309,282,15 312,134,415,281,15 304,41,500,254,15 16,1,200,269,15 157,183,203,222,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003789.jpg 147,229,231,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003794.jpg 284,1,500,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003795.jpg 376,174,500,383,1 50,201,254,411,1 237,167,359,397,1 247,4,341,339,14 380,28,500,330,14 54,26,273,362,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003799.jpg 1,1,167,224,3 24,3,355,500,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003800.jpg 2,137,375,500,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003801.jpg 93,43,293,247,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003802.jpg 241,24,268,116,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003804.jpg 1,1,355,363,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003805.jpg 139,133,499,272,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003810.jpg 101,135,240,358,13 236,127,369,288,13 1,137,87,248,6 337,102,372,145,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003812.jpg 199,88,369,375,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003813.jpg 1,8,305,333,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003815.jpg 188,108,433,213,6 242,11,274,95,14 288,125,333,149,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003816.jpg 1,22,424,245,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003819.jpg 146,52,386,264,11 69,208,322,360,11 1,1,221,235,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003822.jpg 51,47,412,499,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003823.jpg 80,110,459,225,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003825.jpg 38,2,219,231,14 233,66,453,311,14 176,93,498,374,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003829.jpg 1,34,438,333,18 385,158,415,227,14 433,189,456,259,14 472,181,487,219,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003831.jpg 48,18,249,359,14 182,82,321,332,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003832.jpg 82,50,331,251,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003833.jpg 77,114,361,273,13 426,53,500,116,13 93,59,184,131,13 157,63,364,272,14 383,24,406,121,14 407,12,445,120,14 251,20,292,79,14 196,57,238,122,14 264,7,427,85,6 114,13,284,76,6 475,17,500,52,14 47,30,94,145,14 48,62,97,145,13 103,65,179,131,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003836.jpg 158,269,235,284,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003839.jpg 211,210,276,301,14 218,219,260,284,14 263,205,329,304,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003840.jpg 44,29,375,493,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003841.jpg 2,9,408,445,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003842.jpg 44,15,201,497,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003843.jpg 119,44,500,308,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003850.jpg 138,152,401,367,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003851.jpg 159,320,374,498,1 4,378,60,473,1 133,376,177,447,1 7,327,60,448,14 183,213,322,461,14 134,325,185,398,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003852.jpg 68,2,500,373,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003853.jpg 292,176,358,245,8 348,129,388,180,8 346,143,492,245,14 2,157,119,245,14 63,127,134,214,14 33,100,73,148,14 256,55,338,183,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003854.jpg 68,116,333,500,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003858.jpg 1,190,224,347,18 68,143,157,373,14 224,186,277,309,14 237,181,334,375,14 330,188,369,375,14 362,176,409,353,14 390,118,461,373,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003862.jpg 128,144,383,322,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003864.jpg 2,4,500,375,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003867.jpg 157,225,290,375,1 243,70,358,375,14 165,80,254,375,14 250,176,268,233,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003870.jpg 1,153,356,374,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003873.jpg 74,72,500,203,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003875.jpg 25,92,260,342,14 151,95,212,201,14 261,60,332,204,14 72,401,157,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003878.jpg 58,2,500,375,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003880.jpg 199,27,445,304,7 2,1,238,286,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003881.jpg 160,63,277,194,11 201,23,266,94,8 121,29,185,99,8 29,25,98,114,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003882.jpg 54,83,151,155,15 129,102,206,166,15 181,93,267,172,15 237,117,326,187,15 302,119,400,200,15 375,140,491,293,15 12,142,89,243,15 58,143,143,255,15 112,156,202,275,15 159,157,258,298,15 227,171,337,321,15 302,177,426,333,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003883.jpg 101,56,382,292,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003884.jpg 2,61,153,358,14 65,85,499,375,14 242,107,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003888.jpg 89,75,479,374,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003892.jpg 1,1,337,131,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003893.jpg 27,121,344,282,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003894.jpg 1,104,500,370,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003896.jpg 208,100,342,407,14 114,94,161,216,14 8,87,58,214,14 366,42,443,113,2 447,292,489,338,2 13,337,38,382,2 65,364,121,413,2 196,353,252,413,2 281,331,318,360,2 336,360,403,416,2 401,349,461,413,2 444,364,500,411,2 410,336,454,374,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003897.jpg 150,145,386,376,14 384,61,500,376,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003900.jpg 121,64,451,265,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003901.jpg 6,89,338,492,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003902.jpg 3,234,375,500,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003903.jpg 394,1,500,331,14 278,2,422,332,14 131,62,330,332,14 90,2,308,332,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003904.jpg 383,158,480,296,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003906.jpg 150,1,394,332,7 392,142,493,333,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003908.jpg 153,93,199,159,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003909.jpg 198,105,248,151,19 329,131,383,202,19 384,135,443,192,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003910.jpg 29,187,362,242,3 161,122,274,220,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003914.jpg 93,163,245,255,16 155,148,284,226,16 274,130,397,220,16 334,109,411,166,16 418,123,500,209,16 433,91,500,147,16 268,95,328,151,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003916.jpg 48,69,287,245,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003917.jpg 121,1,500,216,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003920.jpg 1,84,500,361,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003922.jpg 215,39,331,186,14 69,49,399,309,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003925.jpg 24,42,260,242,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003927.jpg 147,2,475,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003928.jpg 117,20,250,454,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003929.jpg 18,62,58,112,3 266,88,373,372,14 192,96,273,374,14 135,117,229,372,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003930.jpg 2,2,450,332,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003931.jpg 2,74,500,324,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003933.jpg 153,11,440,272,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003934.jpg 1,115,85,264,19 144,259,268,375,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003938.jpg 217,123,422,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003940.jpg 76,82,412,192,6 402,119,500,178,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003942.jpg 154,125,271,233,14 17,149,42,237,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003943.jpg 359,310,373,361,4 101,198,186,327,14 275,250,323,316,14 318,256,385,333,14 376,221,480,302,14 412,247,499,375,14 169,224,296,375,14 39,276,158,375,14 218,132,298,177,15 39,119,147,161,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003944.jpg 3,153,500,374,17 68,240,97,301,4 203,29,500,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003950.jpg 150,187,203,282,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003951.jpg 126,65,248,279,14 44,117,295,430,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003952.jpg 151,48,200,264,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003955.jpg 270,176,460,365,12 127,207,272,375,12 94,174,146,324,14 40,163,99,354,14 205,158,263,279,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003958.jpg 8,1,333,375,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003959.jpg 205,92,294,373,14 291,110,422,307,14 398,8,500,164,14 54,39,263,375,14 1,78,68,374,14 382,107,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003962.jpg 1,1,387,375,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003964.jpg 11,1,333,446,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003967.jpg 175,155,195,176,6 178,177,210,208,6 261,130,304,147,6 237,114,271,130,6 362,201,399,235,6 37,144,66,171,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003968.jpg 45,346,500,489,1 48,13,472,483,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003972.jpg 1,63,228,375,14 281,18,475,316,14 139,117,294,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003975.jpg 3,2,288,328,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003976.jpg 75,267,289,480,1 96,114,277,390,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003977.jpg 19,1,484,500,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003978.jpg 197,34,319,217,14 34,87,418,316,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003980.jpg 1,32,322,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003981.jpg 215,154,433,375,19 1,64,263,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003982.jpg 236,192,295,230,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003985.jpg 250,136,308,257,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003989.jpg 333,134,438,236,13 72,98,153,170,13 98,64,139,173,14 168,73,235,179,14 265,67,305,197,14 354,98,443,233,14 169,95,283,241,14 152,120,276,237,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003995.jpg 1,52,500,375,14 310,105,458,228,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/003999.jpg 1,29,500,375,1 2,138,455,375,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004000.jpg 192,40,331,464,14 61,23,198,494,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004001.jpg 377,130,476,197,5 429,166,456,203,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004002.jpg 7,92,357,287,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004004.jpg 190,424,311,500,11 1,302,226,456,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004006.jpg 164,54,227,195,14 69,103,298,284,12 276,77,361,144,12 306,59,327,116,14 372,88,387,133,14 408,96,431,133,14 386,100,407,132,14 62,105,85,144,14 44,109,65,142,14 26,112,46,146,14 1,101,19,145,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004007.jpg 238,123,305,199,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004018.jpg 2,111,348,333,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004021.jpg 4,1,500,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004022.jpg 458,149,500,189,9 210,162,240,213,9 44,216,125,269,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004024.jpg 67,192,192,352,19 178,108,327,301,19 315,12,498,242,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004026.jpg 143,156,316,307,6 40,132,111,175,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004027.jpg 223,260,280,320,15 178,22,333,401,15 66,38,239,415,15 86,256,201,449,15 1,214,124,417,15 78,365,146,460,15 17,348,71,433,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004029.jpg 10,68,489,195,17 443,52,488,129,7 13,51,59,118,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004030.jpg 131,67,455,299,5 332,200,500,325,6 210,186,286,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004032.jpg 43,1,461,364,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004036.jpg 43,75,311,248,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004038.jpg 135,192,229,277,15 200,144,270,237,15 240,104,309,197,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004040.jpg 51,234,138,356,8 139,212,195,298,8 198,188,333,311,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004041.jpg 115,118,295,375,14 267,154,427,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004042.jpg 1,2,385,333,14 288,1,349,230,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004043.jpg 160,111,375,266,6 334,158,432,296,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004044.jpg 93,3,379,375,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004045.jpg 29,66,475,372,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004048.jpg 2,1,348,375,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004049.jpg 2,2,331,499,14 79,4,469,499,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004050.jpg 24,32,471,357,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004053.jpg 242,184,354,270,19 74,205,103,283,8 112,207,166,294,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004054.jpg 31,61,156,375,14 309,58,417,375,14 242,100,327,375,14 167,85,257,248,14 107,71,177,216,14 150,248,213,375,14 202,209,275,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004055.jpg 204,346,263,500,4 303,389,360,500,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004056.jpg 160,209,205,309,4 218,209,256,308,4 257,203,293,309,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004059.jpg 185,133,234,191,2 176,170,211,208,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004061.jpg 2,2,318,239,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004062.jpg 1,79,283,284,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004063.jpg 3,128,294,415,14 139,16,333,262,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004064.jpg 55,1,240,217,19 303,89,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004065.jpg 26,85,426,298,5 452,188,475,245,14 5,193,26,241,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004068.jpg 306,184,348,328,4 270,172,305,241,4 260,18,430,259,14 86,22,195,151,8 1,38,112,138,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004070.jpg 246,109,449,315,13 72,150,245,288,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004071.jpg 24,22,493,326,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004072.jpg 307,195,389,243,16 142,94,275,375,14 235,206,259,259,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004074.jpg 1,20,242,375,14 194,11,460,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004078.jpg 4,88,500,278,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004079.jpg 207,29,352,298,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004080.jpg 103,103,390,237,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004081.jpg 174,96,348,209,9 284,103,500,375,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004083.jpg 330,92,500,375,2 29,57,466,375,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004084.jpg 63,35,283,217,12 107,23,181,133,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004086.jpg 50,9,269,143,11 194,150,500,365,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004088.jpg 128,327,292,407,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004090.jpg 163,163,224,333,14 223,169,283,333,14 291,166,355,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004094.jpg 27,33,473,303,5 66,157,106,202,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004096.jpg 1,1,497,268,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004097.jpg 398,148,500,205,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004098.jpg 263,167,349,333,8 386,174,462,324,8 220,185,446,330,10 193,116,238,283,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004099.jpg 57,178,333,406,5 174,239,333,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004101.jpg 3,199,374,500,17 3,173,235,305,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004103.jpg 189,233,229,298,12 187,199,231,268,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004104.jpg 22,227,166,331,5 1,324,32,410,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004107.jpg 96,259,407,354,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004109.jpg 139,74,354,322,8 157,63,324,291,14 107,3,181,180,14 3,2,82,300,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004112.jpg 43,134,228,345,11 71,22,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004114.jpg 8,142,387,318,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004115.jpg 146,189,349,313,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004116.jpg 157,56,311,288,7 5,6,102,284,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004118.jpg 225,257,256,334,4 291,103,419,239,14 364,111,458,290,14 375,134,500,334,14 65,102,206,334,14 189,67,283,201,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004119.jpg 121,192,346,312,17 450,199,500,333,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004123.jpg 132,1,358,275,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004124.jpg 153,37,500,375,15 2,54,240,372,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004125.jpg 190,81,489,375,14 45,1,245,334,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004126.jpg 84,128,187,430,12 84,72,217,301,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004127.jpg 351,186,455,291,4 284,1,500,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004128.jpg 65,193,243,373,8 266,48,311,106,8 250,115,479,373,14 57,82,189,364,14 34,36,94,142,14 153,66,273,198,14 217,53,295,154,14 79,36,140,92,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004130.jpg 28,75,426,331,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004132.jpg 1,85,496,316,17 221,47,349,306,14 318,34,451,333,14 45,14,210,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004134.jpg 105,3,143,111,4 147,3,172,103,4 184,1,212,103,4 219,1,238,100,4 243,1,276,93,4 326,298,394,400,4 324,243,408,380,4 125,312,231,349,4 195,292,299,323,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004139.jpg 42,63,461,373,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004144.jpg 9,330,67,396,5 200,385,250,471,14 38,374,56,440,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004147.jpg 75,177,355,257,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004151.jpg 4,64,320,496,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004153.jpg 8,41,496,240,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004154.jpg 1,213,120,301,6 171,226,222,259,6 394,214,427,284,14 286,216,302,275,14 357,213,379,273,14 461,224,484,291,14 486,221,500,292,14 448,220,470,280,14 203,199,254,251,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004155.jpg 114,25,258,185,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004156.jpg 1,87,383,374,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004157.jpg 1,58,406,333,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004159.jpg 17,78,208,363,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004160.jpg 146,99,357,199,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004161.jpg 46,1,375,500,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004162.jpg 76,380,103,480,4 160,384,183,482,4 289,397,321,490,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004165.jpg 118,1,401,330,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004166.jpg 234,204,500,332,10 210,194,257,234,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004167.jpg 319,146,375,375,14 287,224,327,375,14 248,201,284,340,14 79,133,130,198,14 5,41,500,375,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004172.jpg 220,290,268,330,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004173.jpg 234,119,464,356,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004175.jpg 2,17,479,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004176.jpg 1,102,279,482,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004177.jpg 86,118,425,342,12 189,30,304,222,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004179.jpg 163,78,249,233,14 229,36,380,239,14 86,82,246,375,14 407,8,498,280,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004180.jpg 197,13,272,116,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004181.jpg 8,8,500,311,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004182.jpg 213,129,281,207,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004183.jpg 57,57,456,375,6 2,75,66,128,6 192,81,268,196,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004184.jpg 127,65,456,375,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004187.jpg 212,309,301,365,6 316,330,493,375,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004188.jpg 213,1,500,375,7 135,183,158,216,6 111,128,145,163,6 72,131,102,170,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004197.jpg 246,21,485,334,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004198.jpg 2,168,292,500,13 200,125,269,366,14 147,114,267,463,14 2,157,30,206,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004199.jpg 5,75,496,209,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004202.jpg 272,124,500,358,11 54,161,252,351,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004206.jpg 49,58,377,376,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004207.jpg 136,11,256,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004208.jpg 213,95,267,206,14 209,136,261,233,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004210.jpg 314,24,425,120,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004211.jpg 74,382,209,497,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004213.jpg 120,131,500,375,13 156,68,348,344,14 1,1,136,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004214.jpg 185,101,361,231,13 214,67,312,212,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004216.jpg 306,192,386,252,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004217.jpg 1,61,496,293,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004218.jpg 322,227,477,331,11 6,202,74,245,2 143,190,196,234,2 139,174,179,207,2 92,179,133,218,2 13,179,40,199,2 204,168,240,221,2 320,193,340,220,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004219.jpg 365,72,448,216,14 304,72,379,215,14 202,76,308,213,14 133,67,230,205,14 41,75,161,214,14 3,66,74,200,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004222.jpg 252,156,362,224,17 75,167,145,250,15 138,132,213,200,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004225.jpg 2,2,284,296,3 194,1,332,111,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004226.jpg 166,51,334,351,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004227.jpg 54,180,333,374,8 259,139,486,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004233.jpg 123,144,415,348,9 75,111,107,152,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004234.jpg 150,60,334,215,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004235.jpg 33,58,435,339,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004236.jpg 81,149,157,333,4 140,113,206,333,4 207,123,284,333,4 295,125,373,333,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004238.jpg 10,105,112,357,14 228,112,341,357,14 314,24,483,357,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004240.jpg 66,373,274,457,6 276,388,333,446,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004243.jpg 1,174,106,308,13 85,164,213,291,13 174,163,263,261,13 235,156,334,244,13 305,136,402,230,13 372,161,426,215,13 456,132,500,181,13 423,132,465,196,13 47,117,91,244,14 454,114,472,146,14 405,120,425,155,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004245.jpg 88,159,500,375,6 2,127,308,332,6 205,121,272,230,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004248.jpg 178,242,266,333,14 185,156,241,221,14 434,155,457,189,14 242,137,271,169,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004249.jpg 175,158,422,251,6 210,104,229,156,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004250.jpg 126,159,272,228,10 79,224,298,332,10 27,325,358,480,10 102,129,146,197,8 79,149,137,221,8 61,162,128,284,8 4,206,93,405,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004251.jpg 188,70,313,277,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004252.jpg 203,32,294,107,19 157,229,316,375,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004254.jpg 77,109,450,299,6 1,111,116,206,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004260.jpg 85,1,404,136,19 85,2,500,281,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004261.jpg 213,140,298,193,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004262.jpg 156,258,240,352,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004266.jpg 49,68,456,327,12 435,64,500,177,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004267.jpg 13,46,360,256,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004268.jpg 149,130,192,291,4 191,104,206,135,14 208,96,228,137,14 192,154,209,189,14 206,145,230,189,14 192,206,213,239,14 193,255,217,293,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004276.jpg 54,100,291,256,17 265,85,375,351,14 109,157,248,382,14 80,98,138,238,14 22,79,39,107,15 9,77,26,107,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004277.jpg 200,309,318,480,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004278.jpg 14,141,449,289,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004282.jpg 60,56,450,347,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004285.jpg 1,61,272,333,14 243,76,489,333,14 410,143,441,185,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004288.jpg 207,135,390,375,11 4,57,500,368,17 30,5,280,374,14 244,3,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004289.jpg 5,128,138,375,14 104,82,283,313,14 181,64,424,373,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004290.jpg 337,198,417,266,6 1,213,60,294,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004294.jpg 140,121,433,301,12 261,75,320,237,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004297.jpg 108,156,306,375,11 210,1,500,317,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004299.jpg 167,119,397,196,3 271,118,297,167,14 422,15,500,43,3 148,8,253,50,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004301.jpg 56,87,320,438,12 131,46,241,282,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004302.jpg 1,124,500,264,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004305.jpg 79,179,280,344,5 181,231,208,265,14 288,245,351,362,14 291,280,342,368,13 341,275,395,308,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004306.jpg 283,149,464,358,11 183,30,500,304,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004308.jpg 50,129,294,400,7 1,61,118,329,19 172,47,500,398,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004309.jpg 88,157,422,375,12 178,74,308,294,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004311.jpg 253,166,271,204,4 271,158,284,202,4 281,115,355,196,15 71,44,221,487,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004313.jpg 12,180,479,411,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004314.jpg 15,70,489,258,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004316.jpg 88,114,284,294,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004317.jpg 178,188,259,300,14 89,134,160,300,14 154,205,180,254,14 1,155,65,304,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004319.jpg 1,145,498,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004320.jpg 158,160,334,263,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004324.jpg 1,64,412,323,18 351,119,373,175,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004328.jpg 44,117,147,265,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004330.jpg 302,118,500,266,1 345,69,484,247,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004332.jpg 157,328,299,470,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004334.jpg 42,65,327,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004335.jpg 111,79,367,283,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004336.jpg 66,45,259,375,14 247,48,496,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004337.jpg 357,173,500,244,6 255,173,396,227,6 202,173,302,217,6 153,171,241,211,6 125,172,193,206,6 86,168,164,205,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004340.jpg 203,170,355,333,2 172,237,362,368,2 62,115,240,284,2 200,78,257,156,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004342.jpg 221,89,499,375,14 179,160,228,236,19 50,126,146,266,19 1,78,65,268,19 269,108,343,196,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004343.jpg 82,36,496,283,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004344.jpg 102,224,202,407,1 103,140,196,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004348.jpg 1,48,500,380,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004350.jpg 197,114,357,302,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004353.jpg 19,9,500,338,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004355.jpg 312,52,500,361,14 240,54,364,295,14 1,58,164,287,14 234,195,278,348,4 184,182,226,324,4 114,39,263,273,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004357.jpg 427,275,497,326,16 272,285,362,340,16 277,199,321,352,14 357,209,429,330,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004358.jpg 30,93,403,443,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004362.jpg 213,190,352,430,2 14,62,233,309,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004363.jpg 125,128,453,310,14 46,119,196,264,14 88,157,219,228,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004366.jpg 56,121,210,340,8 312,121,467,248,8 187,102,282,298,14 232,192,341,323,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004373.jpg 337,159,497,234,2 337,205,439,270,2 100,174,322,239,2 119,218,231,301,2 7,253,118,340,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004374.jpg 180,174,277,226,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004375.jpg 342,135,403,206,9 110,156,178,226,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004377.jpg 200,175,220,201,0 201,207,217,228,0 193,260,211,283,0 186,285,202,310,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004378.jpg 46,146,148,179,6 224,97,375,302,6 4,90,273,500,14 2,102,60,339,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004381.jpg 15,56,454,312,12 231,23,359,165,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004382.jpg 129,149,398,212,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004383.jpg 99,76,308,329,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004385.jpg 12,7,443,364,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004388.jpg 94,100,445,248,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004393.jpg 4,209,306,349,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004394.jpg 259,90,379,238,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004395.jpg 123,139,379,300,1 177,53,333,270,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004398.jpg 15,100,472,211,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004399.jpg 240,150,361,229,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004400.jpg 105,2,382,375,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004401.jpg 174,71,279,189,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004402.jpg 139,18,500,294,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004403.jpg 162,29,309,316,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004406.jpg 124,75,500,225,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004407.jpg 1,34,322,482,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004408.jpg 391,69,500,334,14 99,69,405,333,14 197,30,338,247,14 1,19,91,206,14 100,18,210,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004410.jpg 129,54,257,210,14 214,15,338,206,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004412.jpg 75,88,466,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004413.jpg 58,6,466,333,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004414.jpg 98,111,384,238,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004415.jpg 28,129,429,217,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004416.jpg 90,124,378,308,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004417.jpg 193,107,238,164,14 29,126,45,171,14 309,84,327,143,14 125,210,196,290,14 183,131,245,174,1 124,238,193,323,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004418.jpg 161,238,300,426,14 38,151,176,260,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004419.jpg 197,120,455,289,11 189,181,454,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004420.jpg 65,38,303,294,14 281,142,490,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004422.jpg 323,143,415,220,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004425.jpg 70,28,291,394,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004426.jpg 36,14,428,319,6 24,15,140,75,6 60,1,93,79,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004427.jpg 94,32,281,375,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004428.jpg 113,68,268,266,11 1,1,258,248,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004431.jpg 52,272,244,421,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004435.jpg 157,45,327,333,14 302,151,376,333,14 12,199,185,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004440.jpg 87,4,461,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004442.jpg 392,247,491,305,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004443.jpg 327,142,384,197,2 220,137,263,210,2 189,63,396,169,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004444.jpg 49,19,407,307,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004445.jpg 235,72,459,221,9 75,88,178,152,9 44,131,147,253,9 224,140,270,238,9 447,145,500,288,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004447.jpg 429,181,494,235,1 177,255,345,346,1 312,125,358,307,14 69,128,98,220,14 52,139,79,216,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004448.jpg 94,50,274,287,13 233,58,398,252,13 380,61,483,234,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004449.jpg 287,80,490,375,14 201,151,297,362,14 93,121,205,328,14 46,2,91,92,14 70,216,203,372,8 39,178,117,322,8 75,113,128,193,8 100,101,142,172,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004451.jpg 7,252,187,375,15 37,169,172,261,15 153,222,238,349,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004453.jpg 68,78,416,312,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004454.jpg 213,95,311,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004456.jpg 62,79,465,297,6 162,67,208,116,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004458.jpg 55,167,431,270,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004460.jpg 1,2,436,374,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004461.jpg 11,36,482,330,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004462.jpg 355,147,436,246,2 206,88,289,157,2 117,55,160,88,2 446,75,491,121,2 285,234,371,375,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004465.jpg 213,186,374,340,11 148,119,432,375,14 87,85,283,359,14 1,109,480,375,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004467.jpg 174,46,390,308,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004469.jpg 96,188,345,316,10 185,114,298,189,10 257,100,377,236,14 313,125,415,299,14 244,117,500,375,14 77,106,172,239,14 48,78,90,114,14 1,102,115,331,14 334,11,360,77,14 184,320,216,375,4 153,319,189,375,4 213,192,236,256,4 196,195,220,255,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004472.jpg 3,1,398,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004473.jpg 215,129,421,206,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004475.jpg 67,118,333,465,13 305,307,358,435,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004476.jpg 3,110,224,346,14 217,114,359,375,14 328,71,500,375,14 328,75,352,170,4 371,81,404,177,4 21,219,58,336,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004477.jpg 2,184,284,255,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004478.jpg 2,26,142,114,6 37,33,57,71,14 135,33,258,78,6 33,39,429,336,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004480.jpg 2,12,333,500,14 1,274,333,500,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004482.jpg 2,245,500,375,10 14,81,217,329,14 206,64,370,280,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004483.jpg 1,89,441,318,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004485.jpg 15,127,144,370,14 87,92,176,331,14 157,91,246,322,14 219,67,305,329,14 281,73,354,317,14 339,36,431,316,14 416,27,500,315,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004486.jpg 217,126,275,241,15 152,168,227,247,15 92,93,138,152,15 146,117,221,173,15 31,62,159,222,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004489.jpg 80,2,329,293,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004491.jpg 157,147,399,368,8 185,134,333,283,14 435,261,500,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004492.jpg 17,33,320,375,12 123,1,394,165,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004497.jpg 2,16,500,342,0 277,214,344,343,14 45,252,72,317,14 461,261,480,317,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004501.jpg 362,121,495,375,11 9,223,232,362,11 185,192,394,371,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004503.jpg 121,104,335,297,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004504.jpg 2,67,215,317,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004505.jpg 1,15,322,298,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004506.jpg 90,82,330,470,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004511.jpg 1,1,300,238,7 224,1,500,251,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004513.jpg 237,164,263,181,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004515.jpg 7,111,355,341,7 10,2,364,462,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004516.jpg 235,126,323,333,14 316,179,382,333,14 317,89,446,333,14 179,81,259,132,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004521.jpg 399,204,500,244,6 242,196,275,214,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004522.jpg 232,186,397,308,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004523.jpg 365,115,460,375,14 274,116,349,375,14 137,93,242,368,14 17,136,71,222,14 15,185,98,237,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004525.jpg 373,1,500,120,8 48,1,500,334,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004529.jpg 235,37,476,207,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004531.jpg 2,2,499,394,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004533.jpg 192,186,311,233,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004534.jpg 196,183,227,240,14 369,177,388,228,14 357,196,401,232,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004536.jpg 310,117,363,171,14 249,160,424,206,14 120,187,392,276,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004538.jpg 215,35,308,224,14 41,77,403,367,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004541.jpg 2,60,225,302,5 231,62,500,307,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004543.jpg 13,45,340,333,6 233,39,500,228,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004545.jpg 213,69,427,375,12 217,14,351,238,14 144,202,199,347,11 3,105,135,198,6 432,123,451,181,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004546.jpg 161,201,215,374,4 52,153,152,375,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004547.jpg 283,99,389,350,14 262,220,372,372,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004550.jpg 179,132,281,241,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004554.jpg 80,16,475,284,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004556.jpg 4,42,499,279,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004557.jpg 44,1,500,373,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004559.jpg 315,270,500,327,10 319,242,447,275,10 262,241,366,327,8 281,221,320,304,8 295,210,352,274,8 298,194,329,244,8 419,192,463,245,8 483,203,500,274,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004560.jpg 13,97,481,246,6 154,68,461,159,6 102,71,178,120,6 1,60,97,113,6 431,112,500,206,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004561.jpg 189,154,316,375,14 33,276,443,375,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004564.jpg 82,90,265,361,14 91,127,223,453,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004567.jpg 93,197,393,375,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004568.jpg 1,23,128,277,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004569.jpg 1,1,276,500,11 1,1,327,484,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004572.jpg 235,241,279,296,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004573.jpg 189,138,291,173,3 270,118,295,152,14 201,135,227,169,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004575.jpg 252,202,451,342,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004577.jpg 79,80,267,195,7 212,89,426,271,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004578.jpg 426,185,500,228,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004580.jpg 175,235,336,499,14 342,243,465,437,14 344,252,494,500,14 338,267,394,320,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004582.jpg 75,2,480,360,16 1,2,293,343,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004583.jpg 303,195,337,280,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004586.jpg 9,200,494,364,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004589.jpg 87,38,391,335,12 221,40,317,180,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004590.jpg 56,84,312,222,10 201,15,360,157,14 278,70,367,222,14 346,105,400,222,14 1,31,83,222,14 47,3,126,162,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004593.jpg 102,1,500,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004594.jpg 104,82,320,266,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004596.jpg 1,5,381,499,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004598.jpg 133,61,228,330,14 185,71,274,333,14 263,71,360,333,14 343,42,499,330,14 433,71,500,181,14 21,53,157,332,14 1,80,51,236,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004599.jpg 117,24,240,458,4 286,116,340,255,4 123,6,322,199,14 1,1,152,276,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004602.jpg 56,138,483,272,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004603.jpg 6,137,359,224,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004608.jpg 115,49,338,312,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004610.jpg 210,2,387,332,16 127,56,278,164,16 48,137,297,332,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004613.jpg 247,157,269,192,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004614.jpg 136,146,307,293,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004615.jpg 1,337,32,404,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004616.jpg 3,2,500,375,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004617.jpg 143,183,239,254,16 334,129,424,187,16 329,208,378,251,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004619.jpg 175,87,500,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004620.jpg 146,63,500,234,11 11,1,196,229,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004621.jpg 118,101,471,374,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004624.jpg 250,115,399,281,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004629.jpg 58,106,221,277,12 171,114,309,269,12 332,133,436,265,12 91,60,152,216,14 204,68,257,218,14 332,80,385,148,14 304,119,348,269,14 336,122,382,273,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004633.jpg 52,69,419,202,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004635.jpg 230,128,392,251,9 160,196,213,242,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004637.jpg 259,190,373,301,1 15,182,111,299,1 274,117,354,259,14 19,88,109,254,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004638.jpg 2,11,475,157,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004639.jpg 285,6,475,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004640.jpg 58,135,397,375,10 11,269,160,374,8 190,113,211,172,4 146,101,162,165,4 213,128,234,211,4 237,134,264,213,4 249,61,500,375,14 1,57,29,142,14 4,76,153,345,14 71,57,163,134,14 220,60,284,150,14 264,57,348,172,14 277,68,431,206,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004641.jpg 79,73,479,365,13 171,4,348,310,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004642.jpg 52,160,472,334,16 112,36,397,322,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004645.jpg 5,121,496,250,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004646.jpg 166,188,228,275,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004650.jpg 44,62,479,321,13 146,96,277,331,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004657.jpg 86,130,344,311,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004658.jpg 135,163,200,290,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004659.jpg 101,203,432,368,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004661.jpg 93,92,489,375,14 1,138,212,312,14 107,139,500,373,8 74,120,282,292,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004663.jpg 1,168,407,260,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004664.jpg 17,329,137,488,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004665.jpg 96,124,282,190,3 198,220,258,238,3 205,193,227,229,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004666.jpg 21,124,336,280,5 167,195,199,298,14 211,195,231,292,14 238,192,274,261,14 270,192,298,250,14 286,182,320,263,14 444,176,477,250,14 468,175,496,236,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004667.jpg 1,93,265,291,6 242,65,500,316,6 355,11,444,214,14 311,18,495,400,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004668.jpg 288,131,500,375,8 1,125,290,375,8 360,128,497,323,14 38,95,210,319,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004669.jpg 144,181,220,238,16 231,188,320,237,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004670.jpg 308,220,394,273,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004677.jpg 115,203,227,470,8 154,196,215,293,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004678.jpg 108,20,500,301,2 1,69,310,338,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004680.jpg 106,153,349,254,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004681.jpg 180,121,500,262,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004684.jpg 126,76,464,311,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004688.jpg 1,43,474,336,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004690.jpg 157,52,352,443,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004695.jpg 323,216,475,343,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004696.jpg 95,105,203,246,11 185,75,299,193,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004697.jpg 82,2,421,273,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004698.jpg 320,142,362,217,14 380,139,412,226,14 387,137,444,228,14 200,5,326,274,14 161,33,302,274,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004700.jpg 117,244,251,367,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004703.jpg 210,82,344,394,14 190,197,383,419,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004704.jpg 1,136,347,395,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004709.jpg 5,71,448,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004711.jpg 210,113,340,240,18 337,114,433,230,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004712.jpg 101,106,380,375,14 15,156,43,214,4 2,146,32,209,4 164,114,229,224,8 406,62,500,269,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004713.jpg 60,3,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004716.jpg 29,133,207,287,19 212,5,404,307,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004717.jpg 163,292,273,382,19 1,398,313,500,8 244,178,258,231,4 233,179,247,232,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004720.jpg 241,146,320,228,7 154,154,169,193,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004721.jpg 157,241,187,332,4 309,296,334,334,4 111,121,227,320,14 203,134,292,331,14 283,126,384,334,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004724.jpg 75,83,430,253,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004725.jpg 189,85,381,320,14 8,57,470,375,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004726.jpg 2,22,426,375,14 239,50,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004728.jpg 449,199,472,253,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004729.jpg 9,62,382,329,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004730.jpg 166,1,500,266,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004731.jpg 146,176,298,437,14 108,5,157,120,14 392,47,500,110,6 197,57,500,389,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004733.jpg 21,186,283,500,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004734.jpg 52,43,409,234,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004736.jpg 90,43,292,464,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004738.jpg 155,288,324,432,13 197,240,302,428,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004739.jpg 245,171,375,500,14 191,191,333,500,14 63,157,234,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004740.jpg 152,229,499,375,10 371,98,500,301,14 297,113,426,266,14 172,110,291,231,14 1,117,149,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004741.jpg 139,115,223,203,9 243,93,367,185,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004744.jpg 1,26,247,333,14 283,56,480,238,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004745.jpg 36,34,435,307,6 445,86,482,199,14 396,90,431,152,14 75,44,116,116,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004749.jpg 79,48,220,231,12 118,22,186,150,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004751.jpg 55,115,453,215,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004752.jpg 105,72,182,138,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004755.jpg 157,170,443,252,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004756.jpg 203,113,320,248,12 229,83,311,200,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004757.jpg 58,50,122,103,2 289,117,448,336,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004758.jpg 44,49,129,308,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004759.jpg 10,2,500,355,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004762.jpg 66,64,468,254,5 111,133,138,166,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004763.jpg 283,26,475,346,1 1,1,192,50,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004764.jpg 258,245,284,269,6 66,240,183,320,6 9,248,41,286,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004765.jpg 31,231,263,500,1 18,11,293,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004766.jpg 217,21,372,372,14 354,167,434,275,14 1,51,68,372,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004767.jpg 4,84,404,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004769.jpg 200,178,500,375,1 68,52,171,365,14 401,241,439,289,14 354,237,413,313,14 188,167,203,190,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004771.jpg 110,75,318,400,14 268,154,368,330,14 221,329,374,500,14 24,353,236,500,14 3,128,84,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004772.jpg 53,133,401,262,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004774.jpg 42,103,205,293,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004775.jpg 47,2,446,332,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004778.jpg 1,14,180,314,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004780.jpg 158,383,263,451,6 19,383,147,426,6 109,390,142,446,15 44,386,74,429,15 212,193,266,288,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004781.jpg 56,72,93,103,19 47,120,86,172,19 88,123,129,174,19 350,129,394,199,19 392,129,446,210,19 212,205,318,330,8 1,188,93,324,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004784.jpg 192,125,251,248,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004787.jpg 130,21,430,303,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004791.jpg 74,98,170,289,8 119,49,270,299,14 220,8,272,95,14 273,2,369,243,14 35,1,110,198,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004795.jpg 226,122,301,292,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004798.jpg 56,16,486,333,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004800.jpg 234,1,500,105,6 27,48,289,199,13 156,19,262,204,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004802.jpg 17,103,430,209,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004803.jpg 143,38,310,257,14 128,86,295,305,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004804.jpg 38,107,221,263,12 86,19,138,181,14 156,66,223,115,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004806.jpg 43,195,316,296,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004807.jpg 118,24,382,301,12 140,134,264,340,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004809.jpg 77,4,318,333,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004810.jpg 8,238,186,340,6 180,226,254,290,6 263,202,312,245,6 358,212,385,283,14 413,219,448,305,14 389,209,420,287,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004811.jpg 84,202,375,386,1 153,11,284,457,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004813.jpg 65,189,146,305,8 224,185,327,296,8 295,178,500,375,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004817.jpg 1,291,181,340,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004819.jpg 117,206,375,500,10 1,221,145,500,14 30,178,169,404,14 78,143,126,235,14 90,130,187,245,14 160,126,234,220,14 241,126,308,261,14 293,135,358,305,14 317,180,375,357,14 179,279,205,355,4 242,312,266,388,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004820.jpg 2,352,65,500,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004821.jpg 50,370,250,458,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004822.jpg 179,28,373,317,14 184,65,465,356,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004824.jpg 36,92,220,214,0 129,3,316,133,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004827.jpg 94,281,261,445,16 77,235,176,363,16 303,253,333,329,16 174,257,234,339,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004829.jpg 22,23,278,500,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004833.jpg 1,1,355,375,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004835.jpg 4,2,276,333,14 295,3,500,332,14 1,194,272,333,1 284,171,500,333,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004838.jpg 3,108,434,336,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004843.jpg 103,117,471,228,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004844.jpg 185,390,263,435,6 2,391,176,480,6 149,381,205,419,6 135,183,204,272,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004845.jpg 3,1,334,333,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004847.jpg 159,5,417,375,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004851.jpg 135,48,500,326,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004853.jpg 33,84,447,219,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004854.jpg 81,194,271,298,16 272,228,358,268,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004855.jpg 79,96,220,375,14 196,110,291,296,14 269,103,429,333,14 242,96,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004858.jpg 397,1,500,158,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004860.jpg 20,62,374,395,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004861.jpg 113,53,320,494,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004862.jpg 1,358,50,500,8 232,366,260,393,15 227,295,269,351,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004864.jpg 28,28,58,109,14 71,24,99,122,14 277,28,333,287,14 77,25,270,396,14 40,113,323,500,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004865.jpg 17,52,417,291,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004870.jpg 159,31,323,310,14 106,78,399,375,13 27,39,143,114,6 404,25,500,119,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004871.jpg 67,88,478,361,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004874.jpg 62,101,324,248,12 192,95,266,167,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004875.jpg 2,1,359,373,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004877.jpg 101,106,380,293,2 462,114,500,208,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004880.jpg 397,211,419,284,4 387,215,402,271,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004881.jpg 1,168,499,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004883.jpg 10,89,488,217,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004884.jpg 203,60,472,379,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004887.jpg 3,142,259,294,17 305,142,496,323,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004888.jpg 92,187,206,387,7 206,189,351,395,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004889.jpg 1,1,118,164,14 68,98,354,291,14 64,6,500,337,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004891.jpg 131,108,414,248,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004892.jpg 357,168,418,275,8 273,186,338,277,8 190,202,252,280,8 140,209,195,284,8 1,279,443,375,10 2,179,441,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004893.jpg 241,130,307,189,15 131,245,241,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004894.jpg 93,21,378,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004899.jpg 144,1,500,333,3 58,116,257,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004900.jpg 65,357,101,500,14 87,344,132,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004901.jpg 111,131,335,318,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004904.jpg 373,79,454,195,14 76,118,181,238,14 267,16,334,110,14 354,118,495,210,1 65,160,244,268,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004906.jpg 131,79,255,249,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004908.jpg 76,47,293,426,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004909.jpg 144,25,274,443,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004914.jpg 78,6,373,354,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004915.jpg 104,28,422,467,2 20,218,221,427,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004917.jpg 100,123,378,332,13 167,89,298,304,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004918.jpg 164,8,500,285,14 2,75,500,283,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004919.jpg 310,32,429,261,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004920.jpg 288,47,362,126,14 23,59,267,312,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004921.jpg 65,133,301,382,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004922.jpg 216,125,369,192,4 105,42,291,332,14 202,1,500,330,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004923.jpg 58,125,500,375,17 112,124,380,374,14 2,107,265,375,14 1,68,243,326,14 12,81,153,234,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004924.jpg 1,3,499,370,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004925.jpg 185,200,375,500,11 3,2,206,498,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004927.jpg 58,26,433,303,6 409,52,439,149,14 369,60,394,114,14 31,65,45,111,14 48,67,65,110,14 67,65,81,107,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004930.jpg 40,250,327,333,1 48,19,353,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004932.jpg 73,49,238,214,12 115,19,179,143,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004933.jpg 148,163,227,200,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004934.jpg 178,11,500,333,7 2,2,499,332,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004937.jpg 29,126,67,228,14 100,103,129,216,14 119,103,144,138,14 143,84,232,231,14 243,103,303,213,14 83,2,415,326,3 223,298,500,375,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004940.jpg 19,135,489,312,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004941.jpg 9,61,112,478,14 88,1,373,423,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004942.jpg 247,134,437,338,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004944.jpg 1,55,189,375,5 104,227,206,375,14 196,143,259,284,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004945.jpg 121,41,357,357,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004947.jpg 300,107,500,333,14 155,89,280,333,14 1,40,189,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004949.jpg 104,197,169,289,2 163,36,234,133,2 206,203,277,300,2 292,304,373,392,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004952.jpg 151,236,183,280,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004957.jpg 148,11,494,364,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004959.jpg 115,90,196,132,6 93,100,107,152,14 104,102,121,153,14 30,123,58,162,14 46,109,68,132,14 69,117,91,158,14 204,121,285,333,14 300,128,429,333,14 273,96,500,333,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004964.jpg 111,182,345,289,17 433,203,500,294,8 420,63,486,207,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004965.jpg 43,400,152,471,6 152,416,281,500,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004969.jpg 201,160,298,237,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004970.jpg 24,22,482,400,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004971.jpg 199,177,430,374,8 3,175,174,374,14 217,135,437,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004975.jpg 12,143,366,429,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004978.jpg 285,105,453,375,14 175,61,299,232,14 49,144,193,373,14 179,162,291,375,14 269,76,358,202,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004979.jpg 178,117,304,280,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004980.jpg 381,208,466,252,9 91,201,132,229,9 22,201,72,233,9 359,199,390,226,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004981.jpg 5,61,431,305,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004988.jpg 2,14,500,306,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004989.jpg 57,184,434,306,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004993.jpg 63,104,412,293,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/004996.jpg 42,89,480,347,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005000.jpg 64,163,359,375,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005002.jpg 152,118,263,500,4 52,2,329,217,14 119,51,183,255,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005005.jpg 65,188,456,318,6 312,194,341,230,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005008.jpg 69,111,390,255,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005009.jpg 423,11,500,246,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005010.jpg 49,138,357,312,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005011.jpg 73,170,500,258,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005012.jpg 2,277,147,500,11 111,359,201,500,7 190,3,329,498,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005013.jpg 65,72,464,285,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005015.jpg 44,155,317,255,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005017.jpg 352,217,386,276,9 111,220,141,257,14 139,221,167,259,14 185,220,213,262,14 166,217,191,256,14 92,198,107,244,14 206,208,220,241,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005019.jpg 135,1,441,340,14 5,128,150,340,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005021.jpg 40,107,476,252,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005022.jpg 209,104,274,140,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005025.jpg 12,85,500,364,17 375,75,500,186,14 196,78,373,234,14 273,107,500,220,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005030.jpg 25,59,478,291,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005031.jpg 320,170,429,279,1 51,139,206,290,1 291,101,408,259,14 25,37,172,243,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005034.jpg 337,128,459,199,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005035.jpg 33,35,483,292,6 395,2,425,102,14 429,18,500,73,6 2,27,54,105,6 245,4,266,41,14 267,3,281,42,14 281,2,307,86,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005038.jpg 117,135,411,289,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005040.jpg 102,47,413,375,14 244,46,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005041.jpg 441,175,496,227,6 316,211,369,271,13 323,163,369,245,14 366,160,422,223,14 196,153,274,246,14 74,131,252,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005043.jpg 309,200,426,227,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005044.jpg 297,113,429,331,8 65,109,266,331,8 1,109,111,331,8 98,106,201,256,8 1,105,41,188,8 351,146,490,302,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005046.jpg 30,99,500,315,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005048.jpg 137,12,362,340,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005049.jpg 182,180,500,374,10 12,148,252,374,14 2,55,219,356,14 206,57,344,199,14 389,86,500,252,14 384,254,499,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005050.jpg 166,37,447,342,11 1,3,500,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005051.jpg 165,160,500,399,11 1,5,376,412,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005053.jpg 22,144,69,202,12 160,126,218,203,12 263,124,332,205,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005059.jpg 89,85,235,219,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005060.jpg 51,42,183,189,14 47,123,156,334,14 110,120,269,315,14 120,153,252,325,14 238,153,297,251,14 162,197,405,375,14 298,162,359,255,14 317,160,405,373,14 363,146,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005066.jpg 102,57,401,347,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005069.jpg 1,36,337,241,18 142,224,243,394,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005070.jpg 31,128,405,308,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005074.jpg 36,152,387,297,3 343,194,426,240,6 396,201,469,233,6 22,189,83,222,6 419,260,472,297,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005075.jpg 54,60,331,500,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005076.jpg 15,4,500,267,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005080.jpg 71,43,427,309,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005082.jpg 172,185,210,265,11 139,170,274,248,17 1,173,111,287,17 306,181,480,337,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005083.jpg 13,84,493,287,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005087.jpg 178,111,358,290,13 185,35,334,234,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005088.jpg 23,142,102,264,14 93,153,153,213,14 164,153,246,284,14 408,103,493,195,15 40,193,132,301,15 122,198,209,308,15 274,129,354,313,14 287,160,403,339,14 323,132,499,374,14 2,172,284,316,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005089.jpg 44,63,253,228,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005091.jpg 213,125,435,254,6 54,66,199,151,6 247,96,448,171,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005092.jpg 97,90,315,218,11 101,2,313,154,15 285,2,392,175,15 374,58,480,159,15 443,2,500,127,15 367,2,445,69,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005095.jpg 328,231,500,296,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005096.jpg 2,2,163,285,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005098.jpg 10,217,374,500,1 36,107,375,224,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005099.jpg 2,212,326,482,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005100.jpg 171,78,467,375,14 52,83,171,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005103.jpg 122,42,287,461,14 308,111,375,359,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005105.jpg 14,125,493,350,6 1,104,103,212,6 96,110,121,184,14 416,131,437,153,14 448,131,477,165,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005106.jpg 124,193,289,245,0 352,219,417,243,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005109.jpg 1,4,465,350,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005112.jpg 103,164,171,192,3 296,183,390,204,3 32,170,81,185,3 369,175,426,190,3 146,266,255,294,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005113.jpg 218,135,316,224,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005115.jpg 111,46,382,375,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005117.jpg 32,258,269,412,11 2,2,375,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005118.jpg 3,141,266,375,7 243,103,443,319,14 1,7,499,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005119.jpg 125,141,466,374,1 231,19,401,373,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005120.jpg 21,224,333,477,1 41,75,206,298,14 101,5,235,245,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005123.jpg 1,90,495,195,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005125.jpg 435,129,475,195,14 61,54,478,333,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005126.jpg 74,131,261,225,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005127.jpg 186,81,318,304,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005132.jpg 89,81,352,286,12 329,73,394,267,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005133.jpg 220,114,442,269,13 304,93,416,254,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005137.jpg 160,31,203,65,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005139.jpg 358,110,411,248,14 147,121,358,269,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005140.jpg 150,125,474,333,10 351,1,450,135,14 1,4,111,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005141.jpg 1,167,179,331,9 235,184,259,238,14 256,184,282,238,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005142.jpg 19,62,456,321,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005147.jpg 378,74,427,111,16 212,143,302,211,16 103,133,183,195,16 2,131,50,187,16 203,125,260,171,16 268,124,305,157,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005148.jpg 231,95,422,375,14 5,114,243,375,14 1,89,129,320,14 348,162,412,278,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005149.jpg 205,1,341,165,11 164,132,500,333,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005151.jpg 317,85,500,328,14 150,89,270,277,14 1,96,140,247,14 1,231,500,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005152.jpg 111,14,500,375,11 1,25,376,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005154.jpg 2,86,361,261,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005155.jpg 3,3,498,374,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005157.jpg 97,200,290,276,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005158.jpg 19,91,469,314,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005162.jpg 126,170,234,239,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005163.jpg 259,140,298,213,13 245,110,302,187,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005164.jpg 270,158,383,257,16 167,89,226,126,16 78,55,170,111,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005165.jpg 61,71,473,333,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005166.jpg 36,61,395,277,6 1,64,104,168,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005167.jpg 242,169,270,215,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005170.jpg 72,164,121,309,14 130,161,179,305,14 206,150,274,306,14 302,115,374,307,14 371,210,422,270,14 295,158,350,280,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005172.jpg 2,57,500,333,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005174.jpg 349,186,500,375,8 3,128,471,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005178.jpg 91,33,482,375,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005180.jpg 169,377,375,500,8 1,301,73,423,8 93,289,189,419,15 84,250,135,319,15 22,246,94,327,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005182.jpg 154,88,369,266,12 202,27,264,208,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005184.jpg 358,178,411,269,15 317,224,396,335,8 179,301,296,375,8 167,262,275,375,8 257,177,348,356,14 294,127,358,312,14 181,178,337,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005187.jpg 51,100,298,295,19 62,117,231,253,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005188.jpg 9,19,500,354,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005192.jpg 272,41,500,146,6 54,15,479,310,6 1,39,197,230,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005193.jpg 123,138,500,365,11 58,1,286,196,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005194.jpg 4,17,435,493,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005196.jpg 189,1,317,111,15 12,184,164,297,7 1,26,271,375,14 225,43,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005197.jpg 7,116,352,307,13 189,70,286,229,14 91,99,207,247,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005198.jpg 278,74,389,225,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005200.jpg 97,12,445,144,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005201.jpg 5,48,467,329,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005204.jpg 145,134,369,218,6 426,139,500,219,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005205.jpg 39,83,126,334,14 111,75,162,238,14 154,65,222,241,14 214,99,277,251,14 270,55,352,249,14 372,47,458,343,14 345,100,423,356,14 281,188,361,361,14 186,194,288,354,14 93,192,192,362,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005206.jpg 214,146,256,298,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005207.jpg 50,104,386,353,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005211.jpg 37,25,463,313,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005213.jpg 26,93,477,364,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005216.jpg 192,48,314,349,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005218.jpg 140,70,401,262,8 114,96,253,357,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005221.jpg 12,98,487,372,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005225.jpg 1,165,344,364,11 1,26,422,364,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005226.jpg 129,287,495,375,10 259,146,450,294,14 34,93,172,357,14 181,107,276,294,14 82,26,166,194,14 330,216,358,303,4 353,194,394,319,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005227.jpg 66,8,346,304,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005228.jpg 295,96,500,219,7 26,81,195,198,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005232.jpg 292,94,404,271,14 238,131,465,291,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005233.jpg 318,146,407,247,14 368,122,498,332,14 1,160,126,362,14 11,133,167,242,14 176,106,220,164,14 377,223,498,373,8 284,205,306,286,4 207,158,223,207,4 233,165,249,211,4 98,196,373,371,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005234.jpg 65,105,500,294,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005235.jpg 110,175,283,364,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005237.jpg 25,15,487,229,17 169,9,307,197,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005238.jpg 12,125,485,231,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005240.jpg 56,82,483,353,18 221,176,245,268,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005241.jpg 102,1,500,349,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005243.jpg 125,11,443,209,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005247.jpg 88,128,416,375,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005249.jpg 8,38,373,437,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005250.jpg 178,25,500,365,17 33,61,214,234,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005251.jpg 262,123,358,333,14 157,128,242,332,14 2,3,497,256,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005252.jpg 18,199,333,500,10 79,33,297,267,14 2,132,218,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005255.jpg 1,127,114,242,19 68,160,105,219,14 17,153,69,223,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005256.jpg 30,9,449,332,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005261.jpg 323,182,500,375,14 181,192,341,375,14 88,165,186,268,14 1,145,134,375,14 207,60,342,262,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005265.jpg 20,68,500,298,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005266.jpg 47,195,344,375,17 175,162,257,243,8 296,158,383,248,8 427,28,456,65,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005271.jpg 103,73,375,296,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005272.jpg 332,24,470,203,3 65,3,240,224,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005275.jpg 32,131,478,331,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005276.jpg 15,199,77,340,1 66,223,202,313,1 178,213,327,375,1 171,107,287,375,14 2,110,86,322,14 120,115,189,326,14 82,132,135,326,14 468,276,479,311,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005277.jpg 203,108,309,235,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005279.jpg 28,29,313,302,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005280.jpg 185,116,404,209,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005282.jpg 16,37,489,309,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005284.jpg 323,8,494,359,15 132,188,314,371,15 2,68,158,367,15 153,50,316,268,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005286.jpg 104,65,440,372,14 4,2,433,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005287.jpg 119,115,385,309,6 295,90,355,156,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005289.jpg 360,143,435,301,2 103,150,179,307,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005291.jpg 31,13,485,375,14 379,45,430,138,14 462,43,500,123,14 430,43,467,128,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005294.jpg 135,2,483,375,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005295.jpg 298,203,378,326,8 295,186,355,250,8 17,167,162,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005296.jpg 170,262,500,374,6 1,258,114,348,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005299.jpg 124,23,449,318,12 1,40,286,318,12 156,1,223,47,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005300.jpg 220,40,347,248,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005301.jpg 53,213,231,461,1 224,224,331,424,1 56,50,233,422,14 229,93,331,326,14 199,72,263,167,14 232,65,283,146,14 286,61,331,105,14 30,73,76,220,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005302.jpg 111,193,137,243,8 142,191,166,240,8 187,191,214,237,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005308.jpg 235,137,334,310,11 35,87,183,302,14 173,29,338,197,14 165,126,257,310,14 337,115,500,310,14 363,196,455,308,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005309.jpg 1,8,464,321,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005313.jpg 298,80,379,159,19 1,124,96,333,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005316.jpg 105,213,500,375,6 133,181,362,298,13 300,177,440,245,13 110,148,280,216,13 55,96,111,252,14 88,90,125,230,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005317.jpg 18,44,500,375,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005321.jpg 2,3,464,331,14 82,68,412,332,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005322.jpg 41,8,273,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005323.jpg 231,1,500,373,8 171,44,360,353,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005324.jpg 340,193,468,366,16 75,181,211,309,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005329.jpg 175,124,259,266,3 1,198,158,298,3 142,167,229,252,3 275,220,349,261,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005330.jpg 2,135,379,243,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005332.jpg 224,151,262,194,1 336,126,369,188,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005333.jpg 1,201,151,386,6 139,209,187,332,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005334.jpg 1,128,310,500,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005335.jpg 295,215,435,315,9 207,209,267,280,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005339.jpg 171,34,392,386,9 393,64,492,239,9 120,19,226,238,9 1,31,184,316,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005341.jpg 312,101,500,316,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005342.jpg 231,28,420,218,14 221,115,482,312,12 139,151,283,307,12 47,147,152,289,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005347.jpg 276,199,450,313,13 282,169,335,254,13 60,74,167,313,14 320,138,353,205,14 348,154,381,204,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005353.jpg 1,98,500,300,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005354.jpg 230,114,330,221,13 5,98,222,375,13 361,115,437,265,14 1,89,38,184,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005356.jpg 1,1,500,375,14 75,181,245,375,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005357.jpg 298,131,343,268,14 1,206,407,375,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005359.jpg 1,66,343,415,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005361.jpg 1,98,457,487,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005362.jpg 180,230,226,289,8 133,227,179,291,8 84,226,135,283,8 276,230,315,291,8 328,230,347,281,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005364.jpg 91,18,297,500,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005366.jpg 51,54,420,375,14 25,2,204,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005372.jpg 16,130,369,340,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005375.jpg 361,199,459,268,19 227,159,351,300,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005376.jpg 172,205,378,258,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005377.jpg 1,26,171,276,14 329,1,408,66,14 282,49,500,375,14 1,225,443,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005381.jpg 22,291,255,497,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005382.jpg 210,128,236,197,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005386.jpg 97,1,422,343,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005390.jpg 134,217,403,329,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005392.jpg 34,49,500,234,0 191,103,222,170,14 289,152,340,333,14 222,150,295,332,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005394.jpg 61,82,356,500,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005399.jpg 94,128,266,333,14 250,64,500,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005400.jpg 1,41,500,375,17 111,79,414,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005401.jpg 48,79,384,317,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005402.jpg 61,127,309,287,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005403.jpg 134,121,283,191,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005409.jpg 2,1,291,331,12 255,77,463,334,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005411.jpg 22,54,137,142,19 77,8,325,497,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005412.jpg 2,192,51,298,14 63,166,116,254,14 110,195,146,252,14 135,184,192,353,14 229,156,261,236,14 256,167,283,235,14 240,237,286,307,14 316,209,361,260,14 308,220,362,340,14 368,158,416,326,14 415,169,436,223,14 433,164,460,219,14 97,253,198,375,8 233,264,284,354,8 309,262,386,351,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005415.jpg 413,234,465,293,7 331,244,415,294,7 358,228,428,280,7 355,66,418,234,14 206,82,265,246,14 63,61,138,276,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005422.jpg 48,96,333,242,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005425.jpg 93,94,181,422,14 160,54,259,443,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005426.jpg 227,29,335,244,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005427.jpg 86,147,397,249,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005428.jpg 1,1,217,362,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005432.jpg 24,13,476,360,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005435.jpg 114,220,375,425,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005437.jpg 2,115,499,340,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005442.jpg 429,122,472,232,4 204,103,447,375,14 17,125,293,375,14 383,2,500,359,14 342,2,435,119,14 127,1,254,135,14 31,2,238,241,14 239,1,272,110,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005443.jpg 11,259,319,486,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005444.jpg 109,88,394,375,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005446.jpg 101,1,252,226,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005447.jpg 94,158,416,292,17 177,121,263,323,14 284,128,376,305,14 255,117,292,147,6 360,124,390,153,6 338,126,366,149,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005449.jpg 2,30,341,313,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005452.jpg 174,121,349,216,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005456.jpg 263,91,320,201,12 110,29,212,213,12 116,14,179,126,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005458.jpg 156,136,371,192,0 27,138,473,321,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005459.jpg 124,211,213,500,14 9,212,138,500,14 84,295,146,386,14 169,210,323,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005460.jpg 40,4,484,370,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005462.jpg 1,33,320,440,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005463.jpg 2,36,487,267,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005464.jpg 2,137,333,500,10 178,49,205,92,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005466.jpg 151,227,180,300,14 121,255,156,301,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005468.jpg 16,37,472,457,13 199,13,386,438,14 380,107,500,232,6 3,98,153,204,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005472.jpg 129,165,360,297,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005473.jpg 127,161,167,218,14 44,173,143,227,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005474.jpg 6,8,351,292,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005476.jpg 93,106,375,500,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005477.jpg 177,50,369,375,14 55,46,148,375,14 1,61,63,375,14 16,49,66,124,14 119,55,163,153,14 23,29,82,107,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005479.jpg 133,19,337,287,14 105,74,331,293,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005480.jpg 125,148,362,405,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005482.jpg 1,42,307,182,11 269,1,500,179,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005484.jpg 140,64,324,270,5 402,185,457,209,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005488.jpg 269,118,500,333,14 34,47,270,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005490.jpg 109,47,266,277,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005491.jpg 278,162,356,375,4 181,87,440,321,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005492.jpg 176,26,334,306,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005493.jpg 40,47,483,248,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005494.jpg 117,4,273,473,14 54,169,133,334,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005495.jpg 135,66,336,436,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005498.jpg 415,169,500,303,8 2,245,189,375,8 87,176,368,310,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005500.jpg 266,94,500,374,14 39,94,281,352,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005501.jpg 26,54,452,330,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005502.jpg 182,127,238,295,2 224,129,270,295,2 248,138,315,325,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005503.jpg 72,60,489,324,1 359,50,490,290,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005504.jpg 1,160,500,315,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005505.jpg 46,57,496,325,12 35,139,155,325,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005506.jpg 97,96,360,270,13 169,50,348,258,14 276,3,371,142,14 93,15,167,79,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005512.jpg 213,14,496,167,11 26,19,312,333,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005513.jpg 72,48,300,212,12 132,1,304,211,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005516.jpg 33,30,449,340,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005520.jpg 2,32,299,434,6 280,1,318,22,6 226,1,270,22,6 137,3,183,23,6 182,1,228,23,6 92,3,137,25,6 55,6,97,26,6 20,8,56,29,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005523.jpg 1,4,493,340,6 409,22,443,124,14 455,22,500,184,14 197,25,241,81,14 165,25,204,91,14 119,26,152,64,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005525.jpg 169,6,500,344,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005528.jpg 167,32,468,366,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005529.jpg 250,137,357,187,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005532.jpg 148,199,299,279,2 311,146,372,227,2 1,123,16,171,2 240,117,294,181,2 185,142,237,213,2 254,99,278,115,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005533.jpg 113,193,176,348,14 158,178,214,344,14 260,196,303,286,14 262,206,332,302,14 34,216,82,301,14 2,216,26,268,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005534.jpg 93,23,427,327,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005537.jpg 50,137,387,290,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005538.jpg 115,174,278,274,7 45,280,163,416,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005540.jpg 29,148,241,284,1 253,122,479,259,1 235,142,465,273,1 156,121,380,254,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005543.jpg 207,124,316,358,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005545.jpg 43,177,84,243,19 46,247,83,396,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005546.jpg 77,320,94,367,14 47,321,67,367,14 136,194,220,334,14 102,236,250,500,14 220,319,333,438,6 264,326,333,496,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005548.jpg 2,202,86,500,14 262,153,333,500,14 29,72,333,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005551.jpg 264,165,500,308,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005553.jpg 56,105,355,432,13 109,33,314,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005555.jpg 127,46,480,375,8 323,1,500,181,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005556.jpg 240,69,379,333,14 114,42,257,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005557.jpg 61,139,261,431,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005558.jpg 100,9,469,321,6 5,1,99,180,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005560.jpg 141,160,407,348,1 184,54,296,278,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005561.jpg 131,226,340,448,1 192,154,256,422,14 1,1,374,500,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005562.jpg 2,1,465,372,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005564.jpg 20,40,213,387,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005565.jpg 119,255,206,337,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005567.jpg 175,214,306,366,15 161,145,302,223,15 3,2,83,139,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005569.jpg 69,224,413,359,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005570.jpg 316,173,351,299,4 291,41,500,375,14 1,30,295,375,14 321,81,366,128,14 1,64,61,193,14 47,75,99,146,14 85,78,132,141,14 137,77,171,133,14 298,68,331,121,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005571.jpg 22,74,454,311,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005572.jpg 133,78,460,433,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005575.jpg 6,108,496,277,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005578.jpg 195,182,231,248,16 116,125,227,266,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005580.jpg 44,46,389,374,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005581.jpg 98,173,140,227,7 184,157,236,223,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005587.jpg 244,113,332,208,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005589.jpg 388,72,458,201,8 327,102,419,252,8 324,50,372,109,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005594.jpg 11,33,391,459,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005595.jpg 10,51,500,413,13 122,19,373,412,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005596.jpg 180,75,248,163,14 90,82,126,199,14 4,73,107,456,14 102,174,279,397,14 174,157,213,209,14 203,146,268,249,14 94,293,221,488,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005597.jpg 1,231,132,375,8 362,172,407,306,8 338,179,379,333,8 271,188,354,368,8 163,202,295,375,8 21,185,408,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005598.jpg 58,34,420,252,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005602.jpg 131,105,389,271,11 362,152,444,207,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005604.jpg 41,312,106,415,3 285,414,375,455,3 1,1,319,465,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005607.jpg 174,121,344,263,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005610.jpg 58,126,343,390,12 143,66,280,252,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005612.jpg 113,4,270,244,14 1,30,153,312,14 235,59,270,113,14 93,101,111,119,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005616.jpg 36,78,401,175,3 394,94,500,146,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005617.jpg 199,142,346,270,9 66,71,160,267,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005619.jpg 1,1,500,375,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005621.jpg 138,125,355,314,7 338,155,415,259,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005622.jpg 87,195,481,371,10 1,138,148,371,14 68,137,121,220,14 162,99,240,213,14 233,126,318,218,14 238,112,364,234,14 334,118,401,263,14 350,147,500,371,14 220,216,248,291,4 464,104,500,146,14 422,96,461,142,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005623.jpg 378,1,496,119,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005626.jpg 15,35,500,306,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005627.jpg 270,95,493,215,6 101,87,351,192,6 12,82,178,168,6 281,74,358,114,6 166,178,256,270,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005628.jpg 1,46,500,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005632.jpg 2,64,297,278,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005633.jpg 15,80,306,142,0 26,49,486,212,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005634.jpg 273,54,435,307,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005635.jpg 1,107,144,375,4 122,185,199,375,4 185,195,311,375,4 105,81,206,220,4 201,60,303,274,4 284,58,362,269,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005638.jpg 73,89,362,333,14 164,181,500,333,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005642.jpg 163,69,371,293,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005643.jpg 2,99,474,305,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005646.jpg 1,165,166,250,7 193,165,331,234,7 361,181,500,238,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005649.jpg 90,124,430,313,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005650.jpg 86,67,389,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005651.jpg 231,82,382,275,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005656.jpg 117,218,395,334,14 295,90,438,335,14 210,93,301,217,14 224,74,305,218,14 179,92,227,177,14 81,109,143,262,14 24,75,101,261,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005659.jpg 71,166,192,209,18 1,142,79,233,18 186,60,500,260,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005661.jpg 4,206,318,375,10 159,248,270,375,8 12,250,150,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005663.jpg 1,155,75,196,5 259,307,363,335,6 40,179,79,198,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005665.jpg 235,192,317,305,8 75,152,169,268,8 42,99,112,198,8 96,65,158,147,8 206,55,251,130,8 377,163,479,277,8 409,109,486,203,8 376,30,412,89,8 334,29,371,82,8 288,41,325,97,8 429,33,484,96,8 234,29,273,77,8 323,68,382,147,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005666.jpg 193,400,239,500,14 85,405,137,500,14 37,409,87,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005667.jpg 69,183,483,298,2 252,105,330,143,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005670.jpg 67,84,464,304,5 12,203,59,279,14 44,220,117,274,3 113,201,224,266,3 373,241,500,297,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005671.jpg 1,42,471,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005673.jpg 22,94,125,188,15 24,200,128,291,15 132,103,229,195,15 132,199,229,294,15 246,101,341,195,15 250,206,348,301,15 364,107,453,198,15 367,198,458,287,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005675.jpg 1,1,210,402,14 70,1,358,336,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005677.jpg 116,66,355,357,12 80,271,118,357,12 104,274,134,357,14 202,77,315,357,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005678.jpg 43,59,475,314,13 168,1,500,163,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005681.jpg 18,42,469,346,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005683.jpg 59,1,500,316,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005684.jpg 74,247,186,291,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005688.jpg 170,44,459,251,7 72,123,387,334,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005689.jpg 1,17,480,372,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005690.jpg 2,119,443,207,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005691.jpg 3,1,218,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005692.jpg 83,40,454,262,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005694.jpg 24,81,434,352,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005698.jpg 1,2,118,189,14 1,89,155,301,14 331,110,500,325,14 153,85,344,290,14 89,16,208,212,14 418,1,485,102,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005703.jpg 76,108,374,483,8 134,146,238,275,11 1,161,120,330,15 70,12,335,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005706.jpg 43,200,463,341,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005707.jpg 401,203,466,246,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005708.jpg 394,94,500,259,13 278,33,373,358,14 334,42,412,310,14 3,25,134,358,14 217,38,309,288,14 121,101,161,130,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005709.jpg 154,54,293,257,14 76,130,313,287,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005711.jpg 135,146,210,194,9 199,166,380,327,9 151,156,330,226,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005712.jpg 4,18,373,298,11 206,1,500,248,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005717.jpg 53,45,160,87,6 170,52,235,70,6 320,52,390,85,6 1,71,65,151,6 153,96,266,217,14 307,161,376,220,14 290,178,497,375,14 190,270,298,375,14 1,95,178,375,14 110,209,358,346,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005720.jpg 26,1,310,471,3 53,350,126,447,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005721.jpg 331,260,348,322,4 206,228,226,304,4 5,149,488,375,17 104,146,395,375,14 250,139,500,344,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005722.jpg 45,149,391,375,12 206,118,297,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005724.jpg 56,206,309,500,13 82,76,284,289,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005725.jpg 1,71,291,500,14 32,98,156,311,14 57,178,184,326,8 52,200,336,500,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005726.jpg 2,39,374,500,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005727.jpg 124,158,437,333,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005733.jpg 257,38,331,215,14 178,92,426,264,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005734.jpg 52,184,134,306,8 197,238,334,374,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005737.jpg 2,2,483,288,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005739.jpg 5,16,456,373,5 297,123,336,187,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005744.jpg 205,221,305,499,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005745.jpg 63,12,366,462,14 1,23,183,433,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005746.jpg 261,69,500,234,5 203,118,340,351,14 1,180,23,306,14 14,192,178,280,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005748.jpg 336,1,463,201,14 128,66,414,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005750.jpg 282,175,330,251,1 286,132,330,235,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005751.jpg 220,121,323,213,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005753.jpg 428,64,499,243,19 373,79,436,226,19 45,59,235,372,14 3,128,50,190,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005754.jpg 8,201,180,372,17 195,189,278,298,8 408,198,455,276,14 464,174,500,280,14 196,223,214,266,15 295,146,366,203,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005758.jpg 5,75,500,375,10 152,2,488,140,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005759.jpg 348,180,461,245,13 217,180,305,239,13 130,183,206,232,13 51,184,113,234,13 187,155,213,214,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005763.jpg 101,135,148,175,14 182,148,224,172,14 66,130,299,258,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005766.jpg 190,92,252,202,14 356,87,404,173,14 350,94,464,216,14 14,140,102,261,8 459,138,500,259,8 387,146,462,261,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005767.jpg 407,114,461,195,8 100,152,341,338,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005770.jpg 102,98,484,256,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005771.jpg 191,101,207,127,3 334,109,380,155,3 235,195,276,219,3 216,219,270,247,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005772.jpg 86,135,264,394,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005774.jpg 19,69,433,478,13 131,22,305,414,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005775.jpg 53,90,302,280,6 118,128,178,172,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005776.jpg 30,57,421,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005777.jpg 128,192,500,333,1 1,167,203,331,1 185,1,470,333,14 3,34,183,331,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005778.jpg 319,109,500,375,14 219,149,366,375,14 94,112,258,375,14 1,125,139,375,14 2,117,500,375,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005785.jpg 172,114,331,251,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005787.jpg 3,168,319,457,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005792.jpg 217,83,458,333,14 6,22,323,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005793.jpg 24,61,438,305,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005795.jpg 2,32,487,500,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005797.jpg 1,107,270,365,9 320,125,493,340,14 93,3,163,143,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005798.jpg 43,1,131,149,14 367,4,475,174,14 273,12,357,145,14 164,2,253,130,14 32,51,135,149,13 164,55,270,164,13 352,55,465,173,13 254,56,368,169,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005800.jpg 23,3,465,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005801.jpg 15,65,478,371,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005802.jpg 94,54,378,306,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005804.jpg 223,178,444,350,17 384,2,500,352,15 2,91,58,177,15 134,89,185,171,15 61,130,81,175,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005807.jpg 300,205,395,278,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005808.jpg 369,174,500,281,19 252,100,431,375,14 27,117,316,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005809.jpg 457,203,500,251,6 44,207,110,247,6 455,197,500,210,6 121,95,438,262,5 118,185,157,319,14 4,199,31,273,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005810.jpg 91,33,500,279,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005816.jpg 107,123,417,347,13 185,73,352,324,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005820.jpg 7,16,500,310,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005822.jpg 161,200,422,500,14 80,19,491,500,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005823.jpg 91,163,255,280,19 1,8,155,500,14 137,344,308,500,14 238,108,372,415,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005827.jpg 351,65,450,161,19 18,107,231,344,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005832.jpg 2,130,231,274,7 208,146,342,252,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005833.jpg 322,155,380,199,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005834.jpg 93,225,261,380,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005835.jpg 5,231,199,333,11 202,219,443,333,11 379,42,464,310,14 250,41,355,220,14 73,49,166,306,14 1,1,479,207,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005837.jpg 1,30,395,365,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005842.jpg 38,175,217,245,6 259,139,499,268,6 229,167,274,262,14 465,162,489,190,14 11,177,56,219,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005844.jpg 76,67,216,312,8 102,52,278,350,8 199,84,320,292,8 232,76,396,329,8 157,110,390,361,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005846.jpg 164,132,305,375,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005847.jpg 72,35,464,297,18 217,84,278,194,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005848.jpg 60,173,330,408,1 83,48,301,320,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005849.jpg 242,238,286,357,14 289,229,327,359,14 266,210,338,354,14 349,112,362,141,14 284,100,316,153,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005855.jpg 40,85,464,194,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005857.jpg 183,133,277,302,15 86,134,175,306,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005858.jpg 160,25,206,75,8 224,20,256,82,8 339,22,383,76,8 293,20,338,75,8 419,20,474,76,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005862.jpg 153,79,454,252,6 1,127,256,317,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005865.jpg 43,259,58,292,14 429,252,443,291,14 444,255,459,289,14 475,234,500,298,14 366,203,427,339,14 206,203,284,372,14 160,245,190,307,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005866.jpg 348,215,367,247,15 365,217,391,257,15 384,172,415,260,15 465,248,496,289,15 157,137,263,294,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005869.jpg 51,239,112,291,6 1,246,29,292,6 455,246,500,280,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005870.jpg 28,115,485,249,5 19,173,33,214,14 1,174,13,211,14 342,135,403,221,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005871.jpg 1,53,375,500,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005872.jpg 47,71,419,322,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005876.jpg 153,254,393,419,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005880.jpg 422,173,434,206,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005882.jpg 131,231,257,497,12 143,150,252,341,14 233,340,335,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005883.jpg 272,34,354,128,2 63,90,167,205,2 78,286,297,450,2 2,249,145,358,2 128,150,181,256,2 247,139,374,248,2 133,128,248,343,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005886.jpg 84,255,202,367,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005887.jpg 343,62,500,332,14 1,3,391,332,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005890.jpg 95,80,203,212,12 87,17,196,211,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005891.jpg 192,1,379,229,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005892.jpg 143,101,235,155,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005896.jpg 15,98,275,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005898.jpg 68,130,139,192,19 188,167,397,287,17 209,155,382,235,14 405,121,472,195,8 420,124,479,214,8 244,121,282,170,8 185,134,227,189,8 330,129,424,204,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005900.jpg 175,197,199,262,14 70,192,115,326,14 29,202,84,352,14 258,205,278,284,14 240,191,266,275,14 17,202,37,262,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005902.jpg 47,141,149,245,19 216,149,347,254,19 344,131,482,277,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005904.jpg 44,125,447,256,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005907.jpg 258,141,322,237,8 115,48,289,395,14 227,1,500,395,14 8,39,144,194,14 36,48,87,147,14 64,62,102,111,14 89,67,142,116,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005913.jpg 1,38,498,280,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005915.jpg 266,137,355,214,16 202,73,327,213,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005916.jpg 316,168,448,275,16 50,159,141,262,16 3,158,42,226,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005921.jpg 284,43,423,354,14 190,46,320,261,14 97,90,176,295,14 9,94,97,353,14 61,53,214,288,14 432,108,477,178,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005922.jpg 71,245,194,367,15 226,252,344,352,15 2,250,73,349,15 394,28,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005924.jpg 65,61,427,304,6 1,137,40,227,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005925.jpg 213,280,307,332,1 352,280,447,336,1 231,247,288,324,14 368,244,428,330,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005926.jpg 28,27,314,500,14 8,259,28,306,4 263,210,314,265,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005927.jpg 24,82,487,254,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005929.jpg 21,123,490,336,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005931.jpg 302,241,396,309,13 322,210,359,286,14 128,223,160,322,14 193,269,231,362,14 242,260,274,360,14 401,304,439,374,14 455,300,489,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005932.jpg 312,298,388,330,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005933.jpg 210,143,416,229,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005934.jpg 77,24,489,371,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005935.jpg 58,191,104,223,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005936.jpg 65,69,422,252,7 174,151,500,246,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005937.jpg 48,47,243,240,11 1,120,498,369,17 215,96,496,369,14 107,138,440,369,14 327,3,401,104,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005939.jpg 190,138,327,279,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005941.jpg 379,134,441,229,15 247,196,354,351,8 152,224,260,375,8 30,227,323,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005942.jpg 304,64,500,333,14 1,88,170,311,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005943.jpg 309,153,500,375,17 1,141,318,346,17 309,8,426,199,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005944.jpg 87,46,266,208,12 127,23,181,139,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005945.jpg 229,29,419,373,14 111,89,252,375,14 416,177,500,364,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005946.jpg 100,9,491,319,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005949.jpg 2,25,482,323,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005950.jpg 229,114,440,218,3 92,89,288,213,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005953.jpg 124,140,272,293,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005955.jpg 13,2,500,333,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005957.jpg 105,23,450,361,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005958.jpg 209,4,499,333,14 11,73,242,332,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005959.jpg 87,2,449,261,6 288,63,321,87,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005962.jpg 3,79,302,334,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005965.jpg 24,129,186,328,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005966.jpg 86,115,281,375,14 260,88,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005967.jpg 89,22,212,198,12 115,28,171,134,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005969.jpg 41,59,353,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005972.jpg 92,40,308,455,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005973.jpg 133,132,333,396,12 176,169,273,433,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005974.jpg 142,149,331,268,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005976.jpg 294,169,372,333,8 82,208,192,333,8 220,145,311,280,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005977.jpg 1,100,397,375,7 43,42,483,270,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005978.jpg 1,117,210,240,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005982.jpg 134,77,300,500,14 8,108,160,500,14 1,89,65,500,14 93,83,148,151,14 261,90,347,475,14 204,107,239,148,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005986.jpg 64,47,424,296,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005987.jpg 100,87,358,260,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005993.jpg 104,43,412,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005994.jpg 135,93,346,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005997.jpg 118,172,196,251,19 166,130,271,315,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/005999.jpg 40,54,443,283,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006002.jpg 323,100,420,134,12 419,71,480,354,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006003.jpg 205,77,333,364,4 51,62,169,356,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006006.jpg 65,55,412,334,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006007.jpg 175,76,325,248,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006008.jpg 22,1,500,375,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006010.jpg 4,223,86,353,8 72,170,142,282,8 205,191,289,292,8 316,181,355,258,8 347,173,415,286,8 107,198,193,307,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006013.jpg 163,248,494,273,18 298,294,496,372,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006014.jpg 177,20,325,454,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006015.jpg 226,252,272,319,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006016.jpg 4,40,482,301,6 90,1,143,56,14 142,29,199,94,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006017.jpg 29,68,462,346,6 1,35,115,230,6 135,57,190,81,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006019.jpg 1,68,496,375,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006021.jpg 69,46,249,169,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006022.jpg 175,3,388,500,15 1,1,222,351,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006024.jpg 52,90,442,234,0 8,294,118,333,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006031.jpg 20,109,475,315,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006032.jpg 121,248,211,319,1 288,246,396,319,1 362,249,456,315,1 141,203,176,317,14 192,209,235,304,14 315,209,379,315,14 383,207,421,314,14 190,234,259,305,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006034.jpg 6,36,287,137,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006036.jpg 400,171,453,253,14 107,3,276,331,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006037.jpg 101,21,312,182,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006039.jpg 195,50,369,181,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006040.jpg 9,92,281,375,14 378,63,429,139,14 428,62,479,140,14 354,38,500,169,19 238,160,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006044.jpg 159,7,500,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006047.jpg 150,151,227,192,6 218,146,279,188,6 277,138,334,183,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006048.jpg 1,1,331,390,3 101,234,250,355,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006049.jpg 206,226,371,478,15 187,206,228,244,15 46,210,84,244,15 82,348,154,429,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006050.jpg 79,14,367,375,8 84,113,365,375,14 1,3,223,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006051.jpg 158,159,220,183,0 249,188,309,210,0 320,199,381,225,0 304,221,366,242,0 381,227,442,250,0 431,258,493,283,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006052.jpg 129,51,497,374,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006053.jpg 1,107,291,500,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006054.jpg 152,86,261,241,2 244,121,296,274,2 70,266,172,333,2 442,294,486,333,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006056.jpg 3,109,500,333,10 288,89,315,186,4 175,86,209,177,4 15,13,107,170,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006057.jpg 13,219,113,368,8 97,191,169,314,8 170,225,270,375,8 229,191,307,308,8 98,209,264,361,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006059.jpg 2,274,255,451,13 194,155,286,433,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006060.jpg 263,69,500,333,14 1,165,349,333,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006063.jpg 60,88,309,310,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006064.jpg 66,1,500,313,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006068.jpg 4,147,111,268,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006072.jpg 233,15,309,336,4 151,102,252,335,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006075.jpg 351,181,419,245,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006076.jpg 110,255,209,337,2 20,118,256,499,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006077.jpg 157,142,302,222,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006080.jpg 2,14,498,500,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006081.jpg 92,191,265,299,10 207,201,268,303,8 96,208,152,290,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006082.jpg 475,156,500,170,6 390,172,439,201,6 1,4,394,375,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006083.jpg 76,73,379,362,13 394,77,460,211,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006085.jpg 118,105,180,188,9 315,44,475,177,9 174,54,292,145,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006086.jpg 109,75,168,264,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006087.jpg 1,1,257,337,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006090.jpg 46,68,375,500,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006092.jpg 50,1,186,278,14 177,1,331,294,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006093.jpg 212,92,414,378,14 433,120,486,214,14 362,132,447,303,14 187,190,289,293,4 61,158,135,266,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006094.jpg 365,165,391,294,14 282,134,456,331,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006099.jpg 1,1,495,355,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006101.jpg 287,34,459,395,14 182,76,306,395,14 73,67,205,395,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006102.jpg 157,148,317,223,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006106.jpg 318,57,500,375,12 1,116,270,375,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006109.jpg 42,269,133,314,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006110.jpg 330,116,354,159,3 336,220,381,256,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006112.jpg 1,34,335,371,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006113.jpg 406,149,500,302,5 162,166,211,243,6 373,240,419,305,1 366,188,418,300,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006114.jpg 205,235,375,495,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006115.jpg 108,223,466,383,17 4,292,95,384,14 4,39,192,222,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006116.jpg 169,98,343,232,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006118.jpg 146,173,413,334,1 164,6,462,334,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006119.jpg 94,137,203,283,13 191,68,452,333,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006121.jpg 38,156,185,223,6 104,149,284,237,6 199,140,450,259,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006122.jpg 150,40,363,330,12 107,112,174,218,14 447,98,494,191,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006126.jpg 87,161,302,265,17 325,161,439,274,8 2,212,165,333,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006127.jpg 1,125,310,421,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006132.jpg 252,25,468,333,2 35,69,265,332,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006137.jpg 238,107,273,141,14 237,120,266,140,14 106,136,394,234,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006138.jpg 2,78,238,216,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006142.jpg 3,130,192,255,10 11,92,205,156,10 8,135,150,263,8 293,22,500,375,14 218,4,256,146,14 250,17,278,114,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006143.jpg 109,193,246,374,12 81,253,165,367,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006144.jpg 82,113,260,498,7 33,19,391,405,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006145.jpg 289,68,500,333,14 315,55,418,245,14 213,4,296,201,14 119,25,176,207,14 8,10,106,175,14 27,87,156,283,14 344,75,451,192,8 3,67,66,166,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006147.jpg 175,105,203,209,14 146,101,171,202,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006149.jpg 1,30,354,254,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006152.jpg 397,10,500,375,14 363,52,487,375,14 326,75,390,195,14 238,58,384,375,14 99,32,273,375,14 1,55,109,375,14 311,34,357,85,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006154.jpg 1,57,351,415,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006155.jpg 393,174,496,219,6 341,173,428,212,6 291,169,368,205,6 245,169,322,206,6 178,170,250,198,6 143,169,210,195,6 118,166,169,192,6 98,168,164,186,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006157.jpg 141,129,273,303,2 1,183,255,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006160.jpg 153,166,227,267,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006164.jpg 92,390,326,443,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006165.jpg 18,192,234,440,1 83,104,251,411,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006167.jpg 150,220,269,333,11 127,18,315,333,14 145,1,275,103,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006168.jpg 61,22,500,335,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006169.jpg 281,129,384,306,14 283,181,383,332,14 228,200,302,329,14 164,202,231,331,14 93,200,172,318,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006173.jpg 413,265,459,299,9 354,263,399,301,9 299,225,352,294,9 210,233,284,309,9 153,228,203,305,9 93,234,193,309,9 105,277,148,314,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006178.jpg 291,125,340,256,14 249,136,294,263,14 196,117,252,255,14 164,121,207,255,14 113,116,170,248,14 1,173,53,333,14 47,210,93,294,14 455,231,500,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006182.jpg 90,94,439,274,11 74,78,232,141,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006186.jpg 73,1,499,319,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006191.jpg 9,83,291,279,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006192.jpg 164,160,331,333,1 196,18,334,297,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006193.jpg 1,184,229,337,13 419,116,488,209,13 181,149,363,294,13 270,122,450,242,13 43,55,105,206,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006194.jpg 2,1,500,269,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006195.jpg 119,86,259,495,14 305,339,375,464,14 233,372,320,499,14 38,305,124,412,14 55,365,72,419,4 72,366,85,419,4 29,364,46,419,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006197.jpg 96,27,430,375,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006199.jpg 163,167,424,350,1 235,64,433,338,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006200.jpg 202,70,466,375,14 412,174,500,338,14 69,279,260,375,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006204.jpg 176,181,314,230,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006205.jpg 250,184,328,303,3 394,260,425,293,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006207.jpg 41,43,379,323,12 178,34,277,181,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006211.jpg 151,239,201,283,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006213.jpg 42,240,355,444,6 351,254,375,408,14 280,253,315,326,14 316,253,347,329,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006217.jpg 231,201,333,318,16 37,199,213,259,16 167,304,270,456,16 82,260,181,449,16 37,242,242,326,16 231,260,300,377,16 8,244,79,358,16 1,327,94,479,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006226.jpg 2,203,300,500,10 144,145,206,206,14 300,174,375,387,14 276,194,302,234,14 190,174,266,231,14 242,164,280,202,14 199,162,230,181,14 69,131,119,199,14 57,135,144,213,14 106,180,148,236,14 68,192,117,256,14 30,217,81,289,14 1,153,60,369,14 186,207,345,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006227.jpg 91,61,248,139,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006228.jpg 2,44,458,354,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006231.jpg 39,128,375,500,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006232.jpg 86,145,482,282,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006237.jpg 58,83,109,175,12 95,33,281,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006239.jpg 1,143,144,450,14 235,187,334,275,14 109,62,225,371,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006242.jpg 382,152,464,209,6 283,156,358,211,6 157,153,241,212,6 36,153,139,214,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006244.jpg 234,108,319,184,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006245.jpg 1,3,332,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006246.jpg 10,1,500,375,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006248.jpg 217,65,279,228,14 180,39,229,276,14 41,46,225,309,14 253,16,500,336,14 63,143,195,182,4 3,267,33,329,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006253.jpg 3,38,223,331,11 319,109,498,262,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006255.jpg 1,4,369,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006256.jpg 261,76,496,236,6 66,85,403,300,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006257.jpg 23,138,480,328,17 312,145,356,227,14 252,179,331,290,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006263.jpg 11,81,493,238,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006265.jpg 188,109,386,261,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006266.jpg 238,36,336,237,14 1,32,64,280,14 247,132,316,307,11 370,178,461,266,11 118,138,233,255,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006268.jpg 64,127,247,355,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006271.jpg 1,38,500,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006273.jpg 146,39,302,310,14 263,40,340,219,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006274.jpg 116,17,381,245,14 312,59,345,111,14 304,52,323,86,14 188,45,207,80,14 370,69,417,125,8 330,68,373,155,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006278.jpg 50,21,473,327,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006280.jpg 294,96,434,238,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006283.jpg 23,8,500,330,6 22,123,54,185,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006287.jpg 1,192,463,374,17 224,142,412,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006288.jpg 130,167,297,375,14 97,45,493,372,14 298,169,401,245,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006292.jpg 75,199,364,333,1 157,109,320,304,14 355,119,453,316,14 117,25,197,274,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006293.jpg 163,72,244,172,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006294.jpg 11,70,494,238,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006297.jpg 217,125,404,261,17 32,116,123,216,8 199,72,269,140,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006298.jpg 65,25,411,372,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006302.jpg 410,90,500,270,3 150,101,237,273,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006303.jpg 181,136,302,320,7 354,3,500,371,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006307.jpg 129,62,173,101,19 214,59,246,87,19 210,24,235,57,15 289,65,426,116,17 150,105,288,173,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006308.jpg 240,378,360,500,7 34,3,373,284,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006310.jpg 230,3,500,322,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006311.jpg 172,85,262,236,15 116,106,205,218,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006312.jpg 295,78,426,184,14 341,92,477,237,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006313.jpg 88,87,225,375,14 274,264,402,374,14 284,162,412,294,14 270,146,369,235,14 1,121,88,238,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006315.jpg 261,135,407,319,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006316.jpg 12,37,216,301,9 181,26,402,268,9 284,39,500,270,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006317.jpg 1,2,500,301,5 239,209,478,375,1 249,67,396,368,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006322.jpg 61,2,500,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006324.jpg 245,178,413,305,6 93,222,188,260,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006326.jpg 333,73,500,181,6 21,76,392,320,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006327.jpg 44,61,237,342,5 311,219,334,310,14 279,231,297,283,14 266,229,283,293,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006328.jpg 164,96,326,284,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006331.jpg 98,89,397,279,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006332.jpg 1,1,398,269,3 149,171,173,214,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006333.jpg 58,35,451,296,6 325,66,422,119,6 436,102,500,152,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006334.jpg 74,170,221,244,5 270,194,350,233,6 282,196,322,236,6 29,200,43,234,14 439,205,468,254,14 467,200,496,280,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006336.jpg 2,2,375,436,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006340.jpg 12,85,459,361,6 247,56,266,92,14 226,55,251,91,14 245,59,268,92,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006342.jpg 62,48,321,174,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006343.jpg 281,127,406,210,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006345.jpg 98,1,462,256,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006347.jpg 18,102,455,207,0 321,114,479,150,0 466,119,500,138,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006354.jpg 288,139,406,291,11 2,89,373,250,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006356.jpg 3,68,500,277,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006358.jpg 465,204,500,232,6 36,206,74,229,6 98,205,150,227,6 150,202,205,230,6 281,207,342,230,6 345,200,425,235,6 68,200,101,223,6 268,203,321,227,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006359.jpg 193,43,217,129,4 221,45,244,127,4 82,142,186,230,15 167,40,500,272,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006360.jpg 353,66,500,338,14 2,110,151,375,14 226,243,263,368,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006361.jpg 299,131,440,268,12 205,84,238,161,14 372,78,422,206,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006364.jpg 39,143,500,344,12 256,24,381,344,14 386,173,428,214,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006365.jpg 73,62,402,295,12 348,103,484,206,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006368.jpg 61,48,422,327,12 220,18,344,195,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006370.jpg 161,119,234,427,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006372.jpg 167,41,500,300,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006373.jpg 235,371,374,500,17 15,281,56,471,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006376.jpg 35,17,456,355,6 184,57,275,115,14 288,63,369,125,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006378.jpg 278,171,369,283,9 159,174,219,262,9 140,89,189,175,14 170,111,190,167,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006379.jpg 231,118,440,301,2 73,165,294,277,2 180,142,242,220,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006380.jpg 73,85,421,375,10 248,165,267,200,4 256,124,277,178,4 278,114,294,167,4 343,55,362,85,14 332,62,384,134,14 346,77,424,179,14 362,96,436,209,14 311,117,500,336,14 277,40,317,83,14 238,44,263,83,14 219,57,261,102,14 181,63,241,114,14 128,64,243,143,14 120,92,210,218,14 72,105,181,259,14 1,155,164,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006383.jpg 43,22,481,158,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006384.jpg 340,4,500,148,19 36,81,338,418,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006386.jpg 80,168,149,195,6 141,166,200,205,6 1,173,139,240,6 233,167,463,321,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006388.jpg 15,190,446,344,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006389.jpg 164,43,264,132,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006390.jpg 1,249,46,375,4 189,279,258,375,4 43,211,180,375,4 86,11,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006393.jpg 229,219,322,333,8 247,181,299,231,8 405,156,446,213,8 401,148,445,195,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006394.jpg 33,16,322,452,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006397.jpg 47,44,427,174,6 19,60,178,171,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006399.jpg 208,6,479,333,11 2,3,178,273,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006401.jpg 275,181,405,277,12 128,186,202,259,12 38,209,74,258,12 312,162,356,241,14 47,182,75,218,14 122,171,150,211,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006402.jpg 30,73,65,157,4 71,75,107,162,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006403.jpg 2,3,228,374,14 39,50,500,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006405.jpg 193,308,375,500,6 23,215,248,405,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006406.jpg 290,112,374,150,0 174,133,252,167,0 86,151,164,183,0 89,178,169,206,0 78,201,160,236,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006407.jpg 47,92,385,343,5 1,214,55,349,14 259,139,298,222,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006408.jpg 170,154,193,247,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006410.jpg 288,168,452,273,18 63,146,298,233,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006412.jpg 12,49,496,350,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006413.jpg 32,181,216,496,1 25,27,110,356,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006414.jpg 180,3,500,333,9 1,3,229,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006415.jpg 15,150,483,288,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006416.jpg 373,204,419,309,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006420.jpg 1,176,111,269,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006422.jpg 17,277,212,375,8 394,262,500,373,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006423.jpg 224,117,281,155,6 277,127,324,163,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006426.jpg 191,181,369,500,14 121,127,233,486,14 1,150,196,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006431.jpg 134,133,355,295,13 221,62,341,268,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006432.jpg 330,230,365,331,4 167,258,203,351,4 265,135,398,373,14 125,103,285,375,14 320,46,449,373,14 66,93,202,375,14 387,165,500,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006435.jpg 111,185,390,291,6 252,153,320,215,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006439.jpg 71,24,375,389,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006441.jpg 1,184,69,262,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006446.jpg 208,2,500,375,14 1,74,114,375,14 204,1,303,64,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006451.jpg 1,65,298,257,7 86,1,500,223,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006452.jpg 107,221,176,288,19 160,119,255,461,14 28,287,61,381,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006453.jpg 323,82,450,375,14 219,68,351,369,14 164,121,246,374,14 60,73,184,371,14 1,245,61,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006454.jpg 29,139,475,294,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006457.jpg 76,25,495,395,11 12,2,500,438,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006460.jpg 9,23,346,375,14 373,301,443,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006461.jpg 25,202,55,310,8 46,205,125,324,8 127,209,210,327,8 28,217,211,328,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006464.jpg 57,75,297,375,14 252,1,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006467.jpg 16,40,481,342,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006469.jpg 165,208,274,284,13 121,218,153,281,13 74,224,116,282,13 1,165,79,229,6 100,163,136,227,14 206,157,258,284,14 258,206,341,305,14 141,168,210,196,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006471.jpg 61,39,95,80,14 100,58,121,91,14 255,157,278,186,14 298,114,311,151,14 349,252,372,283,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006477.jpg 7,267,72,401,8 306,265,375,430,8 124,207,247,468,14 146,221,260,454,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006478.jpg 401,192,471,238,12 330,187,392,234,12 157,178,189,204,12 54,170,93,201,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006479.jpg 19,43,488,337,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006481.jpg 74,29,443,324,6 412,7,436,163,14 383,26,412,136,14 330,7,366,98,14 355,17,383,82,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006485.jpg 204,127,289,236,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006487.jpg 113,10,340,332,14 209,129,383,278,11 119,59,500,332,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006489.jpg 104,90,351,331,14 217,72,499,331,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006490.jpg 80,309,109,332,2 143,165,169,248,14 210,9,269,67,3 172,27,226,65,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006491.jpg 173,27,219,116,16 297,31,363,114,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006493.jpg 93,126,500,284,6 65,97,82,135,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006494.jpg 61,101,298,488,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006496.jpg 64,220,95,276,15 95,173,158,324,15 41,1,375,500,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006498.jpg 1,34,270,500,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006500.jpg 288,224,330,328,4 233,216,270,314,4 186,207,224,297,4 146,200,183,285,4 111,195,144,273,4 69,161,108,266,4 34,156,72,257,4 11,155,40,250,4 1,151,19,241,4 371,95,415,217,4 326,94,367,213,4 289,94,327,203,4 252,92,290,202,4 225,95,257,188,4 190,93,225,191,4 167,96,195,185,4 141,94,169,186,4 107,98,142,179,4 290,171,332,231,4 210,161,247,282,4 154,158,197,232,4 110,153,149,224,4 86,100,114,178,4 63,98,94,176,4 46,99,69,151,4 384,1,429,128,4 338,1,382,128,4 295,1,344,132,4 252,1,288,128,4 213,1,249,125,4 177,3,213,123,4 149,6,179,124,4 127,9,156,125,4 106,11,132,121,4 81,11,111,119,4 61,11,88,120,4 13,19,40,98,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006502.jpg 55,108,451,298,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006504.jpg 4,224,213,500,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006505.jpg 5,51,494,277,17 1,33,188,256,14 132,10,321,277,14 266,12,495,277,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006508.jpg 108,202,256,277,2 116,1,479,331,14 30,12,173,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006510.jpg 75,110,437,293,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006511.jpg 8,2,497,332,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006513.jpg 147,305,284,378,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006514.jpg 120,230,267,500,14 133,206,258,453,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006516.jpg 43,227,205,375,17 347,218,500,375,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006517.jpg 10,229,39,275,14 280,203,430,334,14 219,241,284,334,14 19,210,106,296,14 5,163,217,334,14 194,134,312,303,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006518.jpg 1,45,493,372,1 54,24,500,326,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006521.jpg 205,128,298,273,14 221,195,284,351,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006522.jpg 35,82,500,375,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006525.jpg 3,310,168,433,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006526.jpg 168,2,500,331,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006527.jpg 2,15,99,55,6 327,23,459,68,6 132,5,149,44,14 113,6,126,42,14 98,2,116,45,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006528.jpg 168,1,500,210,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006531.jpg 209,256,231,297,13 210,240,227,262,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006533.jpg 196,168,354,209,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006535.jpg 66,33,177,348,2 202,211,294,419,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006537.jpg 100,2,500,313,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006539.jpg 260,112,500,375,14 2,45,234,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006540.jpg 147,138,216,329,14 78,187,264,392,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006541.jpg 89,244,140,319,8 145,265,198,319,8 3,246,55,315,8 101,227,193,311,10 144,245,258,319,10 218,267,350,319,10 1,226,60,298,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006544.jpg 78,284,483,500,1 107,88,374,495,14 353,101,437,233,14 422,114,500,241,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006545.jpg 75,7,362,277,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006546.jpg 22,149,482,375,10 378,124,500,303,14 290,85,429,223,14 332,84,383,175,14 220,46,286,146,14 2,115,164,322,14 101,107,173,213,14 145,85,206,166,14 90,46,134,140,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006552.jpg 150,22,436,277,14 255,58,320,211,14 225,156,257,197,14 85,160,141,255,14 1,67,122,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006554.jpg 1,112,437,318,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006555.jpg 185,201,405,359,12 1,28,481,359,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006557.jpg 175,158,260,321,16 250,152,373,325,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006558.jpg 1,96,349,325,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006559.jpg 59,98,278,479,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006561.jpg 56,77,447,310,13 163,9,376,252,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006563.jpg 164,221,224,362,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006566.jpg 53,4,204,236,14 31,42,138,241,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006567.jpg 13,174,55,237,13 184,163,272,190,6 270,142,291,192,14 287,145,312,199,14 118,146,171,293,14 86,152,125,282,14 242,180,406,300,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006568.jpg 1,86,357,500,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006571.jpg 25,82,278,252,7 160,1,453,336,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006573.jpg 44,1,414,375,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006574.jpg 99,126,334,375,14 111,60,358,375,14 3,151,118,375,14 401,174,500,373,14 75,111,143,180,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006577.jpg 1,99,339,361,0 349,142,362,204,14 424,158,451,229,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006579.jpg 144,5,237,131,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006580.jpg 375,240,415,283,11 119,235,188,291,11 114,226,178,287,11 92,220,125,273,11 434,195,487,291,14 363,180,380,218,14 318,177,361,293,14 266,178,277,217,14 210,167,277,345,14 171,167,217,262,14 9,159,93,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006581.jpg 94,323,246,479,1 162,299,293,477,1 78,209,102,231,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006582.jpg 3,11,397,375,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006586.jpg 215,67,306,290,14 62,160,436,332,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006589.jpg 222,133,359,224,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006590.jpg 2,1,491,301,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006591.jpg 217,185,341,332,9 208,153,235,216,14 188,152,207,215,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006592.jpg 2,122,499,232,0 214,188,238,248,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006594.jpg 76,130,255,288,1 1,188,84,295,1 260,208,330,311,1 1,171,75,330,14 84,143,238,382,14 292,172,330,260,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006596.jpg 15,127,500,374,7 214,95,479,215,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006598.jpg 87,1,500,322,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006600.jpg 217,63,499,199,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006601.jpg 128,107,363,290,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006604.jpg 24,135,100,219,3 379,148,416,217,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006607.jpg 25,1,459,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006608.jpg 23,61,436,317,1 259,1,357,223,14 340,1,447,163,14 388,1,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006613.jpg 321,170,435,279,13 85,16,139,95,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006614.jpg 175,276,320,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006615.jpg 1,49,345,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006616.jpg 43,79,364,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006620.jpg 139,29,220,292,1 193,1,323,297,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006623.jpg 145,106,271,432,12 31,114,183,439,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006624.jpg 208,11,263,76,19 370,128,432,336,14 295,153,388,262,14 111,149,187,229,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006629.jpg 51,1,500,296,18 118,125,209,333,14 20,133,61,212,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006630.jpg 252,51,410,195,19 263,221,500,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006633.jpg 232,79,437,371,14 285,149,455,373,8 59,134,132,265,19 1,113,38,236,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006634.jpg 147,216,448,335,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006639.jpg 85,79,343,234,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006640.jpg 25,22,179,466,2 179,49,300,500,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006641.jpg 1,2,408,375,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006642.jpg 145,162,309,271,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006644.jpg 135,96,240,375,14 222,84,309,374,14 285,78,377,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006646.jpg 266,295,312,362,19 40,321,122,481,8 38,271,117,461,14 163,295,269,436,14 124,259,160,374,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006649.jpg 282,216,371,326,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006650.jpg 195,116,346,291,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006651.jpg 4,96,457,296,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006653.jpg 26,102,491,354,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006655.jpg 43,161,323,391,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006656.jpg 416,1,500,64,14 306,71,500,375,14 2,2,311,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006659.jpg 180,99,231,305,3 404,143,500,375,14 248,213,397,375,14 219,192,300,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006662.jpg 34,223,209,375,8 311,194,348,312,4 37,129,199,375,14 266,99,358,276,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006663.jpg 227,15,293,95,14 351,59,500,286,14 11,61,191,241,14 1,162,162,313,14 329,23,447,148,14 332,17,404,105,14 84,11,186,146,14 57,20,164,170,14 90,76,472,313,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006665.jpg 201,61,241,192,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006669.jpg 26,64,500,320,18 28,132,51,202,14 13,131,33,205,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006672.jpg 108,16,173,126,14 87,42,198,216,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006675.jpg 34,116,463,250,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006676.jpg 326,163,500,344,17 48,156,173,275,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006680.jpg 33,11,459,359,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006683.jpg 29,20,357,372,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006685.jpg 48,138,469,322,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006686.jpg 1,162,232,342,14 146,146,435,367,14 40,150,476,375,17 459,307,500,351,14 479,258,500,302,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006688.jpg 68,52,500,288,7 98,223,500,374,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006691.jpg 290,106,447,302,15 51,64,263,326,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006692.jpg 1,1,284,331,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006693.jpg 65,96,288,220,6 302,82,500,184,6 433,60,456,83,14 487,53,500,84,14 458,63,474,83,14 273,71,302,156,14 250,80,266,107,14 225,77,238,96,14 207,80,227,98,14 86,83,119,124,14 37,90,65,169,14 6,96,34,171,14 203,104,226,128,14 131,103,173,136,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006700.jpg 143,1,349,347,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006701.jpg 1,154,333,494,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006705.jpg 128,147,257,224,8 191,200,286,282,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006710.jpg 202,85,287,375,14 258,67,418,375,14 412,100,466,262,14 108,57,215,375,14 468,117,500,231,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006711.jpg 72,59,326,179,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006712.jpg 38,42,288,444,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006713.jpg 1,168,331,271,0 142,128,238,383,14 130,215,256,500,14 11,259,136,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006715.jpg 36,39,335,461,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006716.jpg 263,151,449,268,2 163,118,339,236,2 67,158,180,291,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006717.jpg 305,159,356,194,6 128,191,201,232,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006720.jpg 15,122,234,360,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006721.jpg 180,15,278,107,8 1,86,500,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006723.jpg 42,58,458,203,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006724.jpg 110,131,454,285,6 121,12,422,136,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006728.jpg 139,3,500,375,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006729.jpg 56,22,236,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006732.jpg 358,2,484,90,4 52,14,500,368,14 1,257,137,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006733.jpg 1,39,363,372,6 290,84,500,226,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006737.jpg 220,35,383,272,14 252,156,357,316,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006741.jpg 66,149,372,319,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006742.jpg 189,31,500,400,14 3,140,189,312,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006743.jpg 89,168,184,291,19 235,276,327,313,7 1,194,35,356,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006744.jpg 146,124,369,375,14 90,1,500,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006745.jpg 263,189,347,264,8 159,156,203,211,8 102,218,178,320,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006746.jpg 323,93,366,161,14 292,97,324,198,14 256,98,302,222,14 123,42,259,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006749.jpg 31,99,425,309,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006750.jpg 176,16,198,84,15 162,33,192,92,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006752.jpg 213,145,280,221,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006754.jpg 22,32,496,301,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006756.jpg 82,190,202,418,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006757.jpg 60,68,399,310,6 339,2,500,228,6 1,69,54,174,6 267,35,313,97,14 53,50,76,117,14 281,31,368,129,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006758.jpg 147,83,235,124,0 194,256,479,353,0 57,290,167,343,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006763.jpg 1,108,345,239,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006764.jpg 27,85,500,371,17 93,166,495,287,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006767.jpg 180,239,248,329,11 249,131,324,329,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006770.jpg 225,157,387,294,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006771.jpg 3,81,193,333,14 212,68,298,192,14 353,70,426,184,14 374,111,500,332,14 421,2,498,150,14 115,67,213,213,14 114,163,429,330,10 279,53,332,117,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006774.jpg 44,114,433,284,7 4,3,500,374,8 103,1,260,91,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006775.jpg 102,179,217,333,1 95,13,242,292,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006776.jpg 271,144,446,363,15 363,64,461,232,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006778.jpg 192,25,309,368,2 246,116,411,375,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006779.jpg 9,55,459,307,12 217,26,353,129,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006780.jpg 3,54,332,363,8 58,21,296,458,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006785.jpg 3,10,485,308,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006787.jpg 142,17,267,199,14 27,79,174,244,14 2,176,147,334,14 1,281,210,471,14 156,144,325,307,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006788.jpg 74,104,239,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006790.jpg 273,188,485,305,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006791.jpg 55,19,476,329,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006792.jpg 131,172,250,440,14 215,37,326,221,8 280,89,375,298,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006793.jpg 111,29,175,211,12 109,11,193,139,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006795.jpg 306,186,442,322,8 35,125,175,247,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006796.jpg 125,91,348,298,13 146,41,345,283,14 1,32,54,104,13 33,26,93,102,13 82,35,134,102,13 128,28,164,106,13 166,42,265,100,13 343,43,366,100,13 360,42,397,98,13 390,35,462,99,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006798.jpg 237,217,304,292,19 1,309,95,499,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006801.jpg 82,126,500,295,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006804.jpg 156,261,265,461,14 181,191,253,299,14 232,143,295,245,14 199,167,238,199,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006807.jpg 2,1,500,373,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006809.jpg 128,96,341,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006811.jpg 111,52,188,218,12 114,15,194,148,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006812.jpg 47,3,309,339,2 146,59,387,210,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006815.jpg 216,123,431,248,11 126,90,299,226,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006816.jpg 30,217,294,482,17 118,5,216,267,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006817.jpg 170,110,227,195,19 226,111,302,195,19 334,105,391,196,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006818.jpg 216,144,485,328,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006820.jpg 100,1,500,374,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006823.jpg 90,155,425,369,13 181,51,347,327,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006826.jpg 114,148,171,326,8 228,143,288,252,8 194,138,259,240,8 98,152,277,266,10 281,146,500,262,17 297,196,500,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006830.jpg 1,180,109,366,10 227,128,448,375,14 67,120,230,375,14 1,92,43,182,14 130,92,383,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006831.jpg 8,62,479,345,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006832.jpg 91,1,500,333,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006834.jpg 206,29,444,363,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006837.jpg 25,195,63,238,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006843.jpg 274,188,315,240,15 193,184,238,238,15 234,136,267,241,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006846.jpg 106,94,331,470,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006851.jpg 95,122,105,141,2 84,150,94,172,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006853.jpg 14,43,489,329,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006854.jpg 2,18,375,426,6 313,22,375,83,6 1,12,77,80,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006856.jpg 52,118,278,432,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006857.jpg 151,110,263,333,14 73,135,178,334,14 442,124,500,334,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006861.jpg 1,214,379,335,1 342,2,500,335,14 263,189,326,274,15 171,147,267,276,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006863.jpg 370,132,500,266,12 244,129,404,287,12 134,138,313,265,12 408,114,469,225,14 274,114,359,194,14 192,113,269,207,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006870.jpg 1,11,442,311,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006871.jpg 185,57,500,333,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006872.jpg 92,71,389,302,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006873.jpg 69,95,411,276,12 209,56,325,194,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006875.jpg 145,78,253,458,12 125,86,278,293,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006877.jpg 34,82,244,408,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006879.jpg 25,70,82,348,14 36,100,207,500,14 172,90,326,500,14 1,145,19,216,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006881.jpg 114,2,500,349,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006882.jpg 63,94,483,289,6 252,259,401,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006885.jpg 277,176,333,213,1 153,184,192,209,1 286,152,320,196,14 161,170,185,200,14 131,158,150,177,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006888.jpg 2,24,500,239,0 132,16,500,139,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006889.jpg 354,174,482,211,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006890.jpg 11,40,500,311,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006891.jpg 188,2,436,375,14 50,110,186,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006894.jpg 183,51,500,340,7 1,1,209,242,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006895.jpg 20,188,178,360,8 217,196,500,375,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006897.jpg 83,121,385,411,12 175,100,311,261,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006898.jpg 216,274,308,500,14 1,359,63,490,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006901.jpg 111,56,217,277,14 266,77,396,283,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006902.jpg 135,100,352,295,11 309,1,397,117,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006904.jpg 288,101,500,332,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006905.jpg 130,1,500,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006906.jpg 332,234,450,375,14 175,161,268,375,14 118,95,339,375,14 360,150,407,213,14 426,125,478,200,14 272,43,312,103,14 185,61,208,115,14 80,47,138,248,14 1,58,73,255,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006907.jpg 42,327,349,419,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006913.jpg 41,122,443,231,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006915.jpg 87,50,371,313,11 279,181,463,375,11 366,1,489,206,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006920.jpg 57,143,287,268,13 325,145,490,254,13 283,103,394,243,14 40,116,143,261,14 194,84,267,193,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006921.jpg 109,149,258,319,13 247,124,294,202,14 206,184,310,274,13 71,206,154,305,14 320,118,373,328,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006923.jpg 126,149,207,275,8 265,136,372,286,8 11,181,172,311,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006925.jpg 12,177,109,230,6 275,169,396,235,6 348,164,500,368,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006926.jpg 32,66,254,438,14 276,71,450,439,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006927.jpg 278,120,480,375,2 1,1,408,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006928.jpg 195,1,499,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006929.jpg 89,95,281,313,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006936.jpg 124,179,398,334,12 227,52,346,313,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006937.jpg 24,217,189,418,17 113,129,199,266,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006938.jpg 4,158,131,375,14 432,122,500,371,14 404,173,489,326,14 118,120,331,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006941.jpg 71,203,359,375,10 320,170,500,375,14 366,140,500,294,14 333,145,406,217,14 463,75,500,191,14 167,145,264,240,14 82,147,204,329,14 2,162,157,375,14 134,123,190,177,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006942.jpg 47,22,461,327,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006946.jpg 7,2,489,308,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006951.jpg 137,109,451,290,13 205,81,359,276,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006954.jpg 232,88,394,375,14 195,159,329,375,14 2,78,241,375,14 214,5,349,196,14 4,115,189,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006955.jpg 320,121,370,142,6 374,125,433,150,6 2,125,466,333,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006957.jpg 135,231,289,375,14 129,180,295,375,14 277,200,363,351,14 339,138,497,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006960.jpg 203,52,415,307,7 25,151,316,356,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006961.jpg 1,1,333,500,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006964.jpg 338,104,486,375,14 258,239,408,373,14 104,228,291,375,14 38,36,189,371,14 147,39,212,169,14 191,94,290,320,14 266,71,358,243,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006967.jpg 158,158,247,312,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006969.jpg 119,45,439,349,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006970.jpg 60,298,372,397,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006973.jpg 48,2,413,323,9 314,55,500,247,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006974.jpg 397,183,480,233,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006975.jpg 75,202,210,333,1 87,50,244,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006977.jpg 64,37,253,376,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006978.jpg 2,192,298,273,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006979.jpg 65,31,416,500,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006980.jpg 1,5,486,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006982.jpg 220,130,281,224,12 333,107,363,157,12 220,99,278,195,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006984.jpg 365,62,400,97,19 310,61,342,90,19 255,60,286,87,19 209,59,241,82,19 165,57,190,82,19 84,67,121,97,19 34,72,79,103,19 1,77,28,115,19 46,104,127,174,19 124,92,187,145,19 185,83,231,127,19 218,77,256,113,19 161,234,314,300,8 257,181,354,276,8 352,118,393,185,8 303,100,344,151,8 253,118,297,167,8 234,138,290,201,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006985.jpg 201,146,326,217,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006986.jpg 246,28,333,113,5 87,43,214,114,5 187,32,279,484,14 71,36,195,446,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006991.jpg 201,111,469,300,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006992.jpg 250,139,500,269,5 140,148,254,266,5 58,160,146,262,5 17,163,65,266,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006993.jpg 40,33,426,334,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006996.jpg 30,74,401,255,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006997.jpg 83,3,487,275,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006998.jpg 1,8,445,305,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/006999.jpg 11,33,381,375,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007000.jpg 268,220,362,333,2 97,15,375,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007001.jpg 213,135,444,343,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007005.jpg 43,211,236,440,1 152,150,330,348,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007010.jpg 66,89,379,375,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007012.jpg 355,15,397,126,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007013.jpg 234,71,373,333,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007014.jpg 29,63,428,359,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007015.jpg 102,92,424,236,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007017.jpg 21,90,200,375,14 165,68,327,375,14 316,110,458,375,14 121,175,191,298,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007019.jpg 397,100,487,222,14 259,50,397,334,14 150,57,311,334,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007024.jpg 111,119,180,195,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007026.jpg 1,153,443,335,0 243,191,489,297,0 121,132,316,190,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007027.jpg 1,55,465,239,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007028.jpg 297,29,429,265,14 117,68,247,300,14 220,29,313,119,14 202,1,260,82,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007030.jpg 35,199,192,308,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007032.jpg 2,142,500,375,17 240,26,408,346,14 46,181,293,299,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007034.jpg 64,21,268,371,14 2,68,500,378,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007037.jpg 5,115,343,255,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007041.jpg 1,104,375,500,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007043.jpg 227,56,461,332,14 5,99,274,275,14 1,91,64,203,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007044.jpg 140,170,213,344,9 193,119,305,446,14 56,141,129,290,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007047.jpg 20,111,273,445,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007051.jpg 152,212,265,363,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007053.jpg 26,91,158,332,14 158,117,265,332,14 252,110,401,332,14 259,133,401,332,14 355,111,479,332,14 217,35,444,140,14 1,2,230,160,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007055.jpg 52,48,446,338,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007057.jpg 220,231,375,336,17 110,217,157,300,8 153,212,174,281,8 51,217,100,299,8 72,229,128,295,10 73,210,118,292,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007060.jpg 174,122,270,297,14 355,43,375,72,14 408,49,423,73,14 458,43,472,57,14 334,59,370,107,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007061.jpg 11,39,496,367,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007063.jpg 190,11,500,336,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007066.jpg 257,208,397,272,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007067.jpg 171,287,333,394,17 1,373,115,500,8 78,270,141,341,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007069.jpg 374,185,436,232,9 158,151,213,195,9 100,121,184,184,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007076.jpg 152,114,314,219,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007081.jpg 152,84,281,315,11 32,84,223,351,14 259,105,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007082.jpg 243,192,274,216,6 217,184,238,205,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007083.jpg 40,120,253,412,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007085.jpg 76,128,499,187,18 436,129,495,160,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007087.jpg 121,157,270,244,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007091.jpg 147,244,206,262,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007094.jpg 3,195,375,375,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007096.jpg 51,87,496,229,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007098.jpg 17,65,201,351,7 167,162,499,465,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007099.jpg 171,69,385,256,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007102.jpg 89,2,408,370,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007103.jpg 154,274,248,382,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007106.jpg 335,1,456,250,15 108,1,267,284,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007107.jpg 185,152,500,264,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007110.jpg 1,205,28,294,19 357,210,492,348,8 349,214,494,375,8 1,238,373,375,10 463,121,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007111.jpg 143,135,428,221,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007112.jpg 86,139,428,241,6 69,112,105,210,14 122,101,157,180,14 178,106,211,171,14 214,114,233,153,14 283,103,322,145,14 42,109,75,186,14 14,111,51,184,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007115.jpg 1,72,332,499,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007116.jpg 31,37,473,304,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007118.jpg 59,91,340,335,9 349,105,433,149,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007119.jpg 43,1,375,492,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007120.jpg 69,199,197,333,14 249,203,315,334,14 439,218,499,332,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007124.jpg 19,36,172,451,14 75,215,192,500,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007126.jpg 305,36,431,332,14 192,182,298,333,14 84,206,206,333,14 1,69,143,181,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007127.jpg 156,156,459,248,18 4,199,47,297,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007131.jpg 16,1,316,499,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007134.jpg 209,22,327,216,14 437,101,479,217,14 403,141,480,293,12 42,81,410,362,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007135.jpg 206,113,306,151,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007136.jpg 162,86,217,245,14 305,148,488,306,14 2,200,112,405,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007137.jpg 310,99,406,264,14 392,110,500,197,1 258,119,416,233,1 117,1,189,104,14 1,11,40,128,14 22,1,135,298,14 98,151,261,331,14 1,152,107,331,14 70,45,188,313,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007142.jpg 240,75,449,316,18 41,83,220,317,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007143.jpg 28,118,428,238,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007145.jpg 118,76,500,333,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007151.jpg 183,51,326,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007155.jpg 54,138,444,284,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007156.jpg 453,115,500,231,5 310,125,454,224,5 238,153,309,212,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007157.jpg 47,123,481,296,0 263,167,298,294,14 224,181,271,289,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007158.jpg 36,92,375,500,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007160.jpg 2,133,329,500,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007161.jpg 5,57,332,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007164.jpg 1,58,458,308,0 284,239,325,263,6 426,201,500,231,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007169.jpg 58,63,387,220,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007170.jpg 1,155,115,334,14 121,100,397,334,14 192,119,326,296,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007171.jpg 217,96,348,333,1 335,107,500,319,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007173.jpg 72,36,377,312,3 397,179,417,262,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007175.jpg 90,2,500,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007176.jpg 29,197,477,430,6 76,123,184,354,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007178.jpg 420,203,469,308,19 73,103,357,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007179.jpg 172,133,225,166,6 1,57,187,333,14 159,79,389,333,14 386,104,500,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007181.jpg 103,172,284,292,11 243,83,362,299,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007183.jpg 4,93,495,314,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007186.jpg 383,145,447,302,14 233,138,267,249,14 120,97,174,275,14 22,90,86,323,14 211,123,268,161,1 165,163,246,245,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007188.jpg 229,141,373,259,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007190.jpg 1,47,412,333,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007192.jpg 1,109,500,375,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007195.jpg 351,26,500,333,14 85,109,412,178,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007196.jpg 338,55,500,240,19 171,57,340,235,19 2,56,170,247,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007198.jpg 26,188,75,281,2 454,139,500,231,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007199.jpg 87,36,500,374,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007201.jpg 173,94,288,328,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007202.jpg 118,127,150,177,8 80,128,118,177,8 53,127,86,179,8 255,126,320,177,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007203.jpg 162,47,253,163,19 47,1,162,188,19 308,132,429,299,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007206.jpg 109,165,250,270,18 284,199,306,257,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007207.jpg 175,214,385,375,10 2,245,79,375,14 29,167,246,375,14 94,140,247,334,14 297,131,362,229,14 274,156,436,375,14 428,216,500,375,14 217,53,256,100,14 141,105,193,170,14 192,119,257,212,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007209.jpg 64,29,273,383,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007218.jpg 33,58,424,368,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007220.jpg 178,154,252,252,14 240,154,308,253,14 355,213,500,345,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007221.jpg 32,33,436,372,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007225.jpg 386,185,419,305,4 373,170,404,269,4 96,178,133,291,4 118,149,149,259,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007226.jpg 19,78,479,250,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007228.jpg 21,61,186,271,14 237,108,312,215,8 252,115,357,214,8 26,206,500,374,10 144,127,303,225,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007229.jpg 1,23,278,220,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007231.jpg 103,87,387,253,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007232.jpg 24,185,82,343,14 24,260,82,366,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007233.jpg 28,2,500,287,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007235.jpg 135,108,370,284,1 171,27,326,249,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007237.jpg 119,240,137,287,4 99,99,211,262,14 190,70,288,297,14 263,126,411,375,14 328,65,424,244,14 365,170,500,375,14 303,1,352,50,15 1,233,258,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007238.jpg 65,204,219,404,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007239.jpg 37,55,436,230,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007240.jpg 1,92,500,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007242.jpg 1,184,45,262,6 55,1,500,375,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007246.jpg 3,81,491,374,6 152,86,500,241,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007248.jpg 43,138,344,500,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007251.jpg 4,15,375,496,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007252.jpg 26,30,206,332,14 202,106,500,332,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007253.jpg 119,112,213,429,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007254.jpg 64,47,374,431,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007255.jpg 183,92,376,375,8 281,77,429,318,8 123,40,281,238,8 28,43,191,248,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007257.jpg 175,149,226,174,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007262.jpg 94,125,277,205,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007264.jpg 1,153,255,329,17 229,209,500,375,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007265.jpg 86,14,353,307,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007267.jpg 167,139,204,253,14 367,158,399,177,6 96,86,475,187,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007268.jpg 137,46,271,496,14 176,252,321,473,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007269.jpg 195,172,402,248,2 216,139,408,213,2 134,75,288,152,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007272.jpg 8,25,500,375,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007273.jpg 75,121,486,268,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007277.jpg 6,111,315,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007278.jpg 40,245,86,276,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007281.jpg 12,68,302,375,6 402,167,500,345,6 328,110,430,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007282.jpg 196,141,333,296,6 353,160,484,283,6 1,134,170,289,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007286.jpg 160,58,362,271,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007287.jpg 30,47,341,269,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007288.jpg 9,15,493,239,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007290.jpg 129,153,320,224,0 398,177,492,214,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007291.jpg 132,19,500,375,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007293.jpg 82,103,422,305,12 50,80,206,301,12 210,185,369,319,14 172,17,259,121,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007301.jpg 45,29,209,375,14 98,199,463,374,14 149,169,404,310,17 212,205,330,347,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007303.jpg 89,137,207,341,14 112,174,232,433,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007304.jpg 115,179,333,500,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007306.jpg 373,100,500,338,14 310,94,394,229,14 148,114,256,241,14 1,116,167,375,14 115,222,500,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007307.jpg 155,96,447,290,13 244,57,385,266,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007309.jpg 5,28,332,470,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007310.jpg 89,129,240,450,12 106,105,243,294,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007312.jpg 68,76,352,300,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007313.jpg 15,77,99,271,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007315.jpg 151,243,226,341,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007316.jpg 1,51,375,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007317.jpg 65,172,277,330,2 150,11,322,301,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007319.jpg 11,1,116,111,14 36,1,136,125,8 61,41,292,451,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007320.jpg 153,238,241,440,14 146,348,240,495,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007321.jpg 231,186,324,326,7 153,39,213,160,14 68,2,252,226,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007324.jpg 97,238,401,375,1 197,264,500,375,1 171,111,418,375,14 250,101,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007326.jpg 160,81,369,198,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007328.jpg 28,66,213,331,14 28,7,249,432,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007331.jpg 4,3,482,372,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007332.jpg 2,126,57,202,19 22,202,204,369,14 165,152,256,328,14 265,135,383,340,14 280,2,500,227,14 166,296,234,375,7 66,103,159,192,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007333.jpg 193,120,371,304,19 1,6,211,329,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007335.jpg 240,148,318,237,8 125,152,217,235,8 79,168,134,237,15 166,75,194,127,15 79,146,104,175,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007337.jpg 236,265,290,307,6 344,268,414,296,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007338.jpg 255,86,500,338,13 273,44,487,338,14 167,30,277,214,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007339.jpg 73,90,384,310,6 246,36,403,153,6 170,112,199,149,14 267,134,299,162,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007340.jpg 48,27,340,450,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007341.jpg 458,319,500,375,14 296,332,352,375,14 65,70,448,239,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007342.jpg 153,174,197,263,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007345.jpg 75,79,140,251,14 80,157,139,267,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007347.jpg 297,341,347,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007348.jpg 305,115,450,281,8 49,112,112,178,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007349.jpg 84,244,105,287,14 83,202,101,236,14 98,2,500,375,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007352.jpg 2,2,499,304,0 395,188,500,227,0 394,196,411,226,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007353.jpg 105,203,466,375,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007354.jpg 18,56,265,239,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007355.jpg 2,157,374,500,13 43,6,266,282,14 4,205,37,308,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007357.jpg 266,154,358,181,3 220,145,295,170,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007358.jpg 5,7,470,344,6 5,113,71,158,6 68,91,110,220,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007360.jpg 214,89,477,275,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007362.jpg 1,65,438,330,6 306,46,500,110,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007364.jpg 76,160,366,357,17 217,213,500,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007366.jpg 2,392,95,500,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007367.jpg 133,184,274,234,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007368.jpg 169,91,260,145,6 268,94,346,143,6 316,85,387,163,6 52,76,144,226,14 2,198,310,397,13 45,273,387,500,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007371.jpg 25,194,276,333,1 97,128,244,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007377.jpg 157,201,458,295,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007378.jpg 176,89,363,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007379.jpg 174,86,461,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007380.jpg 266,219,298,247,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007382.jpg 169,93,317,305,18 228,166,259,185,14 186,163,207,186,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007384.jpg 22,4,101,113,8 129,84,355,384,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007386.jpg 1,47,500,321,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007387.jpg 19,25,484,245,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007391.jpg 51,193,364,333,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007392.jpg 86,83,259,333,14 116,160,226,475,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007393.jpg 109,227,447,333,10 314,189,440,333,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007395.jpg 1,133,175,375,14 140,84,322,375,14 322,109,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007397.jpg 98,189,123,225,2 138,439,170,486,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007399.jpg 47,95,475,332,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007400.jpg 61,354,215,415,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007401.jpg 48,94,183,207,17 193,90,245,150,8 261,90,299,124,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007402.jpg 118,13,404,368,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007403.jpg 22,127,150,289,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007404.jpg 113,80,426,310,14 207,97,225,135,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007405.jpg 371,113,500,254,5 157,124,377,228,5 80,149,144,198,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007406.jpg 25,292,82,375,8 195,290,243,375,8 148,292,199,375,8 390,282,432,351,8 455,285,496,352,8 430,282,461,347,8 118,303,143,354,15 93,305,123,358,15 50,345,93,374,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007407.jpg 125,134,371,236,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007409.jpg 99,106,457,334,7 74,56,348,174,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007412.jpg 2,7,479,335,12 19,11,296,222,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007415.jpg 143,252,156,281,14 32,103,479,287,3 99,250,107,269,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007418.jpg 1,99,285,500,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007420.jpg 161,92,387,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007423.jpg 221,146,339,224,6 442,93,500,286,14 149,126,185,214,14 27,134,158,188,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007426.jpg 119,62,488,330,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007428.jpg 158,1,266,220,3 42,32,109,157,14 72,73,146,220,14 120,105,216,223,14 124,70,182,184,14 112,45,153,82,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007429.jpg 16,228,310,481,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007430.jpg 52,17,436,300,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007434.jpg 116,2,480,380,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007440.jpg 1,92,324,266,16 345,107,500,230,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007441.jpg 81,44,420,356,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007442.jpg 2,67,500,374,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007444.jpg 158,266,275,427,16 1,81,215,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007447.jpg 482,162,500,241,14 135,163,196,238,14 210,179,269,276,14 284,175,331,246,14 125,201,207,266,1 208,220,280,294,1 282,209,336,268,1 122,146,196,181,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007450.jpg 1,178,190,241,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007452.jpg 82,183,221,240,6 103,198,190,286,9 19,192,153,325,9 195,204,313,430,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007453.jpg 1,93,217,218,11 1,13,499,268,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007455.jpg 167,182,323,234,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007456.jpg 93,63,168,168,4 123,55,185,170,4 277,29,331,122,4 223,57,288,160,4 153,92,241,287,4 322,43,433,291,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007459.jpg 6,42,489,373,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007462.jpg 167,107,284,321,16 162,32,213,130,16 4,151,49,205,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007463.jpg 219,3,375,500,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007464.jpg 167,114,255,249,3 300,264,493,310,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007469.jpg 1,30,500,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007471.jpg 216,120,290,358,14 142,187,191,273,14 82,181,156,330,14 1,199,170,496,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007472.jpg 287,251,338,314,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007473.jpg 2,132,369,417,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007476.jpg 247,21,378,143,2 32,195,127,366,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007478.jpg 341,3,500,166,6 3,3,433,375,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007485.jpg 114,122,415,284,11 2,89,500,332,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007487.jpg 185,2,499,375,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007488.jpg 54,1,500,374,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007492.jpg 1,160,489,375,17 422,80,500,227,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007494.jpg 13,162,88,358,4 7,140,500,375,10 210,22,227,57,4 224,17,242,57,4 1,211,16,356,4 410,58,495,213,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007495.jpg 150,60,405,337,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007496.jpg 163,1,500,375,14 4,93,281,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007499.jpg 54,108,292,373,15 141,3,412,347,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007500.jpg 38,244,108,397,4 32,26,265,383,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007501.jpg 2,4,500,375,6 433,46,486,156,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007502.jpg 169,88,263,217,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007504.jpg 97,15,405,374,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007505.jpg 154,153,296,328,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007507.jpg 2,186,54,233,6 59,190,160,236,6 160,187,208,223,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007508.jpg 135,107,272,500,14 7,24,265,482,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007509.jpg 168,177,236,366,14 32,95,248,373,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007510.jpg 53,44,443,365,5 2,159,55,344,5 373,276,500,359,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007512.jpg 71,154,247,234,2 293,127,390,305,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007514.jpg 1,2,229,253,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007515.jpg 324,38,392,218,11 78,46,199,236,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007516.jpg 267,161,500,331,9 179,150,316,263,9 35,127,235,196,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007518.jpg 456,234,496,294,6 196,234,305,293,6 116,231,225,284,6 49,233,159,280,6 4,221,114,271,6 309,230,353,257,6 262,222,323,253,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007520.jpg 3,1,500,374,18 245,133,272,189,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007522.jpg 207,54,356,241,14 3,2,500,375,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007529.jpg 38,253,343,497,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007531.jpg 117,92,169,182,14 238,43,291,137,14 383,18,490,198,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007532.jpg 167,27,500,375,14 1,6,238,375,14 242,21,284,79,14 215,82,309,199,14 459,54,500,204,14 302,124,339,214,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007534.jpg 203,155,426,375,16 1,32,294,375,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007539.jpg 1,68,465,287,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007541.jpg 162,116,436,350,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007542.jpg 1,128,500,374,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007545.jpg 231,235,311,292,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007548.jpg 61,80,362,209,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007549.jpg 311,1,395,160,15 351,1,500,233,15 139,2,345,223,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007550.jpg 1,8,338,500,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007552.jpg 246,198,266,235,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007553.jpg 124,38,373,330,13 442,46,500,226,13 383,2,453,268,14 313,3,468,268,14 218,2,317,79,14 43,45,75,227,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007554.jpg 420,175,470,214,9 17,195,65,231,9 221,168,288,285,14 298,166,355,304,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007556.jpg 6,63,500,315,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007557.jpg 167,83,207,172,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007560.jpg 314,163,482,354,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007561.jpg 200,68,500,305,17 3,64,192,203,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007562.jpg 1,1,161,209,6 17,31,470,365,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007564.jpg 322,155,372,203,19 294,211,357,310,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007567.jpg 248,93,376,301,14 95,105,204,280,14 189,114,291,215,14 1,139,107,182,14 1,142,117,223,17 292,119,403,298,8 419,189,500,375,8 121,118,196,258,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007569.jpg 2,289,181,333,4 210,290,387,333,4 56,154,107,197,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007573.jpg 127,113,334,339,5 79,170,133,255,5 412,204,458,342,14 30,208,44,264,14 16,209,31,262,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007574.jpg 39,48,486,318,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007577.jpg 332,31,500,280,14 217,41,389,236,14 118,34,238,218,14 3,53,143,192,14 441,67,470,122,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007580.jpg 373,278,408,290,6 68,277,83,312,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007581.jpg 84,72,323,285,18 1,15,498,333,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007582.jpg 57,47,333,454,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007583.jpg 342,1,500,158,19 276,151,500,375,11 384,37,492,92,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007584.jpg 1,2,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007587.jpg 40,32,300,397,12 1,114,461,400,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007588.jpg 160,55,215,156,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007589.jpg 351,179,381,263,14 122,166,305,292,6 206,143,229,167,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007591.jpg 25,89,311,419,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007593.jpg 65,146,403,443,13 74,30,343,361,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007595.jpg 117,37,370,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007596.jpg 61,77,199,172,16 180,70,242,163,16 219,82,293,179,16 323,91,432,182,16 297,96,361,153,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007597.jpg 261,179,291,234,8 294,147,382,245,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007598.jpg 392,197,413,244,4 1,122,160,255,14 344,84,471,305,14 421,56,500,231,14 6,1,90,114,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007599.jpg 26,139,231,287,9 226,146,387,287,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007602.jpg 1,1,376,176,9 209,3,470,140,9 44,110,500,360,9 264,138,500,375,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007604.jpg 171,98,467,239,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007607.jpg 50,285,354,491,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007608.jpg 241,132,295,245,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007609.jpg 49,220,313,430,12 117,174,228,419,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007610.jpg 164,196,192,257,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007613.jpg 21,75,472,337,6 147,107,187,164,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007616.jpg 75,98,429,351,12 182,32,261,246,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007617.jpg 1,84,134,234,6 74,84,437,271,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007620.jpg 91,172,253,480,12 118,99,242,304,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007623.jpg 100,67,233,218,12 127,18,205,141,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007625.jpg 253,135,314,250,11 207,178,266,272,11 263,84,372,373,14 118,79,230,319,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007627.jpg 31,168,167,372,1 23,43,154,321,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007628.jpg 81,1,499,372,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007630.jpg 140,59,362,394,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007632.jpg 2,131,492,306,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007634.jpg 86,50,500,375,14 227,50,313,324,14 154,62,242,333,14 4,114,34,180,14 28,116,47,178,14 471,82,500,279,14 48,137,82,158,6 118,138,166,170,6 92,136,137,167,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007635.jpg 316,14,500,211,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007636.jpg 99,123,226,469,12 94,104,250,309,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007638.jpg 166,68,323,234,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007641.jpg 255,188,314,232,2 125,58,198,127,2 93,119,159,174,2 110,217,176,283,2 91,267,146,319,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007643.jpg 24,25,325,448,15 1,47,124,341,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007644.jpg 258,107,348,228,10 203,92,296,219,8 263,43,361,111,15 10,48,36,87,15 27,46,54,87,15 73,24,120,171,15 72,135,144,224,15 83,142,205,249,15 2,84,55,279,15 49,226,149,355,15 325,239,480,360,15 351,125,404,199,15 269,148,304,199,15 220,142,266,197,15 386,183,418,222,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007645.jpg 3,10,453,337,13 395,5,453,103,14 474,27,500,83,14 360,9,377,32,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007646.jpg 235,172,410,317,1 291,111,405,286,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007648.jpg 33,171,294,375,14 279,163,348,235,14 313,182,446,375,14 329,262,494,375,8 139,226,350,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007651.jpg 76,111,261,262,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007652.jpg 16,51,498,305,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007658.jpg 148,170,323,375,1 281,174,462,375,1 295,79,433,315,14 143,42,284,350,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007659.jpg 108,195,190,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007660.jpg 64,1,465,252,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007661.jpg 3,46,415,375,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007665.jpg 155,148,380,220,6 426,135,500,210,6 18,136,57,195,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007669.jpg 67,30,416,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007674.jpg 20,79,489,264,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007676.jpg 79,47,500,333,0 1,246,23,270,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007681.jpg 45,91,394,336,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007684.jpg 238,180,274,216,8 134,239,162,279,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007686.jpg 150,232,186,285,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007689.jpg 17,27,186,270,11 222,2,500,268,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007690.jpg 72,15,416,248,5 26,117,59,216,14 4,119,30,210,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007693.jpg 133,106,448,363,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007695.jpg 158,96,376,277,11 57,1,344,252,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007698.jpg 185,142,327,210,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007700.jpg 202,11,280,213,4 70,64,170,222,14 282,71,342,176,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007701.jpg 256,175,441,274,6 167,184,288,254,6 94,190,139,239,6 2,187,113,256,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007703.jpg 111,59,241,183,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007706.jpg 93,59,323,334,14 255,23,373,300,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007707.jpg 29,153,139,293,2 129,181,199,287,2 181,206,285,339,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007708.jpg 140,276,309,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007710.jpg 8,238,120,331,1 410,264,500,375,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007711.jpg 90,173,450,321,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007714.jpg 166,131,329,270,6 468,151,493,210,14 1,176,35,256,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007716.jpg 197,122,372,319,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007717.jpg 4,112,472,296,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007719.jpg 152,153,183,239,14 44,256,110,396,14 1,206,69,405,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007722.jpg 242,232,288,332,8 220,223,330,325,10 3,268,263,376,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007725.jpg 138,209,346,349,1 190,147,316,346,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007726.jpg 22,18,324,454,18 7,273,22,305,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007728.jpg 222,82,380,334,14 86,74,250,334,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007730.jpg 15,88,208,352,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007733.jpg 58,204,454,382,7 82,1,482,133,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007734.jpg 31,92,277,282,6 276,121,366,210,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007737.jpg 84,198,374,436,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007738.jpg 2,1,374,500,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007739.jpg 165,210,222,372,4 4,169,161,395,8 16,101,52,174,8 85,69,373,395,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007741.jpg 45,254,67,289,2 87,124,119,152,2 66,108,100,121,2 242,66,295,113,2 150,144,192,192,2 221,178,316,227,2 316,198,416,253,2 354,149,390,174,2 253,174,299,199,2 312,75,338,91,2 207,78,235,95,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007744.jpg 443,160,489,305,4 378,164,440,307,4 384,131,439,225,4 341,154,373,293,4 309,133,355,313,4 278,153,308,293,4 238,126,287,312,4 219,174,246,295,4 173,140,224,309,4 140,168,180,294,4 93,142,140,308,4 38,170,82,307,4 4,170,36,286,4 168,110,217,170,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007747.jpg 382,165,420,195,19 15,190,200,330,17 2,293,374,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007750.jpg 97,113,294,480,12 119,85,252,307,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007752.jpg 354,168,409,245,8 192,106,306,234,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007755.jpg 90,38,374,499,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007756.jpg 333,269,440,375,8 70,242,193,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007757.jpg 15,40,483,252,6 3,11,210,92,6 391,26,479,64,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007759.jpg 68,1,270,323,14 227,64,366,294,14 341,1,454,321,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007761.jpg 9,18,500,308,6 19,2,63,81,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007764.jpg 98,73,443,220,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007766.jpg 192,35,305,188,14 60,101,407,282,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007769.jpg 188,112,259,406,14 72,37,225,478,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007770.jpg 295,112,500,333,11 231,1,500,333,14 1,1,373,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007771.jpg 2,128,347,166,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007774.jpg 1,43,384,375,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007778.jpg 229,99,440,206,4 1,86,427,332,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007780.jpg 2,139,467,375,17 1,39,259,375,14 241,71,468,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007782.jpg 5,8,339,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007783.jpg 1,2,489,375,13 470,206,496,279,4 295,1,353,103,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007784.jpg 9,11,500,224,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007785.jpg 249,215,485,347,17 77,206,177,372,8 91,135,256,359,14 380,214,472,375,8 245,234,402,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007787.jpg 43,55,427,269,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007788.jpg 5,119,494,327,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007789.jpg 125,125,165,194,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007792.jpg 70,151,129,275,13 121,135,142,168,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007794.jpg 57,164,298,387,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007796.jpg 68,118,498,334,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007797.jpg 74,128,351,333,6 366,90,462,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007800.jpg 239,180,408,233,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007801.jpg 151,252,447,375,10 187,142,288,266,14 277,152,363,259,14 254,102,299,158,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007802.jpg 2,11,500,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007804.jpg 1,6,500,334,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007805.jpg 121,3,354,374,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007806.jpg 33,212,458,370,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007807.jpg 30,27,456,317,6 409,149,500,217,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007808.jpg 374,158,500,220,17 132,92,189,218,19 196,138,309,371,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007811.jpg 2,99,500,375,17 54,35,465,375,14 185,142,390,375,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007816.jpg 153,169,202,225,14 243,170,311,203,17 197,167,234,209,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007817.jpg 2,22,388,482,14 225,98,474,446,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007818.jpg 1,140,40,166,6 43,135,93,166,6 92,136,135,165,6 143,134,184,165,6 186,139,216,163,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007822.jpg 176,108,250,235,14 200,98,300,163,14 238,129,311,259,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007823.jpg 50,82,358,368,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007825.jpg 28,125,477,254,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007827.jpg 1,1,333,280,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007828.jpg 237,1,395,214,8 104,43,287,277,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007829.jpg 82,77,333,362,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007830.jpg 208,34,492,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007832.jpg 81,165,241,367,8 371,148,488,291,8 110,149,366,266,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007835.jpg 135,88,259,198,19 377,140,475,255,8 347,238,500,332,8 174,119,200,173,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007837.jpg 65,96,481,277,0 424,212,500,245,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007839.jpg 51,47,443,321,6 256,1,500,131,6 1,99,34,193,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007842.jpg 1,25,498,375,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007844.jpg 1,31,402,316,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007846.jpg 237,30,467,330,14 1,1,252,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007848.jpg 211,62,426,340,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007849.jpg 247,86,269,109,19 100,235,134,281,19 362,89,428,169,14 379,166,429,280,14 414,138,454,275,14 436,110,473,239,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007850.jpg 105,25,473,255,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007851.jpg 111,91,408,278,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007852.jpg 26,176,500,356,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007858.jpg 369,45,480,161,5 409,96,458,214,14 342,98,381,199,14 474,97,493,155,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007860.jpg 116,96,274,312,14 78,178,326,353,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007861.jpg 125,28,367,184,6 56,77,79,126,14 47,80,63,131,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007862.jpg 111,122,500,369,17 213,105,420,375,14 196,84,358,374,14 117,99,274,347,14 29,53,304,301,14 100,45,158,129,14 167,49,212,119,14 458,52,475,90,4 423,53,439,88,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007866.jpg 16,1,334,491,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007867.jpg 3,50,480,287,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007870.jpg 1,162,419,261,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007871.jpg 8,76,212,375,14 92,100,334,375,14 250,62,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007874.jpg 124,91,186,213,14 164,20,322,326,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007875.jpg 44,43,333,475,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007879.jpg 109,11,469,250,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007880.jpg 36,54,437,268,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007881.jpg 14,33,500,283,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007882.jpg 46,87,458,272,6 417,82,500,178,6 157,57,181,96,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007887.jpg 2,2,320,325,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007888.jpg 260,55,428,227,14 61,81,194,232,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007891.jpg 22,24,318,365,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007892.jpg 174,94,302,479,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007893.jpg 376,279,460,355,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007894.jpg 274,134,331,189,16 337,135,415,193,16 285,193,472,344,16 132,181,301,316,16 19,145,93,238,16 57,140,107,216,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007895.jpg 1,59,285,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007896.jpg 221,214,320,333,8 343,191,486,332,8 12,114,61,199,8 41,192,167,333,8 227,71,285,149,14 284,75,362,160,14 137,82,196,160,14 92,87,202,185,14 46,117,237,333,14 351,84,428,181,14 319,98,479,333,14 129,140,396,240,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007903.jpg 100,143,500,375,17 361,103,500,254,14 1,73,185,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007904.jpg 89,121,140,254,14 413,109,447,175,14 348,116,375,173,14 319,113,355,178,14 160,124,174,159,14 131,128,146,160,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007906.jpg 64,60,480,283,6 1,7,243,155,6 316,26,405,59,6 419,30,489,68,6 470,42,500,109,6 141,5,265,60,6 285,17,341,55,6 393,25,440,60,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007907.jpg 39,66,266,192,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007912.jpg 89,78,500,290,5 408,183,449,289,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007913.jpg 242,56,500,375,15 19,94,126,375,14 221,90,326,266,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007917.jpg 21,109,228,372,14 290,100,499,375,14 186,61,362,373,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007918.jpg 1,267,72,360,1 398,231,445,272,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007922.jpg 198,245,283,312,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007927.jpg 1,65,478,319,6 451,117,500,176,14 487,109,500,179,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007929.jpg 80,172,171,409,14 172,176,277,359,14 156,137,280,459,14 254,137,479,462,14 312,150,426,413,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007930.jpg 205,274,422,354,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007934.jpg 29,152,321,373,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007936.jpg 23,46,477,447,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007937.jpg 390,79,426,135,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007938.jpg 17,137,289,275,7 179,79,440,218,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007941.jpg 1,1,405,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007942.jpg 95,29,251,255,12 309,147,415,327,14 340,151,397,324,14 328,60,429,309,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007944.jpg 25,28,500,196,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007945.jpg 89,113,422,283,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007948.jpg 77,122,485,255,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007949.jpg 386,186,486,276,5 279,181,396,292,5 178,176,291,306,5 3,157,192,344,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007951.jpg 1,1,465,267,5 465,153,495,211,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007952.jpg 223,138,333,303,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007955.jpg 82,121,402,365,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007957.jpg 91,37,380,332,14 1,141,132,314,14 125,94,213,220,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007960.jpg 77,145,464,279,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007961.jpg 320,150,441,199,6 48,159,135,218,6 193,199,500,333,6 396,177,500,268,6 87,168,179,252,6 157,123,243,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007962.jpg 72,163,397,375,11 184,177,304,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007965.jpg 77,126,356,499,14 18,86,332,498,14 349,126,389,156,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007966.jpg 209,105,346,349,14 109,95,245,349,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007967.jpg 193,52,326,120,6 402,68,476,116,6 63,15,124,201,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007969.jpg 206,328,257,426,11 110,302,167,395,11 47,181,121,420,14 216,124,319,382,14 133,119,213,368,14 342,146,366,203,14 301,151,321,194,14 220,146,233,177,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007972.jpg 303,34,406,143,14 107,60,210,151,14 226,49,472,253,12 4,61,288,275,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007973.jpg 35,115,393,207,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007975.jpg 1,16,368,360,12 379,203,447,283,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007977.jpg 82,28,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007978.jpg 255,134,327,223,13 247,107,327,215,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007981.jpg 106,96,377,332,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007982.jpg 89,141,166,189,19 1,138,135,272,19 86,149,331,240,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007983.jpg 1,115,285,436,13 175,109,245,220,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007985.jpg 1,1,500,297,0 229,104,305,330,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007986.jpg 57,68,291,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007988.jpg 247,37,500,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007989.jpg 2,246,305,500,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007990.jpg 1,70,475,299,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007992.jpg 218,126,347,214,6 17,28,34,67,14 40,27,57,68,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007993.jpg 5,95,481,250,0 4,197,166,245,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007994.jpg 455,138,500,270,14 349,147,408,292,14 88,145,125,267,14 213,149,250,270,14 224,114,322,261,14 400,150,443,266,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/007995.jpg 20,115,441,218,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008000.jpg 107,141,234,301,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008003.jpg 19,83,489,289,13 149,8,380,266,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008006.jpg 22,266,144,346,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008007.jpg 139,1,460,309,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008010.jpg 217,83,387,220,12 245,63,338,195,14 320,100,404,319,15 426,137,500,301,15 87,124,124,248,15 1,82,37,265,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008011.jpg 27,16,271,252,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008013.jpg 132,79,287,372,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008014.jpg 229,21,375,242,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008015.jpg 206,96,310,273,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008016.jpg 22,77,450,208,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008018.jpg 1,124,416,338,17 2,105,326,338,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008020.jpg 12,202,137,298,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008021.jpg 64,14,319,500,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008022.jpg 292,10,500,333,14 1,25,210,333,14 152,96,277,331,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008025.jpg 72,69,272,246,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008027.jpg 1,119,172,410,14 26,248,168,500,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008028.jpg 272,175,359,252,2 83,121,245,253,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008030.jpg 88,77,378,234,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008034.jpg 50,79,228,210,13 224,81,415,236,13 245,39,415,229,14 84,36,229,205,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008035.jpg 305,369,375,475,6 131,355,163,382,14 213,383,244,429,14 13,359,43,449,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008038.jpg 130,121,213,375,14 198,141,270,375,14 256,136,314,375,14 289,124,386,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008039.jpg 207,224,236,265,8 281,223,313,261,8 121,182,175,268,15 320,224,339,259,15 221,197,288,259,15 43,188,85,298,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008041.jpg 3,129,283,497,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008045.jpg 235,2,463,144,10 334,6,500,143,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008046.jpg 238,156,330,361,14 99,185,153,295,14 208,203,245,238,14 1,217,23,281,14 170,235,329,353,1 198,226,265,260,1 76,227,161,301,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008047.jpg 85,252,289,472,19 150,1,324,184,6 250,30,375,349,6 121,1,170,107,6 98,1,133,71,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008050.jpg 280,148,362,250,19 198,146,280,245,19 287,181,340,218,14 203,178,265,209,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008052.jpg 239,74,338,139,6 199,38,242,153,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008054.jpg 10,88,482,303,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008055.jpg 319,142,336,158,0 295,149,312,163,0 305,126,324,142,0 320,69,337,85,0 308,90,327,105,0 298,112,314,125,0 274,118,291,132,0 249,119,266,132,0 261,138,280,152,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008056.jpg 206,161,240,200,8 235,160,268,201,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008058.jpg 397,286,500,375,14 353,64,478,356,14 153,66,281,375,14 1,46,136,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008059.jpg 121,15,206,135,14 107,51,203,203,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008065.jpg 2,261,500,334,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008066.jpg 270,1,399,218,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008070.jpg 2,34,341,500,14 33,129,99,322,14 14,132,56,315,14 90,143,117,249,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008071.jpg 86,315,307,452,11 1,2,167,500,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008073.jpg 194,221,470,375,10 162,209,264,364,8 181,231,292,374,8 291,273,437,375,8 82,56,161,348,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008074.jpg 61,254,310,456,1 22,192,72,334,14 103,127,272,436,14 65,185,104,332,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008077.jpg 1,114,135,365,14 333,106,500,375,14 175,157,415,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008078.jpg 245,259,373,349,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008080.jpg 160,188,488,374,11 86,110,479,362,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008081.jpg 64,123,299,287,9 399,30,442,175,14 443,39,483,173,14 55,1,117,128,14 114,1,167,126,14 323,15,361,68,14 378,15,414,137,14 429,6,475,131,14 298,7,329,54,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008088.jpg 51,3,500,375,5 2,225,32,258,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008089.jpg 340,91,470,266,7 217,93,266,198,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008090.jpg 118,174,355,347,9 14,124,43,146,9 362,133,387,153,9 436,157,476,197,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008092.jpg 387,115,500,240,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008094.jpg 230,294,309,372,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008097.jpg 164,63,355,325,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008099.jpg 140,7,225,279,3 45,114,94,245,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008102.jpg 85,142,220,289,11 219,114,334,290,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008104.jpg 1,76,458,282,0 231,204,266,282,14 409,189,450,310,14 362,188,401,311,14 341,190,376,303,14 472,193,499,274,14 444,192,474,262,14 426,186,447,258,14 135,204,192,222,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008109.jpg 72,132,257,309,12 257,133,449,268,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008110.jpg 90,210,211,288,7 46,125,265,384,8 65,139,241,460,14 306,114,375,257,8 294,118,355,250,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008111.jpg 17,22,261,295,9 75,192,180,469,14 232,93,344,449,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008113.jpg 119,136,209,284,8 276,134,364,270,8 211,147,291,303,8 159,142,320,284,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008114.jpg 86,189,414,359,17 380,174,469,214,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008118.jpg 105,164,285,271,2 278,178,489,292,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008119.jpg 184,413,255,473,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008120.jpg 62,65,325,432,14 229,186,377,434,14 4,1,378,136,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008123.jpg 323,109,374,149,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008124.jpg 317,38,360,215,14 224,80,490,295,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008126.jpg 79,160,437,332,6 278,26,500,316,14 143,158,188,199,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008128.jpg 85,87,349,294,1 98,43,220,249,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008129.jpg 82,126,335,319,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008131.jpg 295,41,498,375,14 87,79,252,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008133.jpg 101,138,419,344,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008134.jpg 19,8,71,147,4 73,10,122,146,4 124,9,172,147,4 178,20,219,147,4 222,22,267,148,4 272,22,322,149,4 327,22,373,147,4 377,21,423,147,4 429,22,477,149,4 20,195,65,319,4 69,195,114,319,4 121,198,163,318,4 173,196,213,320,4 220,196,263,318,4 271,182,316,304,4 325,196,367,318,4 373,193,417,316,4 426,195,468,317,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008135.jpg 5,2,473,374,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008136.jpg 21,111,462,356,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008143.jpg 219,181,348,254,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008145.jpg 1,153,404,356,3 343,202,500,358,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008146.jpg 144,381,174,471,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008147.jpg 110,30,181,123,14 49,52,234,163,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008148.jpg 127,32,381,375,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008149.jpg 2,22,412,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008152.jpg 222,45,344,374,14 425,92,455,160,14 11,88,51,210,14 73,92,449,321,6 2,92,71,190,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008153.jpg 2,274,371,500,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008154.jpg 1,123,500,266,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008155.jpg 1,224,219,461,17 334,186,369,227,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008156.jpg 1,5,68,100,8 232,90,265,212,15 73,97,174,314,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008157.jpg 397,107,498,327,14 353,68,451,296,14 261,87,403,330,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008158.jpg 62,32,185,96,5 1,81,194,375,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008161.jpg 255,267,322,316,6 320,280,349,304,6 66,254,237,367,6 141,119,364,195,6 1,200,50,272,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008162.jpg 126,101,359,244,17 2,163,356,374,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008165.jpg 2,72,355,299,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008167.jpg 12,138,72,216,11 98,127,178,271,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008170.jpg 9,1,194,374,14 301,49,401,333,14 234,57,259,114,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008172.jpg 200,134,445,442,11 57,14,479,488,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008176.jpg 108,137,284,321,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008178.jpg 295,131,369,213,11 8,29,459,373,8 79,43,446,273,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008179.jpg 82,2,380,228,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008181.jpg 1,1,312,257,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008182.jpg 39,30,448,248,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008183.jpg 10,54,302,286,12 54,21,194,269,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008184.jpg 108,366,208,500,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008185.jpg 1,214,312,482,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008187.jpg 274,41,463,261,16 189,62,319,281,16 1,92,192,323,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008192.jpg 225,181,366,315,16 422,170,500,340,16 384,144,500,248,16 151,54,281,274,14 169,100,188,136,4 61,107,104,158,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008193.jpg 179,96,354,216,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008194.jpg 49,138,421,323,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008195.jpg 1,78,500,376,13 33,1,282,288,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008196.jpg 206,103,426,227,8 151,114,295,238,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008198.jpg 1,29,488,333,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008201.jpg 269,45,500,286,11 2,64,238,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008205.jpg 91,69,227,181,12 144,22,179,130,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008206.jpg 119,32,304,234,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008207.jpg 375,18,492,193,14 301,37,396,193,14 206,46,356,195,14 143,39,231,193,14 106,51,167,193,14 11,90,108,193,14 8,243,172,398,14 159,264,227,338,14 144,264,309,398,14 270,264,330,361,14 308,306,357,398,14 329,243,447,395,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008210.jpg 3,248,293,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008212.jpg 155,206,238,245,5 167,247,203,263,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008214.jpg 112,123,347,301,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008215.jpg 79,133,194,405,14 246,129,363,263,16 67,20,165,69,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008217.jpg 44,146,337,323,3 293,184,306,213,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008219.jpg 96,98,208,160,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008221.jpg 2,27,499,375,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008227.jpg 341,137,456,333,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008228.jpg 25,28,323,295,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008230.jpg 33,72,436,322,13 1,172,68,264,13 61,134,84,200,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008231.jpg 4,29,500,375,6 254,57,274,89,14 450,57,464,96,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008233.jpg 170,50,500,370,14 135,212,268,305,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008234.jpg 12,82,192,248,18 96,107,118,140,14 190,120,253,207,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008237.jpg 54,35,289,204,18 330,166,344,224,14 220,184,256,244,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008238.jpg 54,174,304,333,11 65,84,387,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008239.jpg 218,43,412,269,14 52,62,241,290,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008240.jpg 100,39,287,310,7 281,113,495,321,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008242.jpg 7,41,415,373,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008243.jpg 1,12,295,500,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008245.jpg 73,213,500,375,10 199,310,304,375,8 46,234,189,362,8 2,227,81,370,8 357,162,429,288,14 298,150,364,260,14 256,158,315,248,14 211,149,262,236,14 100,153,188,223,14 26,174,86,297,14 290,98,323,161,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008246.jpg 8,50,177,213,5 170,60,308,176,5 302,66,424,150,5 424,103,495,135,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008247.jpg 8,16,493,330,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008249.jpg 32,98,465,212,3 337,32,432,150,14 229,61,340,161,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008255.jpg 41,224,214,422,1 49,117,188,339,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008256.jpg 176,52,278,224,14 34,73,358,417,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008257.jpg 19,53,400,299,10 287,1,367,117,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008259.jpg 1,35,118,136,6 93,20,288,138,6 263,17,500,159,6 132,47,267,204,14 195,110,238,185,11 231,139,452,356,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008264.jpg 33,84,479,342,5 488,192,500,227,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008265.jpg 151,27,500,374,14 4,36,493,372,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008266.jpg 8,98,426,291,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008267.jpg 188,157,349,373,7 41,159,159,240,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008270.jpg 21,7,489,427,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008271.jpg 277,167,325,291,14 153,210,168,261,14 167,213,181,258,14 181,209,199,259,14 109,219,130,270,14 73,194,95,268,14 1,218,66,296,6 206,135,265,320,15 136,209,153,259,15 198,196,213,267,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008273.jpg 33,303,365,500,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008274.jpg 240,22,474,255,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008276.jpg 100,66,499,375,14 345,188,452,229,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008277.jpg 1,39,248,300,14 170,49,244,148,19 238,54,318,161,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008278.jpg 92,89,232,291,3 2,185,40,241,3 123,254,159,282,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008283.jpg 82,96,417,250,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008286.jpg 222,296,459,421,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008287.jpg 167,53,500,375,14 79,89,276,305,14 277,206,350,375,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008288.jpg 15,65,298,375,14 308,79,397,176,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008289.jpg 1,84,423,375,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008290.jpg 103,34,370,244,6 402,46,500,103,6 131,22,381,113,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008291.jpg 133,1,397,166,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008298.jpg 340,112,500,271,12 84,84,356,264,12 1,81,230,230,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008303.jpg 59,84,402,329,12 211,45,315,232,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008304.jpg 125,162,371,490,9 2,123,252,486,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008305.jpg 140,95,439,245,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008308.jpg 104,162,375,221,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008309.jpg 82,97,394,373,14 3,65,231,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008314.jpg 231,51,309,224,14 162,106,453,309,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008321.jpg 2,28,326,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008324.jpg 215,219,314,280,13 276,201,344,258,13 29,184,163,273,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008325.jpg 22,65,201,375,14 171,76,381,375,14 243,91,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008328.jpg 137,164,250,428,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008330.jpg 1,276,54,464,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008331.jpg 366,156,458,288,18 89,88,367,306,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008333.jpg 111,4,364,284,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008334.jpg 154,82,289,188,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008337.jpg 1,34,500,368,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008339.jpg 73,150,350,239,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008340.jpg 1,1,453,374,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008343.jpg 13,123,334,500,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008344.jpg 342,203,410,268,16 260,144,288,177,16 196,126,234,168,16 67,107,116,157,16 1,100,38,138,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008347.jpg 387,186,441,232,19 1,169,205,306,17 284,176,341,244,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008348.jpg 139,41,322,218,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008350.jpg 163,132,230,376,14 124,139,192,314,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008352.jpg 66,36,469,231,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008353.jpg 151,114,337,188,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008354.jpg 186,44,255,218,14 75,85,357,269,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008356.jpg 135,14,434,262,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008357.jpg 65,71,420,214,5 421,156,456,177,6 36,150,65,180,6 1,126,66,177,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008358.jpg 116,29,348,282,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008361.jpg 216,1,500,273,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008362.jpg 373,1,500,141,1 35,35,347,334,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008363.jpg 19,35,196,375,14 140,110,500,375,6 472,108,500,146,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008366.jpg 47,15,455,356,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008367.jpg 43,42,127,94,1 344,117,410,176,1 409,110,443,171,1 200,211,369,308,1 231,291,400,375,1 120,26,220,286,14 431,136,474,187,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008369.jpg 329,228,366,259,3 320,196,364,234,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008371.jpg 3,41,420,286,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008373.jpg 184,153,207,173,3 291,147,352,167,3 143,118,224,165,3 87,149,138,164,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008375.jpg 280,455,353,489,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008377.jpg 157,2,500,374,14 1,1,137,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008378.jpg 77,86,479,263,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008379.jpg 327,3,457,308,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008380.jpg 5,117,476,261,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008382.jpg 169,46,192,105,4 4,127,500,437,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008383.jpg 1,97,500,337,6 432,85,470,162,14 421,66,450,112,14 401,95,437,160,14 350,64,391,118,14 284,78,315,114,14 136,60,171,110,14 91,59,128,153,14 89,131,122,159,14 53,131,93,167,14 30,102,74,174,14 1,130,29,195,14 330,131,352,157,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008389.jpg 436,1,500,86,15 356,121,475,257,15 1,195,132,375,15 274,214,415,329,15 228,326,352,375,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008392.jpg 1,63,500,375,17 100,97,356,315,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008393.jpg 15,1,238,107,2 41,29,298,358,2 203,82,500,375,2 210,158,500,375,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008394.jpg 38,50,334,441,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008395.jpg 212,59,496,269,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008396.jpg 10,79,355,286,14 205,2,500,344,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008399.jpg 72,141,429,472,12 181,108,322,301,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008400.jpg 179,1,452,375,14 413,56,500,375,14 55,119,195,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008401.jpg 253,93,400,247,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008402.jpg 56,146,188,333,14 160,133,263,333,14 237,146,293,333,14 284,171,377,333,14 307,156,352,235,14 331,168,388,333,14 362,166,427,333,14 398,153,500,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008404.jpg 183,72,329,206,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008405.jpg 315,50,435,161,19 181,58,288,160,19 73,50,192,161,19 157,123,177,170,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008406.jpg 134,266,335,335,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008407.jpg 73,175,203,281,19 349,158,397,218,19 350,255,489,375,8 349,210,436,317,8 146,131,350,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008408.jpg 6,68,494,366,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008411.jpg 3,4,299,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008412.jpg 1,132,358,209,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008414.jpg 68,75,472,336,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008417.jpg 82,322,217,399,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008418.jpg 324,75,445,264,9 360,164,500,365,9 149,58,189,105,9 274,43,310,75,9 381,37,410,82,9 5,2,334,372,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008419.jpg 104,180,277,299,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008420.jpg 1,2,500,356,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008421.jpg 100,67,397,230,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008428.jpg 170,10,339,161,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008431.jpg 249,182,339,298,8 361,205,434,298,8 267,166,412,298,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008432.jpg 54,232,315,436,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008435.jpg 145,115,291,224,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008436.jpg 122,41,352,375,14 54,34,156,285,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008439.jpg 58,82,375,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008440.jpg 19,38,500,375,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008441.jpg 59,15,224,266,11 172,74,472,312,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008446.jpg 96,43,281,334,14 112,205,287,465,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008447.jpg 22,33,500,347,6 266,1,373,50,6 112,15,144,39,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008448.jpg 334,255,451,328,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008451.jpg 249,48,421,375,14 61,244,169,360,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008455.jpg 66,238,267,424,13 80,219,126,362,14 104,221,176,414,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008457.jpg 54,43,160,169,15 34,180,109,280,15 116,227,184,278,15 34,298,84,373,15 131,293,181,373,15 37,412,92,487,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008458.jpg 348,16,441,123,15 235,68,394,375,14 105,68,235,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008459.jpg 170,238,500,334,0 107,179,270,249,0 359,154,450,186,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008460.jpg 143,18,433,330,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008463.jpg 27,132,228,375,14 330,134,500,375,14 60,140,236,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008464.jpg 38,287,72,304,6 346,292,376,318,6 309,294,358,325,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008469.jpg 224,1,500,375,14 1,85,223,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008471.jpg 330,12,376,96,15 298,155,403,266,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008473.jpg 2,10,397,354,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008474.jpg 1,108,268,500,8 96,29,315,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008476.jpg 108,348,229,448,12 41,344,176,449,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008479.jpg 135,102,401,271,6 443,159,500,222,6 389,170,422,209,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008480.jpg 79,136,181,500,14 215,231,236,302,14 233,233,256,302,14 254,227,283,303,14 49,215,72,303,14 23,248,46,323,14 168,224,195,332,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008481.jpg 145,65,371,295,8 317,9,408,44,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008486.jpg 156,231,215,291,19 169,241,296,438,8 1,309,138,500,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008487.jpg 16,1,487,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008488.jpg 305,188,403,248,6 218,93,353,220,5 1,161,128,252,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008489.jpg 89,22,238,374,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008490.jpg 10,239,173,460,8 173,242,331,454,8 70,240,281,411,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008491.jpg 259,187,329,238,11 128,135,175,277,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008493.jpg 108,33,342,181,11 59,12,124,95,8 143,17,208,79,8 274,15,344,97,8 369,6,453,103,8 226,28,270,80,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008496.jpg 175,146,238,238,7 164,108,282,455,14 124,257,333,394,17 1,285,113,471,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008497.jpg 70,1,488,294,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008500.jpg 1,42,424,197,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008501.jpg 220,304,236,344,14 192,301,210,344,14 171,299,188,333,14 133,293,149,324,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008504.jpg 337,114,447,201,6 309,11,362,41,6 104,61,180,109,6 156,87,238,139,6 151,154,307,235,6 235,50,300,93,6 324,57,397,105,6 291,73,364,125,6 434,60,500,112,6 425,43,488,90,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008505.jpg 305,109,477,375,14 68,121,210,280,14 209,122,325,311,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008507.jpg 2,2,500,374,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008508.jpg 42,46,350,500,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008510.jpg 12,109,500,370,17 242,131,500,245,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008511.jpg 8,24,493,325,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008515.jpg 47,152,234,259,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008516.jpg 153,43,500,375,7 267,201,379,258,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008520.jpg 1,130,500,375,10 199,11,302,146,14 318,54,500,303,14 1,55,173,361,14 288,222,324,328,4 253,114,278,182,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008525.jpg 3,58,262,366,19 256,253,361,449,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008527.jpg 86,110,246,222,9 142,146,340,375,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008528.jpg 164,147,500,375,10 445,35,500,264,14 386,75,463,252,14 243,61,403,231,14 266,93,325,172,14 192,100,247,161,14 58,75,251,306,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008531.jpg 163,71,335,281,18 228,133,263,163,14 185,136,212,161,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008532.jpg 42,78,447,347,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008537.jpg 4,12,500,311,0 341,189,396,313,14 402,187,448,307,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008538.jpg 11,8,393,479,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008539.jpg 48,27,500,339,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008540.jpg 176,37,414,333,1 1,1,198,283,1 249,1,433,206,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008543.jpg 358,195,472,302,8 2,213,131,372,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008544.jpg 4,20,500,309,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008545.jpg 272,241,350,344,3 92,29,295,383,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008546.jpg 2,4,497,373,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008547.jpg 330,170,443,298,15 240,63,377,295,15 150,46,255,300,15 25,155,108,249,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008548.jpg 47,32,475,332,6 182,1,378,106,6 440,22,500,92,6 403,7,440,113,14 376,10,400,85,14 19,13,40,70,14 361,15,378,52,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008551.jpg 2,125,105,279,1 2,56,118,172,14 294,128,443,300,14 189,173,467,380,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008552.jpg 1,116,333,393,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008554.jpg 204,114,435,196,0 1,165,89,196,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008555.jpg 273,390,299,455,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008560.jpg 391,235,488,335,14 433,200,500,304,6 397,183,454,241,6 259,129,283,164,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008561.jpg 328,56,500,265,19 142,61,323,232,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008563.jpg 342,88,427,170,19 281,161,402,357,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008565.jpg 63,131,181,456,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008566.jpg 73,64,360,375,14 1,1,174,122,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008567.jpg 122,5,295,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008569.jpg 244,21,408,312,14 148,39,283,287,14 66,22,184,269,14 5,223,228,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008570.jpg 1,151,315,500,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008571.jpg 53,1,288,177,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008574.jpg 57,284,309,496,12 114,174,223,377,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008575.jpg 19,2,333,500,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008577.jpg 345,60,500,375,14 45,44,265,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008578.jpg 242,128,263,206,14 129,141,442,250,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008579.jpg 297,213,478,308,13 47,185,229,308,13 248,181,299,337,14 202,181,245,324,14 195,160,211,198,14 157,161,177,196,14 91,164,111,191,14 73,163,90,223,14 58,162,75,220,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008580.jpg 60,129,419,287,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008583.jpg 403,163,433,241,4 366,165,393,242,4 340,154,366,235,4 1,1,386,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008589.jpg 179,89,358,196,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008590.jpg 328,228,421,324,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008591.jpg 3,34,333,500,10 254,2,288,87,4 104,15,133,97,4 107,47,133,114,4 10,171,93,401,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008593.jpg 42,122,180,262,12 138,141,221,260,12 168,122,317,252,12 266,135,341,247,12 348,137,427,246,12 323,132,371,250,12 310,103,389,125,6 79,84,123,209,14 129,102,151,137,14 213,92,249,198,14 345,112,364,136,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008594.jpg 139,1,500,305,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008597.jpg 121,109,500,308,13 230,103,401,309,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008598.jpg 321,152,483,317,16 287,129,470,182,16 167,125,261,289,16 115,134,206,276,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008599.jpg 57,26,223,477,11 1,164,24,219,15 1,143,33,184,15 60,91,99,141,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008600.jpg 2,2,500,335,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008603.jpg 23,159,332,393,11 172,16,332,249,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008605.jpg 53,134,126,172,9 146,131,192,224,9 127,86,160,145,14 242,83,274,142,14 211,133,303,229,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008609.jpg 30,72,480,308,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008611.jpg 358,65,454,132,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008613.jpg 22,76,493,260,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008614.jpg 53,180,326,317,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008616.jpg 206,23,373,325,14 132,77,227,236,14 17,50,146,320,14 342,54,497,257,14 447,75,500,201,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008619.jpg 54,30,433,330,13 288,12,341,86,14 464,21,500,201,14 1,94,56,310,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008622.jpg 112,142,277,245,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008623.jpg 51,203,280,344,13 137,163,225,359,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008625.jpg 44,63,500,244,0 364,196,387,247,14 433,199,456,244,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008626.jpg 401,154,440,216,8 373,163,427,233,8 450,213,500,269,15 467,234,500,308,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008627.jpg 233,168,274,319,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008629.jpg 3,4,333,499,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008630.jpg 100,71,429,333,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008631.jpg 315,153,377,201,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008632.jpg 155,122,431,242,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008634.jpg 418,123,471,279,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008637.jpg 107,107,387,234,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008640.jpg 37,49,192,233,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008641.jpg 206,101,365,351,11 73,1,417,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008642.jpg 26,124,464,290,5 5,201,26,250,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008643.jpg 154,72,482,229,3 5,103,203,229,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008646.jpg 305,69,493,276,8 3,115,221,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008648.jpg 19,234,108,333,13 19,186,108,316,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008649.jpg 4,2,500,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008650.jpg 1,24,499,375,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008651.jpg 72,38,270,335,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008652.jpg 171,53,365,500,14 85,234,132,332,14 12,171,70,311,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008656.jpg 1,97,279,333,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008657.jpg 2,104,500,375,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008658.jpg 26,86,346,373,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008659.jpg 125,39,412,209,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008660.jpg 264,29,466,243,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008661.jpg 5,157,47,225,15 167,168,202,233,15 288,168,314,232,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008662.jpg 157,62,269,298,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008664.jpg 67,72,307,498,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008666.jpg 210,5,375,382,1 1,47,322,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008668.jpg 178,29,489,330,6 1,86,197,321,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008669.jpg 83,93,464,257,0 446,149,482,265,14 167,159,208,255,14 341,167,373,255,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008671.jpg 362,142,487,258,8 58,101,149,200,8 1,110,127,284,17 305,108,440,228,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008672.jpg 1,162,307,192,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008673.jpg 74,217,191,462,8 36,114,94,240,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008674.jpg 73,76,500,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008675.jpg 105,4,436,359,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008677.jpg 17,35,479,279,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008678.jpg 89,164,234,450,14 23,240,78,329,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008679.jpg 1,142,160,276,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008681.jpg 266,53,469,332,14 35,156,248,332,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008682.jpg 55,96,496,265,6 47,50,94,200,14 80,42,141,117,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008684.jpg 3,100,433,268,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008685.jpg 61,64,373,322,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008686.jpg 139,57,233,137,19 347,3,500,160,14 241,159,295,316,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008689.jpg 80,69,373,265,13 404,22,500,95,13 2,34,97,123,13 168,12,374,270,14 128,32,189,117,14 358,2,391,108,14 381,1,419,103,14 199,1,239,119,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008693.jpg 36,77,500,332,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008694.jpg 384,182,500,241,6 181,152,245,198,13 198,128,231,175,14 37,221,61,290,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008696.jpg 12,50,500,291,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008697.jpg 207,15,316,499,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008700.jpg 237,64,440,363,14 19,64,285,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008703.jpg 192,82,481,361,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008704.jpg 237,140,250,177,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008705.jpg 125,78,313,268,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008707.jpg 319,99,500,248,19 154,114,344,251,19 4,131,175,254,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008708.jpg 293,206,311,219,6 259,168,399,375,14 123,177,260,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008711.jpg 21,77,446,317,6 210,8,500,166,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008712.jpg 114,113,500,273,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008714.jpg 15,68,479,293,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008715.jpg 79,129,305,257,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008719.jpg 113,1,437,257,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008721.jpg 186,70,478,367,14 2,60,224,310,14 18,71,500,375,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008724.jpg 267,83,460,214,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008726.jpg 251,1,492,500,14 159,114,245,186,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008729.jpg 1,63,500,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008734.jpg 14,41,79,116,8 54,16,82,72,14 40,44,500,375,6 363,39,500,168,6 120,11,273,71,6 271,6,288,29,14 427,1,473,43,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008735.jpg 326,269,388,313,1 1,275,51,320,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008736.jpg 346,83,500,275,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008737.jpg 78,1,500,333,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008740.jpg 186,186,306,333,4 44,2,500,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008743.jpg 183,142,266,268,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008745.jpg 26,209,124,322,1 211,239,308,375,1 235,146,305,255,14 57,149,125,275,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008746.jpg 136,210,317,372,2 206,84,380,248,2 140,74,202,225,2 47,64,112,252,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008751.jpg 1,238,379,340,10 144,271,267,353,14 219,199,270,248,14 81,147,109,198,14 52,146,82,232,14 22,149,52,184,14 233,141,261,188,14 368,78,458,312,14 364,114,415,195,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008754.jpg 327,153,355,301,15 291,162,337,323,15 229,165,269,318,15 4,214,75,307,8 107,192,171,262,8 110,182,159,241,8 38,183,110,273,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008758.jpg 101,140,288,292,9 168,106,243,175,9 23,138,127,220,9 51,80,106,114,9 192,60,240,89,9 343,50,461,319,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008761.jpg 42,16,471,357,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008762.jpg 222,349,291,408,11 85,118,238,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008763.jpg 47,107,351,460,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008765.jpg 1,23,38,129,14 388,116,482,349,14 298,154,397,295,14 144,119,187,187,14 171,110,242,280,14 197,126,292,313,14 266,222,450,345,1 160,204,320,303,1 115,186,206,274,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008767.jpg 173,95,431,316,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008774.jpg 227,123,324,375,14 101,96,244,375,14 317,95,426,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008777.jpg 51,86,439,280,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008778.jpg 367,1,426,149,4 1,2,187,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008779.jpg 28,181,196,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008780.jpg 388,124,424,220,2 153,96,260,282,14 2,91,401,333,14 434,198,500,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008781.jpg 2,21,486,330,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008782.jpg 130,126,388,267,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008785.jpg 1,39,447,368,6 5,56,227,182,6 68,47,123,166,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008786.jpg 174,168,378,270,12 50,155,118,246,12 114,166,160,240,12 379,118,500,230,12 420,114,462,197,14 217,126,277,239,14 55,147,87,221,14 115,151,146,219,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008787.jpg 175,45,493,337,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008788.jpg 44,172,404,369,5 380,277,500,441,6 12,272,72,313,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008789.jpg 1,56,391,283,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008791.jpg 8,114,488,225,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008792.jpg 178,32,449,375,11 1,11,370,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008795.jpg 74,49,431,287,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008797.jpg 51,7,108,88,14 1,65,41,122,14 148,13,167,41,14 119,22,132,46,14 98,22,131,68,14 33,32,58,91,14 1,1,499,373,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008798.jpg 255,142,490,367,5 215,184,259,266,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008800.jpg 39,9,406,308,6 30,11,152,112,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008802.jpg 89,42,225,212,12 119,16,194,114,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008803.jpg 8,190,181,305,17 185,190,444,353,17 342,298,438,373,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008804.jpg 90,52,209,210,12 115,11,184,133,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008807.jpg 254,78,320,206,14 156,40,196,97,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008808.jpg 186,46,263,200,14 118,28,191,200,14 38,20,125,199,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008812.jpg 8,206,348,373,14 332,26,500,371,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008816.jpg 124,56,466,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008818.jpg 244,46,500,375,14 2,48,163,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008820.jpg 160,179,280,395,14 82,58,281,230,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008821.jpg 171,34,256,259,15 231,200,306,266,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008824.jpg 131,146,214,211,6 211,146,327,209,6 310,149,424,208,6 335,127,379,149,6 366,119,465,163,6 456,141,500,170,6 92,215,248,328,13 129,192,208,303,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008825.jpg 143,128,400,211,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008827.jpg 211,168,403,272,11 17,139,174,254,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008828.jpg 141,93,167,117,6 120,106,152,132,6 109,125,142,153,6 93,150,135,186,6 88,183,141,231,6 88,226,156,292,6 185,335,238,441,13 189,334,231,378,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008829.jpg 34,61,406,255,6 75,32,128,111,14 171,43,217,81,14 464,16,500,223,14 388,61,428,135,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008830.jpg 78,124,261,256,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008832.jpg 215,160,288,253,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008834.jpg 1,92,479,375,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008839.jpg 295,143,454,326,1 331,51,470,313,14 102,49,231,250,14 72,154,153,301,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008842.jpg 203,107,267,162,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008844.jpg 104,185,333,500,8 2,73,301,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008845.jpg 43,103,455,364,13 61,20,312,340,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008846.jpg 192,96,439,259,7 449,1,500,165,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008850.jpg 272,10,401,145,15 170,26,318,224,15 73,150,246,328,15 9,239,72,330,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008851.jpg 108,71,252,241,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008852.jpg 8,3,492,294,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008853.jpg 109,200,329,325,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008855.jpg 2,52,303,352,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008857.jpg 55,36,351,375,14 94,38,500,375,14 3,88,141,317,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008860.jpg 1,4,289,294,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008861.jpg 358,223,388,261,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008863.jpg 196,242,244,298,9 253,211,289,262,9 119,207,155,234,9 65,238,125,297,9 307,213,354,261,9 344,209,391,263,9 436,213,479,268,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008864.jpg 2,191,289,326,17 344,153,500,323,8 235,67,343,295,14 332,109,463,328,14 146,75,209,192,14 104,149,219,294,14 38,147,160,298,14 44,172,104,236,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008866.jpg 405,249,500,366,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008868.jpg 18,179,368,273,3 234,123,380,222,3 312,191,426,324,13 343,128,443,319,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008869.jpg 217,1,483,300,3 196,190,486,285,3 132,253,160,324,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008870.jpg 131,132,391,333,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008875.jpg 211,256,375,500,7 46,76,238,283,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008877.jpg 22,1,326,480,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008881.jpg 278,100,346,219,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008882.jpg 86,125,215,427,12 86,75,234,299,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008887.jpg 136,225,288,372,8 355,38,447,134,19 176,142,297,244,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008889.jpg 93,89,342,332,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008893.jpg 27,122,321,286,18 362,114,487,192,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008894.jpg 217,98,403,499,4 2,1,499,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008895.jpg 1,127,181,301,5 270,163,320,205,5 234,170,260,196,5 50,192,101,334,14 291,194,423,246,6 115,279,222,373,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008896.jpg 185,121,383,198,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008897.jpg 182,79,378,336,14 435,1,500,43,19 295,41,433,220,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008898.jpg 1,43,321,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008899.jpg 80,46,410,339,12 222,18,335,206,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008901.jpg 59,234,297,375,13 138,142,257,365,14 217,126,263,213,14 253,128,397,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008902.jpg 125,269,155,319,4 93,56,388,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008903.jpg 244,151,358,227,6 1,151,58,175,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008904.jpg 64,121,332,423,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008906.jpg 182,164,266,211,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008907.jpg 39,49,475,359,11 153,2,477,359,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008908.jpg 1,1,500,259,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008910.jpg 246,156,284,184,6 172,147,203,159,6 170,156,204,182,6 194,179,231,208,6 199,206,246,241,6 106,144,133,167,6 115,161,147,186,6 111,183,150,214,6 108,215,153,242,6 227,98,249,115,6 202,95,223,109,6 190,86,209,102,6 29,178,73,218,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008912.jpg 29,163,269,339,16 343,184,409,239,16 252,169,291,237,16 282,179,322,240,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008915.jpg 33,100,287,392,5 283,294,333,383,6 15,283,50,360,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008916.jpg 292,93,396,333,14 205,71,323,331,14 97,47,209,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008918.jpg 3,14,309,375,14 244,1,465,375,14 154,152,302,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008922.jpg 2,206,87,375,8 254,156,373,232,8 275,148,362,200,14 360,167,500,308,17 224,230,437,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008924.jpg 15,43,493,358,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008925.jpg 75,61,104,144,4 153,64,190,243,4 243,67,261,241,4 351,68,386,241,4 452,57,488,268,4 366,57,412,270,4 392,40,461,317,4 291,40,354,313,4 193,39,259,313,4 29,50,86,272,4 82,35,150,312,4 1,36,39,304,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008928.jpg 259,82,325,372,14 209,93,268,365,14 147,89,216,375,14 316,94,383,375,14 359,75,429,374,14 406,88,489,375,14 93,91,164,375,14 19,107,111,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008934.jpg 26,75,220,344,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008935.jpg 106,18,481,324,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008937.jpg 205,82,307,296,2 65,1,270,333,15 369,1,500,333,15 1,2,60,330,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008938.jpg 75,52,307,448,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008941.jpg 1,200,446,375,10 271,145,446,370,14 154,73,340,303,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008945.jpg 5,172,500,333,10 158,28,320,224,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008946.jpg 241,148,358,301,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008947.jpg 61,195,121,254,19 263,140,345,258,15 312,189,485,318,17 61,220,199,368,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008949.jpg 235,1,500,207,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008950.jpg 117,54,294,188,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008952.jpg 287,121,358,236,13 268,111,361,167,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008954.jpg 1,107,205,375,8 1,36,100,138,19 180,17,311,131,19 302,34,429,173,19 419,64,500,261,19 83,31,196,131,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008956.jpg 157,26,365,319,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008957.jpg 1,117,42,267,8 107,101,244,375,14 220,78,360,375,14 304,50,401,375,14 185,65,240,137,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008959.jpg 1,74,375,375,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008963.jpg 1,222,164,336,10 161,62,334,375,14 281,64,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008964.jpg 220,103,496,333,11 18,74,491,333,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008972.jpg 85,82,478,482,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008974.jpg 178,11,409,375,14 2,142,206,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008977.jpg 65,36,400,316,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008981.jpg 128,101,394,371,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008984.jpg 147,220,188,294,2 241,448,293,500,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008986.jpg 79,121,399,275,0 274,158,469,326,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008990.jpg 16,29,281,450,14 10,74,124,302,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008991.jpg 302,85,360,159,19 106,96,287,368,8 308,249,484,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008992.jpg 17,125,338,375,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008993.jpg 251,85,370,375,14 169,131,291,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008994.jpg 149,149,397,360,13 2,158,132,345,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008996.jpg 47,175,297,463,7 1,99,347,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/008998.jpg 412,231,452,289,3 238,242,266,281,3 118,240,150,286,3 65,220,97,275,3 8,239,30,271,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009001.jpg 104,66,192,422,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009003.jpg 3,65,333,499,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009008.jpg 23,59,446,294,13 291,36,325,57,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009009.jpg 256,323,370,500,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009010.jpg 77,70,162,222,8 290,77,422,290,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009011.jpg 70,92,355,287,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009012.jpg 114,1,277,499,4 292,27,367,217,4 102,1,375,167,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009013.jpg 69,230,415,375,17 446,99,470,146,14 450,114,480,146,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009014.jpg 274,199,341,326,11 250,210,313,284,11 115,40,130,79,14 87,38,102,81,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009017.jpg 182,29,458,373,14 142,32,311,252,14 90,66,206,243,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009021.jpg 22,50,291,442,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009023.jpg 390,49,478,120,6 415,33,458,140,14 46,50,405,319,6 178,21,206,74,14 18,13,81,187,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009025.jpg 52,23,381,332,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009026.jpg 36,305,169,365,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009028.jpg 171,106,367,319,1 156,32,318,235,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009030.jpg 2,81,421,317,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009031.jpg 227,146,258,189,16 129,98,153,116,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009033.jpg 271,326,358,365,6 252,337,331,371,6 207,335,303,377,6 123,327,259,382,6 98,342,242,385,6 31,341,187,397,6 2,341,138,406,6 1,367,67,419,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009038.jpg 123,73,362,248,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009040.jpg 157,146,284,350,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009041.jpg 133,99,375,285,13 158,69,272,255,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009043.jpg 169,120,277,225,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009044.jpg 375,38,436,90,14 465,57,500,155,14 29,50,95,240,14 77,66,107,112,14 4,62,40,189,14 49,41,494,299,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009046.jpg 49,155,420,500,12 151,1,360,418,14 355,181,419,282,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009047.jpg 11,53,385,332,13 109,2,164,179,14 180,2,241,127,14 266,2,329,68,14 334,2,402,192,14 407,9,447,114,14 78,17,105,57,14 161,3,184,53,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009050.jpg 53,47,458,320,13 2,8,122,176,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009052.jpg 212,110,467,284,6 335,131,371,166,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009054.jpg 92,301,185,383,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009055.jpg 143,24,428,332,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009056.jpg 312,208,377,271,8 335,230,408,310,8 345,238,426,328,8 151,209,203,266,8 109,229,182,309,8 95,238,175,326,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009057.jpg 170,82,379,282,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009061.jpg 158,116,417,331,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009062.jpg 89,132,387,217,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009065.jpg 13,107,469,316,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009067.jpg 171,82,299,245,14 96,101,435,357,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009069.jpg 4,3,500,336,13 2,1,61,181,14 367,1,500,77,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009070.jpg 88,163,426,353,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009071.jpg 55,78,477,285,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009074.jpg 191,146,261,323,12 197,92,264,177,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009075.jpg 1,104,132,327,14 136,29,281,234,14 130,145,284,308,14 271,147,427,374,14 337,95,500,375,14 277,61,340,188,14 335,224,378,351,4 97,238,146,331,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009076.jpg 4,153,500,375,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009077.jpg 392,96,468,242,14 282,102,340,260,14 307,107,418,263,14 149,114,181,196,14 88,121,140,211,14 41,143,85,185,14 17,145,58,188,14 227,135,282,163,6 121,140,210,169,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009081.jpg 77,63,461,324,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009082.jpg 1,96,291,345,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009083.jpg 4,160,497,318,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009084.jpg 43,77,481,375,13 127,68,237,240,11 1,217,98,375,11 451,83,500,191,8 369,83,437,180,8 313,76,375,137,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009088.jpg 203,3,459,375,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009090.jpg 234,78,342,197,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009092.jpg 217,113,362,230,5 362,151,401,214,5 402,172,436,231,6 191,171,212,212,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009093.jpg 80,72,451,273,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009095.jpg 1,305,231,500,10 1,249,181,330,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009096.jpg 11,35,339,188,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009097.jpg 2,73,111,232,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009101.jpg 3,80,193,318,12 3,104,363,318,12 367,131,471,318,12 76,17,175,318,14 228,90,270,132,14 344,81,477,316,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009102.jpg 1,151,259,375,14 1,197,500,375,3 303,156,361,208,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009103.jpg 75,1,500,261,11 135,133,370,293,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009104.jpg 223,150,302,265,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009107.jpg 1,44,422,374,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009109.jpg 1,238,500,345,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009110.jpg 144,62,293,266,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009111.jpg 152,65,430,270,5 457,172,489,196,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009115.jpg 135,135,343,299,1 126,59,267,367,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009118.jpg 145,157,387,322,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009119.jpg 152,175,452,303,6 461,142,491,225,14 313,128,385,179,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009120.jpg 274,132,348,151,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009122.jpg 289,266,500,355,5 82,295,97,330,14 125,297,204,333,6 226,305,290,336,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009124.jpg 126,57,398,287,18 222,190,289,323,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009125.jpg 119,180,262,235,6 477,172,492,208,14 465,177,479,209,14 151,178,390,375,14 56,166,256,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009127.jpg 418,202,496,321,14 336,206,406,303,14 60,170,175,375,14 4,138,111,372,14 148,26,379,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009130.jpg 34,140,362,462,12 137,74,301,306,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009132.jpg 72,48,425,309,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009134.jpg 93,82,406,288,18 397,201,466,230,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009135.jpg 76,95,432,325,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009137.jpg 213,147,266,169,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009139.jpg 69,1,107,98,14 98,1,168,202,14 1,2,43,199,14 160,4,203,82,14 398,2,500,375,14 111,42,437,374,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009140.jpg 1,1,500,327,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009142.jpg 24,14,295,429,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009143.jpg 4,80,251,349,14 4,157,371,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009145.jpg 104,57,383,370,13 15,96,135,299,13 54,68,97,137,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009146.jpg 155,78,359,337,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009149.jpg 193,93,496,326,6 385,133,422,167,14 305,128,344,162,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009152.jpg 93,133,157,326,14 134,176,202,329,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009154.jpg 31,116,480,319,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009156.jpg 36,74,302,191,6 158,121,500,375,6 301,75,383,109,6 410,72,475,96,6 24,82,61,99,6 284,68,341,97,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009158.jpg 1,54,306,375,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009164.jpg 184,304,214,400,4 59,364,375,500,10 1,214,157,500,14 54,139,201,369,14 164,225,294,366,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009165.jpg 441,1,500,102,14 89,46,222,211,19 217,49,356,178,19 302,164,358,230,19 203,153,302,244,19 312,180,347,212,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009167.jpg 37,101,436,213,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009169.jpg 144,142,209,194,16 104,140,154,186,16 131,133,184,153,16 217,110,235,133,16 83,165,118,198,16 236,111,252,132,16 250,111,264,136,16 295,136,332,187,16 341,135,366,180,16 363,141,394,193,16 386,131,399,167,16 399,138,434,191,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009170.jpg 248,158,362,292,9 153,154,207,250,9 115,141,141,189,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009171.jpg 3,192,498,375,10 366,93,500,306,14 378,124,459,247,14 307,128,368,217,14 245,121,308,202,14 171,135,227,194,14 87,128,147,220,14 35,120,93,234,14 1,119,51,266,14 262,178,275,227,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009172.jpg 1,15,185,272,15 154,142,263,265,15 181,30,316,244,15 239,150,316,281,15 258,100,412,246,15 295,217,376,317,15 350,230,429,337,15 394,167,500,374,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009176.jpg 52,118,452,357,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009182.jpg 19,27,500,335,6 431,11,500,101,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009183.jpg 54,4,500,373,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009188.jpg 15,56,488,286,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009190.jpg 62,58,500,458,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009198.jpg 22,27,484,396,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009199.jpg 22,134,379,494,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009201.jpg 96,163,379,331,6 181,178,299,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009203.jpg 3,125,438,294,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009204.jpg 132,62,327,374,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009206.jpg 132,128,447,244,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009207.jpg 92,132,374,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009210.jpg 160,223,336,295,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009211.jpg 152,140,302,214,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009216.jpg 2,100,376,332,19 179,1,399,121,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009217.jpg 9,1,325,224,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009219.jpg 26,46,162,374,14 117,90,199,329,14 214,72,305,282,14 320,61,380,298,14 310,60,429,368,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009220.jpg 47,22,429,337,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009222.jpg 36,171,309,375,8 65,109,351,251,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009223.jpg 61,200,230,313,9 292,71,335,187,14 244,64,274,174,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009225.jpg 178,289,295,361,8 305,264,408,353,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009226.jpg 128,1,351,209,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009228.jpg 284,147,374,353,1 195,25,366,354,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009229.jpg 320,128,500,260,13 26,133,140,245,13 412,49,496,161,14 1,80,72,255,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009231.jpg 1,90,266,337,12 63,82,305,325,12 174,77,465,309,12 33,54,140,187,14 107,53,215,136,14 270,60,376,174,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009232.jpg 194,71,418,375,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009233.jpg 157,61,327,297,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009234.jpg 2,111,316,375,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009235.jpg 82,358,128,489,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009237.jpg 225,194,271,319,1 112,310,187,458,1 218,63,301,168,14 231,135,289,266,14 171,146,241,250,14 126,174,216,300,14 120,233,187,417,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009240.jpg 229,87,328,174,3 397,128,489,216,14 457,119,498,192,14 305,181,499,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009241.jpg 135,142,244,174,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009243.jpg 100,92,415,330,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009248.jpg 3,34,331,372,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009253.jpg 42,25,284,390,14 157,48,475,390,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009256.jpg 132,81,496,340,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009257.jpg 128,1,211,206,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009258.jpg 63,175,334,500,1 52,1,321,470,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009260.jpg 35,149,412,265,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009261.jpg 270,311,296,330,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009262.jpg 11,96,488,244,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009263.jpg 61,160,136,307,8 17,96,104,307,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009264.jpg 134,95,500,374,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009265.jpg 30,1,382,322,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009266.jpg 84,2,433,375,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009267.jpg 24,233,76,256,6 323,240,427,272,6 198,248,294,284,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009274.jpg 241,186,355,312,19 354,183,450,287,14 1,56,330,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009275.jpg 46,248,265,358,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009276.jpg 26,271,333,497,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009277.jpg 55,143,263,322,13 130,103,252,319,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009280.jpg 3,1,498,332,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009284.jpg 39,271,499,373,6 196,136,446,271,14 1,274,45,374,14 74,187,93,282,14 98,183,130,280,14 140,184,169,275,14 167,188,211,266,14 167,173,189,207,14 1,169,45,310,14 377,202,400,228,14 480,211,500,279,14 453,217,482,262,14 453,241,475,271,14 107,272,150,319,14 202,196,227,241,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009292.jpg 1,7,326,472,0 245,458,274,493,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009293.jpg 52,1,298,448,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009294.jpg 66,197,289,500,14 1,246,276,500,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009297.jpg 374,134,394,206,4 397,164,426,248,4 426,199,454,262,4 205,71,280,153,14 169,66,262,183,14 101,74,305,334,14 2,107,190,375,14 412,71,484,181,14 444,80,500,224,14 181,150,500,374,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009298.jpg 1,19,357,373,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009300.jpg 64,153,173,369,2 173,84,286,274,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009301.jpg 178,88,500,373,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009302.jpg 39,131,460,314,6 1,122,91,187,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009304.jpg 285,36,500,375,5 162,117,289,263,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009305.jpg 76,74,401,318,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009310.jpg 176,128,259,240,7 86,53,214,161,19 1,189,119,323,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009311.jpg 1,34,69,250,14 416,163,490,276,8 332,167,403,286,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009313.jpg 2,277,137,362,8 1,354,45,427,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009314.jpg 183,192,321,330,5 90,209,351,500,14 214,252,339,437,14 202,211,254,300,14 57,235,100,351,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009317.jpg 133,82,220,269,14 86,158,295,307,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009319.jpg 80,55,462,465,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009320.jpg 288,215,451,375,16 430,329,500,375,16 440,254,480,286,16 192,284,276,361,16 1,104,294,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009321.jpg 33,57,478,285,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009322.jpg 298,239,351,328,13 305,207,352,306,14 1,224,47,277,6 31,220,93,264,6 72,209,130,256,6 119,214,156,252,6 140,212,178,245,6 154,195,205,240,6 203,184,233,219,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009328.jpg 264,2,425,319,14 38,56,170,278,14 3,69,217,319,14 169,63,296,234,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009329.jpg 5,3,498,333,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009332.jpg 196,247,334,356,0 158,293,233,397,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009335.jpg 98,147,279,208,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009338.jpg 84,112,417,331,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009340.jpg 59,150,431,267,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009341.jpg 23,82,480,305,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009344.jpg 293,2,486,334,14 199,98,255,172,14 233,104,316,269,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009345.jpg 132,118,497,292,17 298,87,460,375,14 11,110,224,375,14 188,70,319,316,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009346.jpg 60,123,220,305,7 243,105,437,317,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009352.jpg 248,131,382,255,7 124,2,174,228,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009353.jpg 2,157,314,333,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009355.jpg 15,51,454,318,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009356.jpg 423,141,446,160,0 435,160,454,177,0 445,178,465,198,0 434,199,453,216,0 456,200,475,216,0 475,199,496,215,0 440,218,459,235,0 426,237,444,254,0 414,257,433,273,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009357.jpg 365,149,500,305,19 189,182,305,302,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009360.jpg 185,121,458,327,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009361.jpg 111,140,342,258,13 137,102,266,257,14 335,13,402,170,14 375,35,426,165,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009363.jpg 1,81,308,500,14 1,128,375,500,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009364.jpg 263,2,500,375,14 8,92,316,375,14 145,41,174,77,14 209,39,238,78,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009366.jpg 14,4,158,469,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009367.jpg 333,204,496,305,17 100,201,316,294,17 344,156,382,224,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009369.jpg 93,25,279,197,12 133,9,215,101,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009370.jpg 90,113,210,340,14 51,207,240,370,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009372.jpg 103,128,399,259,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009376.jpg 1,103,366,347,6 303,104,350,192,14 256,108,297,174,14 242,68,280,176,14 277,75,305,136,14 305,75,345,150,14 345,94,380,241,14 454,85,486,148,14 444,141,494,224,14 372,110,463,144,6 178,149,198,173,14 150,151,162,172,14 1,132,38,199,14 461,160,495,217,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009379.jpg 220,219,248,250,19 402,217,436,252,19 164,216,186,245,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009380.jpg 87,84,397,245,12 209,41,295,184,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009381.jpg 42,2,500,339,6 1,1,245,124,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009383.jpg 3,3,496,341,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009384.jpg 167,293,266,372,6 70,303,150,361,6 2,298,58,374,6 276,313,329,351,6 313,295,348,340,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009385.jpg 5,25,500,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009387.jpg 206,238,356,276,5 173,256,210,277,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009390.jpg 6,19,406,328,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009391.jpg 82,146,228,406,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009395.jpg 84,160,199,234,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009396.jpg 134,420,266,500,6 30,455,90,481,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009397.jpg 1,163,89,240,19 105,188,190,286,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009399.jpg 142,67,415,275,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009400.jpg 352,134,429,260,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009402.jpg 169,88,455,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009403.jpg 104,27,293,103,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009404.jpg 1,32,259,276,19 261,53,500,317,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009415.jpg 70,108,256,321,14 153,1,498,320,14 465,152,500,269,14 199,179,288,278,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009416.jpg 8,85,500,374,15 1,1,190,216,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009423.jpg 131,4,344,315,3 287,259,309,297,14 257,260,274,297,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009425.jpg 210,22,343,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009426.jpg 181,197,383,301,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009427.jpg 1,8,490,333,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009428.jpg 4,40,320,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009430.jpg 1,51,500,354,6 443,39,475,121,14 474,22,500,131,14 111,29,148,80,14 57,19,107,80,14 20,32,70,83,14 2,16,22,85,14 135,30,175,80,14 374,29,394,57,14 359,37,373,56,14 347,33,361,56,14 322,41,340,56,14 202,39,217,58,14 164,36,185,61,14 418,63,438,83,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009431.jpg 1,107,121,500,4 65,1,375,500,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009435.jpg 376,141,500,294,8 1,138,252,328,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009436.jpg 158,29,326,254,18 370,149,443,284,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009441.jpg 5,3,396,375,14 4,273,500,375,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009442.jpg 2,16,392,333,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009444.jpg 139,271,219,375,8 298,270,380,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009447.jpg 41,24,377,262,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009449.jpg 127,133,468,330,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009450.jpg 243,170,375,334,9 30,153,166,329,9 1,141,96,242,9 160,119,281,173,9 117,119,192,237,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009451.jpg 190,161,409,375,16 138,103,344,325,16 408,69,468,94,16 1,84,26,170,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009452.jpg 275,77,356,313,14 414,102,500,332,14 1,27,97,175,14 1,122,234,332,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009453.jpg 2,149,356,375,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009462.jpg 105,286,266,472,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009467.jpg 93,206,293,342,2 84,37,175,147,2 18,43,90,141,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009471.jpg 2,4,500,351,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009473.jpg 339,99,500,375,14 181,91,344,375,14 30,96,228,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009474.jpg 142,1,375,365,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009475.jpg 4,67,500,333,6 174,92,252,149,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009478.jpg 213,1,446,316,8 96,25,309,336,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009482.jpg 68,110,333,374,10 325,135,500,372,14 326,118,366,160,14 231,100,269,151,14 214,101,245,161,14 189,101,232,168,14 141,117,225,255,14 8,153,125,350,14 12,21,247,215,14 272,147,295,191,4 440,49,473,82,14 412,40,443,82,14 450,99,496,139,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009483.jpg 14,19,333,487,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009485.jpg 153,11,450,353,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009486.jpg 3,217,202,345,17 202,231,266,401,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009487.jpg 401,214,500,375,8 72,221,250,375,8 43,52,309,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009489.jpg 173,104,300,244,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009492.jpg 101,61,489,252,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009493.jpg 39,189,316,330,1 16,123,192,291,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009495.jpg 331,81,500,351,13 177,75,342,344,13 24,96,194,337,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009498.jpg 97,65,356,299,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009501.jpg 193,118,274,230,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009503.jpg 55,186,323,375,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009505.jpg 102,111,346,415,12 171,56,298,272,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009506.jpg 2,2,500,333,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009509.jpg 263,39,469,181,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009510.jpg 86,141,378,284,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009511.jpg 237,68,349,174,19 194,72,362,317,14 96,114,327,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009513.jpg 105,179,286,470,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009514.jpg 152,159,259,319,8 284,163,396,311,8 377,159,436,290,8 418,155,461,273,8 87,146,153,289,8 106,114,164,286,14 167,113,204,166,14 195,114,269,293,14 373,116,414,200,14 311,120,383,227,14 5,39,91,259,15 217,159,358,287,10 243,67,323,167,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009521.jpg 472,189,500,267,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009522.jpg 29,32,399,347,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009525.jpg 149,69,259,289,14 71,113,316,413,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009529.jpg 294,234,369,344,8 220,189,412,375,14 313,169,436,372,14 415,167,500,278,14 181,85,279,304,14 38,124,106,308,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009530.jpg 191,245,279,272,5 280,250,316,267,6 120,266,174,287,6 42,267,112,298,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009534.jpg 312,247,433,332,1 67,237,160,305,1 330,201,412,309,14 75,199,137,298,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009535.jpg 181,90,424,332,12 227,48,323,275,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009536.jpg 57,61,500,354,6 3,83,30,180,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009538.jpg 156,236,500,308,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009539.jpg 100,195,125,259,14 82,200,107,261,14 125,204,153,269,14 192,190,240,274,14 260,170,345,324,14 323,183,368,298,14 366,177,417,308,14 432,167,500,319,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009544.jpg 7,2,316,237,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009547.jpg 241,309,326,500,4 113,203,168,429,4 1,192,49,383,4 46,26,350,309,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009548.jpg 125,155,298,387,18 1,159,168,379,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009552.jpg 65,35,295,495,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009553.jpg 135,167,201,198,0 239,124,309,155,0 246,153,312,184,0 255,181,319,210,0 354,83,424,116,0 359,113,424,143,0 358,141,423,173,0 362,171,425,198,0 366,195,429,221,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009554.jpg 1,124,295,370,14 138,136,180,218,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009555.jpg 384,95,489,128,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009556.jpg 192,3,500,375,14 93,73,266,375,14 3,146,178,374,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009559.jpg 346,159,467,249,1 185,155,344,248,1 248,91,295,241,14 308,86,379,248,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009561.jpg 84,82,198,186,19 2,2,61,73,19 121,78,368,360,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009563.jpg 5,192,283,500,13 170,135,284,418,14 229,137,284,350,14 285,220,328,305,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009564.jpg 108,222,217,319,1 122,144,192,275,14 271,164,406,262,6 205,173,285,214,6 70,171,204,218,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009569.jpg 133,170,234,301,16 89,203,401,340,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009570.jpg 69,94,117,213,4 42,88,89,207,4 6,85,54,204,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009572.jpg 203,79,335,259,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009574.jpg 1,78,160,375,14 136,81,277,369,14 267,68,399,375,14 358,63,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009575.jpg 95,1,500,287,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009578.jpg 85,44,500,335,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009581.jpg 9,22,171,266,15 178,121,325,264,15 335,124,500,275,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009582.jpg 3,84,500,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009583.jpg 281,18,398,96,11 1,1,324,331,14 259,1,500,245,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009589.jpg 12,116,378,322,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009590.jpg 18,85,492,299,6 43,135,75,192,14 86,133,118,169,14 8,149,93,217,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009592.jpg 100,100,240,270,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009593.jpg 172,174,394,269,6 393,153,429,267,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009594.jpg 224,288,334,375,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009595.jpg 43,17,437,263,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009599.jpg 100,45,400,181,6 2,1,133,300,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009601.jpg 118,180,227,255,6 438,159,475,271,14 467,156,500,273,14 388,148,429,262,14 312,147,363,248,14 378,149,394,255,14 361,152,382,254,14 241,161,264,236,14 277,162,301,238,14 262,166,279,234,14 305,166,328,241,14 212,166,249,234,14 1,117,131,339,14 332,69,366,129,14 383,58,415,116,14 361,66,379,124,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009602.jpg 334,104,469,250,15 169,31,333,184,15 2,2,186,199,15 118,117,231,245,15 229,154,344,269,15 273,244,401,372,15 143,209,273,359,15 27,192,152,329,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009604.jpg 50,10,375,500,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009606.jpg 39,320,375,500,10 77,329,227,500,8 29,278,96,462,8 259,367,375,500,8 79,224,140,277,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009607.jpg 128,129,363,284,2 175,209,460,348,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009608.jpg 160,73,277,221,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009610.jpg 12,30,279,497,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009612.jpg 15,108,346,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009616.jpg 47,93,406,291,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009622.jpg 86,57,282,333,14 252,110,472,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009624.jpg 205,59,274,209,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009625.jpg 44,96,278,433,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009626.jpg 2,129,486,353,17 35,147,441,275,14 348,316,374,374,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009628.jpg 1,123,124,375,14 78,116,341,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009630.jpg 338,159,404,308,7 295,95,331,142,15 331,103,362,142,15 370,92,419,147,15 47,145,73,213,4 20,156,47,216,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009631.jpg 444,144,475,172,19 400,165,475,252,8 36,176,104,260,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009632.jpg 312,268,396,333,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009633.jpg 15,170,99,247,14 106,202,119,250,4 100,166,171,257,14 421,91,500,177,14 299,90,400,184,14 156,37,392,275,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009635.jpg 12,386,253,497,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009639.jpg 10,19,314,320,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009640.jpg 150,114,370,232,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009642.jpg 164,183,209,234,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009643.jpg 208,195,305,249,5 344,213,366,238,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009645.jpg 128,22,208,276,4 224,4,288,275,4 309,9,371,155,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009646.jpg 58,82,380,375,7 1,9,500,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009648.jpg 272,1,374,234,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009651.jpg 97,21,405,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009652.jpg 5,6,317,263,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009653.jpg 2,37,168,375,14 164,85,337,375,14 119,23,500,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009657.jpg 139,62,305,336,14 45,120,322,351,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009660.jpg 196,222,337,370,11 12,156,332,412,14 43,186,374,500,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009661.jpg 55,58,400,291,12 214,36,306,169,14 46,92,74,206,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009662.jpg 75,263,500,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009663.jpg 213,236,500,375,8 1,164,113,293,8 238,142,473,266,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009665.jpg 118,145,155,259,14 79,170,119,255,12 340,116,453,175,12 236,148,320,184,12 193,152,245,185,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009669.jpg 3,2,500,333,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009672.jpg 416,76,500,206,7 150,114,443,375,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009673.jpg 70,11,189,146,14 6,53,217,202,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009674.jpg 74,125,324,450,13 2,138,74,375,14 98,121,156,291,14 226,128,313,401,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009675.jpg 80,20,500,274,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009677.jpg 86,23,422,312,1 1,2,125,156,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009680.jpg 1,107,88,268,6 41,89,414,343,6 316,82,392,274,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009682.jpg 1,93,407,264,18 337,108,500,199,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009683.jpg 86,110,432,269,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009688.jpg 100,4,329,145,6 38,105,394,375,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009689.jpg 235,53,327,141,19 257,164,443,373,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009690.jpg 345,195,407,294,8 242,192,270,280,8 250,227,320,333,8 266,210,390,316,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009694.jpg 333,306,420,351,6 266,306,348,350,6 175,305,272,348,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009696.jpg 14,203,68,253,2 231,1,500,334,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009697.jpg 14,4,485,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009701.jpg 85,135,312,221,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009704.jpg 43,130,269,244,5 118,196,149,288,14 80,189,104,265,14 164,191,189,288,14 230,194,257,265,14 385,198,404,272,14 397,204,433,285,14 366,180,385,242,14 414,169,437,230,14 444,184,465,250,14 479,188,500,257,14 309,186,354,215,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009705.jpg 439,8,500,138,13 239,1,397,46,6 342,5,468,96,13 202,30,416,132,13 55,60,467,259,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009708.jpg 5,129,213,330,8 235,172,473,375,8 30,97,190,243,14 178,107,437,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009714.jpg 1,401,22,450,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009715.jpg 33,96,291,375,14 189,128,442,375,14 290,122,500,358,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009716.jpg 79,117,302,322,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009720.jpg 160,2,500,375,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009722.jpg 100,180,200,362,12 70,240,205,360,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009723.jpg 1,69,499,365,6 1,15,105,120,6 89,22,181,47,6 374,26,497,91,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009725.jpg 4,230,129,353,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009727.jpg 187,316,208,353,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009728.jpg 215,41,249,183,3 348,246,387,285,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009730.jpg 244,78,426,301,1 196,64,322,229,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009731.jpg 86,71,341,248,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009736.jpg 6,5,333,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009739.jpg 61,66,355,500,14 48,157,246,300,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009740.jpg 175,155,298,236,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009741.jpg 1,216,42,328,8 109,233,199,363,8 185,77,428,372,14 133,180,205,308,14 189,196,220,242,14 103,217,134,273,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009742.jpg 2,87,500,433,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009744.jpg 350,88,456,223,11 38,56,157,238,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009750.jpg 336,140,401,375,15 206,216,263,373,15 128,157,180,358,15 16,168,52,333,15 37,219,104,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009751.jpg 75,33,403,329,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009752.jpg 118,156,382,375,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009753.jpg 107,171,262,256,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009757.jpg 10,75,490,253,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009759.jpg 3,3,433,328,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009760.jpg 50,82,500,367,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009765.jpg 111,56,338,343,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009766.jpg 245,79,500,280,14 92,71,496,435,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009768.jpg 52,168,94,235,9 119,162,201,239,9 345,131,426,256,12 351,96,406,209,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009769.jpg 36,162,468,340,17 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009770.jpg 72,274,401,373,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009771.jpg 164,217,444,375,9 90,174,433,375,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009775.jpg 39,63,173,430,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009777.jpg 337,184,436,234,6 455,191,500,235,6 194,175,295,234,6 1,192,74,262,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009779.jpg 97,186,323,329,6 349,177,494,311,6 264,133,302,238,14 306,135,358,282,14 354,144,401,296,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009782.jpg 239,183,250,223,4 330,251,355,328,4 418,234,441,303,4 361,96,396,164,14 97,95,167,177,14 114,138,181,218,14 213,138,299,230,14 318,148,406,248,14 456,162,500,281,14 16,158,237,374,14 94,215,500,375,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009783.jpg 191,119,305,296,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009784.jpg 1,98,475,363,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009786.jpg 89,78,281,210,7 266,1,449,280,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009787.jpg 324,4,459,260,11 1,20,147,332,15 203,123,256,191,15 280,48,327,114,15 185,33,274,118,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009788.jpg 58,62,487,337,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009791.jpg 1,209,434,375,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009793.jpg 58,80,442,352,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009795.jpg 93,159,194,229,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009798.jpg 295,127,456,344,14 289,128,387,250,14 118,134,191,243,14 68,139,165,273,14 12,154,121,347,14 54,153,344,372,10 281,239,435,375,8 167,202,192,278,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009799.jpg 18,28,489,238,11 253,180,500,333,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009802.jpg 47,218,190,375,11 76,113,264,255,11 102,25,427,368,14 1,1,461,375,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009803.jpg 127,125,305,243,12 185,82,244,211,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009804.jpg 458,129,471,151,14 458,131,491,227,14 486,128,500,175,14 362,130,381,163,14 390,133,404,163,14 12,135,388,333,6 157,136,171,150,14 198,133,212,156,14 135,135,142,146,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009806.jpg 183,40,402,309,5 102,185,130,231,6 30,203,103,236,6 5,185,36,268,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009811.jpg 2,50,368,195,3 344,96,500,195,3 438,171,468,199,3 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009812.jpg 8,203,186,496,14 98,340,333,499,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009814.jpg 146,65,347,301,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009815.jpg 18,210,429,356,10 351,257,475,356,8 31,217,158,356,8 137,239,248,356,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009817.jpg 149,127,448,373,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009818.jpg 314,223,351,254,16 242,181,273,205,16 66,204,91,229,16 15,202,42,222,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009820.jpg 1,1,500,347,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009821.jpg 15,117,447,262,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009824.jpg 116,134,389,219,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009826.jpg 190,124,327,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009827.jpg 43,94,198,220,18 279,150,330,178,18 471,163,500,213,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009829.jpg 249,283,310,325,6 447,270,500,330,6 217,285,249,337,6 1,240,218,375,6 316,264,390,321,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009835.jpg 121,130,397,229,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009837.jpg 383,3,500,76,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009838.jpg 5,97,486,245,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009840.jpg 100,67,423,324,19 181,114,245,235,14 115,131,186,236,14 1,206,26,358,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009843.jpg 2,24,369,500,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009844.jpg 2,21,500,317,18 105,260,171,375,14 272,101,295,167,14 199,54,230,99,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009846.jpg 95,127,487,359,17 36,116,80,193,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009847.jpg 200,117,302,194,6 7,241,45,333,14 52,239,104,332,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009849.jpg 82,179,253,247,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009850.jpg 258,236,308,324,13 58,157,258,418,13 180,154,275,387,14 259,215,308,315,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009853.jpg 2,106,128,295,8 135,2,429,343,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009854.jpg 403,138,480,236,8 347,141,401,231,8 282,137,341,219,8 189,162,271,294,8 65,192,165,314,8 2,189,87,302,8 68,158,219,275,10 128,109,146,140,14 144,107,167,135,14 166,105,191,132,14 204,106,224,130,14 235,109,266,167,14 181,123,259,235,14 111,121,148,165,14 57,130,104,179,14 3,129,69,242,14 277,102,310,137,14 326,98,356,131,14 359,98,400,131,14 402,99,431,131,14 422,100,477,142,14 397,103,464,221,14 298,105,346,214,14 443,31,500,135,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009856.jpg 113,245,192,302,6 380,243,499,328,6 1,252,81,327,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009857.jpg 3,37,335,493,13 5,62,335,454,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009861.jpg 355,169,500,340,16 310,110,390,227,16 71,167,220,368,16 129,122,282,245,16 197,102,272,143,16 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009864.jpg 1,143,363,245,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009866.jpg 51,109,424,345,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009871.jpg 177,37,497,375,14 51,82,200,375,14 396,15,412,75,4 373,22,402,82,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009873.jpg 169,128,461,258,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009875.jpg 216,179,375,376,7 4,275,131,436,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009876.jpg 90,61,417,209,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009883.jpg 33,103,488,266,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009885.jpg 1,2,500,375,3 185,157,335,375,14 175,198,209,229,14 44,192,90,229,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009888.jpg 202,113,316,271,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009889.jpg 142,156,366,265,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009890.jpg 43,87,355,280,13 84,41,213,304,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009891.jpg 22,1,125,188,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009892.jpg 49,1,474,333,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009893.jpg 127,134,164,201,2 212,126,248,198,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009895.jpg 51,125,330,303,6 302,111,433,201,6 177,103,288,174,6 1,100,76,185,6 19,35,52,108,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009899.jpg 140,2,466,375,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009901.jpg 104,76,199,337,14 265,46,424,368,14 20,174,77,234,8 189,185,256,266,10 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009903.jpg 86,82,412,319,12 222,49,293,219,14 340,87,401,312,14 1,80,38,101,6 36,79,82,100,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009906.jpg 26,86,122,167,19 128,85,220,164,19 220,89,309,159,19 334,61,454,159,19 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009907.jpg 2,122,313,458,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009909.jpg 37,42,355,339,9 307,170,375,239,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009910.jpg 183,75,321,483,14 76,220,193,391,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009912.jpg 98,64,401,352,9 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009914.jpg 305,253,365,340,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009915.jpg 5,89,174,390,14 311,114,446,397,14 42,109,307,400,14 192,191,288,279,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009916.jpg 217,84,271,166,8 17,96,256,250,17 278,110,439,269,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009919.jpg 27,135,473,245,0 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009921.jpg 146,152,500,194,18 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009922.jpg 180,79,443,310,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009924.jpg 6,36,373,500,13 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009925.jpg 137,4,491,341,15 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009927.jpg 70,156,444,265,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009928.jpg 136,90,218,252,15 102,68,344,490,15 8,203,84,323,8 1,263,67,380,8 71,227,160,358,8 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009929.jpg 1,125,356,395,4 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009930.jpg 92,8,385,375,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009931.jpg 135,159,170,250,14 90,160,143,250,12 180,158,229,189,12 226,131,298,172,12 332,103,493,161,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009933.jpg 49,8,500,400,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009934.jpg 215,101,283,244,2 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009936.jpg 224,64,422,266,5 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009937.jpg 43,117,500,276,12 350,89,463,231,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009941.jpg 232,67,320,239,14 171,62,239,240,14 101,41,178,240,14 51,61,116,240,14 2,41,73,240,14 267,46,320,166,14 209,52,222,95,14 221,50,231,96,14 229,52,242,98,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009943.jpg 204,111,331,208,6 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009948.jpg 1,2,315,500,14 2,281,303,500,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009951.jpg 236,128,500,333,18 379,192,418,227,14 429,189,467,227,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009952.jpg 79,56,325,454,11 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009953.jpg 27,84,491,349,1 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009956.jpg 118,21,401,300,7 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009957.jpg 106,89,236,308,14 54,128,295,436,12 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009960.jpg 26,140,318,318,13 92,46,312,267,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009962.jpg 211,192,324,326,8 162,72,273,248,14 250,68,473,312,14 4,2,253,374,14 +./VOC/test/VOCdevkit/VOC2007/JPEGImages/009963.jpg 2,3,374,500,6 diff --git a/cv/detection/yolov3/tensorflow/data/dataset/voc_train.txt b/cv/detection/yolov3/tensorflow/data/dataset/voc_train.txt new file mode 100644 index 0000000000000000000000000000000000000000..f4152fea3a3e81a8fdf2215108fd1b547b94325b --- /dev/null +++ b/cv/detection/yolov3/tensorflow/data/dataset/voc_train.txt @@ -0,0 +1,16551 @@ +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000005.jpg 263,211,324,339,8 165,264,253,372,8 241,194,295,299,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000007.jpg 141,50,500,330,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000009.jpg 69,172,270,330,12 150,141,229,284,14 285,201,327,331,14 258,198,297,329,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000012.jpg 156,97,351,270,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000016.jpg 92,72,305,473,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000017.jpg 185,62,279,199,14 90,78,403,336,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000019.jpg 231,88,483,256,7 11,113,266,259,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000020.jpg 33,148,371,416,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000021.jpg 1,235,182,388,11 210,36,336,482,14 46,82,170,365,14 11,181,142,419,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000023.jpg 9,230,245,500,1 230,220,334,500,1 2,1,117,369,14 3,2,243,462,14 225,1,334,486,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000024.jpg 196,165,489,247,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000026.jpg 90,125,337,212,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000030.jpg 36,205,180,289,1 51,160,150,292,14 295,138,450,290,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000032.jpg 104,78,375,183,0 133,88,197,123,0 195,180,213,229,14 26,189,44,238,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000033.jpg 9,107,499,263,0 421,200,482,226,0 325,188,411,223,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000034.jpg 116,167,360,400,18 141,153,333,229,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000035.jpg 1,96,191,361,14 218,98,465,318,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000036.jpg 27,79,319,344,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000039.jpg 156,89,344,279,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000041.jpg 363,47,432,107,19 216,92,307,302,14 164,148,227,244,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000042.jpg 263,32,500,295,18 1,36,235,299,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000044.jpg 1,1,370,330,8 99,101,312,213,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000046.jpg 211,234,317,366,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000047.jpg 15,1,459,312,6 439,170,487,230,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000048.jpg 58,107,291,465,2 2,1,302,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000050.jpg 360,192,381,265,4 399,181,422,235,4 270,180,291,247,4 294,176,312,241,4 68,96,293,375,14 1,71,87,332,14 185,68,259,197,14 286,64,406,238,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000051.jpg 352,138,500,375,13 105,1,427,245,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000052.jpg 414,232,458,263,15 291,237,333,270,15 183,238,227,273,15 52,244,99,274,15 62,96,107,132,15 184,94,225,128,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000060.jpg 1,137,427,333,6 1,62,479,235,6 1,27,422,141,6 44,7,458,134,6 199,6,475,98,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000061.jpg 274,11,437,279,3 184,214,281,252,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000063.jpg 123,115,379,275,11 75,1,428,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000064.jpg 1,23,451,500,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000065.jpg 2,104,398,334,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000066.jpg 209,187,228,230,14 242,182,274,259,14 269,188,295,259,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000072.jpg 40,71,333,473,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000073.jpg 121,143,375,460,15 2,154,64,459,15 270,155,375,331,3 22,143,146,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000077.jpg 240,1,500,333,7 2,1,306,333,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000078.jpg 15,75,475,412,11 94,41,437,238,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000081.jpg 235,158,462,282,17 198,156,341,231,14 349,145,451,266,14 61,162,170,333,14 29,166,73,213,14 298,246,433,333,14 196,215,332,330,14 270,298,324,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000083.jpg 109,33,447,309,6 380,2,435,135,14 138,14,193,115,14 1,20,75,204,14 60,48,114,156,14 32,51,83,162,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000089.jpg 20,7,183,355,14 98,215,429,374,14 332,140,455,366,14 22,51,317,291,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000091.jpg 125,241,195,284,6 81,248,105,268,6 91,250,126,274,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000093.jpg 175,125,344,254,11 53,3,500,338,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000095.jpg 20,52,439,285,18 1,125,114,234,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000099.jpg 4,77,320,252,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000101.jpg 40,64,400,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000102.jpg 121,134,352,274,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000104.jpg 403,110,500,265,19 291,75,442,333,14 2,7,283,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000107.jpg 471,174,500,227,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000109.jpg 17,12,482,235,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000110.jpg 79,233,110,314,14 54,231,86,344,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000112.jpg 70,174,277,328,11 287,162,316,198,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000113.jpg 277,101,354,260,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000117.jpg 1,42,498,284,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000118.jpg 164,97,281,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000120.jpg 66,121,440,276,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000121.jpg 251,28,475,267,19 22,28,251,273,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000122.jpg 36,20,430,474,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000123.jpg 1,26,358,340,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000125.jpg 425,218,500,275,1 436,188,467,223,14 382,209,415,272,14 353,213,383,276,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000129.jpg 70,202,255,500,1 74,1,272,462,14 252,19,334,487,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000130.jpg 4,1,500,249,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000131.jpg 1,99,475,266,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000132.jpg 43,66,279,363,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000133.jpg 73,18,406,500,14 135,227,338,500,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000134.jpg 1,115,487,330,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000138.jpg 6,56,154,285,14 145,58,283,258,14 224,54,440,332,14 363,96,500,332,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000140.jpg 107,146,386,300,11 2,113,500,401,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000141.jpg 25,53,418,399,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000142.jpg 26,81,465,266,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000143.jpg 170,46,500,333,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000146.jpg 155,208,252,408,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000147.jpg 33,105,65,146,8 77,114,114,149,8 146,125,175,150,8 373,121,402,153,8 435,112,465,149,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000150.jpg 186,78,319,264,12 353,54,379,108,14 415,51,436,109,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000153.jpg 237,147,358,191,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000154.jpg 59,76,367,266,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000156.jpg 41,73,381,352,17 432,103,496,144,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000158.jpg 196,83,267,207,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000159.jpg 234,48,286,124,14 1,16,498,333,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000161.jpg 104,34,446,390,6 68,195,121,288,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000162.jpg 306,227,380,299,19 196,143,309,369,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000163.jpg 52,22,308,328,14 26,108,456,396,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000164.jpg 114,154,369,348,13 292,49,446,370,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000165.jpg 89,54,500,386,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000169.jpg 23,28,480,284,6 102,3,161,50,14 439,23,500,178,6 419,39,444,81,14 454,36,487,71,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000170.jpg 87,100,109,165,4 41,114,73,181,4 324,148,352,206,4 3,91,43,206,14 4,28,461,372,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000171.jpg 1,290,128,407,11 94,21,375,491,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000173.jpg 106,64,270,297,14 109,64,288,464,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000174.jpg 143,5,426,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000177.jpg 59,152,461,375,10 344,150,500,375,14 321,85,456,362,14 304,92,391,209,14 280,88,337,172,14 163,67,261,163,14 125,94,164,166,14 75,87,158,231,14 1,112,97,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000180.jpg 14,110,496,356,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000184.jpg 289,106,338,192,3 375,144,403,188,3 458,154,480,190,3 2,1,312,375,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000187.jpg 1,95,240,336,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000189.jpg 65,39,459,346,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000190.jpg 426,197,500,273,5 235,216,323,258,5 51,210,152,308,5 1,209,55,313,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000192.jpg 116,64,356,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000193.jpg 80,4,500,375,14 1,29,227,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000194.jpg 86,36,239,224,12 115,19,203,136,14 279,77,298,132,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000198.jpg 160,134,286,239,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000200.jpg 28,19,103,167,14 16,54,178,249,14 147,23,245,249,14 227,19,400,249,14 391,13,500,249,14 364,212,389,249,4 231,145,260,210,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000203.jpg 52,166,167,332,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000207.jpg 1,205,113,320,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000208.jpg 330,223,500,375,8 117,114,180,219,8 59,122,131,255,8 203,151,436,308,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000209.jpg 14,76,400,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000210.jpg 443,211,468,235,14 15,214,37,240,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000211.jpg 48,262,244,349,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000214.jpg 205,1,500,375,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000215.jpg 144,81,338,411,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000218.jpg 253,64,383,255,11 1,1,253,222,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000219.jpg 120,333,310,464,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000220.jpg 40,127,464,292,6 427,114,500,167,6 265,147,312,187,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000221.jpg 72,77,432,253,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000222.jpg 178,216,303,326,10 250,237,362,375,14 114,236,227,375,14 221,223,235,266,4 234,213,245,256,4 341,149,376,216,14 158,191,185,221,14 159,177,206,230,14 252,178,311,228,14 291,193,332,241,14 318,209,373,330,14 100,206,170,342,14 444,283,500,375,14 366,243,394,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000224.jpg 36,159,220,337,19 401,245,500,375,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000225.jpg 125,96,355,263,16 2,22,47,81,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000228.jpg 92,82,314,228,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000229.jpg 95,209,421,375,10 399,219,486,371,14 341,161,432,298,14 239,131,337,211,14 148,144,211,255,14 81,160,197,327,14 2,188,107,375,14 354,301,382,370,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000232.jpg 47,92,376,334,9 230,32,252,93,14 404,71,500,119,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000233.jpg 277,106,483,267,16 1,2,451,193,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000235.jpg 243,255,316,375,8 40,266,277,375,10 415,192,457,254,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000236.jpg 88,169,275,314,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000241.jpg 356,183,500,280,3 60,109,142,213,3 246,134,348,217,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000242.jpg 3,3,499,287,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000244.jpg 116,202,157,230,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000245.jpg 18,131,488,292,6 303,139,329,171,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000246.jpg 60,44,331,310,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000249.jpg 67,188,183,330,8 173,184,274,326,8 268,182,316,307,8 307,119,376,228,8 102,177,324,302,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000250.jpg 97,124,150,297,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000251.jpg 96,435,275,500,6 362,440,453,500,6 52,429,70,469,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000256.jpg 8,96,491,232,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000257.jpg 82,1,183,57,19 20,142,222,375,14 175,68,472,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000259.jpg 171,1,499,361,14 3,1,271,264,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000262.jpg 343,96,500,196,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000263.jpg 19,224,355,323,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000266.jpg 98,19,374,500,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000268.jpg 180,103,436,281,0 1,58,262,333,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000269.jpg 185,264,205,320,4 298,245,326,312,4 227,56,497,213,14 91,59,245,261,14 37,134,203,332,14 226,75,413,274,14 258,114,477,332,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000270.jpg 150,120,443,183,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000275.jpg 204,50,339,301,14 57,109,418,433,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000276.jpg 129,163,230,319,14 162,373,260,500,14 32,373,140,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000278.jpg 294,156,500,375,11 111,89,417,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000282.jpg 327,104,476,300,14 232,57,357,374,14 3,32,199,374,14 58,139,296,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000285.jpg 224,77,462,375,14 37,97,231,375,14 369,203,437,375,8 120,220,229,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000288.jpg 443,163,479,283,14 419,153,439,240,14 440,156,450,230,14 412,163,430,248,14 407,194,422,251,14 373,157,401,266,14 330,169,380,252,14 1,153,20,305,14 1,110,33,244,14 30,142,77,205,6 67,21,382,278,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000289.jpg 49,99,337,231,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000294.jpg 330,11,454,368,2 55,93,167,371,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000296.jpg 427,125,500,181,6 44,120,459,222,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000298.jpg 180,32,339,359,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000302.jpg 279,225,478,340,6 245,230,316,280,6 1,241,87,375,6 133,244,184,367,14 121,273,213,367,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000303.jpg 15,39,500,280,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000304.jpg 82,96,242,238,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000305.jpg 16,232,296,500,1 57,79,323,474,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000306.jpg 114,36,182,86,9 237,46,302,87,9 303,42,380,87,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000307.jpg 2,3,500,375,15 1,229,40,375,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000308.jpg 351,100,433,190,14 224,124,308,269,14 144,153,243,321,14 163,114,225,167,14 216,107,276,154,14 33,136,396,317,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000311.jpg 47,42,433,354,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000312.jpg 3,2,500,334,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000317.jpg 118,151,407,221,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000318.jpg 322,79,436,167,6 201,81,301,143,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000320.jpg 272,10,304,26,6 228,1,273,29,6 1,78,372,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000321.jpg 44,167,249,458,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000322.jpg 13,2,469,332,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000323.jpg 277,3,500,375,14 12,3,305,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000325.jpg 100,63,500,200,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000328.jpg 58,147,257,265,12 1,109,50,229,12 305,98,440,236,12 116,62,174,226,14 170,83,209,148,14 362,70,414,204,14 281,94,327,180,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000329.jpg 219,220,241,237,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000331.jpg 171,234,373,482,8 61,222,138,426,8 149,254,358,467,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000332.jpg 54,50,285,262,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000334.jpg 37,110,273,178,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000336.jpg 4,7,472,426,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000337.jpg 76,153,160,276,1 219,176,429,374,1 29,29,68,111,14 119,4,162,53,14 113,28,167,131,14 242,17,288,103,14 68,92,165,255,14 235,30,403,362,14 176,75,231,132,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000338.jpg 197,91,216,116,14 82,73,384,203,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000340.jpg 334,131,447,363,2 72,38,186,255,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000343.jpg 25,74,489,323,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000344.jpg 89,2,307,441,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000347.jpg 77,2,411,348,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000349.jpg 159,131,413,362,10 321,126,479,363,8 284,76,360,144,8 100,91,206,298,8 167,161,326,375,8 2,2,89,131,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000352.jpg 33,68,149,247,14 131,68,210,249,14 198,59,309,284,14 294,83,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000354.jpg 153,116,356,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000355.jpg 22,36,427,293,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000359.jpg 263,266,388,479,11 25,13,288,481,14 39,84,420,426,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000363.jpg 59,15,220,239,2 161,122,500,333,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000367.jpg 227,124,271,265,4 331,122,390,354,4 394,183,422,340,4 285,125,326,340,4 430,184,500,229,6 174,66,295,265,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000370.jpg 94,104,253,256,3 244,122,420,257,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000372.jpg 269,19,360,296,14 354,114,420,156,12 78,22,253,304,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000373.jpg 19,343,319,453,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000374.jpg 48,85,499,374,13 125,2,316,344,14 44,4,128,167,14 315,31,352,112,14 217,40,248,84,14 21,43,51,127,14 471,36,497,126,14 447,36,472,117,14 361,41,374,103,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000379.jpg 46,16,443,341,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000380.jpg 3,4,499,331,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000381.jpg 6,184,375,500,10 155,8,174,37,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000382.jpg 3,167,163,500,3 100,265,119,298,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000387.jpg 5,18,482,255,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000391.jpg 57,47,465,458,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000394.jpg 196,189,500,375,10 29,85,253,375,14 1,23,344,307,14 439,25,483,71,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000395.jpg 104,54,429,264,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000396.jpg 86,170,353,259,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000400.jpg 11,49,332,489,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000403.jpg 157,90,486,372,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000404.jpg 133,89,394,321,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000406.jpg 54,285,114,313,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000407.jpg 210,33,328,191,14 65,73,403,310,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000408.jpg 51,114,347,499,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000411.jpg 127,190,158,277,14 199,194,233,275,14 167,196,185,236,14 88,193,119,294,14 20,195,55,297,14 65,185,90,293,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000416.jpg 330,139,399,248,16 181,171,259,252,16 217,154,345,244,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000417.jpg 174,82,369,375,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000419.jpg 23,39,486,322,13 2,16,41,221,14 61,1,109,62,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000420.jpg 78,29,475,347,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000424.jpg 65,159,134,216,2 189,197,284,254,2 327,209,401,252,2 411,177,486,227,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000427.jpg 39,24,386,275,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000428.jpg 76,106,376,404,14 204,323,500,412,10 21,180,351,414,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000430.jpg 6,1,500,326,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000431.jpg 32,89,497,360,0 85,316,125,340,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000433.jpg 220,81,469,364,8 196,56,454,357,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000435.jpg 205,108,427,295,12 235,75,300,275,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000438.jpg 240,56,432,332,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000439.jpg 1,168,308,209,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000443.jpg 12,18,107,318,14 176,117,327,268,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000446.jpg 130,167,230,476,14 81,86,244,472,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000448.jpg 123,129,465,375,10 229,57,314,167,14 171,85,221,152,14 88,71,142,112,14 11,124,190,375,14 47,92,225,286,14 5,72,51,182,14 251,65,357,188,14 335,81,422,217,14 345,107,500,338,14 279,226,433,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000450.jpg 38,36,325,426,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000454.jpg 1,15,460,297,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000459.jpg 26,86,500,332,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000460.jpg 259,67,471,372,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000461.jpg 9,100,323,231,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000462.jpg 1,3,465,375,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000463.jpg 196,77,301,165,13 221,47,283,161,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000464.jpg 71,252,216,314,9 58,202,241,295,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000468.jpg 1,143,217,500,14 6,191,330,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000469.jpg 16,28,454,315,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000470.jpg 194,89,415,335,12 145,132,173,230,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000474.jpg 53,157,448,359,6 15,61,99,156,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000476.jpg 126,110,358,373,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000477.jpg 1,64,30,170,5 30,99,61,146,5 100,130,137,237,14 151,131,181,246,14 179,133,193,207,14 193,135,231,287,14 229,138,254,258,14 255,121,298,278,14 279,132,323,289,14 301,130,339,316,14 318,117,362,333,14 332,131,400,332,14 380,125,449,333,14 427,125,500,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000480.jpg 293,162,419,375,14 114,165,228,373,14 5,172,116,373,14 2,68,486,325,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000482.jpg 362,129,500,254,18 1,54,313,330,18 33,103,58,137,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000483.jpg 122,94,284,437,12 167,44,255,289,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000484.jpg 76,42,212,214,15 48,38,462,375,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000486.jpg 34,25,337,404,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000489.jpg 224,186,297,230,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000491.jpg 2,2,459,334,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000492.jpg 329,253,450,375,8 338,227,416,338,8 12,287,228,375,8 26,229,348,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000494.jpg 1,58,369,458,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000496.jpg 419,210,482,319,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000498.jpg 6,5,176,203,4 114,256,201,496,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000499.jpg 230,68,374,291,14 140,138,429,322,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000500.jpg 294,177,436,375,1 88,51,218,375,14 288,72,321,135,14 231,71,253,135,14 200,85,221,119,14 97,75,123,114,14 76,74,98,107,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000501.jpg 22,22,349,492,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000503.jpg 373,142,500,374,17 14,146,137,361,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000508.jpg 435,18,500,169,2 247,139,412,375,2 164,47,326,231,2 19,100,156,327,2 155,127,288,329,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000509.jpg 1,2,468,375,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000513.jpg 162,127,290,190,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000514.jpg 36,1,500,374,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000515.jpg 64,164,151,210,6 147,167,186,200,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000516.jpg 213,91,500,245,7 1,9,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000518.jpg 1,191,21,252,14 19,76,478,311,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000519.jpg 215,114,326,248,3 380,192,500,238,3 13,124,157,249,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000520.jpg 74,79,334,451,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000522.jpg 36,128,434,271,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000523.jpg 145,103,209,256,14 212,187,304,417,14 343,228,361,255,14 45,199,362,408,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000524.jpg 181,126,362,287,12 252,78,312,238,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000525.jpg 97,159,218,226,13 443,116,500,217,14 104,113,169,219,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000526.jpg 189,88,276,316,14 259,73,440,320,14 376,85,443,304,14 421,185,488,306,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000528.jpg 124,68,319,310,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000530.jpg 1,113,183,408,14 61,111,324,476,14 159,61,217,168,14 37,171,332,471,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000531.jpg 27,42,205,375,14 150,31,362,373,14 366,57,500,311,14 369,163,429,333,4 229,178,281,286,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000535.jpg 194,142,352,256,1 2,142,121,269,1 206,55,316,239,14 1,67,71,247,14 130,92,171,207,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000537.jpg 111,12,396,400,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000540.jpg 135,93,321,298,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000541.jpg 259,194,335,219,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000543.jpg 22,86,433,344,6 23,96,91,146,6 298,87,500,243,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000544.jpg 286,93,491,229,7 1,66,307,326,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000545.jpg 148,146,269,500,14 287,173,330,250,14 315,172,336,249,14 144,174,171,244,14 123,174,136,200,14 50,174,63,206,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000549.jpg 1,49,341,499,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000550.jpg 102,213,473,375,10 380,118,443,174,8 150,128,233,229,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000552.jpg 4,122,498,258,0 98,75,426,167,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000554.jpg 118,77,260,304,14 2,189,500,375,17 275,67,368,101,6 316,77,436,117,6 266,95,397,142,6 91,73,179,111,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000555.jpg 2,111,262,299,17 266,63,332,181,14 160,179,422,374,14 1,174,186,374,14 61,90,213,255,14 157,79,261,217,14 270,98,339,188,8 422,116,500,224,8 380,92,499,217,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000559.jpg 36,250,79,354,4 160,26,371,241,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000563.jpg 164,165,450,210,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000564.jpg 86,150,500,333,10 43,106,58,147,4 6,103,19,142,4 366,149,479,333,8 231,163,392,333,8 1,165,162,333,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000565.jpg 56,92,422,374,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000577.jpg 1,1,479,333,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000579.jpg 263,159,309,186,6 2,139,156,225,6 318,163,419,296,13 315,123,389,259,14 333,126,415,271,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000581.jpg 140,184,272,292,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000582.jpg 1,1,373,411,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000583.jpg 13,87,490,248,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000588.jpg 264,292,320,337,16 245,275,286,313,16 264,263,291,289,16 309,264,334,302,16 162,283,187,316,16 142,268,173,291,16 1,288,21,318,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000589.jpg 73,1,315,375,14 54,127,97,268,14 1,118,33,300,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000590.jpg 199,109,500,336,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000591.jpg 2,192,32,265,14 20,185,68,250,14 48,190,76,252,14 75,191,100,280,14 108,179,143,250,14 473,199,489,234,14 174,197,197,238,8 153,193,180,239,8 227,195,245,234,8 188,202,220,238,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000592.jpg 341,276,433,375,8 196,173,384,290,17 129,151,203,218,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000597.jpg 310,163,356,220,14 459,168,497,208,14 386,177,465,314,14 230,211,274,270,8 302,242,370,320,8 404,234,468,308,8 36,225,95,304,8 195,181,235,212,19 112,192,139,238,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000598.jpg 291,230,419,344,19 173,201,259,315,8 87,146,154,193,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000599.jpg 30,209,243,374,8 147,159,399,298,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000601.jpg 300,1,500,168,15 168,34,420,190,15 1,57,450,348,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000605.jpg 321,175,386,192,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000608.jpg 139,14,220,142,3 12,110,420,286,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000609.jpg 16,134,460,275,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000610.jpg 50,83,500,285,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000612.jpg 158,144,375,500,14 1,110,195,500,14 1,1,374,213,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000613.jpg 171,125,500,333,10 392,223,500,333,8 17,218,144,333,8 31,110,184,333,14 87,110,181,257,14 137,103,194,224,14 174,91,238,190,14 206,102,245,154,14 131,39,173,127,14 256,84,311,129,14 335,87,369,104,14 377,85,408,108,14 455,97,489,137,14 301,127,465,332,14 335,103,445,197,14 328,95,382,179,14 329,100,357,153,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000619.jpg 143,12,459,322,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000620.jpg 114,182,303,309,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000622.jpg 156,87,401,339,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000625.jpg 395,209,486,294,14 271,214,373,291,14 270,274,372,334,14 171,204,263,278,14 76,194,164,273,14 76,273,162,326,14 67,82,169,160,14 64,16,162,96,14 174,17,274,92,14 172,85,283,184,14 279,21,376,110,14 283,94,418,183,14 389,88,500,183,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000626.jpg 141,23,313,298,14 108,35,188,146,19 32,44,116,128,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000628.jpg 126,272,376,371,6 402,266,500,361,6 1,281,77,334,6 91,253,119,299,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000632.jpg 282,176,351,255,19 61,167,178,335,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000633.jpg 300,122,433,240,19 2,22,339,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000635.jpg 154,149,420,342,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000637.jpg 10,2,487,373,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000645.jpg 135,46,500,374,2 124,146,365,375,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000647.jpg 166,69,443,234,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000648.jpg 29,113,353,266,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000653.jpg 432,83,500,131,6 373,83,458,135,6 311,85,408,140,6 1,95,106,172,6 2,94,444,312,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000654.jpg 36,135,168,227,16 55,152,215,249,16 411,51,463,146,14 368,49,424,146,14 323,81,369,133,14 114,61,171,139,14 86,60,129,139,14 295,178,382,243,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000656.jpg 230,61,447,174,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000657.jpg 253,156,310,176,0 203,160,252,178,0 148,169,206,188,0 234,192,291,212,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000660.jpg 169,76,500,322,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000661.jpg 119,177,331,278,17 65,90,170,197,15 133,159,179,197,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000663.jpg 12,2,417,467,5 7,39,63,94,6 376,36,422,81,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000667.jpg 271,362,410,476,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000671.jpg 48,330,268,471,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000672.jpg 12,91,495,307,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000675.jpg 79,87,426,272,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000676.jpg 59,94,472,270,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000677.jpg 66,54,333,436,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000680.jpg 213,144,319,241,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000682.jpg 275,154,461,275,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000684.jpg 52,112,91,183,14 54,171,77,222,4 77,101,241,314,14 217,49,294,304,14 285,22,361,366,14 297,3,375,369,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000685.jpg 16,2,498,374,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000686.jpg 283,91,498,301,13 14,100,303,308,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000688.jpg 8,42,500,317,6 73,14,97,82,14 103,10,121,75,14 117,1,134,78,14 38,1,76,83,14 1,1,46,96,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000689.jpg 2,39,498,347,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000690.jpg 1,188,247,361,1 281,111,336,229,7 226,87,336,371,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000694.jpg 282,151,379,375,14 200,132,284,374,14 376,160,460,375,14 369,130,412,218,14 83,167,191,297,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000695.jpg 109,126,415,366,12 220,40,286,264,14 443,159,500,283,12 174,108,332,158,12 471,94,500,189,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000699.jpg 29,205,337,377,11 102,27,366,358,11 309,130,472,362,11 1,2,500,381,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000700.jpg 12,224,56,252,6 1,217,16,264,6 402,227,426,239,6 430,225,463,239,6 141,238,223,276,6 125,246,477,333,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000702.jpg 236,130,434,349,12 119,149,290,337,12 420,150,466,230,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000705.jpg 3,18,489,219,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000707.jpg 93,150,134,187,19 292,289,363,500,19 78,176,139,281,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000709.jpg 120,63,334,355,14 119,57,394,352,14 377,122,473,309,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000710.jpg 143,177,225,270,7 188,182,303,464,8 95,129,136,249,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000711.jpg 59,2,236,187,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000712.jpg 3,93,383,273,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000713.jpg 80,168,254,312,3 184,160,472,269,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000714.jpg 190,56,439,300,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000717.jpg 207,278,297,375,8 230,39,308,341,14 182,131,240,344,14 15,199,146,372,14 302,128,391,373,14 440,128,500,375,14 393,128,461,369,14 47,146,149,373,14 3,151,36,258,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000720.jpg 217,118,305,263,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000726.jpg 18,209,224,295,4 153,45,274,333,14 70,75,499,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000728.jpg 87,39,500,331,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000729.jpg 10,6,372,498,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000730.jpg 5,52,495,234,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000731.jpg 138,387,237,500,2 13,75,300,373,14 1,1,165,273,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000733.jpg 48,25,273,383,14 103,201,448,435,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000738.jpg 1,124,496,235,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000739.jpg 404,30,500,374,14 386,83,479,374,14 272,65,415,374,14 239,55,335,374,14 165,55,252,374,14 97,66,193,374,14 3,26,108,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000740.jpg 290,85,404,276,3 104,104,212,271,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000742.jpg 391,129,412,168,3 1,145,311,335,3 212,99,296,253,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000746.jpg 95,57,433,333,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000748.jpg 47,100,440,246,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000750.jpg 22,2,375,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000752.jpg 225,118,500,319,14 1,119,125,332,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000753.jpg 164,188,429,375,10 211,114,241,196,4 265,229,288,296,4 264,198,284,248,4 263,99,352,227,14 334,105,430,254,14 351,99,500,373,14 128,101,192,214,14 55,108,189,373,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000754.jpg 56,81,157,170,5 94,124,150,158,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000755.jpg 362,217,393,231,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000756.jpg 67,8,365,500,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000760.jpg 64,161,231,261,12 235,158,355,260,12 264,156,418,274,12 121,133,159,228,14 215,144,243,227,14 320,121,360,223,14 373,131,410,192,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000761.jpg 300,249,412,375,8 19,255,165,375,19 150,141,437,322,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000763.jpg 20,116,484,212,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000764.jpg 79,80,366,271,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000767.jpg 32,1,470,318,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000768.jpg 369,103,475,283,5 33,46,369,330,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000770.jpg 125,167,431,375,9 134,65,227,366,14 1,131,42,266,1 229,128,475,361,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000771.jpg 93,143,221,284,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000772.jpg 49,115,360,480,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000774.jpg 85,36,447,225,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000776.jpg 17,26,481,193,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000777.jpg 147,109,327,277,11 224,1,361,209,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000780.jpg 188,213,283,286,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000782.jpg 1,165,330,497,5 95,361,139,422,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000786.jpg 84,95,292,289,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000787.jpg 120,93,423,279,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000791.jpg 84,46,450,297,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000793.jpg 289,100,316,183,14 241,111,270,180,14 218,107,236,178,14 402,67,467,259,14 65,110,84,161,14 96,107,114,159,14 100,78,190,282,14 151,160,310,280,1 2,80,51,135,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000794.jpg 220,208,302,272,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000796.jpg 165,118,418,316,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000797.jpg 37,127,348,375,11 68,94,424,370,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000799.jpg 95,23,500,441,12 230,225,500,441,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000800.jpg 235,165,328,208,6 443,174,500,206,6 78,170,113,192,6 38,170,71,188,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000802.jpg 1,145,58,266,14 2,192,93,291,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000804.jpg 94,243,153,304,8 191,265,332,470,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000805.jpg 29,65,356,411,11 308,85,375,214,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000806.jpg 119,275,333,500,14 1,298,106,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000808.jpg 77,1,415,333,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000810.jpg 151,13,498,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000812.jpg 99,171,376,333,1 149,33,360,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000814.jpg 59,63,268,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000815.jpg 286,143,481,224,0 10,104,322,236,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000816.jpg 122,225,407,467,1 153,122,309,474,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000818.jpg 295,121,500,204,18 1,181,33,204,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000820.jpg 180,140,368,307,16 348,43,412,71,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000822.jpg 98,165,230,346,13 231,168,353,323,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000823.jpg 49,160,343,265,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000826.jpg 11,32,436,445,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000827.jpg 214,153,250,199,9 250,160,310,202,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000828.jpg 2,178,32,288,14 26,174,65,291,14 267,93,361,289,14 19,146,191,500,14 157,89,375,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000829.jpg 217,166,452,280,5 1,171,199,290,5 355,1,385,20,6 468,315,492,351,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000830.jpg 124,182,352,370,10 150,221,259,375,8 252,201,348,347,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000831.jpg 83,124,239,377,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000832.jpg 89,38,337,500,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000834.jpg 304,85,369,125,9 10,96,100,154,9 69,123,177,174,9 98,245,390,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000842.jpg 82,79,500,356,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000843.jpg 170,127,312,219,19 351,54,426,304,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000845.jpg 9,97,493,206,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000847.jpg 1,279,208,500,10 61,111,296,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000848.jpg 33,109,260,334,14 323,161,353,220,8 323,164,500,334,8 309,170,461,334,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000849.jpg 23,56,159,328,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000850.jpg 213,71,334,209,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000851.jpg 103,130,402,311,13 174,69,302,335,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000854.jpg 168,176,415,282,17 2,189,128,338,8 1,2,102,249,15 309,158,387,311,14 262,153,315,308,14 215,150,269,301,14 33,176,154,331,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000855.jpg 118,338,258,462,5 61,404,109,436,6 41,408,64,430,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000857.jpg 235,25,353,131,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000859.jpg 269,23,500,313,14 13,56,327,331,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000860.jpg 81,85,428,292,6 224,35,281,86,14 298,45,358,115,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000862.jpg 304,142,354,160,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000863.jpg 171,39,472,283,18 12,16,151,284,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000865.jpg 300,167,397,268,10 407,167,465,252,8 344,172,414,272,8 378,170,441,261,8 190,102,337,375,14 3,129,124,294,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000867.jpg 172,96,230,191,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000868.jpg 1,216,399,375,17 433,213,465,236,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000871.jpg 8,114,491,292,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000872.jpg 2,15,393,287,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000874.jpg 2,2,387,332,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000876.jpg 117,31,376,329,7 261,14,398,132,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000878.jpg 125,164,298,333,1 149,52,259,307,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000879.jpg 102,95,266,375,12 252,132,320,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000880.jpg 305,24,355,65,2 51,239,87,322,2 116,158,141,206,2 379,119,440,199,9 329,114,380,179,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000882.jpg 82,37,500,357,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000885.jpg 11,12,485,456,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000887.jpg 25,49,473,247,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000888.jpg 295,204,351,245,6 72,208,209,319,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000889.jpg 37,287,186,486,15 181,362,302,458,15 188,2,327,394,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000892.jpg 350,191,427,375,14 190,212,344,375,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000895.jpg 126,71,274,359,14 25,101,157,343,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000896.jpg 2,189,256,294,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000898.jpg 1,115,499,361,17 297,195,351,233,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000899.jpg 92,139,473,243,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000900.jpg 260,135,342,269,16 150,172,215,269,16 101,170,188,252,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000902.jpg 71,85,332,314,11 271,75,499,210,11 160,34,313,105,11 4,2,158,281,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000903.jpg 41,25,407,366,14 30,117,323,500,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000904.jpg 237,167,338,263,9 17,113,165,238,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000906.jpg 61,179,450,350,6 160,159,191,221,14 397,166,425,205,14 2,3,231,300,3 23,1,383,216,3 300,2,488,175,3 423,162,500,259,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000908.jpg 1,61,500,375,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000911.jpg 1,147,110,319,6 78,47,383,288,5 387,208,436,279,1 411,142,456,277,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000912.jpg 153,33,500,334,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000915.jpg 26,256,274,375,10 206,71,416,375,14 94,103,284,264,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000917.jpg 2,2,265,355,15 265,163,316,214,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000918.jpg 18,15,333,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000919.jpg 39,82,352,330,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000920.jpg 2,31,500,363,18 281,67,330,199,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000921.jpg 163,77,500,291,7 127,66,299,223,8 143,4,500,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000923.jpg 102,124,182,189,19 146,196,458,375,17 305,2,500,138,15 15,71,66,192,15 403,164,472,262,19 189,34,220,71,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000926.jpg 1,16,340,500,14 211,334,241,390,14 199,309,231,351,14 174,315,210,360,14 192,354,226,396,14 153,354,197,398,14 126,355,160,401,14 124,319,163,373,14 147,320,180,355,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000929.jpg 1,65,500,375,10 261,64,295,201,4 253,23,276,95,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000931.jpg 104,302,224,338,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000934.jpg 1,36,500,291,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000935.jpg 67,207,111,243,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000936.jpg 299,10,347,63,0 314,105,364,156,0 334,149,378,200,0 261,208,305,254,0 155,277,201,329,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000937.jpg 334,46,426,101,6 46,36,443,277,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000943.jpg 145,241,500,374,8 234,135,500,316,14 305,146,426,267,14 238,147,356,245,14 223,149,298,223,14 76,140,146,266,14 1,69,178,372,14 330,107,375,159,14 50,114,101,185,14 288,110,321,157,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000946.jpg 16,108,387,283,18 383,153,500,222,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000947.jpg 36,43,217,474,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000948.jpg 413,37,500,166,19 22,9,284,375,8 198,89,315,353,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000949.jpg 155,196,303,463,1 3,176,151,426,1 145,36,328,412,14 1,48,159,393,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000950.jpg 52,194,438,324,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000951.jpg 226,73,245,127,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000954.jpg 1,130,399,322,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000958.jpg 1,90,327,299,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000962.jpg 4,137,493,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000964.jpg 167,86,288,304,2 185,70,281,227,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000965.jpg 94,285,237,461,11 2,86,374,500,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000966.jpg 42,48,493,312,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000967.jpg 419,233,468,372,14 148,222,205,375,14 161,241,231,375,14 12,223,39,330,14 23,124,500,333,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000971.jpg 116,143,297,255,5 324,185,344,241,14 344,190,371,249,14 364,188,385,246,14 392,193,410,230,14 387,156,500,375,14 72,194,89,240,14 1,202,34,327,14 37,211,61,251,14 19,196,43,272,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000972.jpg 20,115,433,288,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000973.jpg 30,51,488,331,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000977.jpg 149,271,179,295,6 36,262,94,309,6 178,245,263,319,6 258,266,293,296,6 321,253,397,333,6 327,259,454,332,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000980.jpg 115,46,500,321,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000982.jpg 67,37,345,345,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000987.jpg 199,19,390,401,14 217,15,270,157,14 393,18,432,162,14 19,95,458,443,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000989.jpg 52,117,109,177,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000991.jpg 88,87,235,322,14 113,117,218,471,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000993.jpg 214,137,366,277,18 396,87,466,183,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000996.jpg 139,214,303,375,8 28,211,167,373,8 1,213,76,323,8 5,157,500,375,10 19,6,93,175,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000997.jpg 1,196,205,375,17 381,144,459,209,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/000999.jpg 233,317,289,405,4 2,16,280,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001001.jpg 62,64,325,375,7 315,102,427,356,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001002.jpg 199,384,375,483,3 102,366,213,416,3 22,341,103,396,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001004.jpg 143,152,235,197,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001008.jpg 220,154,300,280,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001009.jpg 33,11,500,375,7 4,44,263,316,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001010.jpg 157,6,308,146,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001011.jpg 192,1,283,99,19 239,3,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001012.jpg 225,117,307,206,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001014.jpg 278,188,395,375,11 150,253,337,369,11 86,91,359,375,14 99,139,401,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001015.jpg 96,133,110,163,2 392,188,418,209,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001017.jpg 108,320,186,456,13 85,205,199,408,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001018.jpg 235,209,500,361,17 344,280,430,375,8 136,279,243,373,8 1,266,97,375,8 101,236,186,368,8 198,212,244,268,8 135,209,188,264,8 1,209,139,334,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001024.jpg 121,1,429,90,19 1,30,386,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001027.jpg 203,174,254,273,8 263,218,351,329,8 58,156,94,218,1 1,244,43,340,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001028.jpg 52,231,301,500,14 7,29,406,493,14 359,164,406,229,14 306,174,357,232,14 285,173,321,221,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001036.jpg 63,186,124,374,14 1,178,35,373,14 143,87,228,191,14 227,5,500,375,14 110,188,361,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001041.jpg 143,138,283,265,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001042.jpg 222,248,298,319,11 149,174,220,322,14 277,163,334,347,14 362,163,409,336,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001043.jpg 61,9,482,309,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001045.jpg 214,2,327,276,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001050.jpg 235,126,297,241,14 234,174,295,269,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001052.jpg 65,101,431,281,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001053.jpg 24,11,285,482,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001056.jpg 167,166,415,334,11 1,1,350,300,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001057.jpg 6,38,353,335,6 107,94,154,146,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001060.jpg 411,183,500,212,6 155,197,183,234,1 157,172,187,232,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001061.jpg 323,33,449,128,2 320,116,489,375,14 1,1,321,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001062.jpg 126,33,337,289,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001064.jpg 13,34,267,203,12 140,14,215,128,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001066.jpg 390,83,460,153,14 101,20,165,150,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001068.jpg 33,23,461,316,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001069.jpg 264,75,438,136,6 1,117,117,181,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001071.jpg 72,100,172,323,14 198,113,287,331,14 72,142,179,429,12 157,169,302,455,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001072.jpg 80,213,418,309,17 160,170,316,309,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001073.jpg 55,178,149,248,9 135,176,174,241,9 227,153,282,236,9 276,159,350,255,9 327,152,425,240,9 421,161,500,227,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001074.jpg 74,54,422,208,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001077.jpg 28,101,214,296,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001078.jpg 2,101,245,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001079.jpg 188,131,285,261,14 256,147,375,269,14 372,146,475,319,14 121,138,217,283,14 2,140,144,354,14 195,1,261,165,15 1,247,480,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001082.jpg 212,153,347,306,7 135,1,306,97,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001083.jpg 163,55,318,189,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001084.jpg 116,176,212,458,12 99,101,225,337,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001091.jpg 390,174,500,357,14 254,148,426,327,14 84,167,247,361,14 337,57,435,144,15 153,63,227,144,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001092.jpg 131,63,456,332,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001093.jpg 52,55,479,371,6 109,39,178,64,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001097.jpg 1,68,93,334,14 33,88,189,334,14 174,191,268,334,14 260,119,430,333,14 343,39,500,334,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001101.jpg 143,61,225,211,14 2,28,217,332,14 306,79,401,311,14 370,82,496,330,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001102.jpg 33,1,283,149,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001104.jpg 1,4,394,334,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001106.jpg 102,160,240,327,8 295,158,389,319,8 339,174,465,363,8 363,149,445,258,8 337,179,500,319,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001107.jpg 12,96,493,225,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001109.jpg 274,14,500,333,14 1,72,302,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001110.jpg 19,73,264,305,7 254,66,498,326,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001112.jpg 323,87,406,214,18 61,168,125,202,6 181,279,261,335,15 259,299,350,335,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001113.jpg 387,47,487,160,14 395,80,478,339,14 251,78,406,326,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001119.jpg 250,178,343,215,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001121.jpg 54,29,294,500,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001124.jpg 189,140,257,213,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001125.jpg 266,174,434,272,6 210,171,312,227,6 1,176,223,333,6 164,149,199,220,14 302,152,342,312,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001127.jpg 42,125,203,330,11 195,136,295,288,11 283,113,496,241,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001129.jpg 2,29,500,270,17 217,38,500,179,14 1,51,186,168,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001130.jpg 114,107,296,266,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001136.jpg 35,153,500,375,3 298,68,422,133,2 248,155,291,222,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001137.jpg 174,117,272,333,14 242,74,347,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001140.jpg 257,312,323,407,11 57,298,157,465,11 169,64,260,402,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001142.jpg 1,142,164,371,15 89,90,177,242,15 242,104,267,166,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001143.jpg 14,40,373,475,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001144.jpg 4,52,500,286,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001145.jpg 1,204,149,493,11 114,117,304,416,14 126,1,241,322,14 230,433,375,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001147.jpg 19,2,497,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001148.jpg 222,167,248,187,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001149.jpg 148,138,403,302,17 75,85,146,153,19 1,7,142,375,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001151.jpg 93,109,316,325,11 263,3,428,329,14 221,1,329,196,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001152.jpg 52,2,448,336,5 200,113,272,336,14 75,146,146,336,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001154.jpg 1,233,174,375,17 134,230,171,274,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001156.jpg 100,80,414,324,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001158.jpg 267,1,499,350,8 1,2,259,359,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001160.jpg 219,99,269,141,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001161.jpg 56,1,500,375,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001164.jpg 76,174,401,373,10 330,121,490,318,14 6,125,131,326,14 104,117,180,223,14 231,104,322,195,14 345,253,456,375,8 157,276,281,375,8 282,213,350,346,8 465,72,500,133,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001166.jpg 329,100,379,160,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001168.jpg 1,1,403,375,14 279,73,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001170.jpg 102,114,341,375,14 318,140,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001171.jpg 156,223,322,331,13 4,59,66,243,14 144,85,229,251,14 290,66,479,331,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001172.jpg 19,20,486,162,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001174.jpg 315,203,380,314,8 246,213,319,330,8 143,202,187,293,8 185,208,373,325,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001175.jpg 119,153,367,329,14 360,114,449,187,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001176.jpg 272,82,451,340,3 196,298,252,314,3 139,252,175,315,3 33,213,81,317,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001182.jpg 125,149,403,294,9 100,124,218,183,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001184.jpg 81,279,207,356,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001185.jpg 197,199,289,323,7 78,78,289,375,14 452,131,500,253,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001186.jpg 162,231,189,283,1 154,196,192,270,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001187.jpg 21,410,230,500,8 185,363,366,500,8 107,270,360,396,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001191.jpg 1,3,298,375,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001192.jpg 294,172,372,317,11 148,107,216,234,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001194.jpg 72,180,281,340,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001199.jpg 305,254,500,375,13 86,177,395,375,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001200.jpg 16,8,475,321,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001201.jpg 195,173,309,293,13 234,53,315,217,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001203.jpg 31,6,327,208,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001204.jpg 81,192,475,373,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001205.jpg 88,76,314,263,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001206.jpg 274,1,429,288,14 172,141,236,326,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001207.jpg 125,77,500,375,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001209.jpg 196,96,273,238,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001211.jpg 267,215,409,500,7 1,9,224,281,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001212.jpg 107,166,299,329,14 207,25,355,159,14 277,67,357,226,14 375,78,500,370,14 401,28,467,125,15 376,57,430,129,15 178,3,238,56,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001214.jpg 43,187,141,354,8 1,227,46,375,8 203,144,244,203,19 122,150,205,209,19 240,165,500,375,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001215.jpg 31,71,473,317,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001221.jpg 104,101,264,385,18 167,249,197,284,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001224.jpg 101,153,187,280,1 215,166,302,284,1 328,173,433,305,1 274,156,355,262,1 95,78,189,223,14 206,82,298,248,14 326,91,433,247,14 274,87,349,238,14 104,2,135,79,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001225.jpg 100,212,303,414,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001226.jpg 105,50,499,274,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001229.jpg 208,91,413,214,4 15,75,429,375,14 348,157,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001230.jpg 68,154,399,253,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001231.jpg 223,127,307,213,8 54,142,181,263,8 295,177,500,375,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001233.jpg 64,143,257,500,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001234.jpg 70,14,182,443,14 33,167,190,500,14 1,425,62,475,11 3,280,71,384,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001236.jpg 69,111,432,362,12 223,28,309,253,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001237.jpg 115,156,266,213,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001239.jpg 108,60,320,160,11 228,138,381,375,11 118,94,286,307,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001240.jpg 1,1,135,374,14 22,159,427,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001241.jpg 34,60,375,500,12 142,19,375,500,14 1,298,57,500,14 1,270,17,351,14 103,45,117,71,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001247.jpg 237,109,459,167,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001248.jpg 1,59,68,292,14 236,29,277,269,14 281,61,346,305,14 331,45,372,304,14 353,21,429,333,14 397,20,497,345,14 135,230,178,278,14 75,238,121,281,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001250.jpg 172,97,255,192,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001254.jpg 263,41,331,229,14 212,83,390,263,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001258.jpg 101,92,423,287,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001259.jpg 220,152,282,310,14 190,155,242,307,14 166,201,229,308,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001260.jpg 167,85,245,140,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001263.jpg 107,170,199,288,8 210,156,287,274,8 157,159,266,275,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001265.jpg 8,44,313,469,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001266.jpg 1,88,477,332,13 128,22,315,332,14 281,2,500,332,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001268.jpg 29,90,323,245,6 265,62,489,178,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001269.jpg 108,92,389,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001270.jpg 31,126,448,234,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001272.jpg 182,87,242,202,4 181,154,300,264,4 103,22,469,414,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001273.jpg 53,132,392,419,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001274.jpg 138,196,230,344,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001277.jpg 2,31,500,289,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001279.jpg 39,32,216,450,14 121,224,264,441,14 24,165,373,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001281.jpg 169,121,394,234,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001284.jpg 135,123,235,375,14 238,115,376,304,14 276,117,426,360,14 301,114,500,375,14 1,114,126,375,14 419,90,448,139,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001286.jpg 32,124,489,331,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001287.jpg 2,127,198,305,12 178,103,500,401,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001288.jpg 68,76,426,209,0 357,272,497,317,0 196,272,316,314,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001289.jpg 157,98,355,188,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001290.jpg 26,170,477,336,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001292.jpg 363,180,412,344,4 61,63,308,338,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001293.jpg 3,14,451,491,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001294.jpg 324,151,404,210,6 93,161,123,179,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001298.jpg 313,60,432,193,14 193,167,324,280,14 107,107,208,262,14 3,2,426,252,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001299.jpg 39,26,229,412,9 211,240,319,408,9 318,221,408,435,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001304.jpg 143,184,175,264,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001309.jpg 98,232,252,500,1 92,26,253,486,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001310.jpg 163,198,284,338,16 263,90,381,326,14 67,110,104,199,14 19,132,43,166,14 19,164,61,206,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001311.jpg 432,118,465,186,1 334,128,380,220,1 177,188,304,319,1 12,161,181,319,1 463,67,495,154,14 431,75,468,171,14 333,79,387,201,14 187,106,291,293,14 27,61,163,280,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001312.jpg 1,1,480,318,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001314.jpg 68,2,369,323,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001315.jpg 42,51,237,334,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001316.jpg 150,61,500,374,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001323.jpg 33,188,481,322,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001324.jpg 57,44,156,333,11 206,35,403,315,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001325.jpg 79,151,351,261,3 288,166,471,251,3 382,4,494,119,3 5,293,259,354,3 138,324,493,373,3 365,293,492,353,3 222,119,270,176,14 256,286,452,339,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001326.jpg 27,1,500,375,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001327.jpg 1,54,226,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001330.jpg 297,164,334,184,6 167,164,342,310,6 140,159,172,287,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001332.jpg 20,26,82,72,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001333.jpg 156,176,203,242,13 189,127,215,197,14 155,139,202,196,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001334.jpg 16,70,489,288,6 4,97,68,119,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001337.jpg 92,139,213,459,12 77,93,237,313,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001341.jpg 114,65,450,308,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001343.jpg 337,90,457,194,19 224,168,268,206,19 230,200,281,308,8 8,203,189,308,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001345.jpg 391,167,456,258,8 287,167,356,262,8 341,150,408,234,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001346.jpg 309,97,356,229,4 220,4,447,229,14 7,1,262,228,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001348.jpg 163,52,313,210,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001350.jpg 1,184,124,375,8 111,114,264,375,14 245,152,356,375,14 307,114,462,372,14 168,143,335,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001352.jpg 159,114,183,161,14 13,150,30,175,14 44,159,71,214,14 65,165,107,216,14 45,208,91,275,8 135,154,168,232,14 204,184,232,275,14 233,176,281,275,14 211,147,238,214,14 248,139,264,195,14 270,142,283,199,14 279,147,302,204,14 305,147,327,199,14 330,137,344,197,14 341,147,358,200,14 350,157,370,246,14 389,151,415,225,14 377,141,390,207,14 415,158,432,260,14 421,141,438,183,14 444,139,461,166,14 472,156,496,185,14 49,135,242,208,6 482,185,500,275,14 429,187,486,275,14 332,244,377,276,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001360.jpg 7,91,448,272,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001361.jpg 44,35,422,333,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001362.jpg 33,32,333,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001364.jpg 69,43,405,290,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001365.jpg 322,139,416,189,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001371.jpg 187,214,247,262,6 259,218,288,243,6 291,216,360,262,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001375.jpg 170,9,500,383,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001378.jpg 182,90,350,404,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001383.jpg 100,138,431,312,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001384.jpg 90,140,334,324,6 330,18,450,107,6 259,89,333,142,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001385.jpg 179,118,365,194,5 104,156,179,189,6 46,157,89,188,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001386.jpg 5,57,487,370,13 463,79,497,103,6 484,90,500,113,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001387.jpg 38,43,375,466,7 213,138,375,465,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001388.jpg 2,2,500,414,17 61,9,432,400,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001390.jpg 196,55,228,184,14 70,55,114,230,14 235,62,281,187,14 269,57,319,202,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001393.jpg 61,194,325,375,10 2,194,78,374,8 289,140,480,375,14 291,130,400,355,14 197,124,285,199,14 15,131,133,375,14 260,164,280,213,4 213,164,230,209,4 206,176,221,216,4 134,180,250,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001395.jpg 35,24,499,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001397.jpg 128,121,214,263,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001400.jpg 121,199,340,318,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001402.jpg 213,66,443,301,17 1,118,369,375,17 433,51,494,124,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001404.jpg 57,22,443,361,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001405.jpg 83,59,273,435,12 135,89,271,453,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001406.jpg 109,127,404,373,11 1,36,417,303,14 1,1,500,373,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001408.jpg 114,245,178,448,4 56,107,230,387,14 20,68,50,167,4 210,1,333,108,14 84,87,333,366,14 119,1,184,130,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001409.jpg 226,74,464,240,6 298,93,325,122,14 348,92,395,123,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001413.jpg 373,163,482,256,2 189,130,234,174,2 256,181,323,273,2 134,211,210,290,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001414.jpg 15,87,43,196,14 324,84,362,130,14 475,93,500,234,14 40,64,458,313,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001418.jpg 32,34,344,473,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001420.jpg 192,109,340,270,12 281,80,364,268,14 436,148,500,306,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001421.jpg 189,1,372,438,14 116,181,374,476,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001426.jpg 4,185,331,498,13 3,3,222,498,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001427.jpg 153,199,270,341,1 249,159,332,275,1 229,58,319,266,14 159,114,267,297,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001430.jpg 1,269,250,374,10 100,154,235,286,14 211,146,303,352,14 245,154,398,374,14 316,1,418,66,19 344,83,428,214,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001432.jpg 2,2,499,375,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001434.jpg 445,271,466,327,14 427,268,449,324,14 243,236,411,303,5 97,222,235,311,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001436.jpg 185,125,330,167,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001439.jpg 4,324,375,500,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001441.jpg 136,277,446,376,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001442.jpg 73,68,429,333,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001443.jpg 33,32,314,373,7 1,95,124,374,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001444.jpg 91,262,327,375,17 226,196,387,327,8 368,186,428,241,15 29,208,58,259,4 164,140,219,276,15 143,152,176,191,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001445.jpg 114,105,455,267,5 488,160,500,217,14 465,164,484,217,14 80,170,116,206,6 1,204,220,338,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001450.jpg 183,70,330,253,14 185,110,336,251,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001451.jpg 379,199,419,264,4 164,157,221,293,4 242,119,386,244,14 97,101,221,251,14 12,152,52,189,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001453.jpg 176,29,297,306,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001455.jpg 125,176,345,374,1 147,124,300,345,14 51,125,92,187,14 100,122,153,182,14 415,89,500,126,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001457.jpg 136,121,350,264,17 432,212,500,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001460.jpg 138,68,225,242,14 119,128,315,282,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001463.jpg 89,4,333,342,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001464.jpg 31,91,60,122,15 61,92,87,123,15 89,92,121,123,15 75,28,115,93,15 120,91,150,122,15 150,91,178,122,15 288,58,320,104,15 315,59,347,95,15 342,50,376,87,15 368,43,394,81,15 391,37,415,72,15 412,19,434,65,15 351,126,376,155,15 224,103,258,140,15 169,98,222,141,15 127,120,171,148,15 70,119,125,160,15 323,150,354,186,15 292,158,323,190,15 269,140,295,178,15 227,139,266,184,15 211,151,229,176,15 176,152,214,188,15 145,147,176,188,15 70,153,149,213,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001465.jpg 331,216,482,375,8 281,192,329,296,8 240,188,282,287,8 75,208,157,338,8 20,233,86,365,8 1,234,121,356,10 35,210,46,239,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001466.jpg 2,114,452,264,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001467.jpg 253,81,475,241,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001468.jpg 138,64,250,256,9 22,106,166,237,9 214,110,254,209,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001470.jpg 103,30,311,234,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001472.jpg 75,102,408,349,6 267,89,500,248,6 58,73,105,118,6 122,76,179,107,6 190,75,253,107,6 249,78,312,103,6 43,58,75,128,14 458,65,474,99,14 439,61,458,99,14 284,56,304,102,14 106,61,125,110,14 172,60,185,101,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001475.jpg 49,154,500,362,13 235,79,438,354,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001479.jpg 144,88,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001480.jpg 125,3,279,185,14 138,31,329,251,14 173,63,432,341,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001481.jpg 225,161,281,252,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001483.jpg 171,72,388,303,18 74,151,153,250,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001484.jpg 1,1,243,125,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001485.jpg 43,105,334,300,13 109,33,251,299,14 45,183,169,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001486.jpg 110,61,461,269,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001488.jpg 254,152,385,204,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001490.jpg 199,105,382,326,11 296,111,326,171,4 276,107,303,166,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001492.jpg 185,168,487,316,6 45,157,104,187,6 1,158,43,189,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001493.jpg 389,77,475,287,14 424,90,500,375,14 183,82,312,375,14 35,33,222,375,14 29,223,44,270,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001494.jpg 122,243,321,371,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001497.jpg 227,1,500,80,3 1,93,135,133,3 164,129,328,163,3 40,111,173,164,3 139,138,415,199,3 62,47,132,84,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001498.jpg 51,14,359,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001499.jpg 212,223,238,300,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001501.jpg 327,187,366,257,1 330,148,376,244,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001504.jpg 146,422,161,484,14 190,420,212,489,14 259,422,281,493,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001509.jpg 139,279,179,366,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001510.jpg 149,55,220,241,14 357,103,407,167,13 97,148,312,247,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001512.jpg 160,130,435,232,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001514.jpg 12,52,312,333,14 219,131,467,332,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001515.jpg 60,13,361,500,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001517.jpg 19,109,416,291,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001521.jpg 45,396,188,500,14 134,131,230,462,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001522.jpg 309,46,377,241,4 217,100,272,247,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001523.jpg 139,165,500,375,12 285,99,441,372,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001524.jpg 185,158,216,230,11 139,84,205,212,14 281,70,339,210,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001526.jpg 3,18,114,298,14 109,51,214,297,14 212,35,316,297,14 289,33,387,297,14 381,15,500,297,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001528.jpg 46,76,372,348,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001529.jpg 36,170,111,277,19 160,157,450,317,17 354,273,475,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001531.jpg 48,131,226,375,8 279,63,463,375,14 103,60,225,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001532.jpg 105,170,180,205,6 187,186,232,207,6 225,168,262,216,13 226,130,262,196,14 296,159,317,205,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001536.jpg 62,57,406,322,19 112,172,309,281,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001537.jpg 414,87,500,243,14 104,16,367,332,14 385,212,408,278,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001539.jpg 102,167,357,350,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001541.jpg 1,8,450,316,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001543.jpg 1,156,117,253,19 292,172,500,350,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001544.jpg 1,1,440,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001545.jpg 132,171,338,240,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001548.jpg 133,145,287,328,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001553.jpg 213,113,297,187,1 249,330,316,367,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001554.jpg 241,170,423,227,11 26,20,231,330,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001555.jpg 333,294,390,368,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001556.jpg 72,39,159,255,12 323,31,435,292,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001557.jpg 36,3,379,107,0 399,79,421,125,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001559.jpg 197,185,224,215,6 146,175,183,226,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001561.jpg 205,97,355,375,14 188,163,217,236,14 117,161,160,181,6 160,162,196,177,6 47,159,101,192,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001563.jpg 12,201,385,333,10 344,110,446,273,14 262,86,360,199,14 130,125,200,202,14 212,131,288,202,14 5,110,132,333,14 72,168,95,237,4 398,191,488,283,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001565.jpg 98,107,461,243,18 1,115,87,218,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001571.jpg 150,2,481,330,14 113,7,256,331,14 103,1,253,242,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001576.jpg 51,172,458,280,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001577.jpg 180,92,429,163,10 104,163,500,375,10 79,1,225,177,14 268,33,316,74,14 313,12,363,108,14 362,3,427,124,14 424,36,456,76,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001579.jpg 1,302,217,500,1 36,254,324,441,1 114,135,269,406,14 1,157,128,479,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001580.jpg 209,67,433,341,14 3,96,189,337,14 167,224,210,375,4 138,252,195,375,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001582.jpg 338,176,500,365,7 1,78,124,168,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001586.jpg 28,54,429,329,12 211,40,331,237,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001588.jpg 1,135,59,234,19 100,130,251,217,17 302,133,500,286,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001590.jpg 148,223,231,450,4 303,40,375,324,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001593.jpg 125,128,276,433,14 195,336,382,500,14 264,259,339,355,14 315,242,412,424,14 17,238,128,410,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001594.jpg 270,153,334,208,16 231,153,269,209,16 179,149,206,210,16 151,142,180,210,16 335,93,400,218,14 253,177,302,238,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001595.jpg 268,162,442,296,5 40,158,275,288,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001597.jpg 227,135,330,291,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001598.jpg 269,262,312,311,16 222,252,247,297,16 168,258,198,291,16 150,243,173,267,16 355,234,380,248,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001603.jpg 320,125,383,199,14 371,45,422,108,14 362,71,450,111,1 312,160,414,214,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001604.jpg 8,107,234,230,6 110,126,291,264,6 245,88,500,340,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001607.jpg 21,1,500,374,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001608.jpg 3,1,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001610.jpg 16,56,368,276,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001611.jpg 159,213,292,500,14 158,171,425,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001612.jpg 157,105,466,277,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001614.jpg 158,43,436,372,9 100,231,154,319,9 416,100,500,364,9 367,252,440,315,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001617.jpg 351,42,471,106,13 334,116,500,331,13 181,133,358,322,13 192,100,348,265,14 320,67,493,279,14 343,4,416,100,14 170,56,271,159,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001618.jpg 53,104,473,263,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001622.jpg 200,238,247,391,14 139,252,153,291,14 1,247,149,418,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001627.jpg 104,7,280,475,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001628.jpg 104,74,420,344,12 200,55,320,217,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001630.jpg 26,14,54,114,14 190,27,268,214,14 74,95,200,358,14 155,196,343,500,14 333,32,373,255,14 85,231,200,428,1 149,358,340,500,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001632.jpg 11,103,450,371,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001633.jpg 71,177,419,373,10 206,210,388,374,8 116,165,263,364,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001636.jpg 59,123,121,216,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001638.jpg 187,83,337,236,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001640.jpg 47,23,461,358,6 451,75,500,127,6 413,39,441,131,14 397,52,460,106,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001642.jpg 11,2,331,463,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001643.jpg 1,42,472,323,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001647.jpg 1,231,227,500,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001649.jpg 12,53,438,499,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001650.jpg 109,146,161,192,19 380,204,500,333,17 309,171,450,272,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001651.jpg 63,121,342,500,14 241,274,364,500,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001653.jpg 178,119,346,302,18 1,95,156,351,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001654.jpg 28,169,86,248,1 137,164,303,303,1 253,187,433,316,1 274,100,402,275,14 145,66,284,266,14 28,121,85,214,14 117,131,167,259,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001661.jpg 107,199,330,374,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001662.jpg 11,106,482,269,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001669.jpg 21,75,364,337,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001673.jpg 36,110,440,319,7 418,1,482,131,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001675.jpg 29,25,458,330,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001676.jpg 30,38,483,219,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001677.jpg 110,269,500,375,10 52,230,140,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001678.jpg 373,102,500,228,19 252,109,349,200,19 107,192,256,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001680.jpg 91,104,331,500,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001682.jpg 3,86,372,333,14 34,11,500,330,14 302,60,500,316,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001683.jpg 364,207,403,284,8 323,206,362,280,8 285,206,323,287,8 244,208,288,289,8 224,213,430,279,10 392,200,431,279,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001684.jpg 17,6,465,422,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001685.jpg 329,96,468,340,2 118,87,337,372,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001686.jpg 112,168,206,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001688.jpg 61,11,415,373,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001689.jpg 122,86,227,376,14 1,183,203,500,14 60,238,158,367,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001690.jpg 333,55,405,286,14 40,101,182,292,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001691.jpg 388,2,500,124,5 273,1,390,78,5 82,2,189,63,5 455,23,480,99,14 323,29,349,98,14 233,32,258,85,14 207,29,230,82,14 190,46,208,82,14 130,32,153,66,14 59,27,79,65,14 77,18,97,64,14 48,26,61,67,14 35,29,54,68,14 1,18,19,69,14 16,20,37,70,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001693.jpg 2,93,458,312,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001699.jpg 43,56,424,332,12 2,115,57,182,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001707.jpg 10,130,378,499,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001708.jpg 6,93,498,245,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001711.jpg 312,1,430,153,14 3,1,41,209,14 35,1,72,89,14 418,170,447,218,14 411,174,428,194,14 389,181,424,228,14 216,117,250,165,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001713.jpg 35,64,479,356,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001714.jpg 127,302,208,357,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001717.jpg 1,111,58,169,19 371,160,476,404,14 227,99,365,404,14 146,207,263,366,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001718.jpg 97,14,439,333,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001721.jpg 229,169,383,341,14 229,193,309,324,14 371,223,401,273,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001723.jpg 82,192,308,476,13 78,11,309,372,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001724.jpg 35,15,219,302,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001725.jpg 267,39,375,224,19 315,217,375,411,19 255,401,375,500,19 1,113,285,390,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001726.jpg 369,223,438,259,1 387,194,429,255,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001727.jpg 1,41,305,317,12 123,15,413,317,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001729.jpg 119,4,217,96,15 284,107,411,280,14 126,83,257,285,14 9,167,160,333,14 371,63,500,332,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001730.jpg 214,110,376,323,12 269,36,341,203,14 162,84,239,368,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001732.jpg 33,171,118,225,3 172,143,242,189,3 327,123,380,159,3 369,150,442,196,3 348,191,444,289,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001733.jpg 1,270,82,329,16 236,275,294,326,16 180,275,235,365,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001734.jpg 100,84,441,313,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001738.jpg 125,68,323,300,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001739.jpg 149,178,214,317,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001741.jpg 1,111,115,251,9 332,133,375,156,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001746.jpg 1,236,153,301,6 308,224,374,256,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001747.jpg 92,4,383,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001749.jpg 24,26,333,498,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001750.jpg 250,71,335,134,16 174,88,252,157,16 107,31,155,100,16 402,16,464,53,16 256,185,344,249,16 172,188,256,249,16 340,219,405,272,16 404,221,467,277,16 115,211,157,273,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001752.jpg 3,4,375,500,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001754.jpg 220,304,277,486,4 15,54,275,494,14 4,132,55,174,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001755.jpg 61,17,500,333,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001756.jpg 132,303,175,447,4 256,104,363,415,14 5,33,262,453,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001758.jpg 4,108,232,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001759.jpg 2,153,197,375,11 160,114,366,375,14 298,2,500,375,14 1,3,300,181,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001761.jpg 27,87,500,273,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001765.jpg 75,7,387,353,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001766.jpg 394,28,422,98,14 361,8,381,91,14 342,8,362,85,14 278,2,308,70,14 117,72,188,177,14 222,84,270,173,14 27,240,99,329,14 56,309,126,375,14 181,101,337,288,12 111,87,213,259,12 1,239,216,375,12 121,300,227,375,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001768.jpg 1,63,261,344,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001771.jpg 61,53,188,218,8 228,2,336,120,8 355,67,496,218,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001772.jpg 246,195,306,294,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001775.jpg 218,101,325,291,18 97,229,113,294,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001777.jpg 395,46,443,198,4 5,99,497,334,10 398,114,434,219,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001778.jpg 97,39,404,284,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001780.jpg 152,75,395,255,13 232,3,500,165,6 1,26,119,166,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001782.jpg 74,67,500,429,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001784.jpg 192,2,500,335,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001785.jpg 62,1,500,332,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001787.jpg 147,101,277,347,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001789.jpg 1,84,159,288,18 197,98,323,256,18 363,73,500,260,18 359,206,386,278,14 357,234,477,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001793.jpg 62,130,275,347,14 152,70,375,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001795.jpg 178,141,301,281,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001797.jpg 1,1,499,372,17 5,4,265,375,14 176,35,346,255,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001799.jpg 40,69,261,354,14 15,13,90,266,14 412,89,500,355,14 13,287,143,391,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001800.jpg 84,72,242,371,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001801.jpg 310,194,404,291,13 176,175,291,324,13 118,174,160,235,13 323,156,389,235,14 194,143,257,280,14 125,151,157,214,14 1,163,60,219,6 319,174,435,229,6 1,206,43,365,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001806.jpg 274,192,328,361,9 114,266,180,376,9 60,213,162,382,14 117,157,209,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001807.jpg 290,115,411,224,12 201,136,296,216,12 54,105,196,192,12 330,100,363,194,14 238,103,267,185,14 113,85,150,169,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001809.jpg 9,252,85,367,19 19,273,78,341,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001810.jpg 261,170,364,268,19 1,51,236,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001816.jpg 1,36,369,250,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001818.jpg 113,3,500,332,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001821.jpg 92,125,362,248,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001825.jpg 1,39,403,300,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001827.jpg 176,110,240,188,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001828.jpg 35,1,304,238,8 2,33,289,445,14 38,123,298,440,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001830.jpg 38,47,265,491,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001832.jpg 1,1,500,375,14 1,78,416,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001833.jpg 164,184,331,370,1 171,83,309,300,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001834.jpg 46,39,456,304,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001836.jpg 2,81,462,375,17 57,78,320,365,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001837.jpg 32,187,54,229,14 332,199,375,330,14 64,193,248,487,14 49,301,261,500,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001840.jpg 128,174,321,296,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001841.jpg 2,220,278,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001842.jpg 98,133,498,215,0 1,158,164,217,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001843.jpg 299,185,323,276,4 252,35,445,375,14 62,17,273,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001845.jpg 27,177,230,343,6 3,194,37,266,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001847.jpg 32,245,246,351,3 73,170,470,357,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001849.jpg 100,126,284,375,14 260,162,408,375,14 360,218,422,308,14 419,225,472,328,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001853.jpg 202,63,343,286,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001854.jpg 52,38,277,499,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001855.jpg 314,209,491,349,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001858.jpg 17,99,475,216,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001860.jpg 133,29,339,262,8 139,40,172,71,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001861.jpg 8,190,457,363,1 66,9,484,363,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001862.jpg 245,33,291,65,6 57,61,436,375,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001864.jpg 403,214,500,333,8 218,60,381,375,14 91,83,216,375,14 61,55,249,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001870.jpg 4,16,400,400,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001872.jpg 153,22,355,342,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001875.jpg 36,138,143,234,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001877.jpg 1,53,498,308,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001878.jpg 2,1,500,346,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001881.jpg 62,77,456,357,6 1,77,117,203,6 381,76,495,120,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001882.jpg 5,103,210,223,17 291,163,398,273,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001887.jpg 428,248,450,298,8 329,274,366,326,8 226,304,267,370,8 344,251,378,296,8 288,294,326,347,8 365,246,411,292,10 147,313,222,371,10 255,241,285,334,14 95,302,167,375,14 205,298,235,372,14 185,273,217,319,14 287,273,339,345,14 384,242,415,296,14 477,195,500,273,14 400,227,436,297,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001888.jpg 78,32,276,413,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001892.jpg 4,3,500,373,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001894.jpg 2,2,238,375,14 211,2,500,375,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001896.jpg 280,59,422,371,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001898.jpg 1,101,58,171,15 69,106,140,178,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001899.jpg 397,195,478,243,6 298,195,335,227,6 108,212,147,238,6 22,209,48,226,6 167,206,225,289,13 174,177,225,267,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001901.jpg 192,261,247,390,8 233,258,308,400,8 238,266,312,413,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001902.jpg 256,147,500,274,5 341,207,500,375,6 196,224,233,251,6 139,223,150,266,14 120,223,135,265,14 104,226,119,266,14 81,219,100,263,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001903.jpg 93,142,358,333,13 290,148,351,177,1 104,74,258,310,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001904.jpg 371,107,470,284,14 201,114,422,335,14 130,117,210,246,14 40,126,132,236,14 1,55,55,285,14 199,69,391,335,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001906.jpg 103,147,393,272,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001907.jpg 3,76,485,295,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001911.jpg 254,123,400,213,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001915.jpg 22,220,87,265,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001918.jpg 291,184,368,375,14 362,186,449,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001920.jpg 33,28,337,321,14 322,4,456,114,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001922.jpg 65,75,470,269,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001927.jpg 15,92,318,274,12 284,55,349,274,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001928.jpg 7,82,404,419,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001930.jpg 335,113,390,181,18 79,73,217,203,18 220,126,314,327,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001931.jpg 44,114,489,288,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001932.jpg 168,2,453,325,14 2,120,92,371,14 74,2,217,145,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001933.jpg 70,43,399,319,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001934.jpg 36,55,239,262,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001936.jpg 84,185,134,208,0 202,153,255,178,0 249,189,298,211,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001937.jpg 11,211,332,433,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001938.jpg 3,3,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001940.jpg 1,163,328,500,7 17,12,313,182,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001941.jpg 118,46,500,310,13 291,2,472,272,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001944.jpg 32,57,464,366,6 273,61,500,276,6 257,57,334,141,14 244,57,279,114,14 1,70,35,243,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001945.jpg 69,108,238,331,14 93,161,221,477,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001948.jpg 65,52,398,306,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001950.jpg 153,240,170,291,14 335,344,354,375,14 187,340,209,375,14 157,339,176,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001952.jpg 26,26,475,372,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001954.jpg 18,54,166,194,6 1,37,82,372,6 118,119,337,251,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001958.jpg 46,71,128,202,14 86,92,176,214,14 153,85,196,202,14 156,160,249,356,14 99,156,185,363,14 231,208,389,375,14 244,174,297,265,14 350,92,430,365,14 297,87,360,322,14 240,103,308,221,14 191,85,266,204,14 245,78,305,118,14 329,83,372,120,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001960.jpg 108,138,264,332,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001962.jpg 407,99,500,333,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001963.jpg 157,83,337,310,14 1,103,98,337,14 246,238,276,344,4 10,248,40,355,4 243,129,272,236,4 242,19,272,124,4 5,283,499,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001964.jpg 366,50,413,89,2 318,71,362,104,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001970.jpg 139,2,358,355,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001971.jpg 139,71,499,266,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001972.jpg 18,76,291,415,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001976.jpg 171,89,376,143,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001977.jpg 180,48,481,234,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001978.jpg 139,151,210,321,14 355,130,411,315,14 134,194,166,268,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001980.jpg 218,52,500,375,14 164,18,500,375,14 17,181,135,267,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001981.jpg 36,1,329,273,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001982.jpg 85,50,379,348,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001985.jpg 81,92,238,486,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001989.jpg 419,203,433,246,14 24,216,44,263,14 1,215,19,319,14 66,94,445,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001995.jpg 92,35,281,250,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/001999.jpg 391,74,460,153,8 84,54,262,375,14 174,87,234,165,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002000.jpg 371,215,411,267,3 33,195,131,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002001.jpg 280,71,312,90,0 170,110,206,128,0 183,190,216,204,0 189,206,223,221,0 249,190,283,204,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002002.jpg 24,163,97,265,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002004.jpg 37,111,190,275,19 204,157,322,301,19 5,279,103,419,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002006.jpg 1,3,475,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002011.jpg 26,88,498,351,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002012.jpg 135,128,167,255,14 156,118,195,245,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002015.jpg 8,89,124,310,15 60,25,252,292,15 137,92,281,352,15 311,3,500,331,15 247,3,395,294,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002019.jpg 43,82,500,298,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002020.jpg 35,80,418,305,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002021.jpg 26,91,229,278,9 175,39,500,277,9 174,189,270,312,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002022.jpg 64,49,477,274,13 305,40,499,174,13 170,2,223,107,14 68,1,141,157,14 259,1,321,120,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002023.jpg 27,47,483,300,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002024.jpg 337,124,500,273,5 104,88,343,301,5 1,109,71,297,5 174,160,207,199,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002025.jpg 204,297,332,500,8 236,318,375,500,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002027.jpg 270,278,357,295,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002030.jpg 101,151,151,188,14 183,150,226,202,14 437,1,500,374,14 1,68,207,375,14 199,101,383,304,14 316,110,468,246,14 309,256,365,375,4 274,229,313,322,4 472,199,493,265,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002034.jpg 8,122,207,288,7 272,69,474,199,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002036.jpg 234,123,383,175,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002037.jpg 100,89,402,367,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002039.jpg 246,87,284,175,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002042.jpg 75,182,260,360,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002043.jpg 38,12,364,497,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002045.jpg 24,43,475,335,6 362,80,500,169,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002047.jpg 210,225,295,285,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002049.jpg 205,6,473,163,15 26,80,334,290,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002051.jpg 1,2,333,500,14 2,15,195,500,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002054.jpg 6,51,498,400,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002055.jpg 15,248,151,368,11 64,146,229,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002056.jpg 93,139,303,402,5 331,260,375,381,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002058.jpg 111,67,500,239,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002061.jpg 118,2,340,120,17 1,167,493,374,10 78,46,194,221,14 210,96,467,298,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002063.jpg 50,268,375,500,10 11,249,124,473,8 39,270,193,500,8 250,403,375,500,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002064.jpg 20,61,472,331,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002067.jpg 172,40,398,321,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002068.jpg 231,113,372,196,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002069.jpg 132,179,227,341,1 5,156,117,265,1 23,181,92,328,1 376,202,482,372,1 270,174,323,311,1 291,197,383,337,1 132,44,245,337,14 8,90,113,315,14 69,73,104,213,14 100,68,142,258,14 266,78,344,305,14 306,92,402,332,14 381,84,486,361,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002070.jpg 8,32,493,173,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002082.jpg 82,120,230,267,13 98,36,203,242,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002083.jpg 164,127,316,221,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002086.jpg 281,78,405,179,19 31,134,139,237,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002088.jpg 1,30,470,332,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002090.jpg 110,44,312,300,14 181,165,265,300,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002091.jpg 1,1,493,357,3 316,117,366,209,14 186,127,220,206,14 48,146,93,216,14 1,184,26,257,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002094.jpg 72,1,335,331,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002095.jpg 5,21,289,380,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002096.jpg 46,45,270,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002098.jpg 383,22,468,209,4 174,5,239,205,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002099.jpg 1,92,500,331,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002101.jpg 142,360,333,487,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002102.jpg 36,57,486,261,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002104.jpg 224,16,380,330,14 38,82,478,302,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002108.jpg 29,115,155,260,14 141,114,245,243,14 279,129,351,222,14 337,131,409,216,14 1,200,500,375,10 262,262,306,305,15 319,261,357,307,15 343,248,377,291,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002109.jpg 137,72,290,182,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002112.jpg 136,2,375,500,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002114.jpg 324,159,397,375,14 311,100,358,169,14 34,1,500,375,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002116.jpg 177,206,425,373,11 235,126,424,263,17 33,103,231,238,17 177,41,258,72,6 36,1,131,221,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002117.jpg 129,3,269,95,19 79,281,202,451,11 69,83,224,321,14 106,128,250,297,11 280,75,375,408,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002120.jpg 228,35,347,90,2 64,24,496,334,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002124.jpg 333,217,476,333,17 266,174,355,277,8 80,171,139,223,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002125.jpg 58,154,467,310,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002126.jpg 220,2,500,375,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002129.jpg 106,50,256,122,0 110,95,280,176,0 126,142,323,236,0 167,194,408,313,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002132.jpg 184,155,306,249,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002134.jpg 1,61,484,342,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002135.jpg 1,132,30,171,6 26,131,69,160,6 58,125,110,157,6 258,118,285,140,6 218,126,265,160,6 266,128,363,203,6 332,139,375,241,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002136.jpg 76,71,491,305,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002139.jpg 194,1,400,338,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002140.jpg 39,86,256,215,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002142.jpg 178,86,316,333,14 292,71,409,333,14 5,130,62,218,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002145.jpg 125,199,272,389,7 58,60,285,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002146.jpg 25,62,343,493,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002151.jpg 29,1,305,327,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002152.jpg 284,196,400,284,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002153.jpg 83,166,375,291,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002155.jpg 38,19,499,303,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002156.jpg 114,213,223,370,8 226,206,323,349,8 394,193,465,278,8 15,200,118,355,8 468,191,500,238,8 33,167,300,305,10 334,100,399,285,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002158.jpg 29,143,293,246,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002163.jpg 76,91,460,352,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002165.jpg 42,48,278,471,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002166.jpg 14,74,481,317,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002169.jpg 3,102,318,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002170.jpg 148,261,379,344,6 378,246,500,316,6 54,236,82,322,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002171.jpg 41,174,191,329,14 35,247,170,401,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002172.jpg 263,273,320,347,13 270,244,313,320,14 126,262,176,354,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002174.jpg 19,60,496,302,6 451,89,500,186,6 377,90,390,121,14 397,93,419,141,14 431,115,453,152,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002176.jpg 79,92,500,404,17 96,29,465,389,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002178.jpg 100,136,460,320,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002179.jpg 6,8,487,373,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002180.jpg 98,89,476,375,18 8,206,100,266,6 1,205,47,276,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002181.jpg 367,1,468,156,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002182.jpg 15,121,438,252,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002183.jpg 2,139,412,327,12 33,1,183,327,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002184.jpg 169,128,343,287,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002186.jpg 233,158,297,255,14 300,35,351,117,8 204,37,263,140,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002187.jpg 240,80,323,233,14 181,144,414,292,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002190.jpg 174,156,305,312,12 153,90,230,222,12 422,173,474,231,14 181,3,250,126,14 240,97,326,306,14 1,103,40,291,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002191.jpg 1,4,500,374,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002192.jpg 19,75,102,372,15 191,46,365,333,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002193.jpg 279,111,353,323,14 245,99,284,308,14 205,103,245,306,14 159,99,213,303,14 120,100,169,313,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002194.jpg 294,188,391,300,8 81,107,155,278,14 127,117,177,283,14 295,126,464,305,14 377,144,464,268,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002196.jpg 4,2,375,500,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002197.jpg 1,116,330,336,6 335,131,500,209,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002199.jpg 69,163,477,372,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002201.jpg 4,23,498,374,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002202.jpg 46,18,373,357,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002208.jpg 135,92,500,361,3 1,84,347,242,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002209.jpg 72,72,500,500,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002212.jpg 42,72,459,247,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002213.jpg 51,54,369,371,12 161,11,264,250,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002214.jpg 191,80,323,280,18 188,149,203,227,14 384,181,402,206,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002215.jpg 353,44,497,227,7 251,43,370,219,7 134,8,267,206,7 28,11,125,152,7 13,55,174,258,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002218.jpg 237,51,484,178,11 242,130,444,317,11 68,84,246,235,11 3,3,493,327,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002219.jpg 220,65,314,177,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002220.jpg 1,41,180,371,14 121,39,365,375,14 305,76,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002221.jpg 148,58,375,453,14 1,19,138,281,8 179,2,195,51,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002224.jpg 282,189,376,264,14 103,128,338,323,14 1,39,268,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002226.jpg 330,11,348,64,4 316,15,332,56,4 263,24,275,69,4 249,25,265,70,4 480,188,500,231,4 467,186,485,253,4 448,184,468,253,4 428,186,447,252,4 415,181,432,242,4 98,46,500,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002228.jpg 78,177,106,197,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002233.jpg 17,120,152,257,14 116,231,202,493,14 160,122,257,458,14 135,7,269,243,14 6,60,148,453,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002234.jpg 110,150,415,250,3 1,83,136,166,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002237.jpg 58,1,479,375,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002238.jpg 240,129,305,246,12 235,91,300,231,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002241.jpg 4,172,150,277,6 139,189,218,272,6 167,152,216,286,14 242,164,297,288,14 233,164,254,282,14 295,180,335,283,14 332,162,373,287,14 376,176,404,286,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002244.jpg 317,215,465,292,6 107,227,145,259,6 144,233,201,266,6 214,220,236,269,14 468,224,484,269,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002247.jpg 9,259,375,451,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002248.jpg 65,2,500,301,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002249.jpg 3,2,499,332,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002251.jpg 2,25,500,375,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002253.jpg 14,17,479,319,1 243,125,280,191,4 194,128,243,188,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002255.jpg 87,70,311,269,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002256.jpg 327,195,500,373,5 243,245,323,322,5 197,301,217,351,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002257.jpg 222,220,299,347,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002259.jpg 69,75,500,196,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002260.jpg 107,61,447,287,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002261.jpg 116,133,371,299,12 259,54,337,308,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002263.jpg 121,1,395,246,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002265.jpg 1,39,206,500,14 71,210,315,349,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002266.jpg 231,251,458,346,0 5,118,499,258,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002267.jpg 65,194,165,308,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002268.jpg 65,256,242,354,11 288,186,378,249,7 6,188,493,375,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002270.jpg 70,49,475,317,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002272.jpg 1,227,341,375,1 1,3,341,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002273.jpg 116,51,190,181,12 121,14,186,118,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002276.jpg 55,56,439,326,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002277.jpg 1,60,297,500,11 86,1,381,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002278.jpg 8,76,486,312,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002279.jpg 26,12,443,318,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002280.jpg 401,180,500,287,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002281.jpg 1,30,387,213,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002284.jpg 120,19,216,116,15 176,48,234,125,15 169,121,240,243,15 110,278,250,493,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002285.jpg 129,84,352,316,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002287.jpg 267,114,327,260,4 11,65,466,319,11 1,1,500,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002288.jpg 198,173,392,193,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002290.jpg 150,136,475,436,13 157,13,421,343,14 146,70,173,122,14 115,64,135,124,14 98,78,125,124,14 67,66,89,127,14 38,76,72,128,14 186,70,202,123,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002291.jpg 125,100,422,337,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002293.jpg 2,47,264,500,14 87,131,287,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002300.jpg 276,1,475,156,9 111,138,395,319,9 1,1,120,226,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002302.jpg 150,82,489,323,3 66,36,204,372,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002305.jpg 47,22,447,361,8 366,1,500,301,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002306.jpg 20,56,141,346,14 148,103,211,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002307.jpg 193,119,486,259,6 351,142,397,175,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002308.jpg 174,81,340,361,7 43,249,139,432,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002310.jpg 154,30,484,333,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002311.jpg 1,57,499,355,6 338,8,373,131,14 404,7,445,132,14 419,108,474,167,14 377,22,411,105,14 444,29,488,126,14 286,18,320,65,14 179,23,207,57,14 143,27,174,56,14 118,15,136,58,14 29,33,61,91,14 316,19,341,71,14 367,19,393,104,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002315.jpg 177,37,394,249,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002318.jpg 29,167,188,340,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002320.jpg 69,33,282,202,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002321.jpg 117,197,242,306,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002323.jpg 70,110,379,283,9 76,115,177,151,9 295,101,364,145,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002324.jpg 1,1,194,374,14 171,1,293,182,14 166,127,373,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002328.jpg 107,61,351,315,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002329.jpg 80,170,340,374,12 291,154,475,375,12 87,73,223,351,14 247,66,346,208,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002330.jpg 305,154,395,221,16 33,120,164,180,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002332.jpg 121,39,254,231,14 337,61,494,182,14 101,81,500,362,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002333.jpg 35,130,72,174,2 82,157,138,210,2 158,170,249,242,2 242,160,325,213,2 160,134,224,183,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002334.jpg 83,262,325,375,8 15,139,102,286,8 137,114,227,210,19 237,121,319,208,19 325,163,415,252,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002335.jpg 1,54,500,375,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002337.jpg 157,146,302,282,1 177,73,317,273,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002340.jpg 100,136,384,284,6 107,116,152,135,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002342.jpg 23,39,376,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002343.jpg 294,89,375,125,6 213,78,260,98,6 2,103,500,344,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002345.jpg 78,144,282,477,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002347.jpg 287,251,344,334,15 165,253,241,328,15 72,253,131,312,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002348.jpg 186,135,299,253,0 61,114,179,230,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002350.jpg 86,3,294,500,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002352.jpg 51,48,436,150,18 1,58,49,144,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002354.jpg 64,128,451,252,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002355.jpg 18,137,488,314,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002359.jpg 12,114,351,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002361.jpg 21,199,148,486,15 294,296,375,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002362.jpg 291,198,418,281,8 210,254,418,375,8 175,156,357,216,17 323,1,423,222,15 373,57,421,184,15 113,40,177,206,15 270,50,300,118,14 245,59,269,116,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002364.jpg 169,108,397,276,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002366.jpg 231,13,490,316,13 2,180,215,315,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002367.jpg 169,68,355,311,14 100,132,403,342,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002368.jpg 34,269,112,387,8 183,274,272,391,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002369.jpg 138,135,215,232,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002371.jpg 1,23,471,357,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002372.jpg 165,224,312,383,3 273,288,343,380,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002373.jpg 47,18,407,319,6 284,1,339,10,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002374.jpg 126,143,312,241,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002375.jpg 11,15,496,316,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002376.jpg 1,32,458,224,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002377.jpg 91,123,500,375,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002378.jpg 184,10,384,305,14 1,2,196,296,15 117,37,170,164,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002382.jpg 3,65,354,221,14 60,83,214,213,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002384.jpg 43,64,298,368,14 210,110,442,369,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002385.jpg 85,180,429,280,10 433,183,500,375,14 408,112,497,304,14 380,107,437,241,14 335,124,394,225,14 212,122,301,181,14 120,115,167,213,14 68,114,135,225,14 1,107,121,241,14 1,181,98,362,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002387.jpg 246,170,342,244,9 220,153,250,252,14 194,128,214,166,14 160,130,188,167,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002391.jpg 1,107,123,360,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002392.jpg 60,106,412,177,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002393.jpg 56,40,162,85,6 136,33,302,103,6 449,35,500,92,6 111,49,500,321,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002401.jpg 13,85,301,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002403.jpg 316,114,334,160,14 373,182,407,226,2 283,30,394,174,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002404.jpg 352,70,389,167,4 2,82,500,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002405.jpg 53,119,354,407,12 103,32,291,320,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002407.jpg 43,16,300,495,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002410.jpg 88,28,356,318,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002411.jpg 129,163,300,259,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002413.jpg 89,9,375,499,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002415.jpg 3,1,331,500,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002417.jpg 213,274,301,440,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002419.jpg 113,106,379,262,13 160,56,277,215,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002420.jpg 81,48,475,251,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002423.jpg 233,146,410,237,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002425.jpg 137,186,375,500,17 22,151,120,290,8 32,63,108,256,14 75,102,130,266,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002427.jpg 161,143,261,228,17 1,60,137,240,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002433.jpg 15,111,105,290,14 1,103,328,375,14 302,42,500,375,14 471,23,496,52,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002435.jpg 161,1,342,224,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002436.jpg 66,158,217,210,6 452,149,500,199,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002437.jpg 86,9,375,338,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002439.jpg 41,102,415,228,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002441.jpg 43,64,500,362,7 2,88,500,375,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002442.jpg 3,21,375,497,10 183,1,200,35,4 174,68,209,198,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002443.jpg 51,175,333,393,11 3,135,286,321,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002444.jpg 288,96,415,369,14 213,120,330,285,14 123,272,164,375,4 2,274,31,372,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002445.jpg 13,89,349,490,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002448.jpg 169,93,279,281,14 41,146,360,435,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002450.jpg 47,131,281,329,11 238,1,472,318,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002452.jpg 38,22,500,362,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002454.jpg 100,73,263,200,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002456.jpg 5,1,85,126,8 20,1,114,119,8 1,76,500,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002458.jpg 22,150,102,203,13 39,131,69,185,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002459.jpg 121,205,192,237,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002460.jpg 295,184,446,358,1 308,82,426,368,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002461.jpg 164,49,320,270,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002462.jpg 54,75,500,158,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002465.jpg 46,14,500,322,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002466.jpg 125,92,421,217,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002468.jpg 259,33,410,166,2 45,172,178,330,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002470.jpg 23,86,417,462,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002471.jpg 5,43,302,375,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002472.jpg 390,184,414,246,14 422,177,443,247,14 479,181,500,244,14 4,138,200,245,0 136,146,384,235,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002476.jpg 89,5,459,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002477.jpg 61,57,292,189,18 340,79,410,228,14 1,32,72,295,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002478.jpg 280,250,483,335,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002479.jpg 40,204,71,260,3 305,136,356,235,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002480.jpg 146,111,407,312,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002481.jpg 15,19,316,426,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002483.jpg 112,115,197,274,15 390,45,441,262,15 238,81,277,137,7 33,250,215,335,7 194,111,305,371,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002490.jpg 206,137,287,247,5 1,134,147,340,5 139,207,188,287,6 168,209,222,266,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002491.jpg 258,288,375,500,14 40,261,284,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002492.jpg 28,146,241,279,17 262,140,390,246,8 1,230,153,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002493.jpg 27,203,314,375,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002494.jpg 10,23,500,374,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002496.jpg 61,70,500,348,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002497.jpg 193,159,393,280,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002500.jpg 63,1,340,471,3 1,250,71,414,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002501.jpg 6,124,262,375,8 212,135,500,358,17 81,117,205,373,14 245,125,498,372,14 295,92,496,262,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002502.jpg 12,114,275,412,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002504.jpg 272,319,320,348,6 371,311,398,330,6 423,313,464,335,6 459,313,496,334,6 318,310,347,337,6 98,310,139,327,6 151,305,186,374,14 87,320,113,374,14 129,316,156,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002505.jpg 1,12,348,373,9 145,13,437,274,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002508.jpg 67,52,444,293,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002512.jpg 82,40,298,296,11 258,128,450,347,11 1,188,299,375,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002513.jpg 253,243,269,259,0 247,227,263,243,0 225,206,241,223,0 219,191,234,206,0 207,219,223,238,0 212,238,228,256,0 188,229,203,250,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002514.jpg 164,36,386,333,14 54,259,121,318,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002518.jpg 254,128,362,323,14 84,151,121,220,14 141,138,225,246,14 147,198,181,298,4 182,201,216,292,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002519.jpg 55,2,476,375,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002520.jpg 209,186,257,283,12 331,167,382,285,14 440,181,468,285,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002523.jpg 35,25,485,346,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002524.jpg 45,125,314,461,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002525.jpg 1,234,461,372,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002529.jpg 1,92,497,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002533.jpg 37,41,431,356,6 301,121,500,271,6 416,64,500,293,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002534.jpg 347,156,386,185,6 226,157,281,197,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002537.jpg 14,6,448,362,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002539.jpg 1,1,500,333,5 198,105,307,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002540.jpg 243,184,282,257,1 150,200,206,272,1 155,135,201,270,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002542.jpg 198,131,350,368,14 146,138,262,278,14 1,124,105,206,14 1,194,346,375,10 220,103,270,160,15 212,43,261,99,15 175,46,208,109,15 148,10,196,71,15 153,124,188,184,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002544.jpg 81,119,422,277,6 165,72,259,114,6 246,75,312,111,6 300,75,364,107,6 286,61,362,97,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002545.jpg 75,43,206,496,14 181,62,211,132,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002546.jpg 196,17,440,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002547.jpg 195,142,272,284,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002549.jpg 242,74,404,220,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002554.jpg 167,108,287,215,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002555.jpg 58,95,202,299,12 203,95,487,375,12 7,143,61,273,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002558.jpg 95,125,215,290,1 330,170,438,344,1 86,39,222,268,14 330,74,448,319,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002559.jpg 103,64,453,293,6 1,115,48,183,8 156,1,284,107,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002561.jpg 185,58,292,169,19 44,291,300,375,8 322,71,500,375,14 86,80,299,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002563.jpg 417,245,433,284,14 372,247,421,281,6 120,254,135,294,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002564.jpg 17,48,211,333,14 157,34,448,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002565.jpg 1,19,460,348,18 258,175,334,336,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002566.jpg 238,144,367,196,5 34,181,104,207,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002567.jpg 93,25,457,358,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002569.jpg 33,23,353,482,15 1,72,52,417,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002571.jpg 1,5,316,333,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002572.jpg 135,98,173,195,4 118,142,136,195,4 370,156,500,327,8 339,125,429,273,8 121,30,150,107,14 148,22,182,106,14 201,18,245,86,14 243,23,288,87,14 282,89,401,288,14 242,85,309,175,14 33,73,210,333,14 220,82,263,177,14 197,77,239,175,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002578.jpg 42,36,435,312,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002579.jpg 80,74,357,475,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002584.jpg 84,7,301,484,14 1,318,91,500,14 253,213,272,269,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002585.jpg 223,55,344,242,14 110,49,208,205,14 149,118,390,293,13 66,104,229,232,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002586.jpg 58,1,373,437,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002589.jpg 140,140,228,272,8 183,67,225,134,8 18,91,111,275,14 208,145,349,300,14 157,95,242,286,14 226,49,316,237,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002590.jpg 3,272,374,443,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002593.jpg 230,164,288,234,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002594.jpg 358,30,497,175,15 304,101,408,211,15 151,82,297,188,15 43,121,146,222,15 5,39,118,139,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002595.jpg 68,115,442,234,6 297,131,330,159,14 460,50,482,146,14 419,59,439,145,14 398,58,421,144,14 424,60,470,198,14 337,48,387,135,14 282,64,342,121,14 267,70,295,115,14 231,61,269,121,14 198,64,224,140,14 143,59,182,149,14 122,67,153,151,14 47,60,86,174,14 19,69,58,183,14 2,65,16,181,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002598.jpg 89,49,244,394,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002599.jpg 70,43,425,364,13 1,100,161,316,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002600.jpg 85,57,362,342,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002603.jpg 185,99,304,245,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002605.jpg 249,209,305,244,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002606.jpg 351,196,432,228,6 252,194,369,238,6 193,196,252,241,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002609.jpg 40,40,217,255,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002611.jpg 1,1,397,351,14 152,131,337,298,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002613.jpg 277,238,316,347,4 305,227,350,375,4 347,238,391,375,4 388,226,422,365,4 420,227,458,359,4 40,20,262,298,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002615.jpg 177,107,200,132,16 343,263,383,288,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002618.jpg 17,20,483,343,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002621.jpg 162,61,490,307,2 325,2,475,108,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002625.jpg 114,297,159,314,6 42,294,88,313,6 167,283,176,325,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002627.jpg 101,221,238,298,17 22,211,79,275,19 4,335,375,500,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002632.jpg 1,1,245,352,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002633.jpg 136,152,315,412,12 179,101,246,311,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002634.jpg 163,102,392,312,9 121,141,235,287,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002635.jpg 137,109,419,281,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002636.jpg 311,223,500,333,17 153,176,179,242,14 130,187,174,261,8 233,188,272,264,8 251,184,291,250,8 174,195,215,272,8 171,189,241,266,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002637.jpg 60,188,231,282,7 237,42,380,130,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002641.jpg 3,85,201,375,14 181,108,341,375,14 275,148,500,375,14 264,287,308,375,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002643.jpg 1,51,89,152,6 407,57,453,174,14 180,102,281,207,14 181,133,302,282,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002645.jpg 1,186,47,250,19 194,175,239,244,8 234,176,281,258,8 249,168,383,332,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002646.jpg 18,103,487,323,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002647.jpg 221,174,306,212,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002648.jpg 104,157,302,372,16 239,148,350,225,16 38,100,255,267,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002649.jpg 2,105,191,320,14 107,103,294,320,14 225,108,349,318,14 313,43,463,320,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002653.jpg 2,12,456,375,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002657.jpg 212,198,288,264,12 268,353,296,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002658.jpg 163,92,189,202,4 103,8,147,115,15 146,11,183,118,15 181,43,234,117,15 274,3,472,324,14 56,181,387,333,10 279,100,466,302,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002659.jpg 161,8,231,310,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002662.jpg 120,170,491,378,10 373,42,500,293,14 212,14,327,174,14 142,34,210,172,14 92,55,156,170,14 5,53,227,368,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002664.jpg 99,180,146,218,2 149,108,269,173,2 319,175,366,214,2 461,219,500,266,2 186,175,262,217,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002666.jpg 3,174,299,448,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002667.jpg 5,76,500,333,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002668.jpg 426,105,462,134,14 95,83,309,319,14 89,169,112,190,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002669.jpg 116,191,245,287,9 442,241,478,294,14 163,184,273,269,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002670.jpg 22,143,374,429,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002675.jpg 160,120,407,268,1 215,32,367,231,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002677.jpg 3,3,319,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002678.jpg 1,63,325,318,12 287,75,362,238,12 396,1,469,316,14 65,1,167,143,14 1,1,63,169,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002680.jpg 4,36,500,334,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002682.jpg 168,151,330,279,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002683.jpg 130,123,348,293,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002684.jpg 71,47,447,493,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002689.jpg 199,21,336,344,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002690.jpg 82,296,327,500,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002691.jpg 1,232,192,365,11 64,27,478,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002693.jpg 144,133,397,322,6 46,56,132,303,14 364,136,440,236,14 34,79,55,157,14 1,80,34,161,14 1,124,185,209,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002695.jpg 7,3,279,337,9 426,114,500,184,9 348,107,405,166,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002696.jpg 40,33,280,277,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002697.jpg 25,26,216,498,11 199,42,422,404,11 241,375,480,498,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002699.jpg 89,119,427,236,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002702.jpg 89,189,333,500,8 1,274,100,500,8 77,199,278,429,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002704.jpg 12,97,332,500,6 106,83,297,166,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002706.jpg 119,61,351,330,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002709.jpg 123,134,396,421,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002710.jpg 125,63,493,331,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002713.jpg 50,148,196,486,12 43,50,208,379,14 349,172,372,238,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002714.jpg 168,91,246,357,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002715.jpg 112,283,320,375,1 165,210,231,373,14 316,215,398,375,14 425,220,475,368,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002717.jpg 170,103,278,300,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002718.jpg 138,38,407,298,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002721.jpg 274,86,453,220,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002722.jpg 58,48,485,317,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002723.jpg 114,183,334,335,13 285,176,472,315,13 411,170,500,334,13 82,184,140,287,13 133,151,196,240,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002727.jpg 205,221,313,333,1 136,85,242,333,14 209,142,309,326,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002730.jpg 186,88,385,294,6 220,131,270,184,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002732.jpg 81,4,325,242,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002734.jpg 449,45,500,94,6 319,45,420,92,6 250,6,432,80,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002735.jpg 54,168,334,433,12 135,82,256,270,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002737.jpg 125,91,420,200,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002738.jpg 35,90,99,165,3 36,90,120,180,3 34,162,89,205,3 283,125,309,162,3 323,116,354,165,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002741.jpg 321,169,388,332,14 82,19,500,333,18 31,184,51,232,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002744.jpg 223,144,488,378,14 1,18,188,378,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002745.jpg 213,59,312,442,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002747.jpg 210,15,371,287,8 2,82,235,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002749.jpg 143,185,391,375,9 175,25,500,319,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002751.jpg 104,174,318,305,1 150,114,296,262,14 454,50,500,149,14 121,82,212,143,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002755.jpg 122,89,359,308,14 291,82,494,357,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002757.jpg 75,57,467,370,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002759.jpg 75,82,413,310,13 342,90,500,175,6 256,94,372,153,6 443,67,478,181,14 475,76,500,116,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002760.jpg 256,28,500,277,7 1,7,273,294,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002762.jpg 268,87,304,183,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002763.jpg 65,117,411,347,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002765.jpg 362,119,492,172,0 203,116,360,172,0 19,117,131,174,0 118,125,213,172,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002766.jpg 167,116,323,238,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002767.jpg 246,189,302,259,19 75,167,113,221,19 114,171,249,375,14 19,172,111,274,14 11,206,84,333,8 92,245,198,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002772.jpg 32,146,436,273,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002774.jpg 284,77,500,375,12 72,128,340,375,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002775.jpg 266,159,375,500,15 121,346,295,500,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002776.jpg 429,175,500,204,5 320,258,337,281,14 239,218,302,250,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002778.jpg 54,220,103,258,8 101,223,150,262,8 16,235,63,301,8 62,262,132,315,8 129,271,206,330,8 210,281,285,342,8 322,294,395,375,8 144,100,198,141,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002779.jpg 32,132,229,234,6 284,126,440,243,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002782.jpg 1,34,467,267,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002783.jpg 281,295,338,354,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002784.jpg 64,48,333,500,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002785.jpg 222,1,475,178,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002786.jpg 80,97,348,272,12 201,52,258,202,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002791.jpg 114,115,487,309,2 228,18,374,317,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002794.jpg 114,21,425,360,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002795.jpg 101,248,121,295,14 205,193,228,236,14 196,204,256,249,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002796.jpg 130,227,306,364,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002798.jpg 387,50,500,187,14 259,174,500,375,14 1,149,238,375,14 58,44,157,159,14 169,54,253,135,14 234,41,357,153,14 8,135,500,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002800.jpg 176,139,294,353,12 176,74,345,356,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002801.jpg 2,2,500,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002803.jpg 225,154,375,312,8 107,145,263,294,8 376,109,443,183,8 312,107,390,151,8 196,109,288,159,8 146,114,208,170,8 302,85,333,125,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002804.jpg 471,149,500,176,6 330,131,449,174,6 51,131,121,154,6 1,135,46,156,6 454,138,472,179,14 1,156,19,233,14 219,156,264,311,14 362,162,388,258,14 304,151,339,203,14 304,170,358,246,12 189,196,233,291,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002807.jpg 76,114,395,449,13 126,33,378,384,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002810.jpg 84,59,360,256,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002812.jpg 236,198,366,260,6 13,142,227,261,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002815.jpg 1,33,333,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002816.jpg 51,145,454,307,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002817.jpg 23,8,381,319,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002820.jpg 410,229,493,304,15 258,243,313,306,15 160,228,218,300,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002826.jpg 211,26,333,183,11 1,60,202,196,11 1,1,96,181,14 233,1,331,184,14 128,93,316,461,14 47,242,230,458,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002827.jpg 274,64,500,322,14 41,64,283,311,14 1,95,34,201,14 61,113,97,145,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002833.jpg 63,41,498,330,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002834.jpg 4,2,223,485,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002835.jpg 35,144,366,204,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002836.jpg 254,135,320,266,2 125,142,205,255,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002838.jpg 203,145,279,305,14 351,143,500,210,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002841.jpg 23,242,198,414,14 98,77,332,434,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002842.jpg 167,98,425,296,12 242,53,306,211,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002844.jpg 141,37,500,248,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002845.jpg 284,196,326,216,16 14,265,175,347,16 140,199,186,235,16 220,210,248,229,16 254,204,279,227,16 230,201,256,220,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002847.jpg 36,76,499,250,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002848.jpg 201,15,278,82,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002854.jpg 3,175,500,331,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002855.jpg 215,192,475,374,17 181,142,373,337,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002858.jpg 68,79,292,480,12 160,33,277,348,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002859.jpg 1,47,476,351,5 333,124,356,144,14 376,128,397,148,14 398,133,422,150,14 130,100,153,132,14 111,96,130,131,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002864.jpg 44,18,234,361,14 253,18,500,346,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002866.jpg 97,274,231,375,8 224,255,338,375,8 277,236,371,375,8 122,225,347,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002867.jpg 167,1,374,456,5 1,13,129,389,5 104,179,224,451,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002868.jpg 79,234,192,319,9 382,219,464,312,9 395,262,442,319,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002869.jpg 21,94,489,226,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002870.jpg 62,110,184,325,13 68,15,179,280,14 231,138,271,241,14 334,185,426,259,14 457,135,491,249,14 309,157,329,235,14 384,158,411,231,14 16,143,56,233,14 411,179,449,252,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002873.jpg 140,196,245,221,0 425,219,450,237,16 370,220,398,241,16 159,276,190,294,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002875.jpg 36,74,499,292,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002879.jpg 7,65,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002880.jpg 51,35,388,471,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002881.jpg 394,341,426,425,4 85,43,323,470,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002884.jpg 153,44,358,230,6 207,79,246,107,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002886.jpg 4,59,280,372,14 240,107,355,371,14 262,79,433,375,14 327,74,498,372,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002889.jpg 235,61,309,333,14 144,68,238,330,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002891.jpg 68,50,381,324,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002893.jpg 1,6,494,375,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002896.jpg 124,71,253,500,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002899.jpg 26,56,371,390,5 251,199,349,442,14 217,227,274,434,14 149,327,201,449,14 96,309,184,464,14 29,305,100,474,14 1,245,74,448,14 3,220,156,318,14 72,232,131,341,14 126,213,174,245,14 154,184,206,237,14 188,179,256,235,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002901.jpg 376,96,430,188,19 40,133,221,290,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002906.jpg 149,195,293,380,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002910.jpg 264,123,426,314,8 89,123,232,285,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002912.jpg 151,239,212,337,1 152,183,213,297,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002913.jpg 176,108,473,166,18 196,122,217,183,14 13,123,39,182,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002914.jpg 287,13,500,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002915.jpg 295,45,377,319,14 256,121,329,333,14 147,10,263,370,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002916.jpg 83,39,231,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002917.jpg 73,89,472,313,6 48,96,163,142,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002919.jpg 27,4,363,361,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002924.jpg 281,3,475,322,15 1,17,252,319,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002931.jpg 168,149,184,212,4 288,288,316,375,4 414,100,500,208,19 271,80,500,375,14 31,131,238,375,14 406,1,414,29,4 414,1,423,29,4 422,1,430,29,4 461,1,471,31,4 453,1,464,30,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002932.jpg 103,369,195,468,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002933.jpg 97,78,397,339,14 214,47,410,341,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002934.jpg 31,5,393,441,7 2,263,392,500,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002935.jpg 210,32,314,235,14 4,16,132,235,14 16,28,217,235,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002937.jpg 72,57,369,298,6 283,43,500,179,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002938.jpg 46,139,259,260,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002939.jpg 283,161,316,226,4 159,101,336,375,14 266,206,369,361,8 38,108,121,233,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002940.jpg 337,122,498,370,9 247,110,279,139,9 1,4,234,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002941.jpg 412,56,439,158,4 443,71,493,186,4 383,68,436,184,4 339,59,386,170,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002942.jpg 222,153,312,192,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002943.jpg 27,229,500,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002944.jpg 15,15,302,369,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002946.jpg 283,192,380,307,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002947.jpg 6,291,375,500,17 42,290,128,369,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002952.jpg 122,253,437,374,19 93,113,433,284,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002953.jpg 25,102,93,325,4 94,104,166,337,4 165,103,247,347,4 216,52,416,304,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002954.jpg 118,22,200,292,14 351,166,461,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002956.jpg 245,178,472,334,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002957.jpg 1,36,437,375,8 158,157,348,240,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002958.jpg 65,2,500,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002960.jpg 47,75,271,315,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002962.jpg 192,1,466,326,14 1,146,128,331,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002963.jpg 72,36,500,375,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002965.jpg 24,176,61,274,4 94,150,128,262,4 132,150,167,244,4 171,153,199,234,4 199,151,231,228,4 235,157,259,240,4 261,153,286,260,4 288,155,316,263,4 316,157,346,266,4 349,158,375,266,4 376,163,410,269,4 209,241,279,374,4 270,262,336,375,4 12,35,121,192,14 134,22,181,120,14 289,64,374,172,14 173,96,263,199,14 297,114,375,204,14 373,68,427,174,14 332,61,389,161,14 163,44,277,168,14 435,74,493,153,14 415,79,449,142,14 121,72,178,142,14 1,1,36,149,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002966.jpg 2,2,500,333,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002967.jpg 167,1,255,255,15 7,153,153,266,15 142,333,237,436,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002969.jpg 139,125,500,374,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002975.jpg 225,25,500,207,18 231,125,254,192,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002976.jpg 3,199,240,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002977.jpg 295,78,433,288,11 191,116,321,264,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002978.jpg 435,113,465,153,9 262,112,422,262,9 2,129,232,322,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002984.jpg 185,132,247,171,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002986.jpg 1,38,141,200,16 1,176,190,375,16 226,143,365,311,16 318,128,468,300,16 236,209,500,375,16 388,32,475,120,16 444,5,500,96,16 161,73,256,166,16 201,74,359,233,16 100,1,211,91,16 384,1,486,72,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002987.jpg 128,158,322,334,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002988.jpg 105,18,407,335,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002989.jpg 281,149,339,204,19 436,163,500,291,8 81,178,197,265,8 219,163,284,204,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002990.jpg 199,177,259,308,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002992.jpg 30,202,316,423,1 68,92,277,360,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002994.jpg 164,280,309,338,6 67,282,147,328,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/002995.jpg 1,24,392,500,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003000.jpg 193,114,278,164,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003002.jpg 1,89,119,389,15 121,104,317,418,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003003.jpg 199,139,349,375,14 344,130,500,375,14 27,181,97,341,14 1,174,32,319,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003004.jpg 19,105,500,332,17 407,62,467,153,8 454,52,500,141,8 377,18,428,59,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003005.jpg 5,149,246,367,17 229,82,298,143,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003007.jpg 29,2,500,296,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003008.jpg 211,127,263,146,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003009.jpg 135,294,386,363,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003011.jpg 198,192,385,258,17 274,218,478,374,17 35,141,142,243,19 211,150,250,190,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003013.jpg 85,117,432,291,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003015.jpg 182,128,274,218,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003017.jpg 139,117,453,301,12 174,99,309,234,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003021.jpg 26,43,478,305,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003023.jpg 29,76,254,500,14 2,245,117,453,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003024.jpg 5,72,150,163,17 128,1,201,117,15 212,32,256,102,15 223,31,256,64,15 453,96,500,177,1 291,74,326,119,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003027.jpg 131,93,345,206,6 138,93,397,289,12 182,57,251,196,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003028.jpg 1,42,499,293,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003031.jpg 6,89,493,315,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003032.jpg 34,90,471,232,0 132,253,176,306,6 1,240,143,331,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003034.jpg 301,174,466,375,8 305,201,429,331,14 40,97,259,307,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003038.jpg 114,107,250,283,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003039.jpg 158,64,259,343,14 247,75,341,355,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003042.jpg 29,115,100,180,8 2,94,121,147,10 169,101,321,174,10 100,187,407,366,10 89,85,220,294,14 321,75,496,372,14 132,12,167,84,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003044.jpg 80,426,103,500,14 96,427,117,497,14 4,438,47,475,15 97,416,143,478,15 259,415,298,464,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003045.jpg 153,54,500,248,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003047.jpg 383,80,434,189,1 277,87,366,173,1 190,80,262,161,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003051.jpg 30,82,283,207,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003053.jpg 282,178,450,236,18 458,210,491,237,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003054.jpg 22,163,334,333,17 398,142,459,185,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003056.jpg 274,255,368,333,10 259,244,286,330,8 278,248,308,330,8 358,285,390,338,4 46,232,97,266,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003057.jpg 103,108,298,426,13 103,102,310,391,14 3,121,144,224,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003058.jpg 2,2,395,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003061.jpg 286,11,446,220,8 93,25,259,158,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003063.jpg 54,9,291,485,14 3,43,372,386,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003064.jpg 79,103,215,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003065.jpg 68,233,371,280,3 252,206,302,248,14 195,213,234,250,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003066.jpg 139,170,255,270,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003072.jpg 207,57,348,312,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003074.jpg 298,167,353,196,2 206,192,260,222,2 146,219,196,248,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003077.jpg 323,151,441,252,8 250,155,344,254,8 73,139,156,289,14 153,142,237,285,14 244,127,321,266,14 352,134,435,262,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003078.jpg 15,181,75,261,8 74,174,110,249,8 303,202,387,317,8 468,188,500,307,8 400,188,465,296,8 379,137,468,296,14 341,146,397,281,14 89,19,323,494,14 196,15,338,481,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003082.jpg 197,186,284,284,2 143,233,304,368,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003083.jpg 344,455,375,480,6 270,426,375,480,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003085.jpg 174,81,327,266,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003086.jpg 321,157,403,358,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003088.jpg 107,269,154,366,4 69,65,330,375,14 209,91,286,211,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003089.jpg 192,74,452,333,13 148,31,290,319,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003090.jpg 79,116,301,206,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003092.jpg 154,46,440,247,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003093.jpg 160,233,180,315,15 139,218,167,320,15 370,223,397,316,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003094.jpg 19,30,500,259,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003098.jpg 4,86,429,352,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003100.jpg 136,193,180,297,14 49,263,175,330,11 220,264,294,319,11 214,243,269,286,11 153,278,228,322,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003102.jpg 60,32,262,362,14 60,200,243,461,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003103.jpg 33,64,328,186,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003105.jpg 42,56,351,271,9 248,113,458,289,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003106.jpg 208,238,404,324,7 185,15,401,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003107.jpg 1,131,274,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003108.jpg 214,43,500,333,17 364,273,388,354,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003110.jpg 213,127,275,266,11 121,107,188,234,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003112.jpg 164,87,306,332,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003116.jpg 100,67,487,400,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003117.jpg 152,52,439,310,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003118.jpg 207,21,286,108,2 361,153,461,220,2 298,174,373,248,2 125,73,391,333,14 362,206,472,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003120.jpg 223,162,281,209,19 169,241,251,335,8 13,214,159,327,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003121.jpg 2,16,282,333,12 210,50,482,333,14 468,170,500,333,14 438,146,489,241,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003122.jpg 5,265,116,340,4 412,254,437,318,4 33,78,192,375,14 176,85,352,375,14 309,68,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003124.jpg 54,29,475,325,13 308,2,395,125,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003126.jpg 132,156,280,248,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003127.jpg 3,2,499,350,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003129.jpg 1,63,328,374,14 362,177,500,291,14 441,122,500,247,14 354,163,411,256,14 318,169,363,220,14 253,163,324,234,14 1,144,19,245,14 95,169,114,214,14 72,168,88,219,14 53,170,71,219,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003133.jpg 32,55,435,213,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003134.jpg 64,86,184,317,14 160,72,300,284,14 270,1,483,366,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003135.jpg 2,114,497,276,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003137.jpg 1,45,406,310,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003138.jpg 205,76,445,375,14 1,119,144,374,14 387,122,454,220,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003140.jpg 277,26,500,335,14 16,76,343,335,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003142.jpg 52,39,402,344,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003145.jpg 17,27,351,375,14 315,39,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003146.jpg 43,153,214,319,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003147.jpg 153,145,366,257,11 54,34,139,248,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003149.jpg 72,36,153,288,4 178,16,308,74,4 144,46,296,225,4 245,49,387,148,4 131,31,464,331,4 140,224,395,375,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003150.jpg 194,71,463,340,14 108,44,257,188,14 1,53,132,286,14 1,69,303,273,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003154.jpg 162,102,468,302,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003155.jpg 4,121,313,419,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003157.jpg 137,57,303,185,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003159.jpg 330,84,448,316,14 52,97,191,294,14 1,63,41,298,14 266,218,287,286,4 248,200,269,268,4 188,294,219,360,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003161.jpg 394,158,450,276,16 330,177,381,284,16 220,167,272,280,16 174,162,225,276,16 113,161,157,224,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003162.jpg 25,89,483,355,13 115,11,353,223,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003163.jpg 56,66,441,240,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003164.jpg 26,43,500,311,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003165.jpg 42,52,273,301,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003169.jpg 54,113,474,332,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003170.jpg 381,211,458,283,16 344,224,383,281,16 70,202,165,275,16 19,121,75,259,14 109,143,179,222,14 146,166,190,263,14 176,167,219,262,14 206,171,241,258,14 195,143,268,220,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003175.jpg 1,323,292,500,1 10,100,325,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003176.jpg 139,160,287,311,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003177.jpg 54,2,375,435,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003178.jpg 72,138,411,269,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003181.jpg 286,142,328,271,4 356,157,415,303,4 2,32,270,333,14 1,3,65,79,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003183.jpg 220,176,243,191,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003184.jpg 2,74,500,375,7 147,78,430,361,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003185.jpg 231,169,316,279,14 312,170,419,287,14 432,210,482,366,4 390,213,415,293,4 105,73,231,375,14 35,66,118,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003186.jpg 1,169,214,288,17 295,158,347,223,8 220,168,263,221,8 263,136,302,166,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003188.jpg 54,125,320,375,1 257,4,435,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003189.jpg 175,170,271,334,12 163,54,289,284,14 177,328,268,477,15 90,269,139,359,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003194.jpg 1,16,374,299,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003195.jpg 167,149,321,276,5 327,227,474,269,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003199.jpg 124,38,376,328,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003200.jpg 213,209,456,272,0 1,68,228,288,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003202.jpg 334,119,398,206,8 172,139,295,275,8 26,117,127,251,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003204.jpg 172,195,278,299,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003205.jpg 28,76,306,376,14 11,168,322,447,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003207.jpg 124,6,162,102,4 94,36,132,91,4 71,57,108,166,4 100,58,150,188,4 13,71,61,184,4 152,115,203,237,4 216,102,261,222,4 259,134,307,260,4 308,126,356,251,4 350,139,408,264,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003210.jpg 46,73,265,456,12 97,51,223,266,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003211.jpg 306,122,427,366,15 334,173,374,298,15 206,195,246,287,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003213.jpg 279,1,497,138,14 1,54,72,290,14 1,47,352,334,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003214.jpg 230,143,496,220,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003216.jpg 135,74,380,285,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003218.jpg 235,161,286,254,1 439,162,485,261,1 281,159,324,238,1 324,144,349,220,1 172,176,224,277,1 83,127,117,178,1 430,93,482,241,14 232,95,280,224,14 279,100,321,212,14 83,91,115,168,14 304,88,338,152,14 347,85,378,198,14 376,81,396,191,14 455,74,483,138,14 330,82,359,187,14 36,88,80,245,14 132,82,154,157,14 11,80,47,227,14 242,81,251,100,14 227,73,238,91,14 213,77,233,116,14 109,84,135,157,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003219.jpg 14,162,334,500,10 104,126,120,185,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003223.jpg 136,230,230,299,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003228.jpg 305,104,394,183,6 453,112,482,175,14 11,227,80,325,11 2,37,217,200,5 205,84,295,162,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003229.jpg 347,161,433,225,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003231.jpg 38,270,167,366,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003233.jpg 1,78,498,344,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003236.jpg 309,267,376,340,14 2,145,49,192,14 243,1,500,282,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003239.jpg 316,160,448,288,8 83,241,135,328,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003240.jpg 184,141,374,278,6 1,412,130,500,6 49,339,111,416,1 4,1,145,31,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003242.jpg 181,148,272,251,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003243.jpg 153,195,223,227,6 364,200,426,230,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003244.jpg 1,142,498,245,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003247.jpg 261,14,380,332,14 158,29,265,335,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003250.jpg 174,24,355,333,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003253.jpg 8,126,249,405,11 313,19,500,304,11 1,1,500,426,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003254.jpg 210,132,301,205,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003255.jpg 33,103,500,375,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003256.jpg 157,86,327,154,6 244,227,273,266,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003258.jpg 200,198,500,333,17 212,130,256,169,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003259.jpg 467,243,500,333,4 97,53,298,298,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003260.jpg 261,111,326,198,19 11,58,112,449,14 118,76,201,431,14 187,72,261,425,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003261.jpg 218,178,239,198,6 1,1,206,374,14 1,1,205,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003262.jpg 179,10,339,304,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003269.jpg 359,1,500,373,4 217,2,357,373,4 54,1,220,374,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003270.jpg 118,80,327,305,2 149,19,287,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003271.jpg 41,78,467,326,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003272.jpg 226,119,434,311,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003273.jpg 141,104,305,284,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003274.jpg 148,77,298,239,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003279.jpg 174,85,500,270,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003280.jpg 107,59,494,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003282.jpg 137,179,334,443,14 2,19,334,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003284.jpg 336,186,441,227,15 61,172,233,372,14 345,303,443,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003285.jpg 27,118,193,259,6 231,131,330,162,6 249,138,426,189,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003290.jpg 238,76,403,285,12 121,129,248,246,12 181,90,230,202,14 312,24,404,218,14 286,80,314,106,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003292.jpg 18,114,48,171,14 46,128,74,201,14 269,137,305,221,14 126,44,231,240,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003293.jpg 2,86,333,500,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003294.jpg 27,72,332,500,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003296.jpg 2,58,252,374,14 218,58,500,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003299.jpg 2,3,499,260,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003300.jpg 330,186,450,291,17 227,274,471,375,10 230,148,279,190,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003301.jpg 97,41,271,333,14 104,196,236,294,11 4,110,109,309,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003303.jpg 197,175,282,308,14 62,162,149,304,14 212,212,260,347,12 78,221,132,339,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003307.jpg 3,29,308,251,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003308.jpg 174,58,257,104,7 11,277,181,500,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003311.jpg 126,136,401,264,5 410,206,425,250,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003313.jpg 181,106,426,207,6 340,4,369,87,14 285,119,310,146,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003316.jpg 204,112,406,340,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003320.jpg 333,80,490,333,14 207,83,362,333,14 1,71,185,333,14 10,162,53,220,14 288,136,323,181,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003325.jpg 23,12,217,374,11 332,128,500,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003327.jpg 90,35,325,476,13 291,2,375,264,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003330.jpg 268,96,375,247,2 166,70,238,146,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003331.jpg 161,140,313,226,6 438,134,500,179,6 101,145,190,181,6 280,139,351,171,6 422,121,480,153,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003335.jpg 39,167,116,276,8 390,163,500,284,8 135,172,195,259,8 187,59,380,350,14 125,82,216,244,14 438,182,500,319,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003336.jpg 3,61,242,375,13 291,21,419,91,13 144,29,247,89,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003337.jpg 71,146,365,210,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003338.jpg 196,75,334,285,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003339.jpg 21,24,314,288,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003343.jpg 167,82,407,333,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003344.jpg 139,133,415,277,6 116,117,176,154,6 59,89,119,278,14 213,90,257,103,6 245,89,291,103,6 291,89,338,107,6 405,90,451,111,6 436,87,493,115,6 473,89,500,116,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003349.jpg 88,55,327,289,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003350.jpg 1,1,472,332,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003351.jpg 160,83,461,347,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003354.jpg 93,75,256,223,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003355.jpg 226,122,376,276,14 2,2,324,242,6 329,2,500,134,6 220,53,486,175,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003356.jpg 99,63,387,326,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003359.jpg 22,31,426,365,6 342,37,500,229,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003360.jpg 40,4,312,408,14 99,254,220,481,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003362.jpg 174,122,282,263,12 171,44,294,226,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003363.jpg 2,233,314,479,6 300,259,334,291,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003365.jpg 118,108,450,197,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003367.jpg 1,174,38,253,14 15,213,111,302,13 354,167,389,267,15 387,130,418,170,15 422,128,447,171,15 476,142,496,173,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003369.jpg 259,212,284,310,14 225,215,252,310,14 1,1,447,299,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003370.jpg 162,93,289,276,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003373.jpg 232,160,441,329,11 176,1,330,196,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003374.jpg 26,12,206,128,19 230,66,272,132,15 135,118,311,359,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003376.jpg 114,264,216,375,8 369,210,485,375,8 458,305,479,375,4 192,118,302,375,14 415,192,500,324,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003377.jpg 135,141,292,360,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003379.jpg 68,114,409,213,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003380.jpg 8,85,248,375,14 245,27,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003382.jpg 4,141,127,224,16 6,272,235,500,16 146,158,375,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003386.jpg 1,76,500,281,0 26,52,47,102,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003390.jpg 147,116,403,340,6 104,73,143,250,14 1,71,61,375,14 45,89,80,168,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003391.jpg 120,223,187,375,14 77,278,263,375,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003392.jpg 135,3,497,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003395.jpg 78,212,317,493,1 82,136,322,378,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003396.jpg 14,84,376,330,13 192,75,387,330,13 124,50,371,279,14 287,37,427,164,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003397.jpg 232,197,334,315,14 15,168,258,321,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003398.jpg 52,25,455,368,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003401.jpg 246,106,301,183,19 19,141,191,281,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003403.jpg 71,43,496,290,12 170,18,330,208,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003404.jpg 140,124,316,206,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003406.jpg 341,37,458,361,14 442,75,500,292,14 2,4,500,374,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003407.jpg 1,100,394,287,5 202,104,395,374,14 28,160,181,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003408.jpg 298,259,500,375,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003410.jpg 66,149,240,237,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003412.jpg 60,131,332,500,13 131,62,332,440,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003413.jpg 327,236,440,316,3 274,280,396,315,3 256,120,311,320,3 68,29,259,327,3 43,296,87,324,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003415.jpg 197,2,500,217,7 128,153,334,373,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003416.jpg 352,64,383,106,2 194,128,271,185,2 148,180,188,288,2 1,11,320,296,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003417.jpg 20,83,433,257,18 132,222,195,280,14 1,257,61,326,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003419.jpg 229,62,280,89,15 210,116,256,150,15 125,103,184,167,15 163,130,214,197,15 203,143,293,262,15 277,88,369,235,15 355,151,463,316,15 19,170,102,302,15 1,225,26,345,15 1,117,68,180,15 1,154,64,209,15 65,100,87,150,15 33,94,56,134,15 26,29,62,90,15 2,28,30,86,15 459,178,500,302,15 454,78,495,145,15 450,142,500,199,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003420.jpg 25,216,121,266,6 111,219,203,264,6 178,219,270,262,6 242,223,333,260,6 293,226,380,261,6 351,230,429,261,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003421.jpg 107,322,300,500,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003422.jpg 248,121,447,262,14 1,85,239,375,14 124,222,500,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003424.jpg 29,239,230,500,12 102,312,333,500,14 95,82,269,412,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003425.jpg 44,1,408,291,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003429.jpg 200,18,323,163,14 123,59,406,217,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003430.jpg 150,128,355,324,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003433.jpg 18,166,181,494,1 146,16,327,395,14 240,312,340,455,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003435.jpg 255,17,500,334,14 55,151,266,334,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003436.jpg 74,138,135,271,12 151,101,291,358,12 278,92,439,361,12 443,180,477,236,15 122,92,150,135,14 196,58,244,116,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003439.jpg 263,177,420,295,9 86,89,279,295,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003441.jpg 105,98,378,274,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003443.jpg 59,96,229,233,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003444.jpg 36,91,304,263,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003449.jpg 3,20,121,312,19 190,241,283,294,4 107,245,170,298,4 377,2,500,89,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003450.jpg 183,125,266,354,14 238,133,356,276,14 135,168,235,285,14 22,133,423,370,17 360,58,480,195,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003451.jpg 235,154,408,225,17 212,167,260,246,8 390,202,466,277,19 7,217,25,260,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003452.jpg 86,300,257,471,10 173,328,325,500,8 70,301,185,475,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003453.jpg 107,107,421,282,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003455.jpg 1,40,452,333,0 210,105,238,135,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003458.jpg 120,121,326,474,2 17,161,224,493,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003461.jpg 8,207,180,275,6 1,276,163,333,6 206,207,284,333,6 282,205,387,333,6 408,160,493,321,6 395,18,476,163,6 312,46,389,203,6 315,1,374,46,6 237,1,306,123,6 80,1,224,63,6 64,26,231,137,6 124,253,157,298,8 10,43,71,124,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003462.jpg 134,187,316,375,11 196,41,337,242,11 130,1,262,192,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003464.jpg 1,84,445,288,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003465.jpg 132,184,289,320,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003466.jpg 177,15,445,283,14 1,100,43,174,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003468.jpg 353,202,388,331,14 346,258,384,352,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003469.jpg 139,145,362,372,1 68,26,185,358,14 211,1,462,308,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003470.jpg 66,2,295,462,14 17,47,86,198,14 48,36,79,127,14 79,31,105,119,14 88,52,128,116,14 272,24,303,87,14 299,64,322,103,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003477.jpg 98,115,259,351,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003484.jpg 468,35,493,78,14 464,29,500,159,14 450,43,475,93,14 405,30,433,120,14 49,65,491,323,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003487.jpg 267,241,380,375,14 50,161,416,374,14 324,31,384,89,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003489.jpg 280,32,456,257,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003491.jpg 31,15,419,347,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003492.jpg 100,2,500,366,12 134,84,458,366,14 39,96,143,366,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003493.jpg 137,119,440,234,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003496.jpg 384,199,415,269,4 448,69,500,239,14 235,61,437,333,14 1,5,466,333,14 1,34,105,155,14 433,91,458,146,14 86,90,117,131,14 245,106,268,146,14 265,138,287,157,14 206,107,270,165,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003497.jpg 25,101,357,254,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003499.jpg 107,26,496,324,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003500.jpg 1,81,373,368,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003506.jpg 63,42,261,287,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003508.jpg 1,157,269,500,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003509.jpg 184,28,375,499,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003510.jpg 410,244,463,347,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003511.jpg 52,9,469,323,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003516.jpg 61,154,439,291,10 367,132,478,287,8 2,132,111,284,8 270,154,363,315,8 177,155,262,308,8 71,153,181,312,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003518.jpg 1,31,141,333,8 66,63,366,333,14 1,1,106,288,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003519.jpg 114,84,316,375,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003521.jpg 144,151,351,375,8 357,108,439,279,8 330,110,500,375,14 147,135,328,375,14 1,2,112,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003522.jpg 249,2,500,328,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003524.jpg 34,39,418,480,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003525.jpg 160,1,448,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003528.jpg 1,22,458,361,17 316,123,500,375,14 263,24,384,341,14 143,145,301,374,14 35,138,162,374,14 40,49,178,245,14 153,44,340,346,14 401,2,500,321,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003529.jpg 94,45,334,305,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003530.jpg 6,117,376,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003536.jpg 111,100,500,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003537.jpg 75,46,473,240,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003539.jpg 78,149,213,349,13 298,144,417,341,13 422,123,493,231,13 294,75,432,316,14 82,64,226,327,14 412,78,461,201,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003546.jpg 132,82,257,228,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003548.jpg 51,36,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003549.jpg 4,41,192,202,1 159,48,350,215,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003550.jpg 153,16,291,500,14 36,22,174,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003551.jpg 32,112,432,291,6 1,106,217,194,6 298,99,358,118,6 339,104,418,133,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003554.jpg 75,126,436,250,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003555.jpg 405,261,427,288,15 375,265,397,290,15 337,265,359,296,15 288,270,315,297,15 236,272,259,304,15 438,241,500,301,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003556.jpg 129,5,306,453,14 72,378,99,470,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003564.jpg 93,51,339,304,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003565.jpg 280,218,500,317,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003566.jpg 223,291,243,338,4 113,133,227,340,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003567.jpg 114,47,149,168,14 184,48,344,276,14 178,109,338,292,13 1,103,35,141,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003575.jpg 20,151,266,375,14 195,140,320,264,14 355,117,487,282,14 22,146,344,364,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003576.jpg 200,69,500,231,5 366,137,500,241,13 407,100,480,219,14 126,112,157,193,14 171,112,203,192,14 245,111,271,143,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003577.jpg 93,237,128,339,4 121,230,153,333,4 171,220,198,304,4 249,115,340,220,14 344,107,445,260,14 320,105,500,375,14 117,130,199,241,14 2,127,149,286,14 1,206,420,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003580.jpg 1,6,352,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003585.jpg 138,183,259,411,14 89,244,291,425,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003586.jpg 2,1,247,188,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003587.jpg 72,40,496,267,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003588.jpg 200,63,324,319,8 66,82,185,330,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003589.jpg 153,181,368,325,1 198,68,324,302,14 24,72,68,172,14 6,52,89,171,14 64,97,118,169,14 79,51,125,123,14 108,79,139,159,14 128,51,178,146,14 121,138,158,167,14 171,105,216,164,14 257,60,295,107,14 320,96,388,162,14 386,49,436,160,14 438,75,486,156,14 436,40,494,155,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003593.jpg 316,135,463,265,16 62,119,314,303,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003594.jpg 149,131,357,448,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003596.jpg 78,107,429,304,6 233,72,286,96,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003597.jpg 9,135,392,399,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003599.jpg 126,34,376,327,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003603.jpg 160,263,318,375,14 332,245,439,375,14 415,217,479,361,14 397,142,500,347,14 256,102,383,269,14 181,133,257,223,14 106,135,140,186,14 1,93,171,375,14 95,223,417,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003604.jpg 62,103,500,375,11 145,1,430,142,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003605.jpg 15,80,500,383,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003606.jpg 28,32,492,375,6 276,76,500,281,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003608.jpg 86,64,443,285,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003609.jpg 56,103,277,197,17 270,104,360,213,8 6,135,186,270,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003611.jpg 217,271,237,307,14 215,281,235,326,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003614.jpg 82,113,272,250,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003618.jpg 219,105,271,226,14 225,119,245,165,14 58,140,90,193,14 156,160,390,265,12 57,154,92,223,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003620.jpg 74,1,451,257,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003621.jpg 199,153,328,271,1 249,72,334,224,14 441,62,492,120,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003622.jpg 68,223,182,347,15 256,266,337,365,15 379,269,495,373,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003623.jpg 107,22,428,312,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003625.jpg 127,88,378,275,12 235,41,296,196,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003627.jpg 135,1,365,333,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003628.jpg 46,164,68,251,14 13,163,44,258,14 51,1,448,324,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003629.jpg 390,170,477,338,15 229,42,387,322,15 66,16,257,199,15 134,68,270,292,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003632.jpg 76,73,500,368,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003634.jpg 268,102,471,215,6 46,105,200,195,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003635.jpg 3,45,500,325,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003636.jpg 184,222,258,298,5 283,272,344,325,6 158,273,217,317,6 7,284,271,371,6 302,247,355,309,6 282,238,378,277,6 356,232,406,256,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003638.jpg 116,280,179,374,8 1,273,114,373,10 340,174,373,252,14 206,151,261,350,14 203,130,361,372,14 323,161,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003639.jpg 227,5,500,319,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003640.jpg 274,184,444,287,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003642.jpg 26,58,461,226,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003644.jpg 291,104,461,281,14 236,101,331,194,14 86,110,231,281,14 145,182,373,272,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003645.jpg 256,127,288,182,12 171,114,204,178,14 257,106,288,160,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003646.jpg 200,142,276,302,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003648.jpg 52,91,500,373,17 224,82,314,335,14 160,55,334,294,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003651.jpg 80,6,480,360,18 340,83,385,179,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003654.jpg 1,162,26,232,14 24,152,80,230,14 82,156,106,188,14 329,114,375,275,14 12,185,204,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003655.jpg 2,51,365,500,6 96,37,293,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003656.jpg 34,37,91,84,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003657.jpg 198,221,360,292,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003658.jpg 25,10,496,333,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003660.jpg 230,185,375,391,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003662.jpg 104,8,216,121,19 175,147,333,500,8 89,130,217,450,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003663.jpg 1,43,302,282,14 298,85,500,278,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003664.jpg 4,234,230,375,8 201,215,416,374,14 47,184,95,283,14 221,194,253,273,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003667.jpg 16,45,421,445,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003669.jpg 1,38,291,259,3 192,135,436,260,3 393,261,418,301,14 476,258,500,309,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003671.jpg 135,6,358,323,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003673.jpg 231,145,500,374,11 63,2,252,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003674.jpg 79,1,476,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003675.jpg 185,133,271,227,2 144,110,242,163,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003678.jpg 237,70,334,143,19 237,88,490,326,14 1,1,157,257,14 65,236,103,332,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003679.jpg 38,53,432,302,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003681.jpg 336,59,500,351,16 288,81,408,284,16 99,103,221,272,16 213,138,284,283,11 100,156,206,330,11 1,159,121,326,11 204,153,368,326,11 1,84,109,158,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003684.jpg 60,5,360,473,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003685.jpg 1,51,499,375,18 184,120,235,192,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003688.jpg 2,2,267,333,14 233,79,496,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003690.jpg 1,57,453,375,17 31,77,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003691.jpg 12,200,326,399,12 142,107,215,312,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003694.jpg 308,190,386,265,19 54,58,151,263,15 156,181,213,252,8 167,133,216,245,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003695.jpg 1,145,480,283,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003696.jpg 193,87,368,285,12 172,110,258,283,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003698.jpg 356,259,404,322,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003699.jpg 224,72,298,178,15 1,65,434,312,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003700.jpg 423,110,491,369,14 283,121,339,333,14 196,135,253,294,14 221,131,271,275,14 57,169,100,351,14 83,167,148,372,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003703.jpg 125,153,357,253,6 449,146,470,186,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003704.jpg 220,62,458,347,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003705.jpg 196,100,270,176,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003706.jpg 80,11,474,366,13 439,26,489,199,14 390,16,426,121,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003708.jpg 1,89,351,500,14 239,153,365,468,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003709.jpg 368,195,436,256,18 204,214,285,304,18 52,186,106,285,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003711.jpg 132,278,166,329,6 162,86,469,344,5 340,173,352,209,14 352,177,367,210,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003713.jpg 176,230,228,276,6 2,217,75,344,6 283,234,324,255,6 372,221,496,287,6 315,216,370,255,6 80,204,140,271,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003714.jpg 177,169,298,289,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003717.jpg 114,172,358,311,1 353,88,500,203,1 97,32,244,170,1 297,12,489,173,1 238,2,286,93,14 107,1,196,163,14 169,91,320,247,14 27,119,118,319,14 10,270,93,326,14 192,267,254,312,14 29,81,116,297,14 354,2,472,226,14 355,1,409,175,14 1,1,88,162,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003721.jpg 15,103,444,248,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003722.jpg 301,256,488,294,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003727.jpg 121,148,291,429,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003729.jpg 199,1,266,128,4 405,1,500,227,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003732.jpg 2,203,57,454,14 21,217,128,499,14 67,1,375,500,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003735.jpg 154,33,254,193,14 410,89,473,200,14 75,78,405,330,12 382,129,480,270,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003740.jpg 204,160,264,329,14 351,141,412,315,14 7,156,99,353,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003743.jpg 84,145,292,273,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003748.jpg 262,174,415,320,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003749.jpg 170,57,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003750.jpg 361,163,449,362,9 125,50,353,262,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003751.jpg 2,190,140,334,17 115,171,212,247,8 244,154,283,206,8 380,1,480,153,19 407,34,456,140,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003752.jpg 404,323,500,351,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003753.jpg 45,55,500,321,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003754.jpg 249,313,301,351,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003758.jpg 33,34,253,330,15 83,2,489,333,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003759.jpg 105,129,226,375,14 202,142,279,375,14 254,136,426,375,14 393,189,474,290,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003760.jpg 175,223,231,322,13 118,227,180,296,13 24,211,46,273,14 47,207,75,284,14 73,209,100,284,14 82,199,100,273,14 94,192,115,282,14 118,188,176,298,14 176,178,238,317,14 246,204,274,311,14 286,206,308,305,14 304,204,327,305,14 309,273,358,311,11 330,217,356,287,14 362,218,392,305,14 394,220,414,308,14 414,198,445,307,14 344,201,366,304,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003763.jpg 1,1,407,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003767.jpg 272,170,373,301,8 278,201,456,375,8 74,165,164,282,8 47,199,213,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003772.jpg 110,64,408,294,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003773.jpg 13,121,485,230,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003774.jpg 1,88,428,225,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003779.jpg 56,105,400,383,12 182,69,322,260,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003780.jpg 104,167,185,232,19 280,218,365,346,19 90,202,207,375,14 2,91,111,350,14 68,312,207,481,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003781.jpg 32,98,334,375,14 259,60,500,375,14 36,252,82,296,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003783.jpg 160,322,206,421,4 71,284,133,392,4 91,256,141,357,4 138,276,178,383,4 177,254,222,373,4 184,172,239,312,4 269,157,314,259,4 232,141,271,270,4 206,180,239,277,4 128,232,174,309,4 100,203,137,281,4 109,159,149,237,4 126,147,155,205,4 148,125,178,190,4 143,205,187,305,4 213,143,238,216,4 219,107,243,174,4 227,86,255,147,4 254,121,283,189,4 294,142,321,234,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003784.jpg 32,232,311,407,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003786.jpg 171,165,287,273,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003788.jpg 164,123,320,266,7 1,1,500,281,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003790.jpg 54,115,462,269,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003791.jpg 197,247,321,374,8 36,268,224,375,10 221,255,270,296,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003792.jpg 16,108,150,260,11 178,108,410,288,11 351,87,474,267,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003793.jpg 30,26,348,500,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003796.jpg 422,220,444,272,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003797.jpg 312,304,346,378,14 269,289,302,339,14 408,313,439,372,14 39,1,500,400,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003798.jpg 204,181,392,282,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003803.jpg 156,186,249,341,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003806.jpg 426,85,500,165,6 85,27,433,261,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003807.jpg 36,67,500,375,7 44,39,398,344,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003808.jpg 45,3,466,328,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003809.jpg 107,128,485,274,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003811.jpg 130,87,313,269,3 301,204,429,256,3 15,87,40,131,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003814.jpg 116,75,423,314,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003817.jpg 5,3,431,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003818.jpg 170,137,341,210,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003820.jpg 1,3,500,375,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003821.jpg 50,42,405,374,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003824.jpg 78,22,272,369,14 61,145,301,451,13 1,43,332,255,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003826.jpg 104,116,337,294,13 170,60,322,227,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003827.jpg 362,173,447,226,1 270,111,363,219,1 164,160,274,260,1 128,140,158,180,1 2,152,75,238,1 452,113,500,255,14 383,136,438,214,14 271,113,339,253,14 196,88,274,262,14 19,93,76,222,14 160,128,185,181,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003828.jpg 168,53,223,86,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003830.jpg 43,20,500,341,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003834.jpg 295,50,496,335,15 7,57,188,333,15 238,268,284,322,15 190,180,272,310,15 255,215,297,269,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003835.jpg 176,278,289,332,6 7,276,45,300,6 43,197,185,313,5 1,231,34,291,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003837.jpg 2,301,172,446,8 27,392,374,500,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003838.jpg 4,74,166,375,14 119,89,280,375,14 220,64,376,375,14 342,82,500,375,14 338,68,388,198,14 461,91,500,199,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003844.jpg 137,163,266,329,7 173,151,355,333,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003845.jpg 1,26,500,355,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003846.jpg 171,93,263,234,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003847.jpg 204,151,500,375,14 1,59,209,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003848.jpg 11,21,482,161,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003849.jpg 170,175,301,267,13 214,163,277,259,14 348,188,369,235,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003855.jpg 243,139,389,229,13 264,105,331,209,14 32,111,97,210,14 156,119,221,213,14 130,164,235,225,1 16,154,104,218,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003856.jpg 114,152,489,370,14 119,21,373,359,14 25,114,157,218,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003857.jpg 3,6,375,394,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003859.jpg 188,15,227,196,4 112,1,277,128,14 1,120,375,500,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003860.jpg 1,1,458,212,3 319,110,448,310,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003861.jpg 115,52,287,294,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003863.jpg 75,111,349,179,3 189,91,324,335,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003865.jpg 132,253,302,375,10 385,60,500,375,14 286,170,419,375,14 132,177,234,262,14 25,171,175,375,14 407,190,452,255,4 237,221,255,284,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003866.jpg 11,82,385,234,18 385,133,500,203,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003868.jpg 2,235,500,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003869.jpg 328,158,458,300,11 128,110,317,292,11 1,86,189,280,14 117,109,286,318,14 192,75,486,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003871.jpg 119,82,313,433,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003872.jpg 205,170,309,245,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003874.jpg 20,308,63,331,16 462,241,476,262,16 411,207,428,220,16 298,200,317,219,16 129,287,146,301,16 100,294,148,324,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003876.jpg 93,98,174,144,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003877.jpg 281,227,368,322,15 42,188,225,348,15 307,51,376,95,15 179,171,289,351,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003879.jpg 312,57,401,325,14 241,64,330,334,14 211,63,257,335,14 167,89,240,347,14 86,73,191,326,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003885.jpg 156,373,222,425,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003886.jpg 24,79,458,228,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003887.jpg 175,443,212,472,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003889.jpg 345,75,427,295,12 157,79,282,294,12 52,105,138,297,12 337,32,439,193,14 122,35,239,188,14 1,58,102,308,14 51,48,123,196,14 431,119,472,166,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003890.jpg 7,270,282,500,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003891.jpg 306,247,332,339,14 251,252,298,313,14 146,234,182,284,14 69,249,118,352,14 29,231,55,298,14 51,231,76,298,14 3,314,331,500,6 5,284,332,395,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003895.jpg 1,2,500,246,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003898.jpg 103,75,157,104,2 152,87,199,110,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003899.jpg 124,117,318,297,11 452,133,500,239,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003905.jpg 236,66,376,267,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003907.jpg 107,167,338,321,17 269,209,496,375,17 3,129,41,276,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003911.jpg 211,9,345,95,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003912.jpg 114,100,487,394,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003913.jpg 210,2,500,374,14 3,1,263,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003915.jpg 157,161,500,375,11 9,2,186,153,14 196,35,301,164,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003918.jpg 26,78,285,500,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003919.jpg 90,269,196,307,3 210,234,279,268,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003921.jpg 83,68,398,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003923.jpg 149,56,300,211,14 5,72,84,149,14 77,52,113,131,14 45,204,500,333,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003924.jpg 64,318,100,396,15 109,320,148,383,15 120,337,152,400,15 159,323,195,358,15 160,350,194,406,15 198,248,233,400,15 55,113,103,199,15 106,104,144,192,15 143,116,188,198,15 188,147,207,194,15 201,125,242,200,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003926.jpg 1,1,316,470,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003932.jpg 207,345,247,493,4 62,20,283,493,14 243,273,372,412,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003935.jpg 98,55,347,340,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003936.jpg 34,202,190,259,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003937.jpg 1,2,312,333,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003939.jpg 111,87,347,198,12 276,79,459,197,12 275,45,367,117,14 167,52,261,176,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003941.jpg 54,39,472,342,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003945.jpg 186,173,305,276,1 103,136,227,256,1 1,116,49,230,1 210,120,315,241,14 142,95,230,222,14 2,40,48,153,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003946.jpg 78,40,238,250,14 3,141,234,486,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003947.jpg 68,386,180,500,8 180,404,304,500,8 96,304,149,344,19 96,365,312,500,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003948.jpg 91,19,206,178,14 112,43,183,196,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003949.jpg 210,151,245,193,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003953.jpg 94,180,300,429,14 177,112,225,174,14 29,2,76,63,14 71,3,118,61,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003954.jpg 6,118,135,180,6 159,148,278,217,6 156,227,316,324,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003956.jpg 2,76,375,500,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003957.jpg 15,73,413,253,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003960.jpg 38,196,266,369,12 195,222,353,372,12 143,157,204,248,14 213,166,280,300,14 117,250,205,375,14 432,259,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003961.jpg 1,1,329,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003963.jpg 53,194,95,243,19 270,230,397,359,17 312,241,335,258,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003965.jpg 236,105,381,326,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003966.jpg 35,7,313,93,5 138,16,238,280,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003969.jpg 410,118,440,180,11 76,136,132,185,2 207,152,241,181,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003970.jpg 96,115,230,437,12 93,88,254,293,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003971.jpg 26,125,479,273,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003973.jpg 1,163,208,356,5 204,284,356,340,6 472,276,500,344,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003974.jpg 1,47,289,259,3 255,164,298,316,14 284,141,333,312,14 322,146,374,312,14 367,152,411,314,14 386,152,415,320,14 408,141,447,328,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003979.jpg 174,150,277,243,2 300,169,442,333,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003983.jpg 150,54,337,218,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003984.jpg 137,36,500,261,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003986.jpg 44,57,311,330,11 175,28,462,299,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003987.jpg 2,379,280,499,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003988.jpg 1,222,117,336,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003990.jpg 245,135,500,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003991.jpg 79,53,500,264,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003992.jpg 34,36,242,129,13 25,42,426,247,13 395,1,455,170,14 340,1,407,151,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003993.jpg 45,87,418,245,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003994.jpg 8,96,273,373,9 357,132,480,373,14 252,142,366,373,14 369,63,413,170,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003996.jpg 321,11,500,375,14 118,2,407,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003997.jpg 171,110,447,262,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/003998.jpg 12,60,500,307,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004003.jpg 45,50,472,315,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004005.jpg 118,185,360,217,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004008.jpg 133,55,288,310,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004009.jpg 153,106,274,255,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004010.jpg 1,134,500,362,17 118,8,450,418,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004011.jpg 87,97,415,267,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004012.jpg 53,120,294,500,14 66,226,229,472,14 1,113,375,500,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004013.jpg 170,170,387,343,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004014.jpg 1,75,374,500,8 3,48,303,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004015.jpg 73,23,302,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004016.jpg 111,59,391,292,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004017.jpg 237,1,450,217,15 10,4,450,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004019.jpg 394,316,474,360,6 84,323,160,358,6 20,321,85,353,6 364,316,383,367,14 234,310,249,356,14 474,324,500,355,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004020.jpg 265,51,371,188,14 204,61,230,114,14 2,102,118,233,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004023.jpg 91,146,256,255,9 249,85,500,330,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004025.jpg 164,86,366,279,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004028.jpg 1,152,98,330,8 2,2,124,227,15 380,172,407,194,14 242,192,276,230,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004031.jpg 101,195,295,375,7 345,1,395,65,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004033.jpg 70,7,120,138,14 120,36,217,168,13 183,2,326,196,13 189,1,447,280,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004034.jpg 102,118,375,458,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004035.jpg 74,149,206,262,7 231,15,394,297,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004037.jpg 4,104,51,160,15 70,177,110,227,15 145,239,191,292,15 230,179,276,231,15 3,334,54,422,15 39,404,74,475,15 85,406,115,473,15 104,308,149,359,15 107,256,150,319,15 196,263,241,312,15 193,305,237,352,15 265,397,297,472,15 235,395,287,469,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004039.jpg 1,2,225,500,14 126,269,289,500,14 262,82,375,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004046.jpg 196,56,365,198,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004047.jpg 2,103,122,352,8 37,83,189,373,8 151,91,398,471,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004051.jpg 116,105,406,351,12 197,41,315,237,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004052.jpg 47,108,398,213,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004057.jpg 59,84,354,315,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004058.jpg 1,24,213,403,14 258,202,329,384,14 219,237,290,373,14 241,180,297,257,14 246,188,265,213,14 166,188,241,362,14 86,157,184,354,14 133,165,196,344,14 1,93,33,196,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004060.jpg 95,89,301,375,14 261,112,382,268,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004066.jpg 133,85,450,265,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004067.jpg 211,152,263,184,13 285,148,337,182,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004069.jpg 153,106,298,375,2 241,61,387,309,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004073.jpg 236,87,500,374,14 403,208,465,234,6 19,147,200,245,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004075.jpg 147,369,206,500,4 2,4,255,500,14 199,124,297,225,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004076.jpg 77,53,415,280,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004077.jpg 40,241,103,298,11 202,165,238,219,12 211,146,231,189,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004082.jpg 170,74,261,331,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004085.jpg 58,145,228,217,11 387,102,500,321,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004087.jpg 1,29,412,375,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004089.jpg 210,122,462,299,6 19,58,266,201,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004091.jpg 185,110,240,330,14 187,92,272,310,14 265,110,309,300,14 300,121,352,312,14 323,109,348,146,14 346,102,385,291,14 378,96,416,297,14 404,100,456,305,14 1,143,197,375,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004092.jpg 73,102,430,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004093.jpg 320,162,375,275,8 257,189,381,320,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004095.jpg 186,97,323,304,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004100.jpg 318,162,467,286,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004102.jpg 1,36,414,315,18 342,58,500,300,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004105.jpg 93,271,164,375,8 2,277,93,375,8 205,271,296,375,8 164,304,281,375,8 316,271,401,368,8 341,312,491,374,8 192,245,313,307,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004106.jpg 206,195,280,273,19 191,281,424,375,8 1,273,199,375,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004108.jpg 5,127,493,327,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004110.jpg 203,113,298,375,14 203,258,227,318,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004111.jpg 128,114,375,375,14 139,108,298,367,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004113.jpg 171,2,487,372,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004117.jpg 89,56,427,328,12 174,52,277,209,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004120.jpg 59,41,500,301,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004121.jpg 19,154,108,263,15 220,92,347,242,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004122.jpg 262,325,299,396,14 207,313,247,363,14 121,333,155,456,14 147,341,170,440,14 163,342,188,443,14 183,344,209,446,14 203,344,230,447,14 219,352,252,458,14 242,348,265,443,14 267,340,301,443,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004129.jpg 2,34,460,319,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004131.jpg 339,98,366,110,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004133.jpg 97,18,224,334,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004135.jpg 35,121,454,245,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004136.jpg 71,101,451,338,1 146,32,323,368,14 447,36,500,91,6 342,26,394,49,6 205,18,281,59,6 83,19,132,39,6 20,19,43,35,6 311,29,344,44,6 141,1,314,45,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004137.jpg 238,127,486,370,11 1,108,267,351,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004138.jpg 168,247,320,480,14 5,72,297,480,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004140.jpg 2,1,500,375,1 173,129,209,208,4 202,151,278,218,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004141.jpg 10,8,312,488,9 232,95,414,393,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004142.jpg 2,177,70,230,11 79,53,258,356,14 124,1,475,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004143.jpg 146,68,441,351,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004145.jpg 10,167,104,235,13 356,160,401,248,13 266,200,358,293,13 169,163,224,223,6 421,130,444,223,14 393,135,440,262,14 303,138,357,299,14 275,138,305,181,14 229,133,274,249,14 196,142,222,237,14 61,142,99,245,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004146.jpg 47,60,500,375,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004148.jpg 1,47,454,332,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004149.jpg 157,92,330,262,7 1,89,500,375,10 2,14,158,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004150.jpg 75,247,314,440,7 15,73,248,347,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004152.jpg 153,45,375,426,4 117,329,291,500,4 1,31,203,317,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004158.jpg 290,183,334,306,4 181,158,216,282,4 233,160,268,287,4 1,47,117,333,14 89,55,245,253,14 389,72,500,321,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004163.jpg 248,197,355,316,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004164.jpg 176,154,233,221,8 337,135,404,206,19 5,235,427,366,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004168.jpg 288,224,426,424,12 291,167,385,343,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004169.jpg 1,22,324,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004170.jpg 77,189,411,250,3 335,153,368,207,14 312,174,342,214,14 125,140,157,196,14 156,143,211,219,14 185,140,213,218,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004171.jpg 97,302,272,433,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004174.jpg 3,233,136,381,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004178.jpg 80,98,309,298,11 282,77,500,267,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004185.jpg 27,89,464,279,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004186.jpg 9,95,402,375,5 2,25,266,248,5 281,39,364,84,6 351,11,412,45,6 366,29,442,74,6 296,2,351,25,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004189.jpg 171,57,344,280,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004190.jpg 1,115,201,326,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004191.jpg 161,231,273,387,13 191,204,275,357,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004192.jpg 138,220,233,300,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004193.jpg 144,187,246,287,19 277,70,289,111,4 290,68,305,107,4 216,289,380,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004194.jpg 320,274,401,397,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004195.jpg 22,184,187,312,12 89,156,129,241,14 149,220,199,309,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004196.jpg 148,71,351,229,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004200.jpg 18,53,151,252,9 160,53,266,246,9 258,31,373,251,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004201.jpg 138,121,487,375,14 114,100,485,375,14 12,190,394,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004203.jpg 163,37,284,151,6 270,62,320,115,6 1,2,203,385,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004204.jpg 364,51,426,146,2 235,121,333,287,2 58,119,177,267,2 139,35,209,87,2 1,63,67,122,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004205.jpg 3,11,247,333,14 268,1,499,333,14 191,45,262,277,14 274,68,329,165,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004209.jpg 29,97,100,195,11 174,117,257,199,11 272,3,345,192,14 358,3,436,242,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004212.jpg 88,176,250,312,7 454,115,500,291,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004215.jpg 8,2,405,374,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004220.jpg 152,132,380,214,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004221.jpg 240,155,321,240,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004223.jpg 184,5,424,327,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004224.jpg 47,88,466,299,0 167,229,229,360,14 4,192,19,232,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004228.jpg 42,71,429,262,6 40,56,122,87,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004229.jpg 36,156,230,252,13 108,116,207,243,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004230.jpg 268,122,465,333,14 77,37,500,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004231.jpg 32,113,265,186,6 335,161,500,330,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004232.jpg 26,130,101,180,11 110,140,159,182,11 252,128,320,171,11 1,82,33,170,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004237.jpg 227,159,500,375,19 1,3,169,375,19 132,138,266,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004239.jpg 1,89,257,478,16 102,181,329,432,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004241.jpg 129,81,369,325,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004242.jpg 3,13,474,374,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004244.jpg 342,75,500,135,6 45,81,475,197,6 97,180,500,373,6 252,162,365,266,14 19,102,192,329,14 1,111,155,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004246.jpg 98,148,242,375,14 34,4,428,299,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004247.jpg 111,199,219,259,2 186,174,228,248,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004253.jpg 141,192,252,337,8 181,163,267,291,8 274,182,352,308,8 167,179,348,332,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004255.jpg 39,2,132,24,13 367,1,418,59,13 1,3,446,371,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004256.jpg 2,2,500,300,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004257.jpg 1,220,110,374,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004258.jpg 1,2,343,207,3 252,46,307,117,14 91,32,123,63,14 309,57,353,118,14 351,42,379,111,14 43,2,76,110,14 75,3,104,74,14 411,46,453,96,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004259.jpg 125,166,350,292,17 41,228,189,372,8 172,166,252,303,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004263.jpg 76,112,366,328,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004264.jpg 143,61,325,308,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004265.jpg 253,139,402,276,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004269.jpg 1,64,279,332,14 300,40,500,332,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004270.jpg 280,120,433,375,14 140,103,333,375,14 97,215,302,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004271.jpg 212,270,254,347,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004272.jpg 163,146,367,394,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004273.jpg 1,15,321,375,14 264,59,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004274.jpg 272,5,500,298,19 1,1,270,298,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004275.jpg 93,171,375,500,13 127,45,255,248,14 322,32,372,98,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004279.jpg 261,166,289,272,4 4,65,171,375,14 75,58,193,329,14 158,68,339,216,14 299,51,383,255,14 358,83,500,372,14 132,303,451,375,10 151,192,377,305,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004280.jpg 182,183,297,500,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004281.jpg 270,1,500,375,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004283.jpg 153,1,375,499,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004284.jpg 100,118,212,185,6 251,104,389,182,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004286.jpg 9,91,492,226,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004287.jpg 2,1,500,400,14 75,81,376,400,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004291.jpg 3,1,374,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004292.jpg 10,158,183,412,15 156,32,271,377,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004293.jpg 120,218,302,359,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004295.jpg 36,11,453,351,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004296.jpg 34,235,322,500,10 114,65,315,236,10 188,103,220,171,4 82,2,163,98,14 45,38,148,151,14 49,86,149,220,14 1,180,144,384,14 316,24,375,260,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004298.jpg 284,169,349,284,11 1,149,440,375,17 158,84,363,373,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004300.jpg 79,201,235,317,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004303.jpg 1,3,305,281,5 410,129,482,154,6 295,130,410,169,6 389,127,435,145,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004304.jpg 173,119,430,302,6 52,22,160,352,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004307.jpg 171,87,454,262,12 61,96,295,245,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004310.jpg 92,110,291,228,7 1,1,433,328,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004312.jpg 134,30,437,375,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004315.jpg 135,150,265,357,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004318.jpg 1,61,365,283,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004321.jpg 61,92,469,330,13 175,7,366,243,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004322.jpg 3,350,50,489,4 3,37,241,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004323.jpg 193,173,320,312,12 33,171,162,500,12 261,116,320,242,14 55,105,175,327,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004325.jpg 1,22,189,346,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004326.jpg 86,89,132,164,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004327.jpg 12,66,493,415,11 132,1,403,397,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004329.jpg 440,176,485,212,6 350,133,439,228,6 198,181,295,258,6 82,163,126,266,14 166,163,213,309,14 227,161,268,307,14 288,158,323,270,14 345,144,375,271,14 298,156,376,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004331.jpg 166,78,341,276,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004333.jpg 355,39,413,264,4 413,65,465,268,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004338.jpg 69,75,450,313,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004339.jpg 33,200,199,452,12 64,95,169,323,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004341.jpg 73,54,392,355,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004345.jpg 105,8,367,316,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004346.jpg 3,250,392,326,6 358,255,453,306,6 438,259,500,322,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004347.jpg 179,11,358,333,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004349.jpg 88,50,156,88,2 149,90,217,129,2 150,57,220,100,2 151,323,228,363,2 262,300,371,348,2 372,285,454,323,2 443,175,500,221,2 266,174,362,217,2 345,121,419,162,2 358,5,434,42,2 260,6,323,45,2 75,289,181,342,2 199,285,258,331,2 323,275,409,314,2 329,200,400,232,2 158,246,274,304,2 104,209,181,257,2 81,142,149,204,2 150,128,219,183,2 370,91,453,138,2 287,70,352,122,2 183,38,234,74,2 202,202,298,253,2 448,20,488,70,2 387,41,460,91,2 354,53,405,108,2 226,110,298,166,2 305,105,356,152,2 344,159,411,201,2 426,3,474,31,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004351.jpg 100,25,162,75,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004352.jpg 5,96,493,370,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004354.jpg 29,1,488,319,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004356.jpg 279,119,338,211,14 253,163,327,232,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004359.jpg 163,130,224,298,14 234,150,268,227,14 259,148,302,255,14 257,197,298,276,1 150,210,220,329,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004360.jpg 18,65,333,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004361.jpg 298,119,453,278,13 186,109,332,289,13 38,120,169,279,13 69,38,102,128,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004364.jpg 109,164,221,267,17 11,134,77,332,15 249,165,282,216,8 209,145,240,175,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004365.jpg 57,78,484,282,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004367.jpg 109,51,500,375,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004368.jpg 268,147,482,252,9 13,146,210,240,9 119,155,281,258,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004369.jpg 129,101,360,331,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004370.jpg 207,157,242,201,4 106,59,404,332,14 3,2,261,330,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004371.jpg 243,223,410,279,3 443,240,500,288,3 431,229,488,282,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004372.jpg 142,116,317,282,12 171,73,243,238,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004376.jpg 111,16,500,374,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004379.jpg 162,181,305,228,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004380.jpg 8,74,333,500,13 5,26,324,445,14 40,104,273,322,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004384.jpg 154,109,500,375,6 293,154,460,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004386.jpg 19,79,384,331,6 196,1,240,44,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004387.jpg 313,263,500,358,5 476,300,500,375,14 447,305,472,375,14 409,308,439,375,14 401,298,422,374,14 360,306,390,375,14 286,296,318,375,14 247,305,285,375,14 227,306,256,375,14 191,305,211,375,14 171,310,194,373,14 119,308,156,375,14 88,304,134,375,14 46,303,81,374,14 22,313,46,375,14 3,311,25,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004389.jpg 61,239,308,496,12 135,73,263,325,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004390.jpg 10,89,493,230,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004391.jpg 206,153,320,183,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004392.jpg 328,224,440,359,8 334,273,482,375,8 180,110,334,375,14 179,117,255,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004396.jpg 238,197,267,215,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004397.jpg 2,1,335,440,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004404.jpg 302,128,385,176,7 115,242,196,329,7 75,58,393,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004405.jpg 6,239,300,496,10 128,181,301,480,8 198,162,333,400,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004409.jpg 1,1,361,275,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004411.jpg 1,41,429,375,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004421.jpg 168,358,260,500,8 30,272,63,388,8 58,268,143,412,8 2,292,78,474,8 64,280,271,412,10 235,383,375,500,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004423.jpg 53,107,260,311,16 241,86,445,286,16 213,173,291,325,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004424.jpg 166,97,298,500,14 85,90,255,500,14 23,100,57,145,14 100,73,126,122,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004429.jpg 11,118,496,336,6 71,8,220,124,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004430.jpg 93,25,245,302,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004432.jpg 2,23,498,498,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004433.jpg 49,350,341,500,11 123,78,258,409,14 98,79,168,154,14 222,15,290,115,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004434.jpg 142,193,366,318,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004436.jpg 108,154,243,382,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004437.jpg 121,45,417,337,18 66,189,101,294,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004438.jpg 147,200,238,288,11 122,114,325,360,14 290,42,414,322,14 10,149,138,311,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004439.jpg 326,250,438,307,6 197,256,301,298,6 131,258,179,285,6 435,255,500,283,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004441.jpg 114,155,174,199,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004446.jpg 226,213,429,343,7 132,1,376,280,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004450.jpg 1,1,272,371,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004452.jpg 411,251,454,302,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004455.jpg 164,116,256,206,7 81,1,473,325,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004457.jpg 409,78,500,375,14 5,49,159,375,14 154,118,308,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004459.jpg 99,202,118,251,14 47,202,64,244,14 2,12,500,267,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004463.jpg 99,124,395,308,13 100,87,175,324,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004464.jpg 242,169,334,335,11 104,2,238,206,14 278,54,306,101,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004466.jpg 220,74,241,129,14 88,77,103,113,14 57,82,75,114,14 408,61,450,165,14 372,61,408,167,14 269,15,378,297,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004468.jpg 6,5,157,498,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004470.jpg 7,65,464,287,0 64,246,79,289,14 215,260,234,308,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004471.jpg 10,90,151,485,14 137,92,236,452,14 197,77,281,479,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004474.jpg 143,30,431,375,9 8,50,82,143,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004479.jpg 2,63,85,326,14 86,303,139,375,4 47,271,89,375,4 171,73,373,361,14 373,123,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004481.jpg 42,167,465,376,6 150,81,250,243,14 268,115,358,239,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004484.jpg 419,209,500,375,8 367,230,457,375,8 47,199,500,375,10 89,129,160,216,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004487.jpg 63,157,227,418,12 60,41,196,252,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004488.jpg 202,241,263,272,6 271,241,319,267,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004490.jpg 117,51,423,354,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004493.jpg 355,61,404,194,4 1,95,500,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004494.jpg 55,48,447,311,6 370,2,432,140,14 2,16,117,69,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004495.jpg 9,77,301,375,14 220,81,416,375,14 397,89,500,373,14 381,148,396,190,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004496.jpg 287,25,473,332,14 134,10,321,330,14 34,33,153,270,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004498.jpg 126,159,215,284,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004499.jpg 78,91,490,375,14 192,256,492,375,14 223,24,500,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004500.jpg 60,105,253,241,9 2,128,151,270,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004502.jpg 57,60,399,391,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004507.jpg 5,4,458,372,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004508.jpg 37,53,61,129,4 373,209,386,265,4 380,215,397,268,4 19,98,282,331,14 443,3,500,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004509.jpg 51,218,333,470,1 71,58,316,402,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004510.jpg 123,50,244,153,19 101,199,255,375,8 422,84,500,359,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004512.jpg 94,190,315,317,11 385,1,460,180,14 100,59,183,160,14 325,119,389,196,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004514.jpg 196,18,456,275,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004517.jpg 2,98,355,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004518.jpg 1,27,83,277,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004519.jpg 92,110,408,241,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004520.jpg 2,117,265,478,14 369,72,500,281,14 170,51,447,478,14 1,25,235,299,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004524.jpg 311,273,383,344,2 256,131,309,171,2 461,198,500,243,2 107,1,186,21,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004526.jpg 104,74,436,239,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004527.jpg 295,171,450,289,16 238,148,387,186,16 270,141,422,178,16 74,132,228,274,16 1,108,69,204,16 104,107,198,131,16 232,110,294,140,16 205,100,334,137,16 189,174,308,298,16 435,112,493,145,16 8,127,139,236,16 369,105,419,141,16 412,138,469,252,16 302,110,371,149,16 124,125,149,154,16 65,113,117,138,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004528.jpg 33,100,153,283,14 5,22,304,272,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004530.jpg 54,41,415,295,5 140,106,186,147,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004532.jpg 1,72,497,310,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004535.jpg 80,100,401,423,12 215,40,324,271,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004537.jpg 181,122,402,318,12 1,100,197,221,9 266,95,348,157,9 262,71,429,170,9 433,79,493,218,9 202,33,270,263,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004539.jpg 4,268,164,374,6 42,243,125,282,6 345,253,500,373,6 421,236,500,263,6 268,240,308,269,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004540.jpg 8,141,333,316,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004542.jpg 337,20,461,362,14 200,118,312,335,14 5,219,129,375,14 70,177,128,319,14 134,137,500,321,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004544.jpg 70,53,465,282,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004548.jpg 141,58,414,272,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004549.jpg 139,112,227,190,19 354,147,499,270,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004551.jpg 1,1,493,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004552.jpg 33,30,433,312,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004553.jpg 140,105,498,334,12 51,164,95,297,14 242,35,368,251,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004555.jpg 142,174,355,245,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004558.jpg 127,63,185,121,15 129,169,183,235,15 129,283,180,352,15 114,348,247,470,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004562.jpg 267,3,360,256,14 2,2,83,123,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004563.jpg 58,219,135,267,6 155,226,195,242,6 365,211,417,231,6 428,199,446,236,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004565.jpg 3,133,390,497,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004566.jpg 76,97,353,315,7 211,1,500,250,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004570.jpg 3,3,370,245,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004571.jpg 224,120,387,243,9 56,42,168,236,9 209,51,239,157,14 237,56,263,150,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004574.jpg 56,250,203,450,8 56,125,206,330,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004576.jpg 30,64,441,245,6 385,68,497,137,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004579.jpg 1,132,500,247,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004581.jpg 15,94,477,278,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004584.jpg 6,89,498,327,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004585.jpg 23,238,101,314,9 100,207,176,267,9 257,243,340,302,9 203,188,262,242,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004587.jpg 209,298,322,356,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004588.jpg 54,180,146,332,14 57,148,147,302,14 186,157,237,233,14 220,139,302,195,14 224,176,309,233,14 273,174,383,376,14 217,213,342,381,14 234,250,253,295,4 200,274,214,320,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004591.jpg 139,158,264,199,18 307,266,500,333,6 326,247,500,307,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004592.jpg 73,6,497,327,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004595.jpg 159,77,333,358,11 250,1,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004597.jpg 83,181,120,255,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004600.jpg 178,40,298,281,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004601.jpg 151,100,266,317,13 200,43,332,308,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004604.jpg 2,52,172,188,6 265,58,309,104,14 411,19,477,272,14 313,1,430,315,14 182,103,332,174,13 58,132,394,280,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004605.jpg 93,121,352,325,1 411,7,500,139,1 158,29,292,315,14 444,36,500,332,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004606.jpg 320,284,351,317,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004607.jpg 93,107,389,232,17 348,117,497,303,8 1,128,132,295,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004609.jpg 174,179,375,412,11 2,100,320,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004611.jpg 355,167,480,374,14 342,171,408,266,14 263,197,361,372,14 132,179,266,372,14 34,187,135,349,14 238,169,295,252,14 426,305,500,375,8 2,259,100,374,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004612.jpg 230,133,270,202,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004618.jpg 258,367,336,424,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004622.jpg 39,61,375,500,14 45,100,365,500,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004623.jpg 51,83,428,358,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004625.jpg 82,89,433,375,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004626.jpg 89,106,479,234,18 1,132,93,224,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004627.jpg 193,202,421,272,18 417,227,500,284,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004628.jpg 235,1,443,279,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004630.jpg 110,96,176,289,14 159,82,245,341,14 212,88,353,374,14 331,77,435,373,14 203,15,328,375,14 3,113,273,375,14 460,110,486,195,14 419,107,456,203,14 3,11,434,135,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004631.jpg 221,359,362,500,8 194,153,298,414,14 89,154,251,496,14 36,156,88,231,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004632.jpg 121,143,230,306,11 212,147,382,300,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004634.jpg 160,143,400,305,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004636.jpg 192,117,412,206,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004643.jpg 9,62,472,306,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004644.jpg 1,26,186,260,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004647.jpg 83,121,298,332,13 275,57,371,312,14 115,53,213,213,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004648.jpg 84,184,95,218,14 440,190,461,220,14 468,188,486,219,14 146,166,425,216,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004649.jpg 36,126,393,237,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004651.jpg 153,154,216,262,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004652.jpg 79,1,434,216,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004653.jpg 51,109,276,448,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004654.jpg 73,109,363,294,7 1,3,480,357,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004655.jpg 441,181,493,244,8 61,211,142,273,8 169,199,240,262,8 200,272,403,346,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004656.jpg 146,284,234,383,12 177,240,208,330,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004660.jpg 1,129,40,163,6 440,86,458,123,14 216,89,347,167,14 3,89,499,353,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004662.jpg 3,179,223,473,12 185,122,290,451,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004671.jpg 49,1,283,497,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004672.jpg 83,1,383,328,1 192,2,360,234,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004673.jpg 52,154,159,308,1 80,66,204,270,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004674.jpg 2,36,500,332,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004675.jpg 3,46,374,150,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004676.jpg 145,201,315,343,1 206,122,277,317,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004679.jpg 1,1,497,372,14 143,79,362,315,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004682.jpg 22,68,245,261,15 246,114,472,333,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004683.jpg 22,2,426,291,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004685.jpg 70,165,161,341,14 119,167,328,414,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004686.jpg 348,140,461,231,12 47,126,121,174,12 388,106,427,171,14 72,100,103,148,14 53,152,137,231,9 89,164,185,235,9 174,163,263,245,9 190,169,250,238,9 252,167,296,254,9 290,162,326,241,9 320,173,356,250,9 379,166,424,251,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004687.jpg 98,83,383,321,13 145,34,288,316,14 403,84,436,170,14 442,100,500,161,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004689.jpg 16,155,477,345,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004691.jpg 54,67,500,318,18 33,1,71,20,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004692.jpg 292,128,375,434,8 36,207,273,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004693.jpg 1,1,143,226,18 104,2,500,261,18 168,141,218,278,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004694.jpg 49,71,203,255,14 95,185,202,466,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004699.jpg 319,33,500,322,15 379,303,417,360,14 337,295,382,354,14 186,257,224,309,14 52,308,71,331,14 38,309,56,335,14 63,307,82,329,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004701.jpg 334,1,386,110,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004702.jpg 34,166,195,257,2 404,112,494,212,2 126,16,217,114,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004705.jpg 394,181,455,226,5 1,206,104,270,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004706.jpg 117,20,362,340,14 46,164,428,357,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004707.jpg 236,354,330,468,15 58,316,77,355,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004708.jpg 45,157,239,330,7 312,154,480,214,7 5,3,500,371,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004710.jpg 146,1,355,248,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004714.jpg 139,51,256,224,8 2,43,77,203,8 317,75,408,149,15 219,161,260,214,15 127,232,217,274,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004715.jpg 202,127,331,374,14 159,103,305,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004718.jpg 1,1,49,102,4 95,7,340,341,14 45,1,499,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004719.jpg 2,125,112,209,5 353,150,500,262,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004722.jpg 71,76,167,286,12 257,104,367,359,14 330,110,436,373,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004723.jpg 359,128,460,375,14 16,136,65,284,14 1,131,56,304,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004727.jpg 263,165,298,226,5 86,59,264,299,5 36,215,86,258,6 1,205,56,266,6 120,217,263,500,14 221,228,263,408,14 245,187,282,259,14 253,225,340,498,14 295,316,472,500,14 401,201,484,500,14 391,171,429,217,14 334,199,412,321,14 312,201,354,270,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004732.jpg 60,140,375,500,8 78,163,361,497,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004735.jpg 1,206,291,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004737.jpg 185,55,500,332,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004742.jpg 2,213,500,375,10 420,207,471,354,4 245,216,274,308,4 239,188,277,293,4 297,181,334,276,4 136,176,192,207,4 276,43,344,107,15 339,112,500,250,14 266,102,376,238,14 114,85,261,224,14 6,104,110,230,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004743.jpg 1,2,500,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004746.jpg 266,54,492,297,18 29,55,241,293,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004747.jpg 1,46,472,351,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004748.jpg 27,215,234,334,0 265,253,330,276,0 376,309,422,332,6 346,326,405,357,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004750.jpg 85,32,224,285,14 21,124,224,292,13 302,1,500,110,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004753.jpg 2,23,393,375,14 208,12,329,163,14 339,125,361,184,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004754.jpg 1,270,133,500,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004760.jpg 210,114,495,375,11 1,1,177,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004761.jpg 2,26,375,450,14 25,165,375,500,1 3,1,71,121,14 119,1,173,40,14 259,1,324,206,14 319,2,360,110,14 317,61,375,143,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004768.jpg 24,28,499,368,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004770.jpg 83,2,335,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004773.jpg 78,249,368,496,10 240,231,375,443,8 8,288,190,500,8 11,184,65,226,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004776.jpg 77,58,428,353,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004777.jpg 178,101,437,360,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004779.jpg 114,203,284,291,6 143,188,185,304,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004782.jpg 153,162,240,266,1 155,109,266,244,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004783.jpg 256,155,290,178,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004785.jpg 56,97,475,331,10 1,81,52,159,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004786.jpg 27,120,500,314,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004788.jpg 72,89,413,354,12 196,49,316,220,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004789.jpg 201,117,316,234,12 225,93,282,199,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004790.jpg 1,4,263,375,14 204,22,499,375,14 277,70,489,323,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004792.jpg 115,135,257,336,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004793.jpg 28,132,295,372,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004794.jpg 190,140,405,243,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004796.jpg 316,111,491,375,13 57,117,267,270,13 89,85,153,280,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004797.jpg 126,146,202,202,1 309,152,374,197,1 328,130,371,186,14 142,121,196,190,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004799.jpg 61,111,328,474,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004801.jpg 258,127,412,333,14 1,14,482,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004805.jpg 106,17,407,331,13 355,54,498,179,6 2,53,136,181,6 43,59,252,129,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004808.jpg 114,162,423,273,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004812.jpg 89,77,484,292,0 433,163,492,272,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004814.jpg 1,33,500,265,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004815.jpg 187,122,373,262,12 369,112,426,257,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004816.jpg 113,37,365,294,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004818.jpg 52,117,245,400,8 302,104,426,308,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004823.jpg 1,80,498,331,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004825.jpg 1,12,373,500,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004826.jpg 61,224,261,361,9 395,152,443,257,14 444,146,476,183,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004828.jpg 1,150,32,278,14 61,152,209,399,14 245,111,352,341,14 412,187,480,282,6 139,171,446,391,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004830.jpg 104,110,418,212,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004831.jpg 111,29,361,318,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004832.jpg 144,304,262,468,7 163,98,415,470,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004834.jpg 140,94,270,304,14 153,128,252,441,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004836.jpg 1,147,474,446,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004837.jpg 273,138,500,320,17 67,166,253,357,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004839.jpg 134,111,201,284,3 51,121,112,253,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004840.jpg 114,1,408,370,14 140,85,338,375,14 2,222,215,375,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004841.jpg 107,200,171,243,0 350,108,375,125,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004842.jpg 323,92,500,330,16 79,107,321,333,16 128,33,271,156,16 274,1,422,139,16 1,1,108,208,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004846.jpg 137,148,500,338,14 201,3,500,242,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004848.jpg 162,60,279,299,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004849.jpg 143,191,250,281,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004850.jpg 245,92,405,195,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004852.jpg 192,47,471,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004856.jpg 28,1,335,496,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004857.jpg 279,71,412,361,14 51,94,198,361,14 406,78,423,111,14 121,181,326,369,10 339,153,487,372,8 1,160,154,374,8 317,212,500,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004859.jpg 136,171,209,270,14 57,205,177,390,14 177,170,359,450,14 189,128,374,499,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004863.jpg 61,61,421,282,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004866.jpg 111,97,237,192,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004867.jpg 3,70,500,305,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004868.jpg 99,97,251,297,14 217,69,392,282,14 1,260,500,375,10 284,72,392,164,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004869.jpg 61,69,350,433,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004872.jpg 252,131,291,263,12 237,94,311,212,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004873.jpg 8,119,371,355,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004876.jpg 26,91,61,208,2 152,151,177,237,2 404,141,443,194,2 202,149,224,203,2 313,119,338,184,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004878.jpg 36,129,432,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004879.jpg 262,158,332,202,1 269,136,309,192,14 174,131,197,189,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004882.jpg 93,142,184,274,13 197,69,446,330,13 153,126,312,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004885.jpg 104,138,412,340,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004886.jpg 12,27,218,375,14 217,63,500,375,14 366,22,500,375,14 164,300,181,360,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004890.jpg 56,97,454,313,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004895.jpg 253,20,490,297,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004896.jpg 1,69,500,243,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004897.jpg 181,196,242,333,14 1,188,28,312,14 243,212,279,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004898.jpg 146,17,252,303,14 93,159,160,291,14 273,173,307,213,15 383,197,429,262,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004902.jpg 1,141,192,374,12 79,124,265,364,12 217,118,389,375,14 195,68,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004903.jpg 37,126,374,301,17 335,55,472,159,6 440,95,500,247,6 441,53,500,81,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004905.jpg 2,8,197,280,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004907.jpg 177,1,440,329,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004910.jpg 22,182,306,394,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004911.jpg 1,120,99,241,18 70,37,396,343,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004912.jpg 29,65,410,288,1 20,209,170,375,8 300,179,441,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004913.jpg 274,97,323,335,14 217,126,335,340,14 133,178,227,358,14 390,82,493,291,14 281,38,337,128,14 70,50,138,138,14 1,105,92,351,14 69,110,157,357,14 175,124,236,304,14 125,52,205,187,14 201,67,282,172,14 310,75,374,209,14 362,60,426,218,14 306,206,394,352,14 388,190,487,356,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004916.jpg 30,34,334,333,14 355,244,464,333,4 119,87,169,148,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004926.jpg 217,71,255,230,4 1,175,498,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004928.jpg 146,52,353,301,14 1,19,160,310,14 235,22,500,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004929.jpg 215,21,500,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004931.jpg 176,181,221,227,3 233,188,273,220,3 367,172,454,324,14 259,181,320,323,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004935.jpg 87,62,250,295,14 104,140,292,433,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004936.jpg 2,1,500,357,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004938.jpg 5,170,500,374,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004939.jpg 135,1,178,67,15 1,1,468,330,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004943.jpg 377,168,425,310,4 427,118,500,262,14 315,128,416,258,14 138,138,272,292,14 1,28,169,333,14 326,178,359,271,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004946.jpg 134,43,277,500,14 253,235,375,306,6 29,249,82,274,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004948.jpg 210,237,294,347,15 127,213,203,336,15 163,123,220,217,15 227,130,284,221,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004950.jpg 77,23,213,195,12 100,9,176,113,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004951.jpg 51,142,500,262,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004953.jpg 168,239,220,311,1 165,166,220,302,14 55,176,111,286,14 246,167,297,294,14 323,155,381,292,14 31,186,65,305,14 1,174,24,301,14 401,158,427,250,14 429,159,454,255,14 452,154,474,252,14 468,150,497,250,14 216,141,318,238,5 259,132,412,243,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004954.jpg 24,153,381,482,16 104,30,416,436,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004955.jpg 97,16,382,291,7 1,225,441,373,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004956.jpg 115,226,151,266,19 127,245,177,293,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004958.jpg 60,19,273,283,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004960.jpg 3,3,423,499,15 346,245,426,461,15 1,290,110,462,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004961.jpg 18,80,497,305,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004962.jpg 255,172,348,208,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004963.jpg 68,41,475,304,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004966.jpg 135,130,322,276,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004967.jpg 5,2,500,354,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004968.jpg 45,2,329,470,12 169,193,329,431,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004972.jpg 115,78,344,482,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004973.jpg 111,149,235,239,6 281,149,408,240,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004974.jpg 92,141,256,268,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004976.jpg 311,108,476,221,14 224,98,350,226,14 177,132,247,263,14 43,139,196,332,14 128,193,500,338,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004977.jpg 1,1,464,280,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004982.jpg 5,111,500,221,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004983.jpg 79,50,265,440,1 1,1,317,82,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004984.jpg 295,34,480,213,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004985.jpg 1,59,475,297,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004986.jpg 140,305,185,392,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004987.jpg 44,186,285,365,14 189,180,307,358,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004990.jpg 15,102,448,365,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004991.jpg 53,139,404,375,10 327,20,357,91,15 284,107,464,372,8 1,127,243,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004992.jpg 54,57,480,294,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004994.jpg 186,151,377,354,14 126,175,329,354,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004995.jpg 200,166,309,302,12 225,140,265,250,14 106,214,235,390,12 158,168,227,330,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004997.jpg 123,59,456,244,18 40,124,112,208,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004998.jpg 146,22,432,180,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/004999.jpg 157,101,307,216,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005001.jpg 146,120,309,333,16 125,67,204,252,16 309,138,496,333,16 310,50,442,165,16 1,1,160,287,16 174,12,291,141,16 126,2,193,71,16 4,199,85,333,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005003.jpg 188,161,251,192,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005004.jpg 137,31,454,275,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005006.jpg 207,392,291,453,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005007.jpg 116,10,390,266,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005014.jpg 29,10,484,372,14 22,54,111,325,14 376,42,431,123,14 429,42,473,118,14 458,32,499,117,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005016.jpg 10,121,196,183,0 119,53,489,190,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005018.jpg 191,85,412,308,11 23,5,250,198,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005020.jpg 270,181,436,234,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005023.jpg 207,266,259,339,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005024.jpg 1,71,176,375,14 150,2,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005026.jpg 1,170,354,294,5 344,210,428,258,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005027.jpg 235,54,274,125,14 215,91,283,176,14 277,74,457,243,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005028.jpg 4,77,312,322,6 294,118,495,292,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005029.jpg 421,107,492,156,1 378,34,439,86,1 249,99,315,152,1 178,111,246,159,1 380,13,427,70,14 437,80,487,140,14 259,79,308,142,14 188,87,240,147,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005032.jpg 23,66,267,404,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005033.jpg 107,122,478,348,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005036.jpg 227,127,362,334,9 164,145,223,236,9 338,102,355,134,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005037.jpg 65,171,169,412,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005039.jpg 116,121,309,375,14 1,128,107,375,14 295,131,472,373,14 461,129,500,316,14 438,166,467,198,14 240,131,281,168,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005042.jpg 158,205,302,462,1 4,182,147,428,1 155,37,328,399,14 1,46,157,394,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005045.jpg 5,82,281,373,14 277,82,500,373,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005047.jpg 3,1,500,244,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005052.jpg 1,11,161,496,14 147,141,325,500,14 44,243,82,346,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005054.jpg 78,135,258,485,14 154,84,334,479,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005055.jpg 183,187,298,319,10 196,193,271,329,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005056.jpg 43,45,242,213,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005057.jpg 167,112,355,312,1 178,38,334,278,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005058.jpg 131,266,177,304,16 86,285,127,315,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005061.jpg 341,112,487,272,14 188,106,329,266,14 1,82,235,317,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005062.jpg 160,141,401,266,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005063.jpg 114,360,192,473,9 35,345,92,489,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005064.jpg 246,163,352,292,1 251,108,332,259,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005065.jpg 1,57,479,298,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005067.jpg 400,233,441,273,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005068.jpg 8,411,212,485,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005071.jpg 10,156,55,180,6 293,163,327,186,6 327,181,379,206,6 422,174,459,198,6 444,201,493,237,6 103,199,198,230,6 65,164,121,187,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005072.jpg 4,78,456,299,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005073.jpg 410,85,500,151,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005077.jpg 3,170,321,260,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005078.jpg 75,13,500,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005079.jpg 22,110,454,305,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005081.jpg 227,137,440,266,12 171,115,195,150,11 114,65,210,222,14 440,30,469,104,14 414,29,430,97,14 335,32,359,104,14 266,53,294,124,14 259,35,279,116,14 238,61,253,99,14 208,61,231,119,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005084.jpg 242,179,329,333,2 82,23,185,233,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005085.jpg 118,334,293,482,10 220,348,348,500,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005086.jpg 158,184,257,262,8 39,145,144,375,14 269,42,498,372,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005090.jpg 28,119,466,265,5 461,164,498,256,14 409,174,445,259,14 167,157,209,293,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005093.jpg 106,163,333,397,13 202,61,333,330,14 95,215,128,253,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005094.jpg 1,135,281,226,18 298,167,448,268,12 293,188,370,270,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005097.jpg 114,36,459,353,11 194,1,460,245,14 8,1,223,261,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005101.jpg 1,2,374,500,8 162,224,349,368,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005102.jpg 1,199,54,271,14 1,167,50,219,6 104,170,166,216,6 200,173,319,222,6 270,181,406,241,6 303,185,500,274,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005104.jpg 1,63,69,208,19 305,84,500,333,17 355,199,450,297,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005107.jpg 54,195,273,337,1 271,138,288,192,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005108.jpg 171,113,231,173,0 110,226,162,248,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005110.jpg 83,33,384,152,6 405,96,461,142,6 2,158,133,287,6 126,176,189,232,6 180,186,206,217,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005111.jpg 3,1,365,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005114.jpg 311,54,404,189,14 325,103,388,242,12 451,132,500,219,9 56,136,132,257,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005116.jpg 410,125,500,245,13 282,119,395,236,13 141,128,315,254,13 302,97,401,240,14 165,103,332,272,14 416,107,500,246,14 380,67,409,161,14 205,85,256,152,13 302,75,348,112,14 15,43,37,81,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005121.jpg 30,91,205,333,11 344,66,500,333,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005122.jpg 19,189,309,373,1 3,57,54,204,14 61,73,285,349,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005124.jpg 179,68,500,324,9 3,33,271,324,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005128.jpg 122,138,401,206,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005129.jpg 2,163,419,375,8 124,126,380,375,14 266,9,337,131,8 213,25,273,113,8 189,1,223,100,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005130.jpg 115,131,324,433,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005131.jpg 76,1,373,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005134.jpg 31,139,48,212,14 42,131,72,236,14 109,138,130,220,14 130,130,163,248,14 182,146,203,210,14 200,135,233,231,14 265,150,287,217,14 321,140,359,276,14 369,145,399,248,14 408,148,444,230,14 295,162,312,202,14 477,147,496,177,14 236,173,252,206,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005135.jpg 3,146,58,302,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005136.jpg 22,82,483,297,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005138.jpg 23,86,434,436,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005143.jpg 6,10,258,278,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005144.jpg 1,12,331,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005145.jpg 2,359,241,500,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005146.jpg 394,102,492,279,1 306,134,390,282,1 13,143,91,274,1 125,127,197,277,1 181,138,280,280,1 12,53,93,271,14 129,79,219,270,14 213,49,299,274,14 284,36,356,276,14 394,28,484,267,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005150.jpg 320,212,440,294,1 158,214,229,231,3 291,215,352,228,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005153.jpg 44,147,94,217,8 104,216,288,375,8 94,177,234,358,8 157,115,200,164,19 182,109,235,178,19 210,95,340,204,19 309,67,500,267,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005156.jpg 57,131,412,360,13 171,50,337,346,14 8,111,166,239,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005159.jpg 303,227,453,280,6 19,212,65,241,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005160.jpg 1,170,171,373,8 249,196,391,375,8 334,171,420,373,8 32,170,395,373,10 1,68,94,174,19 298,62,357,188,14 3,1,62,68,15 215,160,290,232,15 118,207,141,285,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005161.jpg 329,107,376,232,14 117,122,158,221,14 54,127,91,215,14 1,124,26,208,14 178,117,215,218,14 274,183,290,231,14 289,146,451,301,12 85,156,204,277,12 177,158,267,275,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005168.jpg 36,116,445,229,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005169.jpg 161,191,200,252,7 342,53,375,88,6 220,58,264,92,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005171.jpg 189,227,276,269,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005173.jpg 13,67,227,255,13 285,64,492,264,13 230,45,458,256,14 17,32,192,247,14 406,7,460,144,14 131,23,195,128,14 261,13,312,67,14 282,1,344,69,14 87,18,138,66,14 1,3,36,105,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005175.jpg 25,198,207,267,0 195,196,337,256,0 330,206,429,247,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005176.jpg 161,165,234,255,14 1,46,274,375,14 270,92,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005177.jpg 7,179,377,363,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005179.jpg 4,22,357,270,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005181.jpg 144,223,194,311,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005183.jpg 25,307,235,448,7 213,300,361,417,7 1,10,375,500,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005185.jpg 3,73,500,343,17 238,117,358,207,11 141,139,270,229,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005186.jpg 139,173,210,293,8 408,181,467,269,8 32,165,129,301,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005189.jpg 139,45,500,404,14 2,1,305,404,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005190.jpg 128,25,447,375,14 1,133,126,307,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005191.jpg 62,128,500,285,10 33,206,445,375,10 24,143,85,223,8 160,142,210,208,8 207,126,245,223,8 237,127,268,230,8 254,131,292,242,8 282,142,358,278,8 347,153,426,330,8 414,171,500,374,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005195.jpg 65,235,93,305,4 369,112,493,303,14 227,99,332,209,14 1,105,130,252,14 12,199,416,333,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005199.jpg 22,215,481,344,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005202.jpg 65,91,356,255,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005203.jpg 118,103,332,351,11 3,2,499,375,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005208.jpg 111,156,231,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005209.jpg 82,75,416,299,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005210.jpg 74,55,205,188,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005212.jpg 355,203,432,267,13 432,213,466,291,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005214.jpg 1,14,500,381,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005215.jpg 62,2,500,375,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005217.jpg 1,214,338,334,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005219.jpg 97,60,160,255,14 276,111,308,215,14 290,140,363,245,14 346,108,373,181,14 363,111,403,202,14 322,116,346,155,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005220.jpg 208,54,465,295,14 1,45,211,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005222.jpg 2,27,100,231,7 242,28,500,309,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005223.jpg 79,62,500,375,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005224.jpg 1,86,52,307,15 36,90,480,304,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005229.jpg 1,1,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005230.jpg 113,111,201,259,14 289,127,367,250,14 1,168,35,217,14 21,172,41,218,14 39,176,72,225,14 115,175,214,285,1 288,186,373,284,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005231.jpg 215,109,386,272,11 42,22,315,370,14 337,2,500,372,14 1,40,498,374,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005236.jpg 80,75,266,375,14 174,145,307,375,12 297,57,433,375,14 366,89,465,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005239.jpg 181,181,342,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005242.jpg 396,209,443,333,4 112,40,302,266,14 326,34,500,255,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005244.jpg 2,10,436,342,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005245.jpg 285,57,489,246,14 1,25,198,241,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005246.jpg 84,48,493,387,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005248.jpg 440,181,459,234,14 1,163,129,374,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005253.jpg 133,47,431,333,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005254.jpg 139,142,307,304,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005257.jpg 251,112,315,210,14 176,188,319,234,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005258.jpg 1,1,500,315,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005259.jpg 19,69,433,302,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005260.jpg 223,57,331,189,14 35,55,171,191,14 171,91,325,194,13 16,88,167,207,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005262.jpg 372,205,500,298,6 14,159,53,185,6 80,114,342,241,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005263.jpg 3,4,499,373,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005264.jpg 207,93,457,500,2 19,47,293,500,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005267.jpg 68,51,404,310,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005268.jpg 286,81,497,237,1 117,170,205,237,1 250,14,416,201,14 90,130,197,219,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005269.jpg 76,113,402,302,18 372,206,403,287,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005270.jpg 49,113,500,360,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005273.jpg 108,55,285,156,6 235,84,418,153,6 336,12,415,160,14 397,50,439,154,14 1,112,305,357,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005274.jpg 282,103,435,358,11 170,229,277,341,11 102,62,422,344,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005278.jpg 104,65,319,318,12 3,132,101,243,12 204,45,266,218,14 151,72,199,142,14 42,94,78,191,14 263,90,283,131,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005281.jpg 121,244,177,336,1 132,181,190,322,14 59,199,89,318,14 17,179,68,352,14 97,228,110,253,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005283.jpg 303,87,474,375,14 1,99,146,375,14 150,20,345,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005285.jpg 90,118,372,342,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005288.jpg 217,259,249,290,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005290.jpg 227,121,287,181,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005292.jpg 304,218,500,376,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005293.jpg 99,80,184,195,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005297.jpg 89,2,454,333,14 104,71,249,333,14 37,132,106,270,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005298.jpg 16,100,166,333,14 246,43,371,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005303.jpg 72,196,378,470,11 10,40,378,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005304.jpg 264,75,391,282,4 1,2,472,400,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005305.jpg 74,358,266,462,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005306.jpg 180,96,260,259,14 58,117,206,375,14 112,227,199,375,14 288,111,395,375,14 167,209,337,375,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005307.jpg 256,170,356,259,7 3,55,378,341,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005310.jpg 29,170,414,333,14 100,33,259,301,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005311.jpg 218,66,250,110,14 239,51,305,112,14 1,1,194,205,14 261,7,429,212,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005312.jpg 111,53,364,366,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005314.jpg 6,11,499,358,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005315.jpg 222,174,286,276,1 226,116,287,248,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005318.jpg 109,37,421,291,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005319.jpg 1,11,411,493,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005320.jpg 374,144,480,188,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005325.jpg 277,250,326,309,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005326.jpg 197,197,237,269,14 341,176,361,235,14 60,223,181,283,9 34,225,143,277,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005327.jpg 2,159,500,374,17 33,202,319,262,14 288,210,401,257,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005328.jpg 150,163,210,232,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005331.jpg 71,142,291,448,12 101,84,245,304,14 84,87,161,140,6 1,91,40,140,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005336.jpg 36,273,399,447,17 117,302,367,383,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005337.jpg 284,99,357,130,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005338.jpg 65,32,178,178,2 234,46,397,361,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005340.jpg 219,18,360,238,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005343.jpg 110,142,387,375,14 122,142,429,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005344.jpg 93,240,237,500,1 39,40,284,452,14 197,29,329,408,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005345.jpg 161,158,180,224,4 2,198,375,500,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005346.jpg 421,43,500,237,15 95,77,394,330,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005348.jpg 181,146,330,499,14 1,24,215,499,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005349.jpg 400,96,500,223,19 1,135,104,273,19 101,234,432,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005350.jpg 85,140,400,249,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005351.jpg 266,192,438,375,12 192,163,263,298,12 294,153,351,280,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005352.jpg 137,97,237,291,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005355.jpg 7,116,426,298,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005358.jpg 231,131,278,155,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005360.jpg 72,97,431,242,18 1,137,71,226,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005363.jpg 2,69,368,499,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005365.jpg 54,2,429,345,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005367.jpg 112,51,217,313,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005368.jpg 27,346,254,500,1 9,18,323,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005369.jpg 310,220,387,255,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005370.jpg 260,156,351,178,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005371.jpg 22,206,214,333,2 89,14,499,332,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005373.jpg 245,150,300,188,6 329,149,372,178,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005374.jpg 290,147,361,325,14 211,136,255,262,14 215,153,258,262,14 187,2,500,347,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005378.jpg 3,186,87,289,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005379.jpg 34,92,346,232,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005380.jpg 25,28,340,500,8 160,182,330,484,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005383.jpg 80,2,399,319,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005384.jpg 12,2,500,375,18 313,133,456,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005385.jpg 46,208,101,334,4 153,5,500,336,14 74,33,321,283,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005387.jpg 45,172,415,305,5 2,254,45,269,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005388.jpg 82,67,121,196,4 147,106,183,199,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005389.jpg 25,42,410,208,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005391.jpg 25,109,463,226,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005393.jpg 53,46,432,175,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005395.jpg 253,209,292,238,16 287,209,312,241,16 345,202,382,229,16 406,224,457,267,16 172,195,207,220,16 147,195,179,215,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005396.jpg 8,132,226,344,19 37,156,201,291,14 269,122,486,475,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005397.jpg 315,172,500,375,17 165,163,251,295,8 249,174,330,290,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005398.jpg 68,117,247,284,13 108,100,186,253,14 139,96,231,267,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005404.jpg 132,88,500,375,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005405.jpg 71,151,276,401,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005406.jpg 172,126,235,187,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005407.jpg 157,234,182,266,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005408.jpg 87,113,335,269,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005410.jpg 263,148,364,333,14 282,239,353,333,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005413.jpg 60,101,228,499,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005414.jpg 59,105,217,333,13 265,121,443,333,13 196,40,290,330,14 283,55,433,330,14 432,95,487,150,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005416.jpg 1,25,469,439,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005417.jpg 1,1,384,373,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005418.jpg 216,97,432,312,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005419.jpg 100,111,237,419,12 85,74,240,262,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005420.jpg 32,22,395,464,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005421.jpg 65,18,366,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005423.jpg 3,140,131,192,6 206,139,297,181,6 61,139,319,325,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005424.jpg 39,80,153,210,1 24,253,150,429,1 70,14,181,185,14 21,137,209,365,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005429.jpg 206,139,287,216,1 226,97,269,195,14 242,57,304,207,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005430.jpg 110,127,295,266,1 213,30,356,284,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005431.jpg 150,220,191,255,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005433.jpg 139,156,332,280,11 1,1,500,375,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005434.jpg 72,98,192,307,7 1,2,129,320,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005436.jpg 349,124,466,182,13 37,141,172,210,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005438.jpg 35,175,157,315,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005439.jpg 171,44,328,237,8 1,199,137,375,8 212,85,284,137,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005440.jpg 1,176,444,243,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005441.jpg 302,291,373,358,4 3,63,77,375,14 61,90,99,189,14 54,112,178,372,14 165,72,254,374,14 260,62,355,375,14 383,62,450,117,14 305,93,472,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005445.jpg 32,233,353,497,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005448.jpg 405,113,461,206,14 291,114,355,218,14 218,122,272,201,14 154,117,207,182,14 101,115,146,193,14 37,109,91,187,14 396,150,467,219,13 284,147,353,219,13 218,150,279,216,13 153,152,213,212,13 96,144,160,208,13 34,138,100,205,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005450.jpg 7,123,342,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005451.jpg 238,103,375,500,14 156,357,237,466,14 78,362,137,479,14 80,396,220,495,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005453.jpg 1,235,197,330,11 203,3,500,333,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005454.jpg 89,82,227,271,19 363,174,500,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005455.jpg 89,34,333,250,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005457.jpg 64,123,387,274,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005461.jpg 146,170,450,319,12 47,184,225,266,12 227,122,288,298,14 163,170,183,189,14 71,142,129,371,14 5,165,39,217,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005465.jpg 139,96,500,341,0 441,232,500,304,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005467.jpg 345,107,408,303,4 402,64,498,241,14 347,71,427,184,14 38,21,220,375,14 111,192,500,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005469.jpg 43,101,500,333,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005470.jpg 3,3,375,500,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005471.jpg 303,28,455,174,8 19,28,274,332,14 274,26,497,308,14 162,238,190,305,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005475.jpg 286,28,489,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005478.jpg 1,160,98,411,14 1,166,229,499,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005481.jpg 1,54,466,277,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005483.jpg 63,72,376,230,6 1,150,89,257,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005485.jpg 451,149,476,172,2 203,175,242,205,2 156,196,192,220,2 33,183,55,210,2 118,184,148,205,2 133,160,166,177,2 161,216,202,325,14 213,235,261,322,14 237,220,263,258,14 248,241,298,322,14 245,252,273,287,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005486.jpg 41,71,454,322,6 252,69,500,195,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005487.jpg 68,113,477,259,0 199,223,223,268,14 79,231,103,283,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005489.jpg 252,166,329,203,6 409,71,464,94,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005496.jpg 164,107,454,299,3 415,202,437,233,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005497.jpg 2,167,334,500,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005499.jpg 2,48,500,333,6 277,5,414,180,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005507.jpg 143,194,175,216,1 243,171,261,217,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005508.jpg 89,131,275,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005509.jpg 11,65,463,200,0 484,153,497,192,14 429,153,444,200,14 408,150,426,204,14 309,155,328,198,14 295,155,309,202,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005510.jpg 3,25,498,328,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005511.jpg 107,133,198,424,12 88,112,226,298,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005514.jpg 1,53,364,297,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005515.jpg 1,177,332,500,15 1,1,121,366,15 45,1,371,269,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005517.jpg 350,120,500,333,8 10,10,89,239,15 67,45,153,125,19 239,44,330,132,19 337,40,432,123,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005518.jpg 125,83,295,344,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005519.jpg 86,149,174,358,7 223,76,389,289,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005521.jpg 69,146,458,374,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005522.jpg 429,96,447,130,14 454,93,470,131,14 272,91,306,183,14 116,92,146,216,14 86,108,111,160,14 59,104,82,160,14 1,115,94,312,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005524.jpg 22,48,334,297,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005526.jpg 412,275,500,375,19 1,4,268,375,14 219,116,457,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005527.jpg 24,42,363,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005530.jpg 4,164,164,303,5 99,169,281,303,5 214,173,355,283,5 286,175,433,285,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005531.jpg 169,210,257,359,8 192,179,262,326,8 248,216,356,360,8 163,51,218,186,15 106,195,375,348,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005535.jpg 82,1,433,308,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005536.jpg 43,116,426,321,6 267,113,380,321,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005539.jpg 164,36,458,351,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005541.jpg 167,197,187,252,4 1,1,49,298,14 130,50,391,337,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005542.jpg 153,122,277,375,14 284,141,321,234,14 432,192,480,302,14 472,144,500,309,14 256,140,287,228,14 374,155,388,187,14 354,149,367,187,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005544.jpg 79,188,288,310,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005547.jpg 171,175,320,368,9 48,150,447,347,6 439,148,471,269,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005549.jpg 136,202,196,239,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005550.jpg 222,189,268,256,12 237,176,291,269,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005552.jpg 239,202,279,338,14 190,203,264,356,14 164,237,267,407,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005554.jpg 316,157,427,284,1 207,171,341,324,1 24,163,210,330,1 61,72,235,302,14 225,91,355,277,14 343,86,445,283,14 398,6,428,42,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005559.jpg 105,12,500,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005563.jpg 419,1,500,77,19 207,39,374,330,14 104,84,369,374,14 356,81,373,127,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005566.jpg 80,39,422,293,6 209,8,253,36,6 441,1,500,37,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005568.jpg 28,146,236,287,12 272,143,482,294,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005573.jpg 121,57,323,373,14 3,54,418,373,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005574.jpg 130,127,500,308,0 158,199,226,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005576.jpg 19,73,484,103,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005577.jpg 1,138,479,375,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005579.jpg 54,160,212,237,7 129,192,368,301,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005582.jpg 74,8,382,375,14 370,2,500,375,14 1,2,107,375,14 297,25,339,108,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005583.jpg 145,220,178,316,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005584.jpg 334,192,488,319,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005585.jpg 334,96,389,276,14 21,131,303,344,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005586.jpg 116,107,212,301,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005588.jpg 150,223,266,311,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005590.jpg 21,75,309,316,7 234,59,333,252,7 314,47,500,316,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005591.jpg 114,257,430,375,10 67,243,103,359,8 86,245,129,374,8 112,248,166,375,8 147,257,210,372,8 190,261,282,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005592.jpg 122,135,277,207,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005593.jpg 123,95,365,275,6 252,112,304,153,14 172,110,220,150,14 298,31,351,136,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005599.jpg 179,146,308,435,1 46,171,181,408,1 150,27,318,369,14 26,37,191,376,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005600.jpg 255,136,319,165,0 100,195,114,226,14 88,195,102,224,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005601.jpg 2,161,427,382,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005603.jpg 1,33,409,333,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005605.jpg 209,138,289,205,19 381,223,500,362,8 302,64,358,266,15 91,204,128,266,15 76,234,107,258,15 68,184,104,222,15 144,163,162,216,15 358,153,421,244,8 323,193,356,265,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005606.jpg 10,145,96,301,4 10,41,291,373,14 100,67,495,373,14 20,84,75,144,14 65,109,117,172,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005608.jpg 1,226,303,462,13 31,146,199,441,14 97,181,241,321,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005609.jpg 15,29,482,315,6 313,3,500,147,6 160,5,323,100,6 61,3,136,47,6 1,29,70,143,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005611.jpg 93,53,343,319,12 163,22,266,199,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005613.jpg 63,1,298,292,14 161,227,395,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005614.jpg 58,192,281,277,3 210,72,334,237,3 314,194,413,230,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005615.jpg 22,135,329,326,13 155,87,297,338,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005618.jpg 376,147,499,272,19 216,155,270,255,8 266,145,316,238,8 187,146,225,231,8 89,92,124,241,14 142,93,191,243,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005620.jpg 4,66,496,236,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005624.jpg 206,51,338,291,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005625.jpg 65,50,500,375,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005629.jpg 250,84,415,321,8 110,70,256,275,8 94,56,424,325,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005630.jpg 135,1,352,288,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005631.jpg 1,118,206,498,5 273,290,303,376,14 320,288,359,403,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005636.jpg 131,184,209,382,12 254,211,318,386,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005637.jpg 62,91,132,240,2 227,122,314,274,2 352,97,447,228,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005639.jpg 197,174,322,273,1 250,130,308,209,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005640.jpg 107,188,245,271,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005641.jpg 43,170,500,375,11 208,71,443,281,11 161,1,228,43,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005644.jpg 184,39,500,372,14 1,78,227,373,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005645.jpg 1,27,500,375,6 55,71,82,102,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005647.jpg 213,218,315,364,8 72,223,164,346,8 41,190,97,306,8 153,181,255,326,8 22,189,309,344,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005648.jpg 22,109,56,247,14 91,130,149,248,14 166,316,265,467,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005652.jpg 192,60,248,220,14 185,117,260,309,1 302,52,364,151,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005653.jpg 82,73,377,261,9 207,97,284,280,14 362,103,422,262,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005654.jpg 1,61,442,324,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005655.jpg 134,180,287,230,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005657.jpg 1,14,490,331,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005658.jpg 40,121,375,412,5 120,202,171,252,14 21,249,41,295,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005660.jpg 262,218,382,389,18 190,304,220,394,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005662.jpg 121,136,227,295,14 262,203,271,226,4 245,207,254,245,4 231,200,243,241,4 212,202,223,234,4 1,273,349,500,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005664.jpg 206,16,365,203,14 82,19,412,375,14 1,16,153,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005668.jpg 2,131,185,373,11 167,117,338,373,11 293,112,500,324,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005669.jpg 254,151,341,202,6 409,135,500,199,5 160,87,194,220,14 1,1,154,332,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005672.jpg 305,65,341,172,4 1,1,138,191,14 1,107,377,500,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005674.jpg 10,63,288,476,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005676.jpg 134,32,388,285,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005679.jpg 440,47,500,119,6 42,27,443,330,6 2,74,115,312,6 33,42,140,124,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005680.jpg 121,65,372,318,18 476,244,500,299,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005682.jpg 85,3,404,375,14 5,2,162,174,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005685.jpg 48,130,300,451,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005686.jpg 364,215,465,363,8 299,200,404,349,8 289,191,500,356,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005687.jpg 58,220,266,333,15 284,239,367,333,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005693.jpg 186,70,375,500,14 1,8,152,500,14 105,227,230,446,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005695.jpg 71,129,331,499,14 171,196,330,486,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005696.jpg 4,101,325,436,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005697.jpg 105,162,420,333,17 227,101,270,168,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005699.jpg 155,217,346,310,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005700.jpg 158,205,224,335,12 153,146,229,266,14 258,147,281,184,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005701.jpg 273,274,317,312,8 161,270,219,344,8 86,277,146,355,8 4,277,109,406,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005702.jpg 38,227,292,500,1 76,63,327,465,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005704.jpg 387,174,500,255,10 437,113,492,178,14 352,130,433,273,14 279,198,390,307,14 270,232,408,374,14 197,294,322,375,14 74,82,220,302,14 58,121,100,173,14 7,131,57,179,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005705.jpg 62,16,246,408,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005710.jpg 259,244,334,333,8 286,217,329,263,8 348,211,387,280,8 236,193,319,268,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005713.jpg 137,277,194,313,3 433,278,500,318,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005714.jpg 122,223,377,295,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005715.jpg 39,8,474,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005716.jpg 1,7,295,297,14 368,1,500,206,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005718.jpg 33,233,160,385,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005719.jpg 178,166,500,375,10 1,59,79,326,14 45,48,102,203,14 164,51,239,156,14 244,33,323,196,14 329,110,373,209,14 333,119,465,247,14 96,124,280,373,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005723.jpg 412,242,480,390,8 238,250,377,391,8 43,241,213,391,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005728.jpg 132,61,194,192,14 280,142,406,248,9 149,114,231,250,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005729.jpg 25,108,403,332,13 135,34,309,304,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005730.jpg 321,255,363,307,8 128,238,192,332,8 298,255,324,293,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005731.jpg 2,34,429,313,5 381,177,410,285,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005732.jpg 349,232,450,406,12 249,209,336,408,12 38,171,195,401,12 348,166,453,385,14 229,157,351,374,14 44,115,173,373,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005735.jpg 1,100,493,287,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005736.jpg 11,142,260,300,13 311,117,488,228,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005738.jpg 58,92,378,270,6 1,103,107,231,6 227,85,247,102,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005740.jpg 255,146,365,312,2 1,26,274,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005741.jpg 253,120,475,274,12 4,112,99,288,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005742.jpg 422,226,472,254,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005743.jpg 73,94,220,219,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005747.jpg 6,13,493,259,6 100,4,140,80,14 67,14,101,84,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005749.jpg 49,131,483,297,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005752.jpg 3,40,433,322,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005755.jpg 80,27,401,237,17 6,181,500,400,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005756.jpg 40,167,463,303,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005757.jpg 107,167,172,301,1 214,188,253,271,1 108,75,178,280,14 210,131,252,253,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005760.jpg 41,124,232,227,6 220,127,448,229,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005761.jpg 21,54,381,361,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005762.jpg 325,390,375,485,15 228,426,301,500,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005764.jpg 1,17,109,461,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005765.jpg 2,2,338,374,14 251,4,500,375,14 1,1,118,262,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005768.jpg 214,143,424,315,1 217,38,398,282,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005769.jpg 68,162,497,343,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005773.jpg 65,200,163,357,14 138,239,215,365,14 171,171,303,365,14 306,284,371,394,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005779.jpg 134,27,500,331,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005780.jpg 213,111,304,197,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005781.jpg 23,114,207,295,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005782.jpg 54,93,411,226,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005783.jpg 70,173,202,260,13 239,162,416,271,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005784.jpg 130,114,417,243,8 6,22,410,278,14 7,106,494,438,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005786.jpg 358,25,447,312,14 320,51,390,312,14 250,41,327,315,14 192,31,271,318,14 130,45,200,314,14 47,47,146,328,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005788.jpg 148,32,358,262,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005789.jpg 237,137,500,347,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005790.jpg 267,34,500,281,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005791.jpg 1,44,74,156,6 35,36,479,328,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005794.jpg 1,186,145,357,17 83,167,281,330,8 263,152,344,208,10 321,146,358,215,8 278,149,323,222,8 25,46,125,128,15 412,55,500,148,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005796.jpg 45,57,294,500,14 300,275,375,387,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005799.jpg 390,170,430,220,19 244,146,297,229,14 189,163,248,228,14 411,114,500,373,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005803.jpg 67,156,433,273,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005805.jpg 172,94,274,319,2 316,234,409,318,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005806.jpg 216,154,349,286,6 125,75,189,154,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005811.jpg 446,1,477,85,14 335,74,455,305,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005812.jpg 291,182,466,275,11 11,165,127,291,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005813.jpg 147,164,288,354,15 105,240,207,351,15 94,195,140,352,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005814.jpg 249,163,388,275,19 53,1,279,346,14 188,310,323,351,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005815.jpg 1,1,419,330,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005817.jpg 252,2,500,370,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005818.jpg 89,112,198,375,14 184,153,283,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005819.jpg 348,167,479,260,7 52,114,242,277,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005821.jpg 111,232,171,315,15 263,209,311,289,15 199,200,246,254,15 6,143,95,230,15 171,198,195,251,15 355,184,481,354,8 461,171,500,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005824.jpg 171,95,231,237,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005825.jpg 1,1,401,333,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005826.jpg 78,159,132,286,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005828.jpg 86,62,443,210,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005829.jpg 41,15,189,327,14 174,92,363,327,14 372,137,500,327,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005830.jpg 1,35,473,305,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005831.jpg 36,147,465,344,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005836.jpg 71,40,263,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005838.jpg 73,17,467,287,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005839.jpg 84,93,435,426,6 2,113,124,250,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005840.jpg 1,136,118,500,14 77,160,245,500,14 212,160,303,500,14 326,180,493,500,14 258,165,381,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005841.jpg 23,219,212,461,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005843.jpg 124,199,294,312,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005845.jpg 1,207,270,349,7 236,2,500,349,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005850.jpg 54,117,348,322,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005851.jpg 223,155,316,190,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005852.jpg 231,206,317,277,19 129,220,320,475,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005853.jpg 180,104,326,192,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005854.jpg 150,167,211,216,2 242,71,337,257,2 255,184,361,265,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005856.jpg 4,106,135,209,19 157,82,312,372,14 117,52,434,322,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005859.jpg 2,3,298,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005860.jpg 144,192,353,250,3 375,202,478,239,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005861.jpg 246,147,382,222,6 30,160,84,183,6 122,160,183,185,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005863.jpg 31,77,133,375,14 65,128,153,374,14 134,74,189,147,14 132,140,241,375,14 183,94,234,183,14 182,177,257,352,14 240,81,295,375,14 256,122,338,374,14 299,75,361,174,14 351,50,415,153,14 299,189,376,375,14 334,100,434,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005864.jpg 126,161,316,268,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005867.jpg 235,190,291,243,19 232,252,365,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005868.jpg 19,134,488,324,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005873.jpg 140,191,245,338,11 149,2,296,331,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005874.jpg 153,163,434,331,17 125,161,159,236,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005875.jpg 37,4,464,368,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005877.jpg 106,40,219,333,12 292,38,484,333,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005878.jpg 100,92,323,222,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005879.jpg 5,33,310,494,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005881.jpg 206,79,500,371,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005884.jpg 56,36,370,324,13 81,39,245,212,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005885.jpg 109,57,410,373,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005888.jpg 277,40,500,373,11 13,69,334,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005889.jpg 2,124,160,375,14 113,61,275,375,14 231,94,328,375,14 263,61,500,375,14 440,91,500,234,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005893.jpg 1,84,479,182,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005894.jpg 40,261,151,369,15 28,246,102,314,15 202,220,244,284,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005895.jpg 274,204,316,235,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005897.jpg 419,201,488,240,6 251,246,452,343,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005899.jpg 125,125,379,260,11 1,1,142,149,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005901.jpg 181,64,376,316,7 104,153,404,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005903.jpg 2,87,324,375,18 381,207,402,292,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005905.jpg 194,2,359,283,14 2,2,246,283,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005906.jpg 114,114,188,221,5 232,170,257,232,14 358,131,400,257,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005908.jpg 72,2,499,375,14 169,19,346,220,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005909.jpg 152,124,291,333,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005910.jpg 218,78,351,179,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005911.jpg 2,50,500,314,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005912.jpg 245,71,345,284,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005914.jpg 422,226,486,273,3 243,227,360,264,3 2,227,233,296,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005917.jpg 315,160,493,360,8 156,130,259,237,8 123,203,158,225,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005918.jpg 53,27,469,266,6 15,25,126,123,6 385,33,500,123,6 295,29,353,85,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005919.jpg 245,176,259,232,4 288,171,302,226,4 298,186,310,218,4 261,207,281,285,4 203,209,214,239,4 199,229,214,264,4 174,268,195,328,4 231,133,317,208,14 153,146,196,231,14 108,144,159,266,14 69,163,121,288,14 3,155,107,330,14 341,129,394,236,14 422,131,462,173,14 338,132,458,308,14 355,158,500,345,14 86,208,385,354,10 309,254,329,315,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005920.jpg 15,265,350,375,10 302,272,349,375,8 220,294,309,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005923.jpg 278,213,417,329,1 218,213,293,322,1 126,216,229,354,1 168,170,221,287,14 224,153,274,249,14 310,142,387,308,14 206,94,234,127,8 277,98,308,126,8 299,110,337,147,8 175,120,213,170,17 284,160,308,192,15 449,105,500,189,15 376,63,409,124,15 221,131,274,171,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005928.jpg 388,103,500,337,13 2,153,104,375,13 84,149,156,245,13 214,136,326,331,13 289,77,334,201,14 212,89,331,298,14 144,85,207,315,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005930.jpg 48,81,213,197,1 12,16,48,176,14 412,97,443,136,14 64,7,170,180,14 411,119,454,151,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005938.jpg 135,73,401,313,14 3,102,152,312,14 148,116,224,221,14 8,127,53,175,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005940.jpg 2,57,154,366,14 125,151,276,374,14 178,83,305,228,14 244,140,389,373,14 376,140,496,374,14 397,163,500,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005947.jpg 90,26,323,330,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005948.jpg 166,198,229,230,11 260,134,325,261,12 329,133,424,257,12 366,100,403,203,14 274,108,310,214,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005951.jpg 185,62,498,301,13 329,36,468,272,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005952.jpg 94,8,465,122,0 1,38,84,114,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005954.jpg 173,54,375,484,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005956.jpg 48,68,437,310,6 338,96,500,217,6 211,90,245,123,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005960.jpg 94,284,166,370,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005961.jpg 58,391,294,485,5 306,431,324,478,14 333,426,351,477,14 360,419,375,472,14 115,421,166,500,14 25,457,75,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005963.jpg 252,155,385,322,8 327,178,500,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005964.jpg 1,1,426,331,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005968.jpg 98,1,500,333,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005970.jpg 93,114,333,500,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005971.jpg 8,109,341,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005975.jpg 67,214,92,277,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005979.jpg 26,9,487,331,6 393,1,438,116,14 337,1,376,97,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005980.jpg 53,8,420,312,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005981.jpg 244,130,404,375,9 69,73,205,153,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005983.jpg 235,93,286,160,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005984.jpg 93,200,295,369,11 280,215,464,330,11 60,58,445,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005985.jpg 239,1,354,258,15 55,70,231,410,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005988.jpg 332,186,413,225,11 97,167,165,222,11 37,66,95,232,14 346,48,455,252,14 446,68,500,142,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005989.jpg 140,130,408,273,13 213,96,355,260,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005990.jpg 97,1,397,372,13 373,184,500,375,14 362,179,454,276,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005991.jpg 8,56,107,230,15 124,207,217,419,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005992.jpg 1,48,488,371,17 43,77,449,293,14 60,147,286,245,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005995.jpg 81,85,288,239,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005996.jpg 1,1,500,290,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/005998.jpg 20,29,482,327,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006000.jpg 181,259,344,500,8 196,179,354,282,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006001.jpg 2,3,500,315,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006004.jpg 94,164,301,424,8 57,146,184,468,14 130,169,266,500,14 1,173,101,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006005.jpg 55,81,181,196,14 178,70,294,192,14 182,330,257,455,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006009.jpg 134,118,298,235,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006011.jpg 190,179,337,276,6 210,95,346,164,6 239,76,266,117,14 244,142,284,181,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006012.jpg 287,186,317,210,2 312,169,337,203,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006018.jpg 244,165,419,292,5 419,217,457,267,6 455,229,500,269,6 1,209,167,310,6 193,234,231,284,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006020.jpg 21,82,500,305,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006023.jpg 21,46,495,280,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006025.jpg 21,119,449,232,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006026.jpg 214,93,479,207,7 2,114,293,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006027.jpg 150,203,198,344,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006028.jpg 19,80,93,144,1 282,81,331,289,14 177,200,215,249,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006029.jpg 2,52,51,121,19 140,33,175,99,14 26,39,174,142,14 132,33,217,136,14 225,46,252,82,15 252,38,283,72,15 261,39,377,124,8 1,109,500,375,17 150,132,490,307,14 52,217,371,309,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006030.jpg 73,241,186,375,8 167,220,252,375,8 205,199,263,375,8 1,240,291,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006033.jpg 4,12,227,500,14 178,44,372,494,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006035.jpg 270,244,344,275,6 151,251,225,274,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006038.jpg 176,220,256,257,6 373,233,447,315,13 379,195,429,290,14 397,203,443,292,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006041.jpg 1,9,47,114,19 76,54,207,375,14 222,22,500,317,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006042.jpg 205,102,318,213,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006043.jpg 2,2,496,371,6 465,29,496,131,14 252,22,302,113,14 297,23,328,63,14 116,24,150,63,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006045.jpg 1,147,149,343,8 156,167,500,375,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006046.jpg 189,104,243,206,3 261,126,306,204,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006055.jpg 369,168,423,296,8 412,179,461,306,8 125,149,208,303,8 27,155,118,309,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006058.jpg 1,107,499,375,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006061.jpg 213,7,500,200,7 207,185,280,374,7 170,1,210,61,4 106,1,157,56,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006062.jpg 37,139,381,241,6 422,97,472,116,6 72,91,112,105,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006065.jpg 4,29,500,287,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006066.jpg 47,266,204,332,8 150,120,339,264,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006067.jpg 41,184,291,257,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006069.jpg 5,1,196,470,15 150,236,443,500,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006070.jpg 1,179,338,500,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006071.jpg 108,66,353,293,13 387,49,426,216,14 2,2,69,249,14 311,44,376,219,14 75,58,119,177,14 419,2,500,315,14 157,73,192,128,14 139,102,152,153,14 374,84,394,126,14 269,28,312,115,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006073.jpg 130,54,496,346,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006074.jpg 244,208,500,345,19 1,188,220,345,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006078.jpg 27,187,91,284,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006079.jpg 164,153,332,213,3 68,51,103,68,6 30,57,68,71,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006084.jpg 141,64,500,282,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006088.jpg 1,230,174,375,8 406,183,500,337,8 91,199,342,332,17 341,162,414,212,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006089.jpg 152,130,298,255,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006091.jpg 262,41,448,162,2 135,58,309,200,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006095.jpg 264,148,496,280,9 98,123,237,248,12 150,77,189,181,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006096.jpg 30,48,472,324,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006097.jpg 1,77,454,281,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006098.jpg 92,74,292,178,3 93,100,142,140,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006100.jpg 317,144,500,347,17 106,53,169,103,15 250,107,291,158,15 183,128,238,213,8 141,163,198,200,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006103.jpg 2,308,67,371,6 72,295,96,351,14 203,291,223,341,14 350,294,366,333,14 390,293,406,326,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006104.jpg 33,149,456,333,17 171,100,331,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006105.jpg 44,5,151,443,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006107.jpg 53,116,500,327,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006108.jpg 61,22,242,336,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006111.jpg 111,89,472,301,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006117.jpg 2,60,312,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006120.jpg 66,42,484,285,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006123.jpg 470,109,500,279,3 250,136,367,282,3 118,123,187,274,3 231,315,450,375,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006124.jpg 31,103,452,303,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006125.jpg 140,128,353,291,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006128.jpg 94,194,500,323,6 64,195,225,264,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006129.jpg 9,114,487,215,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006130.jpg 1,116,500,349,17 3,85,263,352,14 203,81,428,367,14 360,78,500,370,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006131.jpg 289,95,446,264,19 416,115,500,284,19 1,107,138,277,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006133.jpg 87,79,422,283,6 1,102,157,181,6 2,82,63,196,14 455,96,485,174,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006134.jpg 125,99,442,318,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006135.jpg 221,143,266,183,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006136.jpg 54,183,166,262,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006139.jpg 82,86,165,153,11 325,167,500,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006140.jpg 181,189,495,333,10 275,149,338,220,14 344,153,408,241,14 387,147,500,291,14 5,3,205,333,14 178,95,241,190,14 72,54,183,204,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006141.jpg 238,28,336,388,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006146.jpg 108,197,275,294,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006148.jpg 100,231,208,413,9 92,122,289,452,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006150.jpg 394,131,492,350,14 193,157,257,400,14 20,150,139,379,14 61,161,133,400,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006151.jpg 106,173,321,377,12 53,170,140,363,14 215,171,262,340,14 276,174,334,332,14 1,192,207,337,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006153.jpg 242,145,306,202,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006156.jpg 2,2,451,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006158.jpg 413,89,500,161,19 54,130,190,327,14 1,149,204,338,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006159.jpg 15,29,359,463,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006161.jpg 29,160,494,332,10 312,69,398,196,14 384,103,498,312,14 348,76,446,234,14 67,73,180,217,14 1,68,109,316,14 222,26,266,101,14 259,64,316,160,14 112,64,159,158,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006162.jpg 38,100,445,215,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006163.jpg 79,89,305,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006166.jpg 125,122,312,340,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006170.jpg 147,134,174,176,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006171.jpg 54,37,231,174,14 2,166,412,315,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006172.jpg 61,171,381,358,14 158,11,361,319,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006174.jpg 49,76,388,374,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006175.jpg 207,88,295,199,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006176.jpg 4,2,281,479,14 203,4,497,479,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006177.jpg 113,233,157,284,13 120,209,154,273,14 224,234,261,268,9 360,245,403,282,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006179.jpg 58,15,302,221,19 206,109,243,156,14 159,89,220,159,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006180.jpg 78,73,304,229,4 1,66,231,288,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006181.jpg 26,66,486,319,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006183.jpg 54,207,360,436,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006184.jpg 54,94,449,322,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006185.jpg 128,222,266,307,8 13,155,153,285,14 203,70,321,258,14 257,107,456,325,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006187.jpg 61,33,375,500,14 1,43,218,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006188.jpg 50,102,390,335,1 279,123,342,186,15 174,182,241,237,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006189.jpg 133,92,186,290,4 112,1,426,330,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006190.jpg 72,35,409,264,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006196.jpg 68,1,500,373,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006198.jpg 125,107,186,174,14 82,99,123,305,14 436,78,489,360,14 434,61,500,375,14 327,79,368,159,14 283,61,344,175,14 4,82,96,375,14 342,95,443,375,14 97,83,338,375,14 199,82,376,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006201.jpg 186,174,500,224,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006202.jpg 271,121,439,255,9 59,121,153,262,9 162,140,228,234,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006203.jpg 46,366,275,458,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006206.jpg 196,245,345,354,1 171,238,302,350,1 325,240,500,375,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006208.jpg 2,106,499,266,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006209.jpg 358,185,441,268,19 147,167,355,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006210.jpg 403,92,500,255,6 374,134,426,206,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006212.jpg 7,151,475,339,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006214.jpg 357,187,440,262,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006215.jpg 134,64,293,422,3 174,355,188,383,3 52,379,96,403,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006216.jpg 6,2,485,370,13 83,85,444,281,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006218.jpg 134,59,383,207,5 438,145,490,183,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006219.jpg 186,96,365,312,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006220.jpg 62,138,132,324,8 124,127,500,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006221.jpg 1,75,344,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006222.jpg 142,53,247,118,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006223.jpg 128,90,426,266,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006224.jpg 246,167,310,196,6 238,86,289,107,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006225.jpg 86,82,463,292,6 1,1,79,266,14 99,9,189,149,14 181,11,213,125,14 194,13,255,117,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006229.jpg 76,117,157,306,14 306,115,374,248,14 347,115,382,212,14 373,75,462,375,14 168,131,355,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006230.jpg 1,33,487,356,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006233.jpg 386,303,423,347,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006234.jpg 15,63,499,232,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006235.jpg 351,251,481,308,6 222,251,362,308,6 131,257,246,307,6 41,259,157,305,6 10,239,91,300,6 443,230,464,262,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006236.jpg 4,204,339,423,13 302,235,375,500,13 98,115,220,441,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006238.jpg 278,112,404,224,19 258,1,358,139,14 40,11,317,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006240.jpg 1,14,350,467,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006241.jpg 387,164,489,372,8 183,103,210,183,4 49,135,440,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006243.jpg 1,178,366,375,13 38,97,500,324,13 75,52,138,250,14 205,68,246,149,14 266,37,314,192,14 347,37,385,195,14 416,43,463,202,14 132,50,170,159,14 313,46,349,181,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006247.jpg 2,63,454,358,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006249.jpg 11,4,409,365,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006250.jpg 59,124,279,270,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006251.jpg 75,238,146,286,16 160,221,201,255,16 127,232,179,269,16 397,225,426,263,16 323,222,361,260,16 227,232,272,269,16 170,199,203,221,16 358,199,382,218,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006252.jpg 136,86,486,303,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006254.jpg 61,102,366,207,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006258.jpg 2,11,374,421,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006259.jpg 1,188,333,442,10 68,112,127,171,14 4,136,45,195,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006260.jpg 100,56,500,233,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006261.jpg 246,330,392,438,6 1,259,74,350,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006262.jpg 43,98,481,257,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006264.jpg 193,38,339,348,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006267.jpg 84,156,394,301,11 100,72,230,198,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006269.jpg 4,1,419,293,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006270.jpg 197,180,274,273,8 5,252,276,375,8 297,177,316,195,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006272.jpg 71,217,146,347,14 72,269,133,382,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006275.jpg 1,1,497,262,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006276.jpg 106,47,232,308,14 86,120,285,455,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006277.jpg 65,70,447,322,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006279.jpg 31,127,499,244,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006281.jpg 1,206,172,337,3 157,169,500,334,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006282.jpg 119,98,312,334,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006284.jpg 169,46,500,332,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006285.jpg 256,78,343,237,14 139,87,230,239,14 242,117,352,308,12 143,129,238,306,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006286.jpg 80,88,405,375,14 436,147,475,209,14 381,145,428,191,14 104,185,209,279,10 408,241,500,375,8 49,178,135,279,8 150,184,233,290,8 19,167,65,231,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006289.jpg 12,178,171,419,8 105,122,256,339,14 160,202,436,499,14 349,157,428,276,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006290.jpg 466,191,500,270,6 21,67,471,308,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006291.jpg 301,27,484,337,9 252,2,387,224,9 100,3,305,220,9 47,12,166,211,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006295.jpg 38,123,171,221,12 337,97,447,186,12 198,103,370,202,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006296.jpg 199,57,331,400,14 320,7,496,400,14 1,9,199,400,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006299.jpg 321,1,357,89,4 284,8,316,124,4 60,1,162,127,15 351,1,450,68,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006300.jpg 27,147,77,204,1 65,177,174,270,1 181,176,500,375,1 33,112,72,188,14 100,92,178,267,14 282,37,429,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006301.jpg 408,308,453,326,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006304.jpg 321,197,357,252,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006305.jpg 205,77,429,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006306.jpg 1,71,348,213,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006309.jpg 52,48,500,325,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006314.jpg 103,114,354,373,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006318.jpg 234,130,360,309,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006319.jpg 176,2,500,374,15 1,1,85,156,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006320.jpg 123,43,434,302,6 26,104,65,213,14 66,137,93,214,14 93,141,118,213,14 465,103,480,161,14 108,110,132,176,14 56,109,75,188,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006321.jpg 54,200,232,412,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006323.jpg 152,148,181,169,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006325.jpg 276,277,363,353,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006329.jpg 36,70,480,291,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006330.jpg 313,301,394,338,6 415,307,469,345,6 442,307,500,363,6 120,307,189,339,6 80,304,124,332,6 226,312,270,333,6 12,306,40,322,6 106,277,227,334,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006335.jpg 290,28,367,298,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006337.jpg 55,111,418,318,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006338.jpg 1,1,391,273,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006339.jpg 67,65,148,137,19 284,100,383,335,17 284,166,371,238,14 265,104,322,184,14 81,128,183,199,14 86,254,188,301,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006341.jpg 39,87,347,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006344.jpg 1,39,401,313,18 394,129,439,239,14 460,152,497,249,14 449,132,490,177,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006346.jpg 364,161,500,282,5 19,165,327,275,5 1,264,216,374,6 419,221,490,374,14 255,221,341,374,14 329,209,351,285,14 304,210,333,285,14 128,230,181,321,14 110,221,143,273,14 65,222,106,271,14 1,230,209,298,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006348.jpg 12,75,80,205,19 216,107,500,374,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006349.jpg 5,36,495,256,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006350.jpg 20,68,454,228,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006351.jpg 89,55,390,375,14 358,119,465,230,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006352.jpg 153,118,408,177,5 43,82,174,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006353.jpg 1,2,500,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006355.jpg 238,214,313,336,11 202,175,245,318,11 189,27,283,217,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006357.jpg 130,359,289,440,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006362.jpg 40,28,406,332,6 1,114,146,277,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006363.jpg 118,108,220,469,4 179,64,271,383,4 50,64,143,388,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006366.jpg 1,31,461,384,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006367.jpg 115,2,400,333,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006369.jpg 18,110,424,301,6 435,102,446,131,14 450,108,500,146,6 479,96,500,156,14 334,95,380,121,6 367,100,401,137,14 400,125,425,167,14 179,13,235,64,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006371.jpg 16,23,485,307,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006374.jpg 157,127,412,279,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006375.jpg 371,142,437,182,6 194,155,291,218,6 28,160,196,306,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006377.jpg 79,117,391,282,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006381.jpg 246,251,265,295,4 5,209,125,375,14 323,198,435,365,14 267,185,353,290,14 250,126,289,167,14 3,163,56,305,14 82,155,157,295,14 127,135,207,276,14 204,130,227,171,14 217,132,260,234,14 77,266,420,375,10 394,253,489,358,8 210,170,266,238,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006382.jpg 3,62,295,331,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006385.jpg 219,158,295,325,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006387.jpg 209,169,253,222,1 208,134,238,208,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006391.jpg 135,135,359,388,8 6,114,310,454,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006392.jpg 82,50,245,198,12 119,17,202,121,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006395.jpg 408,35,479,188,19 134,117,316,347,14 17,183,213,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006396.jpg 101,110,171,167,6 352,95,454,133,6 235,101,350,137,6 309,95,373,119,6 183,93,271,139,6 160,97,185,109,6 1,99,27,126,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006398.jpg 238,138,259,217,4 260,155,285,239,4 291,133,314,209,4 284,101,304,155,4 221,304,259,375,4 246,280,278,375,4 1,100,180,375,14 43,50,206,254,14 159,57,236,198,14 391,95,500,375,14 362,72,500,269,14 332,71,399,212,14 312,40,355,139,14 261,36,317,105,14 1,56,52,195,14 145,96,436,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006400.jpg 433,80,500,256,18 189,101,440,235,18 40,125,199,203,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006404.jpg 121,232,176,270,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006409.jpg 304,98,500,375,14 1,128,114,264,14 167,178,193,241,4 8,227,376,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006411.jpg 384,142,493,243,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006417.jpg 78,109,401,262,6 1,126,79,278,6 8,116,105,190,6 283,82,499,233,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006418.jpg 1,1,479,333,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006419.jpg 57,348,153,485,8 127,406,217,500,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006421.jpg 318,161,358,186,6 59,158,158,198,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006424.jpg 203,180,496,375,17 1,288,217,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006425.jpg 74,37,300,490,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006427.jpg 265,47,500,375,14 27,49,297,375,14 1,153,22,195,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006428.jpg 2,33,500,375,12 93,169,152,312,14 1,257,64,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006429.jpg 1,2,328,500,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006430.jpg 274,163,293,224,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006433.jpg 1,1,500,375,0 212,65,249,119,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006434.jpg 147,1,500,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006436.jpg 170,36,376,282,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006437.jpg 164,147,281,180,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006438.jpg 192,97,359,225,6 1,87,40,140,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006440.jpg 307,137,500,305,13 270,123,313,266,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006442.jpg 2,29,195,500,14 130,181,347,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006443.jpg 117,131,295,216,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006444.jpg 134,146,271,364,11 411,3,500,229,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006445.jpg 65,156,401,459,12 174,101,299,272,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006447.jpg 133,163,189,232,8 190,139,257,232,8 8,144,86,233,8 97,141,242,233,10 70,32,105,104,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006448.jpg 344,69,392,250,4 395,109,427,235,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006449.jpg 2,15,500,367,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006450.jpg 99,125,316,319,14 305,47,413,322,14 1,157,111,321,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006455.jpg 85,42,254,199,12 119,11,167,137,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006456.jpg 48,36,373,313,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006458.jpg 196,62,493,271,6 26,110,235,265,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006459.jpg 52,115,332,354,12 174,65,255,210,14 283,118,368,349,14 427,135,457,214,14 461,128,499,254,14 1,147,42,248,14 375,142,433,176,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006462.jpg 67,2,375,500,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006463.jpg 1,4,236,333,14 153,27,465,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006465.jpg 75,202,279,375,14 1,168,54,375,14 370,224,492,375,14 298,225,376,375,14 220,202,467,375,14 140,153,182,210,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006466.jpg 1,24,482,358,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006468.jpg 199,129,358,247,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006470.jpg 192,133,287,324,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006472.jpg 48,1,500,312,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006473.jpg 223,83,421,223,7 24,104,235,287,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006474.jpg 1,28,500,333,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006475.jpg 137,379,259,500,2 143,8,332,436,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006476.jpg 133,198,146,238,14 256,98,447,367,14 217,200,479,367,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006480.jpg 119,110,210,155,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006482.jpg 30,31,406,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006483.jpg 100,32,379,377,14 307,146,348,221,4 316,191,338,254,4 281,151,305,217,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006484.jpg 301,192,458,329,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006486.jpg 65,259,98,346,4 1,160,160,352,14 75,113,170,257,14 210,85,313,238,14 324,135,429,312,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006488.jpg 143,185,420,358,11 245,51,498,359,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006492.jpg 115,33,478,375,14 166,168,321,366,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006495.jpg 196,150,338,365,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006497.jpg 22,84,489,264,6 97,64,216,121,6 461,98,491,153,14 426,103,452,135,14 390,97,413,128,14 166,104,185,119,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006499.jpg 1,89,320,304,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006501.jpg 118,1,500,211,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006503.jpg 435,84,461,159,4 394,80,416,137,4 307,109,474,327,14 219,86,350,270,14 1,60,100,247,14 3,201,479,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006506.jpg 362,133,500,281,12 318,153,386,271,12 236,142,287,285,12 164,175,215,271,12 3,201,115,305,12 72,170,122,276,12 399,109,454,226,14 320,124,376,223,14 231,122,291,233,14 163,133,218,235,14 74,142,121,242,14 31,143,82,260,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006507.jpg 160,89,263,223,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006509.jpg 203,227,283,317,8 1,295,69,379,8 1,231,107,307,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006512.jpg 86,66,415,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006515.jpg 26,66,470,320,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006519.jpg 4,114,172,369,14 139,105,380,375,14 177,87,500,353,14 329,262,357,375,4 80,313,499,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006520.jpg 57,41,254,488,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006523.jpg 189,186,312,230,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006524.jpg 278,2,495,95,6 125,3,302,91,6 1,1,138,94,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006529.jpg 4,48,214,375,14 171,77,394,256,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006530.jpg 40,176,192,282,8 216,180,500,330,17 244,262,500,375,8 3,168,41,251,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006532.jpg 116,156,412,288,13 205,124,331,223,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006534.jpg 46,29,313,258,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006536.jpg 28,194,334,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006538.jpg 119,94,308,258,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006542.jpg 431,172,457,229,14 414,172,433,228,14 394,175,415,227,14 181,84,194,135,14 136,84,154,134,14 122,89,137,137,14 104,86,129,134,14 88,84,107,137,14 34,87,48,104,14 1,1,500,372,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006543.jpg 174,25,309,160,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006547.jpg 23,97,273,500,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006548.jpg 174,210,474,371,2 299,139,356,221,2 188,116,256,199,2 144,140,173,188,2 1,132,93,250,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006549.jpg 176,20,247,68,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006550.jpg 44,180,289,330,13 290,141,355,322,14 207,114,283,223,14 338,150,379,316,14 12,196,61,305,1 433,195,491,259,1 460,273,480,302,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006551.jpg 260,198,362,311,1 226,183,319,273,1 104,181,216,287,1 107,110,199,269,14 227,126,286,207,14 261,125,355,269,14 5,96,32,148,14 31,100,64,150,14 63,98,89,148,14 13,125,80,235,14 61,135,111,231,14 95,129,128,177,14 334,111,368,153,14 370,110,395,153,14 390,108,425,227,14 423,117,450,155,14 447,116,496,225,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006553.jpg 160,219,351,486,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006556.jpg 2,2,500,333,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006560.jpg 1,28,246,375,14 223,31,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006562.jpg 281,116,399,234,9 181,108,281,235,9 87,87,171,236,9 1,15,74,237,9 60,160,100,222,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006564.jpg 1,58,500,232,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006565.jpg 1,134,401,373,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006569.jpg 183,83,385,157,5 32,97,141,154,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006570.jpg 1,54,311,237,11 107,129,334,328,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006572.jpg 143,33,315,248,12 80,82,152,167,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006575.jpg 81,52,310,461,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006576.jpg 37,171,113,440,4 25,1,375,475,14 1,2,117,253,14 124,139,162,180,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006578.jpg 93,52,292,334,14 4,168,275,428,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006583.jpg 84,86,339,324,14 258,60,374,214,19 367,64,425,168,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006584.jpg 122,87,174,164,14 191,98,210,124,14 212,79,275,283,14 242,86,286,233,14 86,101,182,214,14 143,99,241,327,14 2,39,217,331,14 233,39,373,331,14 384,57,484,323,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006585.jpg 168,41,325,234,14 143,101,331,258,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006587.jpg 213,31,288,198,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006588.jpg 104,28,451,311,18 5,193,86,234,6 86,200,131,227,6 473,187,488,211,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006593.jpg 2,3,499,333,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006595.jpg 118,24,457,304,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006597.jpg 19,17,445,305,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006599.jpg 100,1,248,209,8 37,1,158,262,14 224,1,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006602.jpg 92,121,205,237,11 202,365,293,489,14 22,254,85,445,14 99,365,191,465,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006603.jpg 12,323,78,427,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006605.jpg 158,186,235,311,8 340,199,412,313,8 246,222,360,375,8 142,214,256,361,8 86,181,134,218,15 49,96,96,243,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006606.jpg 92,134,417,290,11 118,89,263,181,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006609.jpg 214,156,500,375,11 1,15,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006610.jpg 72,36,151,284,4 143,50,220,288,4 118,1,439,117,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006611.jpg 80,135,224,393,12 181,237,295,382,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006612.jpg 180,204,266,412,14 74,201,218,314,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006617.jpg 88,89,362,267,12 224,36,281,192,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006618.jpg 89,100,397,257,13 131,49,251,284,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006619.jpg 110,128,222,195,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006621.jpg 142,2,426,120,17 159,166,290,343,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006622.jpg 242,123,456,236,17 26,73,111,151,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006625.jpg 284,151,319,177,6 120,141,179,213,6 17,146,111,243,6 102,153,152,266,14 69,157,100,261,14 19,156,58,283,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006626.jpg 443,106,500,213,14 277,113,372,285,14 185,101,355,303,14 2,77,258,332,14 408,207,426,268,4 442,188,464,239,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006627.jpg 466,104,500,140,15 261,93,373,190,15 1,130,462,333,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006628.jpg 64,128,113,155,8 157,124,190,171,8 172,137,209,182,8 213,144,252,195,8 249,161,291,216,8 133,207,271,375,8 17,179,152,373,8 48,150,216,375,10 386,104,429,140,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006631.jpg 275,6,500,327,14 94,19,337,327,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006632.jpg 300,256,472,365,6 224,276,270,315,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006635.jpg 14,61,342,471,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006636.jpg 26,75,355,238,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006637.jpg 352,207,447,372,1 165,158,278,259,1 107,174,172,304,1 325,110,366,316,14 200,87,259,255,14 106,107,210,288,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006638.jpg 25,110,445,325,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006643.jpg 180,39,452,375,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006645.jpg 44,171,185,379,14 133,109,289,370,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006647.jpg 179,66,272,290,14 172,38,317,349,14 276,2,426,252,14 1,32,498,365,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006648.jpg 293,2,435,334,4 3,1,463,332,14 372,204,416,285,14 312,183,346,283,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006652.jpg 172,62,328,244,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006654.jpg 1,8,157,140,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006657.jpg 190,72,341,269,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006658.jpg 119,158,382,345,10 160,99,204,186,14 200,104,264,205,14 259,102,327,209,14 304,117,387,219,14 362,131,415,222,14 288,145,490,375,14 1,96,71,269,14 39,86,137,239,14 79,121,297,372,14 1,215,72,373,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006660.jpg 47,273,295,378,6 1,200,164,262,3 276,1,500,292,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006661.jpg 75,147,134,220,1 191,147,213,188,1 77,96,132,210,14 144,111,175,188,14 182,123,215,186,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006664.jpg 1,133,327,338,1 23,58,255,298,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006666.jpg 8,97,375,500,14 8,154,334,434,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006667.jpg 192,94,429,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006668.jpg 94,28,435,334,6 27,69,134,214,14 1,1,70,258,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006670.jpg 33,181,410,465,18 432,300,474,426,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006671.jpg 57,168,201,244,2 268,103,446,235,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006673.jpg 394,42,445,234,3 353,81,390,207,3 309,52,372,246,3 294,110,324,196,3 242,70,275,212,3 230,117,245,189,3 214,112,239,201,3 187,114,210,195,3 171,107,206,223,3 137,105,171,213,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006674.jpg 41,58,250,500,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006677.jpg 1,279,75,458,8 67,235,333,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006678.jpg 133,96,459,365,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006679.jpg 327,117,488,331,16 31,88,189,317,16 164,29,334,309,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006681.jpg 65,228,86,258,15 244,222,262,250,15 309,220,330,246,15 351,214,372,245,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006682.jpg 307,74,499,373,14 1,127,115,375,14 116,50,314,371,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006684.jpg 76,20,393,351,19 376,64,500,266,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006687.jpg 358,2,426,103,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006689.jpg 300,230,448,374,8 178,185,242,298,8 8,229,224,374,8 249,182,281,269,8 144,186,253,278,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006690.jpg 203,124,295,294,14 53,106,153,294,14 125,50,227,231,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006694.jpg 100,52,500,248,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006695.jpg 307,153,433,370,14 196,123,327,373,14 72,138,206,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006696.jpg 36,77,163,368,14 291,160,358,261,14 390,110,500,314,14 1,326,454,439,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006697.jpg 41,77,260,337,14 255,82,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006698.jpg 245,1,495,375,14 70,128,387,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006699.jpg 38,3,375,274,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006702.jpg 274,108,496,227,0 37,180,199,238,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006703.jpg 89,102,223,337,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006704.jpg 34,1,341,213,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006706.jpg 44,127,341,496,2 300,17,375,134,6 2,41,198,217,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006707.jpg 252,6,417,265,8 118,53,362,354,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006708.jpg 164,151,206,182,9 305,181,380,286,9 398,181,452,281,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006709.jpg 113,146,181,223,14 187,159,272,238,14 394,110,500,252,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006714.jpg 3,79,373,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006718.jpg 91,193,122,258,1 76,147,101,255,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006719.jpg 420,46,500,170,6 241,40,404,195,6 150,40,209,73,6 221,40,266,70,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006722.jpg 161,115,395,375,12 368,164,500,326,12 129,164,186,327,12 238,28,334,266,14 410,86,472,254,14 108,105,190,255,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006725.jpg 153,81,422,248,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006726.jpg 78,333,230,472,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006727.jpg 54,124,470,287,17 150,206,174,266,4 31,192,72,280,4 75,116,200,264,14 263,110,436,255,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006730.jpg 5,174,465,338,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006731.jpg 401,120,466,333,4 175,46,352,279,14 55,78,192,273,14 1,259,500,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006734.jpg 164,126,479,367,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006735.jpg 40,24,402,490,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006736.jpg 102,170,282,241,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006738.jpg 208,135,274,283,14 72,159,114,250,14 212,199,277,314,1 79,196,118,261,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006739.jpg 114,8,431,375,14 23,160,190,285,2 188,180,288,375,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006740.jpg 56,29,442,295,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006747.jpg 139,3,341,334,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006748.jpg 47,265,213,385,6 178,180,337,279,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006751.jpg 247,109,454,283,2 91,39,241,144,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006753.jpg 80,35,260,500,14 251,85,332,500,14 254,1,332,246,14 204,1,250,43,14 44,1,222,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006755.jpg 2,169,213,375,8 169,46,240,117,15 265,152,341,223,19 340,146,416,254,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006759.jpg 3,127,444,375,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006760.jpg 204,87,334,258,7 450,175,500,374,19 2,2,253,211,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006761.jpg 131,193,348,322,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006762.jpg 81,229,222,351,13 249,192,290,296,14 125,197,192,322,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006765.jpg 264,338,360,470,15 1,203,50,312,15 96,146,183,201,15 240,166,274,195,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006766.jpg 100,289,499,357,5 298,339,475,375,6 263,309,442,372,6 58,345,231,375,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006768.jpg 16,167,312,500,8 109,72,376,310,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006769.jpg 111,99,487,354,12 74,190,124,253,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006772.jpg 243,58,419,349,14 88,70,270,349,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006773.jpg 4,127,440,333,0 3,200,25,260,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006777.jpg 115,170,249,351,15 150,140,329,443,14 26,125,253,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006781.jpg 7,10,220,367,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006782.jpg 1,104,222,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006783.jpg 1,227,59,332,6 77,220,167,275,6 144,221,194,254,6 64,211,84,250,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006784.jpg 181,103,212,142,14 217,88,241,124,14 264,80,291,117,14 291,69,329,167,14 232,46,469,375,14 386,33,448,134,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006786.jpg 82,1,324,358,14 296,24,451,328,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006789.jpg 83,33,166,162,14 47,169,90,269,14 56,43,214,310,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006794.jpg 92,117,373,203,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006797.jpg 181,65,384,374,14 1,46,242,371,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006799.jpg 143,75,357,409,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006800.jpg 148,164,176,195,2 175,110,213,202,2 283,189,375,375,14 361,200,432,375,14 402,164,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006802.jpg 131,2,499,349,18 344,99,366,119,14 209,89,258,231,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006803.jpg 68,167,311,356,18 305,323,333,412,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006805.jpg 36,13,447,397,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006806.jpg 93,114,351,360,15 294,1,500,196,15 95,1,299,124,15 1,2,89,301,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006808.jpg 33,11,266,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006810.jpg 334,39,500,375,14 20,148,114,357,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006813.jpg 214,56,498,199,7 3,93,224,283,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006814.jpg 1,214,471,375,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006819.jpg 92,185,309,333,10 97,167,146,290,8 129,178,206,328,8 217,209,286,337,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006821.jpg 176,140,282,246,5 373,194,500,301,6 319,193,367,224,6 15,177,54,290,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006822.jpg 67,8,334,496,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006824.jpg 127,3,382,287,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006825.jpg 150,54,447,278,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006827.jpg 1,199,211,386,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006828.jpg 61,30,219,360,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006829.jpg 1,65,424,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006833.jpg 201,195,500,375,16 60,40,353,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006835.jpg 205,6,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006836.jpg 112,76,393,425,12 153,61,323,263,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006838.jpg 230,35,500,332,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006839.jpg 29,13,459,351,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006840.jpg 58,19,368,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006841.jpg 196,147,376,307,9 386,106,436,284,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006842.jpg 258,70,481,288,19 29,70,256,283,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006844.jpg 87,105,492,237,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006845.jpg 171,257,246,331,8 257,222,298,265,8 323,224,369,272,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006847.jpg 68,139,180,300,12 187,96,397,286,12 235,67,297,214,14 85,91,139,242,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006848.jpg 79,169,316,255,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006849.jpg 51,94,285,195,11 236,117,500,274,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006850.jpg 42,40,221,328,14 3,89,321,410,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006852.jpg 122,156,324,253,17 327,164,447,277,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006855.jpg 24,33,309,496,1 24,1,66,105,14 1,1,31,114,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006858.jpg 122,128,205,295,12 196,43,299,300,14 1,75,137,186,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006859.jpg 181,1,299,110,15 297,1,500,371,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006860.jpg 173,125,305,196,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006862.jpg 115,15,328,375,12 364,171,387,252,14 344,169,371,227,14 298,175,334,349,14 222,205,252,284,14 8,146,68,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006864.jpg 336,1,500,325,14 237,6,380,283,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006865.jpg 29,16,312,287,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006866.jpg 221,44,331,218,14 43,56,407,374,12 94,130,129,177,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006867.jpg 2,2,360,269,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006868.jpg 79,185,341,372,6 52,193,168,259,6 235,181,325,372,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006869.jpg 167,111,493,273,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006874.jpg 242,244,372,326,13 364,45,401,61,3 111,168,169,211,13 202,317,252,375,14 259,213,321,298,14 71,110,86,161,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006876.jpg 107,100,167,203,8 210,8,384,310,14 140,162,224,277,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006878.jpg 262,211,500,322,17 1,204,296,375,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006880.jpg 192,82,454,326,1 325,167,495,374,14 2,165,148,372,14 131,7,238,202,14 208,86,341,156,14 83,144,199,295,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006883.jpg 93,131,252,250,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006884.jpg 3,2,242,178,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006886.jpg 19,42,214,206,8 218,38,496,215,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006887.jpg 187,107,294,190,14 60,112,178,342,14 131,161,332,358,14 303,141,426,339,14 14,166,152,351,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006892.jpg 222,160,353,375,4 194,167,264,375,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006893.jpg 143,291,245,357,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006896.jpg 187,111,224,241,14 58,137,89,271,14 29,149,72,262,14 1,135,121,375,14 118,119,167,261,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006899.jpg 19,334,135,452,16 135,305,234,423,16 388,277,445,424,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006900.jpg 1,117,150,203,6 1,151,61,310,6 86,120,490,337,6 327,82,465,185,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006903.jpg 216,1,496,373,14 1,2,247,375,14 255,96,384,253,11 100,149,214,341,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006908.jpg 2,89,398,375,14 139,93,264,375,14 130,54,295,287,14 264,66,436,225,14 259,65,451,375,14 63,193,91,298,4 218,293,242,363,4 396,85,419,145,4 146,36,178,89,4 233,135,252,182,4 263,220,300,287,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006909.jpg 1,7,485,375,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006910.jpg 2,192,114,335,2 29,228,122,335,2 184,123,285,215,2 61,16,436,335,14 5,130,81,335,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006911.jpg 185,69,272,295,14 55,123,366,404,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006912.jpg 2,74,500,375,10 235,1,267,84,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006914.jpg 238,180,269,235,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006916.jpg 299,73,500,328,11 5,87,351,331,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006917.jpg 109,11,281,375,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006918.jpg 149,112,418,300,6 1,147,172,230,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006919.jpg 425,151,441,202,4 358,36,446,104,14 320,46,449,142,14 266,70,411,261,14 157,62,358,273,14 187,139,378,369,14 65,176,231,375,14 163,266,186,322,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006922.jpg 126,71,480,227,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006924.jpg 2,40,265,488,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006930.jpg 2,136,493,375,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006931.jpg 24,277,312,430,6 1,243,50,285,6 91,197,143,218,6 125,197,184,215,6 181,196,235,215,6 221,194,263,216,6 244,196,296,217,6 287,186,333,219,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006932.jpg 312,245,385,375,14 249,57,306,132,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006933.jpg 165,19,500,315,12 4,36,160,332,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006934.jpg 415,56,500,284,14 199,101,284,247,14 99,142,244,364,14 1,61,210,375,14 14,71,68,165,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006935.jpg 8,46,333,500,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006939.jpg 217,2,500,375,14 1,32,229,375,14 115,78,132,148,4 130,73,150,149,4 147,71,171,149,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006940.jpg 77,44,500,368,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006943.jpg 121,82,310,297,18 284,78,500,313,18 64,159,88,231,14 2,135,58,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006944.jpg 6,156,215,293,16 218,121,348,291,16 334,128,494,313,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006945.jpg 11,133,165,500,14 116,125,309,500,14 142,4,248,135,14 2,83,146,237,1 266,49,330,165,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006947.jpg 152,81,428,347,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006948.jpg 126,298,199,375,4 182,4,500,375,14 2,30,170,375,14 243,230,288,262,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006949.jpg 1,7,443,326,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006950.jpg 103,159,225,372,14 61,209,194,387,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006952.jpg 161,137,256,197,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006953.jpg 260,184,313,218,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006956.jpg 137,132,296,248,15 331,40,500,330,14 19,241,212,375,14 124,183,215,365,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006958.jpg 25,2,333,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006959.jpg 440,89,500,259,14 252,62,464,333,14 1,1,325,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006962.jpg 353,196,467,284,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006963.jpg 240,225,427,300,7 73,84,197,225,14 323,1,500,330,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006965.jpg 159,68,242,235,3 255,202,500,374,3 210,177,242,208,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006966.jpg 46,205,210,470,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006968.jpg 225,160,500,301,17 158,215,267,349,11 88,53,201,297,14 262,121,377,273,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006971.jpg 1,1,500,333,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006972.jpg 2,121,500,333,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006976.jpg 82,238,360,498,8 242,277,312,348,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006981.jpg 183,94,253,273,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006983.jpg 210,163,406,333,3 210,93,285,174,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006987.jpg 417,83,474,133,19 258,15,436,227,14 155,62,259,221,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006988.jpg 62,66,387,307,6 78,114,128,139,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006989.jpg 171,95,497,375,7 2,3,203,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006990.jpg 291,211,429,310,1 323,141,370,308,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006994.jpg 24,2,484,268,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/006995.jpg 243,174,339,339,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007002.jpg 291,195,500,325,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007003.jpg 188,216,327,287,5 38,256,235,375,6 196,256,313,363,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007004.jpg 102,238,150,320,1 100,201,150,303,14 318,206,463,280,6 160,197,199,222,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007006.jpg 2,191,499,374,10 145,247,294,374,8 278,233,390,375,8 368,219,494,371,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007007.jpg 112,203,291,374,14 1,2,298,281,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007008.jpg 6,16,323,278,9 200,110,329,281,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007009.jpg 25,1,432,218,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007011.jpg 1,46,235,372,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007016.jpg 166,82,244,348,14 246,82,333,198,14 360,61,430,290,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007018.jpg 160,20,425,337,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007020.jpg 54,176,129,430,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007021.jpg 280,52,305,166,4 304,55,338,168,4 3,109,480,369,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007022.jpg 146,101,266,179,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007023.jpg 118,165,258,288,19 261,277,375,419,8 262,7,375,378,14 104,231,263,398,14 1,121,128,499,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007025.jpg 79,48,440,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007029.jpg 372,129,500,323,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007031.jpg 1,86,140,489,14 262,122,370,465,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007033.jpg 1,4,500,375,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007035.jpg 170,95,418,315,12 283,49,375,177,14 1,1,150,323,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007036.jpg 375,184,499,375,14 286,190,391,375,14 194,184,291,375,14 68,185,211,373,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007038.jpg 32,59,332,374,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007039.jpg 121,57,323,243,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007040.jpg 220,171,334,302,14 156,32,444,153,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007042.jpg 131,201,327,298,17 287,224,499,374,10 264,209,410,375,8 408,229,499,375,8 331,195,390,352,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007045.jpg 168,159,331,409,14 91,249,273,369,9 2,213,94,305,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007046.jpg 53,160,307,500,8 76,153,309,499,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007048.jpg 227,55,500,324,16 82,56,245,257,16 76,42,129,151,4 114,1,240,59,14 1,1,132,329,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007049.jpg 1,4,493,375,0 1,14,125,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007050.jpg 135,93,310,332,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007052.jpg 60,7,460,259,3 106,146,128,212,14 131,166,150,212,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007054.jpg 17,13,375,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007056.jpg 1,1,230,500,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007058.jpg 1,152,472,400,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007059.jpg 210,161,263,260,14 304,158,328,263,14 465,138,500,288,14 424,162,455,277,14 396,158,445,283,14 278,167,306,262,14 361,156,386,259,14 323,164,355,262,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007062.jpg 1,36,436,375,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007064.jpg 157,261,462,375,10 367,226,465,365,8 47,177,136,273,8 146,181,276,257,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007065.jpg 166,58,382,307,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007068.jpg 3,157,357,342,6 2,110,357,186,6 34,74,357,133,6 63,46,338,118,6 94,24,321,75,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007070.jpg 132,4,464,332,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007071.jpg 1,2,360,333,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007072.jpg 2,25,394,372,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007073.jpg 1,50,497,346,13 28,18,343,351,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007074.jpg 33,89,479,305,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007075.jpg 1,89,153,224,9 131,96,274,314,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007077.jpg 155,260,279,332,8 256,264,380,332,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007078.jpg 34,127,66,170,15 132,124,153,151,15 252,126,375,216,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007079.jpg 143,50,253,184,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007080.jpg 104,2,377,323,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007084.jpg 157,109,389,315,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007086.jpg 14,91,500,265,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007088.jpg 185,160,457,277,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007089.jpg 43,46,468,270,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007090.jpg 75,203,321,365,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007092.jpg 56,92,374,480,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007093.jpg 76,74,323,299,14 70,184,235,375,8 284,179,445,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007095.jpg 226,130,437,290,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007097.jpg 31,113,422,216,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007100.jpg 68,46,462,303,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007101.jpg 100,77,382,281,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007104.jpg 77,29,319,472,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007105.jpg 5,153,500,333,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007108.jpg 414,189,500,288,1 257,176,371,265,1 284,179,401,263,1 160,169,261,257,1 61,137,150,225,1 2,122,52,188,1 1,79,50,162,14 81,94,149,201,14 150,111,202,190,14 189,124,259,232,14 282,133,358,229,14 319,132,390,235,14 443,159,500,270,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007109.jpg 150,2,500,332,12 1,72,211,332,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007113.jpg 96,163,127,238,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007114.jpg 222,22,397,333,14 50,140,263,332,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007117.jpg 412,306,456,376,4 128,131,396,376,14 135,170,160,221,14 146,165,181,222,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007121.jpg 252,376,375,500,4 109,82,266,340,14 1,159,317,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007122.jpg 225,79,500,375,14 3,64,252,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007123.jpg 86,121,281,277,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007125.jpg 75,13,256,329,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007128.jpg 181,73,375,500,14 62,75,213,500,14 327,111,375,245,14 282,130,327,229,14 46,129,95,242,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007129.jpg 82,94,245,397,11 187,9,422,397,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007130.jpg 106,96,192,188,19 221,80,295,157,19 355,109,475,171,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007132.jpg 193,21,500,258,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007133.jpg 4,111,375,372,6 20,135,167,192,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007138.jpg 9,57,235,333,14 2,65,428,343,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007139.jpg 201,25,413,194,3 406,227,440,298,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007140.jpg 50,132,330,424,1 75,163,327,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007141.jpg 309,174,330,220,4 40,178,75,304,4 8,160,43,293,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007144.jpg 3,25,500,270,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007146.jpg 124,43,462,367,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007147.jpg 127,178,242,500,14 2,224,25,283,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007148.jpg 36,22,415,333,14 319,49,500,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007149.jpg 18,3,468,443,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007150.jpg 277,67,498,374,14 225,75,348,277,14 79,195,499,374,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007152.jpg 28,44,91,113,0 47,151,111,212,0 65,239,127,299,0 189,143,255,205,0 164,29,228,96,0 397,15,462,83,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007153.jpg 228,166,317,276,9 321,114,355,189,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007154.jpg 68,29,260,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007159.jpg 435,151,500,210,6 146,155,177,282,14 36,154,68,289,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007162.jpg 8,46,500,289,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007163.jpg 177,116,299,375,14 58,109,223,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007165.jpg 173,329,375,500,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007166.jpg 64,130,287,393,11 2,91,333,341,11 174,55,317,186,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007167.jpg 9,98,347,219,6 51,107,500,306,6 338,114,388,171,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007168.jpg 48,102,372,424,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007172.jpg 143,239,324,336,1 327,142,430,273,1 139,89,179,155,14 121,32,341,336,14 344,57,433,252,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007174.jpg 238,186,320,271,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007177.jpg 5,194,333,500,10 114,151,136,238,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007180.jpg 89,85,138,139,15 50,97,88,139,15 2,112,50,139,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007182.jpg 104,58,333,500,14 1,1,125,461,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007184.jpg 60,313,192,500,14 245,337,332,500,14 304,135,334,240,14 272,264,293,292,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007185.jpg 152,2,440,332,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007187.jpg 14,149,422,308,17 1,121,238,224,14 277,120,473,223,14 153,101,348,334,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007189.jpg 199,67,299,167,19 271,167,490,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007191.jpg 93,308,436,374,10 68,170,81,199,4 260,257,290,353,4 299,322,316,375,4 274,315,292,375,4 45,191,153,279,10 89,192,150,286,8 12,197,85,289,8 4,220,35,349,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007193.jpg 69,122,375,500,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007194.jpg 1,106,57,168,2 61,163,138,219,2 102,162,185,237,2 172,154,222,230,2 344,141,425,201,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007197.jpg 92,57,364,334,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007200.jpg 46,61,446,297,13 394,1,500,233,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007204.jpg 32,1,274,238,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007205.jpg 130,149,201,220,6 10,188,141,325,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007208.jpg 97,101,316,334,14 247,2,500,334,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007210.jpg 90,1,413,156,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007211.jpg 153,173,394,371,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007212.jpg 143,9,445,331,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007213.jpg 268,157,341,242,8 25,37,236,375,14 359,75,500,251,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007214.jpg 30,351,113,491,11 84,132,209,499,14 183,105,336,498,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007215.jpg 100,76,433,333,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007216.jpg 230,295,270,408,12 217,260,280,347,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007217.jpg 305,167,375,330,16 238,134,284,246,16 264,62,291,108,16 208,58,230,91,16 361,97,476,191,16 59,194,242,334,16 83,140,250,262,16 41,136,142,247,16 1,94,100,201,16 344,125,454,241,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007219.jpg 133,185,231,273,19 1,339,224,500,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007222.jpg 346,99,490,230,18 218,98,355,226,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007223.jpg 5,1,370,333,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007224.jpg 144,107,291,221,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007227.jpg 5,36,268,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007230.jpg 265,124,362,294,16 132,78,241,221,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007234.jpg 85,35,224,189,12 113,23,188,118,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007236.jpg 181,41,325,268,5 179,165,218,264,14 465,131,482,171,14 433,123,450,154,14 151,109,164,137,14 75,126,96,167,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007241.jpg 7,71,479,365,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007243.jpg 3,43,371,372,12 63,130,266,373,14 249,178,360,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007244.jpg 100,34,410,375,14 22,271,488,375,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007245.jpg 164,118,500,317,11 3,26,447,353,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007247.jpg 100,93,494,291,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007249.jpg 74,54,352,345,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007250.jpg 281,227,311,330,4 122,19,327,176,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007256.jpg 325,190,418,289,1 360,131,443,300,14 100,79,170,284,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007258.jpg 6,14,388,160,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007259.jpg 11,26,366,500,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007260.jpg 64,159,367,446,12 149,71,267,303,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007261.jpg 1,292,160,432,6 196,288,377,479,6 292,91,377,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007263.jpg 276,160,319,204,19 44,167,161,291,8 157,201,486,358,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007266.jpg 1,102,172,346,8 326,86,479,322,14 111,89,326,319,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007270.jpg 128,181,274,299,6 443,125,475,210,14 350,158,445,188,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007271.jpg 51,129,352,268,5 413,204,427,234,14 91,214,138,281,14 58,235,160,301,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007274.jpg 1,108,497,264,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007275.jpg 1,67,300,211,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007276.jpg 272,101,374,226,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007279.jpg 176,55,500,280,5 55,237,155,272,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007280.jpg 203,103,345,177,0 142,121,281,195,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007283.jpg 22,124,243,255,1 243,117,480,256,1 236,50,304,76,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007284.jpg 78,72,385,207,6 198,90,217,116,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007285.jpg 2,43,375,500,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007289.jpg 1,75,159,144,3 28,96,435,295,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007292.jpg 1,74,500,330,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007294.jpg 270,172,361,252,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007295.jpg 119,141,397,287,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007296.jpg 191,64,319,153,2 142,149,350,375,14 396,281,458,375,14 87,283,106,312,14 118,278,132,303,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007297.jpg 47,61,440,192,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007298.jpg 3,1,278,330,5 291,135,333,275,14 217,132,268,266,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007299.jpg 109,191,166,290,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007300.jpg 230,122,388,307,2 26,154,97,206,2 187,167,220,211,2 447,24,485,61,2 450,45,500,87,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007302.jpg 210,142,465,322,17 19,85,94,173,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007305.jpg 343,113,463,181,13 58,134,213,233,13 128,113,188,234,14 398,85,445,184,14 442,65,489,99,6 347,63,408,101,6 303,67,348,102,6 263,70,305,101,6 219,72,263,103,6 104,75,165,105,6 53,82,108,104,6 22,81,72,105,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007308.jpg 17,69,302,466,12 94,70,236,278,14 204,288,298,410,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007311.jpg 200,169,348,362,8 322,163,381,244,8 3,215,50,374,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007314.jpg 221,112,330,328,13 328,129,371,227,13 457,121,498,225,14 43,128,178,358,14 145,84,203,275,14 341,54,447,361,14 198,80,247,270,14 217,91,320,294,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007318.jpg 21,23,46,93,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007322.jpg 111,4,360,347,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007323.jpg 3,1,225,496,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007325.jpg 121,155,365,332,12 207,58,265,231,14 43,19,105,194,14 8,1,59,112,14 175,1,244,75,14 256,9,305,160,14 304,36,356,128,14 343,34,375,91,14 359,64,421,181,14 390,32,451,139,14 427,38,489,136,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007327.jpg 394,259,454,340,8 298,257,361,347,8 145,235,187,291,8 218,240,268,304,8 263,229,294,290,8 385,213,426,239,1 246,212,310,252,1 160,213,183,253,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007329.jpg 23,7,500,367,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007330.jpg 124,14,487,330,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007334.jpg 93,23,448,297,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007336.jpg 46,189,149,472,14 226,203,325,478,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007343.jpg 28,1,500,394,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007344.jpg 109,54,445,347,7 213,1,305,99,15 284,2,447,121,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007346.jpg 1,1,334,256,5 460,125,500,269,14 419,134,464,239,14 382,130,421,237,14 337,145,359,213,14 301,137,329,214,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007350.jpg 219,233,459,360,10 4,197,182,328,10 171,75,245,360,14 245,87,316,281,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007351.jpg 104,103,144,234,4 167,176,189,243,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007356.jpg 45,61,447,326,1 432,74,461,124,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007359.jpg 373,71,500,195,19 9,32,341,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007361.jpg 72,260,334,280,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007363.jpg 32,98,419,264,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007365.jpg 12,46,82,151,3 298,101,323,147,3 263,100,295,143,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007369.jpg 47,32,252,329,8 169,1,334,291,14 1,1,153,373,14 390,42,468,227,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007370.jpg 35,1,340,500,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007372.jpg 62,242,333,324,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007373.jpg 1,178,493,375,10 74,106,295,177,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007374.jpg 197,219,320,274,6 42,207,132,264,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007375.jpg 23,35,500,375,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007376.jpg 82,144,464,254,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007381.jpg 75,67,255,400,14 232,155,336,398,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007383.jpg 324,207,385,238,6 403,207,473,241,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007385.jpg 1,26,429,333,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007388.jpg 76,12,496,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007389.jpg 17,62,171,272,9 122,75,248,277,9 229,66,333,295,9 317,135,392,300,9 383,128,438,297,9 394,106,500,300,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007390.jpg 196,131,284,233,8 297,103,353,154,19 344,143,454,238,8 308,184,500,375,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007394.jpg 105,32,409,321,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007396.jpg 284,1,376,99,15 177,1,275,100,15 292,1,397,94,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007398.jpg 1,1,499,265,5 344,64,434,280,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007408.jpg 1,10,341,408,18 345,243,364,309,14 313,244,356,341,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007410.jpg 283,196,306,285,4 250,195,273,279,4 266,169,284,233,4 258,93,360,196,14 327,49,499,333,14 149,92,250,267,14 7,77,169,307,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007411.jpg 59,47,466,413,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007413.jpg 1,1,380,221,0 135,217,167,291,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007414.jpg 453,50,491,110,14 187,107,386,196,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007416.jpg 223,101,369,317,7 1,2,459,349,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007417.jpg 40,67,306,208,11 304,105,451,211,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007419.jpg 172,66,479,339,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007421.jpg 149,214,217,315,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007422.jpg 116,135,398,284,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007424.jpg 90,61,451,270,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007425.jpg 1,171,374,333,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007427.jpg 404,160,500,375,6 379,142,500,357,6 269,208,313,284,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007431.jpg 92,333,170,372,2 93,374,169,410,2 289,369,365,408,2 291,325,367,368,2 357,153,412,181,2 350,108,388,145,2 397,50,452,84,2 377,32,407,81,2 240,83,291,113,2 61,56,122,96,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007432.jpg 418,153,498,220,19 19,279,175,375,8 14,238,117,315,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007433.jpg 179,53,474,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007435.jpg 8,320,108,500,8 10,288,332,500,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007436.jpg 104,61,380,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007437.jpg 98,105,295,249,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007438.jpg 71,41,264,475,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007439.jpg 99,34,489,259,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007443.jpg 284,219,425,317,8 92,214,225,321,8 291,173,337,222,8 161,178,208,224,8 206,171,295,211,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007445.jpg 97,152,157,218,14 77,2,500,334,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007446.jpg 43,241,218,500,1 53,9,203,380,14 192,125,346,184,6 1,121,43,147,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007448.jpg 217,95,280,203,14 171,143,346,260,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007449.jpg 249,205,325,235,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007451.jpg 108,67,230,213,15 131,269,199,338,15 244,4,323,138,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007454.jpg 179,56,500,314,7 18,43,393,361,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007457.jpg 139,3,500,331,14 89,134,134,316,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007458.jpg 330,222,500,375,8 132,157,481,375,10 224,39,291,100,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007460.jpg 121,356,314,394,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007461.jpg 288,3,323,58,4 323,2,355,128,4 254,2,288,55,4 217,1,249,56,4 183,1,218,124,4 147,3,182,124,4 111,2,146,126,4 75,3,110,123,4 36,1,72,122,4 5,2,38,122,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007465.jpg 1,12,498,373,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007466.jpg 170,116,275,208,13 400,127,472,226,13 39,104,141,168,1 290,135,341,275,14 325,125,380,273,14 282,167,389,286,13 348,145,425,244,8 1,92,70,320,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007467.jpg 2,124,284,208,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007468.jpg 3,1,493,359,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007470.jpg 143,32,371,277,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007474.jpg 277,71,433,322,11 43,45,327,372,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007475.jpg 153,14,500,332,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007477.jpg 259,30,421,154,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007479.jpg 5,24,500,261,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007480.jpg 95,11,468,303,5 82,93,139,269,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007481.jpg 61,53,362,317,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007482.jpg 96,103,242,266,14 237,76,370,265,14 389,75,500,299,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007483.jpg 2,35,500,376,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007484.jpg 356,120,500,333,5 75,96,330,350,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007486.jpg 1,66,408,207,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007489.jpg 198,42,491,372,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007490.jpg 230,214,384,285,6 104,211,264,278,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007491.jpg 233,153,500,337,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007493.jpg 235,146,489,375,14 35,4,373,375,14 1,191,22,291,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007497.jpg 162,178,354,270,6 309,124,386,195,6 2,146,161,207,6 231,51,315,89,6 329,73,424,119,6 230,111,248,166,14 441,84,461,132,14 469,85,489,122,14 425,185,461,246,14 450,188,491,255,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007498.jpg 1,3,309,376,10 124,2,500,376,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007503.jpg 15,37,500,366,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007506.jpg 3,16,500,357,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007511.jpg 2,241,500,375,10 157,104,389,300,15 348,1,440,272,14 331,8,376,246,14 236,40,314,124,14 161,46,226,118,14 5,1,120,280,14 71,269,107,337,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007513.jpg 1,11,461,333,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007517.jpg 32,55,320,484,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007519.jpg 238,164,309,187,15 99,161,192,185,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007521.jpg 20,79,109,202,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007523.jpg 248,51,498,142,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007524.jpg 52,47,333,472,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007525.jpg 134,185,404,337,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007526.jpg 167,123,260,312,14 86,160,300,412,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007527.jpg 28,372,60,404,6 237,377,316,425,6 284,390,355,428,6 313,390,443,431,6 210,389,240,416,6 182,380,233,417,6 133,382,177,411,6 108,381,149,408,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007528.jpg 174,163,278,266,9 233,181,337,249,9 310,189,423,248,9 242,234,449,375,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007530.jpg 39,65,163,203,19 183,61,326,167,7 1,313,136,500,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007533.jpg 67,22,249,332,3 358,49,493,325,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007535.jpg 26,59,234,489,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007536.jpg 245,121,500,312,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007537.jpg 277,40,388,220,11 54,74,218,238,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007538.jpg 134,132,274,337,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007540.jpg 43,89,377,372,14 284,103,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007543.jpg 213,172,288,320,1 328,172,417,308,1 61,145,202,310,1 216,103,295,290,14 315,107,410,285,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007544.jpg 294,109,341,142,19 340,163,482,311,8 190,188,274,344,8 124,190,192,347,8 54,206,132,372,8 2,201,225,311,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007546.jpg 157,143,275,178,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007547.jpg 52,116,500,375,12 323,1,500,373,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007551.jpg 49,65,252,485,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007555.jpg 377,148,500,172,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007558.jpg 198,52,367,334,14 310,37,475,334,14 157,21,283,180,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007559.jpg 57,78,195,461,14 301,121,375,213,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007563.jpg 84,172,234,499,14 208,178,326,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007565.jpg 143,34,395,263,7 59,124,362,355,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007566.jpg 2,30,496,334,6 90,1,189,70,6 440,2,496,120,14 348,37,366,53,14 185,4,216,35,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007568.jpg 35,1,466,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007570.jpg 283,59,389,289,14 75,107,190,291,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007571.jpg 136,100,252,277,14 255,83,365,263,14 132,188,268,319,1 266,181,355,308,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007572.jpg 2,97,315,234,10 40,100,67,181,4 19,99,38,174,4 265,46,491,333,14 4,53,235,331,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007575.jpg 15,1,473,235,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007576.jpg 87,65,398,338,12 180,44,290,196,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007578.jpg 187,89,333,306,11 350,34,426,113,11 292,1,358,136,14 185,1,283,138,14 1,1,116,329,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007579.jpg 143,60,364,375,14 387,55,500,375,14 411,57,458,128,14 1,4,101,340,14 143,72,224,365,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007585.jpg 131,14,466,364,11 178,322,258,482,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007586.jpg 1,145,241,248,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007590.jpg 1,14,375,500,14 253,45,352,219,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007592.jpg 8,121,323,320,6 183,221,295,463,14 96,197,207,446,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007594.jpg 111,191,482,375,12 62,71,190,351,14 150,111,225,215,14 185,74,351,368,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007600.jpg 62,44,244,302,15 224,53,443,305,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007601.jpg 19,68,482,299,6 2,91,50,181,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007603.jpg 206,177,337,291,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007605.jpg 197,30,316,322,14 30,30,137,323,14 111,43,200,322,14 139,51,189,178,14 315,153,361,235,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007606.jpg 119,41,415,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007611.jpg 312,56,492,375,14 1,110,320,375,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007612.jpg 94,189,258,500,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007614.jpg 24,40,459,331,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007615.jpg 297,43,428,365,2 141,160,291,375,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007618.jpg 33,51,202,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007619.jpg 245,256,342,333,8 384,143,440,291,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007621.jpg 301,102,411,202,16 175,113,285,209,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007622.jpg 2,1,497,330,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007624.jpg 424,170,500,370,15 359,206,421,278,15 294,193,357,283,15 275,258,309,310,15 274,138,415,246,15 2,236,43,375,15 45,260,128,375,15 155,220,222,352,15 151,40,293,308,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007626.jpg 34,110,473,266,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007629.jpg 308,54,418,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007631.jpg 286,1,363,114,14 373,1,435,113,14 327,78,341,116,4 157,75,171,118,4 120,76,136,120,4 40,1,100,116,14 436,117,500,230,8 344,117,425,229,8 65,120,142,224,8 1,121,64,224,8 96,64,327,340,14 257,101,457,375,14 443,255,500,375,14 209,253,317,375,14 92,269,179,375,14 1,262,93,375,14 115,50,237,117,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007633.jpg 1,117,236,269,5 225,126,344,255,5 340,130,500,238,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007637.jpg 93,145,345,305,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007639.jpg 3,204,372,500,17 117,290,246,422,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007640.jpg 78,121,500,307,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007642.jpg 205,145,500,374,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007647.jpg 22,240,131,337,13 30,181,113,303,14 111,236,333,335,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007649.jpg 175,2,500,375,14 2,24,179,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007650.jpg 78,274,156,344,5 156,123,335,414,5 1,316,42,365,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007653.jpg 17,165,472,282,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007654.jpg 259,78,400,247,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007655.jpg 4,18,500,354,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007656.jpg 217,319,254,394,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007657.jpg 2,2,404,347,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007662.jpg 7,206,111,489,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007663.jpg 49,94,461,296,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007664.jpg 165,227,271,375,8 22,283,176,375,8 13,222,258,375,10 148,75,171,124,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007666.jpg 3,60,413,374,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007667.jpg 458,333,494,353,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007668.jpg 113,91,333,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007670.jpg 244,28,486,285,13 19,79,265,275,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007671.jpg 80,55,354,487,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007672.jpg 1,166,128,316,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007673.jpg 266,173,375,398,17 4,262,328,500,10 213,150,280,252,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007675.jpg 19,2,229,333,14 304,153,496,332,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007677.jpg 99,124,375,257,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007678.jpg 78,83,420,181,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007679.jpg 26,236,232,325,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007680.jpg 55,70,194,124,2 158,18,271,199,2 226,43,315,110,2 271,174,332,375,2 21,164,128,375,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007682.jpg 92,35,372,387,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007683.jpg 51,248,210,375,11 232,44,344,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007685.jpg 112,78,242,171,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007687.jpg 280,25,500,345,11 1,27,452,346,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007688.jpg 4,37,500,373,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007691.jpg 270,85,500,321,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007692.jpg 229,102,386,230,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007694.jpg 143,44,359,302,11 1,81,129,375,14 300,1,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007696.jpg 1,116,349,223,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007697.jpg 70,206,242,436,12 105,116,204,330,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007699.jpg 2,50,500,375,6 270,18,304,64,14 83,61,143,120,14 207,40,234,91,14 119,33,147,95,14 26,63,58,144,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007702.jpg 381,206,460,283,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007704.jpg 31,194,72,244,15 78,170,305,345,17 318,171,500,287,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007705.jpg 81,284,245,500,11 137,102,333,500,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007709.jpg 235,56,265,118,14 245,81,290,107,1 56,116,470,276,6 309,89,500,188,6 202,59,293,98,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007712.jpg 52,128,262,411,13 72,42,246,396,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007713.jpg 123,47,373,322,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007715.jpg 26,39,466,373,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007718.jpg 56,174,327,361,14 95,124,496,257,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007720.jpg 38,62,388,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007721.jpg 214,103,429,299,2 36,172,290,271,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007723.jpg 55,93,430,287,0 455,104,500,320,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007724.jpg 64,35,407,348,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007727.jpg 2,66,77,191,14 180,21,281,203,14 176,103,280,291,12 7,99,84,276,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007729.jpg 91,27,444,308,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007731.jpg 26,189,340,474,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007732.jpg 341,217,487,375,8 114,209,183,298,8 237,110,320,176,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007735.jpg 191,68,284,295,14 4,266,366,333,10 240,209,384,316,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007736.jpg 57,149,134,206,5 180,176,244,213,6 150,178,188,204,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007740.jpg 197,136,266,363,4 279,75,337,326,4 356,196,383,290,4 239,144,318,353,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007742.jpg 19,92,414,280,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007743.jpg 116,149,218,275,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007745.jpg 26,69,51,177,14 43,39,487,337,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007746.jpg 242,58,500,375,14 55,27,330,375,14 125,246,144,272,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007748.jpg 76,164,332,373,12 165,111,243,284,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007749.jpg 128,23,500,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007751.jpg 250,280,305,375,4 106,238,138,322,4 76,275,101,326,4 309,118,479,369,14 173,121,338,312,14 50,131,192,291,14 1,231,49,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007753.jpg 2,1,500,374,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007754.jpg 377,112,477,254,19 276,130,345,241,19 263,36,316,92,19 82,92,169,229,8 131,71,246,232,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007758.jpg 54,50,196,215,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007760.jpg 94,252,272,500,11 2,4,330,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007762.jpg 217,90,362,252,19 252,29,272,89,4 292,32,311,71,4 147,16,174,53,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007763.jpg 366,71,497,375,14 256,69,377,285,14 139,103,207,253,14 162,79,272,266,14 49,178,163,375,14 110,196,244,375,14 203,216,393,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007765.jpg 26,111,294,498,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007767.jpg 83,89,500,289,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007768.jpg 289,36,500,375,14 5,3,385,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007772.jpg 149,87,321,270,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007773.jpg 153,277,211,311,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007775.jpg 45,89,248,284,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007776.jpg 167,111,263,156,18 105,147,375,259,18 355,135,500,204,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007777.jpg 2,196,370,374,10 1,105,102,242,14 178,85,291,228,14 300,130,407,288,14 370,172,500,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007779.jpg 111,248,186,298,6 186,221,305,298,6 305,247,387,295,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007781.jpg 1,42,419,375,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007786.jpg 387,90,500,192,9 54,92,312,196,9 2,99,114,199,9 265,87,417,214,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007790.jpg 73,124,106,174,8 146,1,210,61,6 188,1,267,53,6 23,129,125,362,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007791.jpg 30,61,440,326,11 256,233,470,360,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007793.jpg 130,134,500,334,13 195,49,322,211,14 360,123,431,217,14 343,81,386,146,14 469,103,500,169,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007795.jpg 7,108,153,374,14 107,118,207,305,14 295,151,359,269,14 334,152,408,279,14 404,154,485,322,14 258,242,304,310,15 229,167,284,234,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007798.jpg 29,1,340,463,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007799.jpg 63,89,159,322,14 341,178,408,308,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007803.jpg 164,181,298,280,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007809.jpg 87,25,500,373,12 370,3,500,323,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007810.jpg 80,1,337,127,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007812.jpg 1,199,65,301,8 122,237,269,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007813.jpg 51,184,231,293,11 270,82,500,274,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007814.jpg 454,243,500,322,15 360,237,395,314,15 62,234,87,306,15 192,57,274,230,14 252,130,357,375,14 303,135,364,361,14 144,134,203,353,14 82,135,174,372,14 47,124,93,195,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007815.jpg 31,45,401,286,6 238,44,309,126,14 135,55,210,130,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007819.jpg 12,62,500,128,18 32,110,93,131,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007820.jpg 5,19,500,257,0 277,74,431,139,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007821.jpg 23,58,313,312,6 130,79,278,484,14 21,46,165,428,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007824.jpg 148,162,440,333,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007826.jpg 80,217,320,273,10 197,193,257,326,8 258,180,312,314,8 10,195,93,358,8 82,252,243,372,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007831.jpg 49,227,180,412,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007833.jpg 371,2,459,141,3 141,222,277,318,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007834.jpg 91,48,277,448,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007836.jpg 2,186,227,338,1 328,192,500,332,1 355,117,500,313,14 2,124,144,330,14 228,31,263,121,14 273,40,295,116,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007838.jpg 230,103,318,264,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007840.jpg 11,33,268,486,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007841.jpg 139,78,244,234,11 229,98,358,287,14 6,134,138,332,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007843.jpg 49,306,471,450,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007845.jpg 70,34,312,355,2 130,70,458,263,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007847.jpg 170,110,465,294,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007853.jpg 86,177,350,452,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007854.jpg 18,323,293,485,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007855.jpg 7,145,449,295,5 447,216,475,232,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007856.jpg 151,118,394,230,6 91,101,121,156,14 70,104,101,157,14 32,90,52,116,14 15,92,35,115,14 12,103,43,160,14 34,105,54,158,14 47,103,80,157,14 26,66,40,85,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007857.jpg 129,106,228,185,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007859.jpg 1,4,469,337,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007863.jpg 201,140,440,296,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007864.jpg 22,64,148,148,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007865.jpg 389,192,429,306,15 53,185,97,311,15 231,108,314,262,8 295,105,351,234,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007868.jpg 31,16,388,378,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007869.jpg 38,76,369,332,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007872.jpg 3,143,500,333,10 2,42,175,302,14 134,113,196,192,14 153,78,217,160,14 192,91,223,159,14 180,22,229,141,14 348,88,450,180,14 379,18,500,237,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007873.jpg 1,153,487,360,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007876.jpg 226,181,316,308,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007877.jpg 3,4,282,373,14 194,103,428,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007878.jpg 66,67,294,373,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007883.jpg 442,193,477,210,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007884.jpg 28,12,479,406,14 13,244,450,416,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007885.jpg 16,29,344,485,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007886.jpg 162,129,475,367,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007889.jpg 290,64,424,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007890.jpg 242,123,350,220,15 289,196,355,282,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007897.jpg 166,70,393,214,14 167,120,468,306,13 419,129,450,197,14 385,114,419,162,14 414,104,444,139,14 67,116,100,178,14 5,111,38,232,14 72,184,138,239,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007898.jpg 1,1,400,366,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007899.jpg 227,25,255,112,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007900.jpg 187,116,325,286,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007901.jpg 48,15,297,500,14 1,13,75,289,14 56,80,121,238,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007902.jpg 320,49,486,154,13 1,57,232,316,13 367,1,458,110,14 1,48,189,213,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007905.jpg 15,87,496,330,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007908.jpg 191,2,500,333,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007909.jpg 88,96,182,143,17 29,95,97,139,17 2,138,174,210,10 216,113,267,167,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007910.jpg 316,18,465,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007911.jpg 21,38,461,488,13 144,28,163,78,14 236,26,259,83,14 204,23,220,83,14 43,39,61,83,14 299,24,316,76,14 324,25,337,74,14 364,25,384,81,14 377,21,392,75,14 396,26,417,84,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007914.jpg 62,114,352,414,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007915.jpg 58,203,145,297,19 150,202,253,286,19 259,219,369,333,19 278,261,328,372,19 127,254,217,351,19 195,258,278,368,19 117,39,366,281,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007916.jpg 13,82,491,229,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007919.jpg 167,114,448,280,12 266,49,323,208,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007920.jpg 1,274,119,415,5 115,329,234,409,5 114,298,278,397,5 269,316,358,389,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007921.jpg 58,257,234,351,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007923.jpg 397,106,450,179,8 189,104,309,189,17 135,147,353,235,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007924.jpg 58,10,216,193,2 17,239,178,327,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007925.jpg 58,30,440,319,1 274,61,334,116,15 380,50,466,117,15 140,5,190,115,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007926.jpg 1,276,346,337,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007928.jpg 30,113,70,212,14 361,144,389,198,14 139,141,169,197,14 1,141,30,197,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007931.jpg 52,46,458,325,6 414,92,500,251,6 48,92,81,159,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007932.jpg 79,177,266,268,6 214,167,334,224,6 268,163,369,213,6 419,150,452,230,14 436,140,455,217,14 270,174,290,199,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007933.jpg 8,42,492,351,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007935.jpg 124,126,380,284,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007939.jpg 101,256,333,473,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007940.jpg 90,16,383,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007943.jpg 114,116,210,242,14 170,103,352,375,14 333,86,486,316,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007946.jpg 244,60,426,225,14 118,111,309,252,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007947.jpg 2,157,327,212,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007950.jpg 1,315,56,350,6 110,311,171,338,6 84,312,120,335,6 37,310,82,336,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007953.jpg 312,167,327,214,14 258,192,284,217,14 220,193,240,220,14 193,176,213,220,14 105,171,126,221,14 125,178,143,223,14 86,174,104,226,14 68,168,89,226,14 41,175,57,228,14 28,174,43,236,14 264,215,319,298,14 155,250,190,290,14 196,365,282,392,14 95,210,136,270,14 121,210,151,249,14 51,237,92,292,14 70,259,115,339,14 144,355,208,395,1 256,274,321,309,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007954.jpg 28,111,380,212,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007956.jpg 362,133,460,307,15 107,128,163,227,15 2,167,500,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007958.jpg 162,101,330,306,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007959.jpg 148,153,263,191,17 102,191,212,275,8 72,223,250,355,8 46,268,274,500,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007963.jpg 285,291,304,337,14 263,293,284,335,14 457,230,500,248,6 1,322,80,375,6 1,200,470,334,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007964.jpg 52,118,407,245,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007968.jpg 132,1,341,287,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007970.jpg 101,146,326,299,6 296,163,500,248,6 224,142,263,184,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007971.jpg 1,1,500,333,6 179,83,323,261,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007974.jpg 1,2,313,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007976.jpg 204,129,228,151,0 232,154,254,177,0 266,185,288,207,0 265,206,288,228,0 272,229,294,249,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007979.jpg 275,89,411,170,9 196,63,241,177,14 445,41,479,132,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007980.jpg 187,43,298,220,3 323,193,384,218,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007984.jpg 58,69,270,239,14 389,155,412,212,14 392,153,459,230,14 404,186,465,286,13 29,156,210,374,14 157,135,438,374,14 292,153,437,360,14 2,195,62,255,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007987.jpg 312,312,359,374,4 119,260,145,315,4 193,56,344,328,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007991.jpg 3,99,500,375,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007996.jpg 189,99,237,222,14 118,187,199,267,14 92,244,195,333,14 198,220,357,333,14 397,61,500,270,14 189,113,351,240,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007997.jpg 52,85,340,374,14 257,58,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007998.jpg 65,2,500,375,14 1,1,119,247,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/007999.jpg 93,210,456,375,17 1,1,295,375,15 298,1,394,282,15 385,154,429,188,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008001.jpg 252,25,500,131,6 393,86,500,151,6 52,96,458,282,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008002.jpg 75,7,259,333,14 289,64,412,333,14 249,77,310,206,14 210,176,305,282,14 1,61,71,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008004.jpg 195,192,325,310,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008005.jpg 1,64,302,375,9 1,44,419,179,9 336,179,426,250,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008008.jpg 189,79,336,237,13 130,1,217,35,13 194,35,334,226,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008009.jpg 2,2,328,374,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008012.jpg 5,9,442,388,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008017.jpg 16,82,381,311,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008019.jpg 15,122,365,318,12 173,66,288,274,14 381,164,480,318,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008023.jpg 29,4,500,375,5 88,174,162,375,14 40,165,102,375,14 29,229,56,326,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008024.jpg 1,71,494,362,0 219,105,298,265,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008026.jpg 134,50,500,292,5 224,167,275,375,14 163,183,212,374,14 19,139,238,372,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008029.jpg 134,14,258,195,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008031.jpg 15,82,483,303,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008032.jpg 166,67,472,266,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008033.jpg 1,1,429,284,18 223,63,298,221,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008036.jpg 186,68,422,330,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008037.jpg 147,50,461,234,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008040.jpg 47,117,95,208,14 129,106,186,235,14 221,86,278,229,14 296,90,371,165,14 30,174,89,246,14 92,183,134,233,14 177,165,224,271,14 312,151,374,232,14 387,147,436,210,14 2,222,46,384,12 8,218,123,376,12 95,233,160,373,12 148,209,246,357,12 246,184,400,347,12 318,172,475,338,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008042.jpg 75,138,500,364,17 67,61,213,261,14 96,269,121,344,4 116,268,135,334,4 123,255,142,319,4 145,259,171,326,4 154,240,173,307,4 38,193,57,261,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008043.jpg 14,9,284,288,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008044.jpg 365,173,495,207,5 450,186,500,237,6 240,204,392,247,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008048.jpg 48,75,100,178,14 108,59,145,191,14 113,46,189,199,14 175,37,243,197,14 240,24,316,197,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008049.jpg 159,15,392,255,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008051.jpg 131,110,358,375,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008053.jpg 10,346,98,489,2 129,213,204,500,2 135,369,224,475,2 86,8,224,439,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008057.jpg 61,119,378,224,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008060.jpg 5,126,500,352,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008061.jpg 236,17,314,216,4 104,100,156,270,4 295,43,337,167,4 42,2,92,117,4 1,1,47,95,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008062.jpg 2,69,383,375,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008063.jpg 325,97,426,297,8 53,105,157,301,8 208,107,294,286,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008064.jpg 295,224,425,330,15 114,199,297,333,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008067.jpg 132,163,349,330,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008068.jpg 50,36,435,345,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008069.jpg 1,132,46,292,14 58,101,127,180,14 111,131,156,184,14 192,111,241,276,14 213,160,289,314,14 102,215,172,368,14 1,298,46,375,14 43,293,104,375,14 110,303,154,375,14 158,287,220,375,14 143,342,198,375,14 1,171,290,295,12 458,106,500,255,14 377,83,450,238,14 316,28,411,222,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008072.jpg 81,191,329,322,10 293,106,348,175,14 385,109,450,182,14 272,127,397,318,14 135,102,203,198,14 189,92,257,185,14 68,99,154,212,14 3,97,148,325,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008075.jpg 1,64,298,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008076.jpg 305,258,500,373,10 262,256,376,375,8 157,184,194,248,8 224,163,292,230,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008079.jpg 148,133,203,309,14 195,127,274,308,14 270,137,320,273,14 338,187,366,275,14 321,151,373,274,14 267,249,356,331,11 48,137,159,198,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008082.jpg 123,80,212,201,15 238,35,426,333,14 326,3,500,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008083.jpg 82,85,204,294,14 152,66,362,300,14 95,140,400,300,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008084.jpg 111,212,233,365,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008085.jpg 54,173,100,219,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008086.jpg 114,4,500,317,18 417,80,436,107,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008087.jpg 73,133,458,280,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008091.jpg 2,3,322,319,3 111,209,175,288,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008093.jpg 1,284,84,375,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008095.jpg 373,141,500,175,18 5,86,390,202,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008096.jpg 130,163,249,241,1 165,140,233,220,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008098.jpg 73,176,100,192,6 267,156,362,198,6 360,163,486,214,6 298,133,395,181,5 98,113,230,213,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008100.jpg 1,70,227,372,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008101.jpg 224,124,332,168,0 214,93,334,134,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008103.jpg 3,136,500,368,17 207,72,326,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008105.jpg 22,71,472,326,6 281,65,500,193,6 65,46,193,104,6 1,54,66,135,6 1,33,58,71,6 54,34,111,68,6 454,13,500,104,14 378,20,400,46,14 181,14,222,66,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008106.jpg 168,189,266,355,8 280,222,367,385,8 288,232,306,259,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008107.jpg 10,57,494,232,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008108.jpg 27,235,62,300,13 97,229,130,303,13 64,216,87,294,14 80,209,109,300,14 199,202,234,319,14 376,207,402,291,14 153,240,182,303,13 240,223,356,324,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008112.jpg 106,35,168,144,3 157,40,199,145,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008115.jpg 195,159,278,241,11 107,110,187,158,11 72,125,138,200,11 366,110,420,185,11 396,136,440,192,11 470,130,500,202,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008116.jpg 196,170,364,356,16 319,155,409,330,16 107,85,178,141,16 196,109,216,135,16 214,111,233,141,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008117.jpg 218,213,397,375,2 51,254,133,375,2 206,151,382,265,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008121.jpg 77,18,243,255,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008122.jpg 58,42,227,330,14 274,61,406,206,14 4,209,115,296,10 48,199,109,332,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008125.jpg 2,1,335,450,5 142,146,232,241,14 44,153,136,241,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008127.jpg 193,224,500,334,10 268,109,341,205,15 346,129,449,247,14 225,149,328,255,14 58,77,178,334,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008130.jpg 300,29,399,215,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008132.jpg 146,163,196,200,0 251,270,356,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008137.jpg 295,43,355,176,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008138.jpg 47,44,390,244,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008139.jpg 13,342,69,411,4 475,152,500,224,4 1,34,254,401,14 165,11,500,411,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008140.jpg 388,80,485,237,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008141.jpg 215,66,309,370,4 38,1,447,301,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008142.jpg 189,73,253,229,14 149,119,325,286,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008144.jpg 102,238,317,450,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008150.jpg 331,178,358,197,16 297,180,316,195,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008151.jpg 293,166,454,334,17 2,209,270,370,17 121,156,217,213,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008159.jpg 5,189,375,500,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008160.jpg 22,69,377,366,6 203,1,456,139,6 75,29,121,144,14 46,34,86,139,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008163.jpg 2,65,150,99,3 121,53,200,79,3 209,75,354,129,3 307,62,419,106,3 40,182,381,265,3 81,146,176,224,14 41,160,81,221,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008164.jpg 6,96,233,375,14 153,68,369,344,14 342,90,500,247,14 409,163,440,277,4 461,159,489,266,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008166.jpg 151,178,349,236,3 351,143,411,176,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008168.jpg 34,124,242,243,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008169.jpg 276,163,436,343,7 11,174,91,226,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008171.jpg 43,221,97,317,8 86,216,131,299,8 1,233,90,312,10 380,96,495,362,15 299,137,366,253,15 118,112,338,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008173.jpg 112,150,500,237,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008174.jpg 41,1,500,320,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008175.jpg 197,4,424,374,14 12,37,242,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008177.jpg 1,102,165,375,14 250,51,447,214,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008180.jpg 3,334,333,500,1 38,6,333,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008186.jpg 2,4,484,442,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008188.jpg 44,54,463,284,6 260,60,322,118,14 361,75,393,124,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008189.jpg 315,155,472,270,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008190.jpg 235,117,461,374,1 265,3,415,297,14 136,1,274,309,14 139,168,263,345,1 61,174,157,323,1 1,188,53,294,1 3,100,60,271,14 65,72,170,285,14 44,214,78,278,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008191.jpg 204,167,280,227,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008197.jpg 451,187,497,227,6 336,177,366,207,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008199.jpg 97,196,148,319,8 364,85,499,375,14 1,225,35,374,15 153,227,194,290,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008200.jpg 196,129,397,315,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008202.jpg 191,111,458,372,9 438,90,500,195,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008203.jpg 331,148,426,247,17 38,188,304,360,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008204.jpg 199,247,242,367,4 143,145,266,336,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008208.jpg 1,65,312,433,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008209.jpg 286,338,376,467,12 343,307,356,350,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008211.jpg 78,182,282,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008213.jpg 292,126,331,167,8 430,66,442,104,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008216.jpg 280,276,315,407,15 217,322,242,365,15 201,409,270,500,8 263,422,333,500,8 227,407,374,500,10 88,308,154,500,14 158,302,197,351,14 153,321,205,479,14 46,305,68,387,14 66,312,85,385,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008218.jpg 194,90,495,375,14 124,334,164,375,14 100,273,139,361,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008220.jpg 1,1,458,333,18 214,153,295,219,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008222.jpg 49,98,276,422,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008223.jpg 129,12,500,374,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008224.jpg 343,85,435,225,14 243,105,328,214,14 104,110,191,225,14 172,100,254,235,14 435,98,486,212,14 55,145,109,203,14 16,145,44,193,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008225.jpg 242,136,281,231,14 112,201,189,330,14 56,128,190,221,6 128,189,249,247,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008226.jpg 82,1,214,165,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008229.jpg 55,62,277,315,7 58,103,456,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008232.jpg 348,282,384,372,14 376,280,406,375,14 112,280,157,374,14 424,287,471,372,14 220,153,252,193,14 59,146,83,251,14 167,159,418,245,6 67,149,274,231,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008235.jpg 48,127,337,284,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008236.jpg 199,156,253,192,0 220,188,268,227,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008241.jpg 3,248,444,375,13 109,170,232,374,14 108,138,284,375,14 284,220,348,340,14 235,162,361,375,14 281,147,421,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008244.jpg 118,2,500,344,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008248.jpg 245,128,349,375,12 327,57,477,375,14 292,44,346,138,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008250.jpg 246,157,343,305,13 119,188,261,308,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008251.jpg 114,174,334,209,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008252.jpg 63,130,487,253,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008253.jpg 89,132,427,325,14 350,4,500,200,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008254.jpg 1,51,418,314,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008258.jpg 13,36,350,500,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008260.jpg 94,71,457,255,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008261.jpg 109,179,161,244,14 56,3,238,265,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008262.jpg 29,77,471,322,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008263.jpg 15,93,366,337,18 144,178,177,260,14 162,244,217,375,14 209,234,240,369,14 230,232,286,375,14 284,241,346,372,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008268.jpg 461,148,495,172,6 22,85,471,324,6 1,129,158,244,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008269.jpg 21,30,500,335,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008272.jpg 302,4,500,375,14 1,3,261,375,14 203,239,366,337,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008275.jpg 44,24,459,331,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008279.jpg 145,207,264,451,12 125,98,237,312,14 152,201,329,366,6 53,212,118,257,6 24,211,60,243,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008280.jpg 2,90,500,281,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008281.jpg 1,55,247,500,14 154,37,375,498,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008282.jpg 203,156,243,190,19 8,174,191,284,17 253,209,500,375,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008284.jpg 258,124,348,238,11 1,1,263,375,14 2,122,227,373,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008285.jpg 132,32,327,203,19 88,50,395,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008292.jpg 150,172,196,202,16 270,174,302,220,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008293.jpg 107,195,163,250,5 163,48,333,379,5 266,144,333,232,14 43,194,114,403,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008294.jpg 38,46,207,179,6 145,122,324,237,13 202,78,293,237,14 217,71,319,108,6 319,63,451,120,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008295.jpg 2,5,495,291,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008296.jpg 52,103,500,324,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008297.jpg 2,2,500,375,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008299.jpg 113,89,304,401,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008300.jpg 3,1,500,330,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008301.jpg 153,191,375,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008302.jpg 222,220,500,373,19 1,1,248,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008306.jpg 161,110,456,288,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008307.jpg 161,54,264,196,14 78,85,412,313,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008310.jpg 2,2,500,327,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008311.jpg 19,47,384,313,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008312.jpg 36,143,266,440,13 173,79,341,401,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008313.jpg 369,208,446,308,1 252,220,368,347,1 1,236,165,374,1 55,174,134,375,14 325,169,387,344,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008315.jpg 165,160,456,312,5 454,234,500,272,6 365,245,406,319,14 359,270,408,341,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008316.jpg 148,1,500,332,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008317.jpg 74,44,392,375,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008318.jpg 302,252,337,296,15 334,150,411,375,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008319.jpg 151,25,181,124,4 185,2,225,128,4 227,2,266,127,4 268,1,309,128,4 312,2,352,126,4 353,1,394,127,4 396,2,436,128,4 438,1,472,126,4 473,1,500,125,4 4,180,72,372,4 62,181,129,368,4 93,160,132,266,4 123,170,184,361,4 156,160,192,223,4 183,174,241,367,4 281,167,316,237,4 340,167,374,241,4 337,149,379,225,4 236,178,295,365,4 295,177,350,365,4 352,180,412,364,4 411,163,471,365,4 468,181,500,365,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008320.jpg 1,8,245,198,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008322.jpg 100,29,248,294,11 235,46,500,310,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008323.jpg 1,262,228,375,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008326.jpg 19,102,479,231,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008327.jpg 255,33,489,333,14 1,65,285,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008329.jpg 54,141,369,233,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008332.jpg 2,56,359,375,14 233,202,358,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008335.jpg 89,35,298,307,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008336.jpg 272,257,306,285,6 297,248,380,330,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008338.jpg 26,5,486,140,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008341.jpg 1,119,266,333,17 371,117,500,333,8 79,88,203,333,14 295,96,425,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008342.jpg 135,97,310,334,9 358,163,500,262,16 312,229,500,400,16 273,208,342,346,16 11,207,242,400,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008345.jpg 199,165,257,254,9 328,174,412,278,9 369,147,446,232,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008346.jpg 28,99,210,487,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008349.jpg 134,64,316,324,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008351.jpg 136,163,377,270,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008355.jpg 174,85,500,333,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008359.jpg 353,43,477,184,6 21,36,364,343,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008360.jpg 2,21,401,280,5 396,157,426,203,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008364.jpg 171,25,486,275,18 1,5,150,293,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008365.jpg 16,127,119,216,19 171,164,313,230,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008368.jpg 174,57,433,332,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008370.jpg 57,63,311,485,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008372.jpg 200,93,359,182,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008374.jpg 258,223,320,294,19 323,216,403,288,19 185,181,271,375,14 292,202,369,373,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008376.jpg 44,22,461,359,6 374,61,416,94,14 422,56,459,130,14 448,61,479,177,14 302,75,450,180,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008381.jpg 62,46,463,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008384.jpg 203,86,295,278,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008385.jpg 1,378,327,500,10 104,196,305,454,14 269,318,354,500,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008386.jpg 154,56,256,162,19 266,56,361,156,19 204,284,370,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008387.jpg 256,2,500,372,5 395,150,465,375,14 305,169,431,375,14 232,149,322,361,14 152,238,330,375,14 29,215,164,375,14 110,115,135,155,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008388.jpg 1,1,450,337,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008390.jpg 54,230,301,450,14 32,117,289,500,14 31,111,335,489,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008391.jpg 5,46,497,307,6 205,118,247,178,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008397.jpg 199,354,294,375,6 19,322,36,358,14 42,324,54,358,14 58,290,294,375,5 6,303,68,329,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008398.jpg 32,63,158,169,14 121,109,179,191,14 194,108,243,375,14 222,98,305,375,14 279,106,362,234,14 312,75,362,128,14 291,92,471,375,14 408,77,500,374,14 100,121,214,375,14 1,81,129,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008403.jpg 229,17,499,385,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008409.jpg 56,188,184,337,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008410.jpg 295,156,411,367,14 1,160,153,375,14 169,121,232,226,14 260,120,319,229,14 139,170,215,375,14 211,149,298,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008413.jpg 147,71,452,375,14 1,18,224,318,14 103,39,500,375,8 1,71,269,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008415.jpg 267,139,379,310,11 36,104,206,217,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008416.jpg 274,39,454,333,11 114,120,273,277,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008422.jpg 87,22,224,113,19 145,171,262,304,19 274,177,407,330,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008423.jpg 1,72,399,322,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008424.jpg 198,404,333,500,15 140,341,270,461,15 75,120,258,390,15 28,221,79,291,15 29,197,100,226,15 8,130,85,197,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008425.jpg 322,258,496,341,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008426.jpg 160,81,380,329,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008427.jpg 18,1,416,333,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008429.jpg 148,127,370,188,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008430.jpg 81,12,464,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008433.jpg 280,195,386,348,1 172,126,261,271,1 107,78,200,209,1 274,103,422,303,14 170,43,295,234,14 125,14,227,194,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008434.jpg 1,40,496,203,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008437.jpg 71,122,239,362,12 52,178,103,267,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008438.jpg 215,137,377,287,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008442.jpg 231,70,387,221,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008443.jpg 206,98,393,310,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008444.jpg 19,36,500,250,6 10,36,497,304,13 446,17,493,108,14 88,16,139,81,14 32,26,68,92,14 9,15,38,94,14 344,30,387,107,14 217,22,242,42,14 348,29,368,54,14 489,32,500,93,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008445.jpg 1,4,490,333,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008449.jpg 436,208,482,234,6 1,13,467,266,3 443,202,461,241,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008450.jpg 178,102,447,205,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008452.jpg 157,172,374,295,17 118,162,310,310,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008453.jpg 281,105,340,152,7 72,91,238,359,14 225,1,500,362,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008454.jpg 2,249,375,500,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008456.jpg 295,6,479,240,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008461.jpg 261,135,355,171,6 154,161,358,224,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008462.jpg 333,248,458,375,8 157,204,240,315,8 118,195,189,290,8 79,181,138,268,8 57,175,108,245,8 12,167,69,233,8 1,163,38,221,8 61,133,87,162,19 86,134,107,167,19 100,135,129,172,19 125,138,168,179,19 174,140,218,187,19 215,147,273,199,19 297,154,369,223,19 392,163,493,245,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008465.jpg 19,27,499,498,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008466.jpg 212,121,442,230,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008467.jpg 68,153,251,433,11 179,12,375,486,14 1,109,155,277,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008468.jpg 51,122,172,197,17 217,155,314,227,8 243,128,293,169,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008470.jpg 151,175,500,375,10 397,114,500,281,14 284,77,421,228,14 63,138,235,375,14 1,73,104,341,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008472.jpg 12,22,489,448,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008475.jpg 424,92,482,205,14 246,125,305,162,9 139,195,383,351,9 19,266,246,375,9 145,312,380,375,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008477.jpg 27,118,271,358,11 259,63,500,358,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008478.jpg 1,169,53,245,1 24,160,100,240,1 134,161,207,215,1 94,138,422,306,6 373,131,500,227,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008482.jpg 168,152,404,240,6 46,117,80,203,14 385,132,409,198,14 417,130,439,197,14 433,125,463,200,14 482,131,500,198,14 476,125,491,198,14 77,136,156,170,6 105,122,127,171,14 143,121,166,174,14 2,121,47,159,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008483.jpg 202,137,348,186,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008484.jpg 1,1,407,315,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008485.jpg 22,1,262,373,7 5,3,499,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008492.jpg 153,69,496,243,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008494.jpg 210,143,296,230,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008495.jpg 216,101,426,261,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008498.jpg 47,90,488,335,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008499.jpg 123,35,500,334,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008502.jpg 2,51,385,500,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008503.jpg 3,5,218,375,5 434,281,500,375,6 351,222,461,298,6 256,245,366,360,6 254,212,331,270,6 320,184,366,222,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008506.jpg 10,142,93,252,18 89,49,457,291,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008509.jpg 27,206,69,277,11 224,178,270,251,11 338,195,419,272,11 94,65,167,249,12 82,6,175,177,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008512.jpg 209,106,318,207,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008513.jpg 1,5,479,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008514.jpg 115,82,178,209,1 163,124,234,261,1 260,143,337,266,1 337,75,393,185,1 334,15,422,165,14 401,1,461,119,14 256,75,354,241,14 165,50,256,243,14 238,22,295,173,14 281,7,333,96,14 127,23,220,144,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008517.jpg 1,2,345,333,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008518.jpg 81,53,374,248,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008519.jpg 125,41,479,282,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008521.jpg 76,2,381,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008522.jpg 198,144,335,188,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008523.jpg 235,125,436,249,0 1,1,323,322,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008524.jpg 7,1,76,34,6 1,6,391,287,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008526.jpg 133,250,274,424,12 255,246,316,385,12 57,218,86,258,14 82,203,101,242,14 100,176,156,280,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008529.jpg 1,349,265,500,10 109,196,277,439,10 4,189,150,367,14 62,170,142,293,14 114,157,191,277,14 177,150,248,234,14 247,157,330,251,14 266,194,375,425,14 242,312,375,500,14 8,108,45,172,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008530.jpg 1,32,327,333,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008533.jpg 4,28,481,424,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008534.jpg 143,21,487,387,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008535.jpg 119,11,500,250,13 43,76,376,374,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008536.jpg 254,339,277,376,15 32,322,66,364,15 155,306,195,378,15 132,330,169,381,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008541.jpg 40,107,64,138,14 199,153,242,243,14 2,80,147,336,14 315,55,382,172,14 292,57,500,335,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008542.jpg 73,151,289,349,7 82,1,310,189,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008549.jpg 278,37,472,160,6 99,29,440,309,6 17,18,82,145,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008550.jpg 55,107,377,324,6 371,40,459,119,6 440,31,475,190,14 261,21,336,125,14 139,33,201,115,14 224,18,263,112,14 118,29,151,121,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008553.jpg 29,119,269,248,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008556.jpg 284,100,500,333,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008557.jpg 151,135,213,193,19 23,127,49,173,15 1,150,19,185,15 36,174,61,208,15 19,180,39,214,15 5,182,22,218,15 33,209,60,243,15 186,189,446,334,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008558.jpg 103,36,295,198,11 284,108,475,328,11 102,166,284,349,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008559.jpg 103,66,333,500,14 1,140,82,471,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008562.jpg 75,49,383,298,5 12,184,58,213,6 196,130,240,198,14 128,137,174,178,14 431,158,443,187,14 461,161,486,192,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008564.jpg 199,195,396,308,12 3,198,139,284,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008568.jpg 228,89,500,284,3 17,121,296,283,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008572.jpg 34,61,457,320,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008573.jpg 73,190,327,415,17 176,178,303,314,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008576.jpg 208,41,343,364,14 342,121,454,364,14 125,129,244,364,14 10,198,117,364,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008581.jpg 105,59,333,309,6 1,167,234,495,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008582.jpg 15,3,476,344,14 97,115,443,344,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008584.jpg 66,277,209,372,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008585.jpg 1,1,499,334,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008586.jpg 174,36,483,274,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008587.jpg 163,84,500,375,14 172,126,321,339,14 3,135,129,305,14 128,85,201,165,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008588.jpg 289,237,312,282,2 319,200,370,220,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008592.jpg 2,209,128,427,16 40,222,320,427,16 30,60,135,138,4 309,158,393,248,4 373,10,478,426,14 108,3,284,420,14 100,4,264,227,14 272,4,497,424,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008595.jpg 94,103,219,269,13 165,2,500,333,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008596.jpg 142,128,239,426,12 120,72,266,290,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008601.jpg 79,16,500,364,6 295,66,500,203,6 244,7,353,48,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008602.jpg 1,24,327,211,17 1,91,122,331,14 150,144,295,374,14 276,78,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008604.jpg 1,115,471,375,3 86,20,159,268,14 147,96,230,276,14 142,190,256,328,14 251,145,353,326,14 321,101,396,202,14 336,85,391,179,14 379,82,447,173,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008606.jpg 114,75,348,360,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008607.jpg 5,103,307,315,9 195,107,440,340,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008608.jpg 3,2,498,330,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008610.jpg 186,73,337,291,12 373,53,452,293,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008612.jpg 175,124,220,234,14 97,147,295,234,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008615.jpg 50,170,118,209,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008617.jpg 45,52,320,375,14 258,89,486,374,14 429,33,500,169,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008618.jpg 282,116,393,241,16 198,113,334,254,16 143,125,292,261,16 94,139,297,328,16 42,148,233,331,16 1,1,164,330,14 284,17,373,149,14 391,21,455,215,14 148,7,214,161,14 89,16,149,158,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008620.jpg 15,22,404,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008621.jpg 256,26,481,238,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008624.jpg 135,203,215,351,8 259,193,334,310,8 236,216,334,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008628.jpg 169,31,320,173,8 1,1,250,406,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008633.jpg 125,4,292,80,1 128,2,270,59,1 296,12,500,233,6 2,5,196,244,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008635.jpg 154,70,479,251,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008636.jpg 15,133,360,375,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008638.jpg 47,47,233,293,18 235,50,483,280,18 13,212,49,306,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008639.jpg 234,133,320,268,11 407,301,500,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008644.jpg 9,52,132,329,14 128,43,246,337,14 419,7,492,345,14 337,78,423,342,14 231,49,333,339,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008645.jpg 210,153,300,308,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008647.jpg 1,2,465,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008653.jpg 137,27,312,454,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008654.jpg 40,116,259,257,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008655.jpg 234,48,280,128,15 258,328,357,500,11 266,205,299,283,11 213,128,269,178,19 101,177,253,307,10 198,175,270,302,8 138,187,209,327,8 85,171,157,296,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008663.jpg 1,106,496,328,6 242,60,277,105,14 111,115,141,135,14 383,89,412,131,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008665.jpg 57,15,452,325,6 355,17,446,56,17 383,22,449,75,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008667.jpg 15,22,433,328,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008670.jpg 56,115,254,263,2 60,279,252,397,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008676.jpg 415,199,478,279,13 245,256,345,334,13 182,217,232,308,13 53,223,106,292,13 125,153,249,238,6 411,140,481,251,14 252,143,343,327,14 167,141,246,276,14 44,151,109,276,14 29,156,48,200,14 14,154,34,198,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008680.jpg 223,166,316,218,5 335,140,500,359,6 4,195,178,310,6 174,207,286,266,6 275,202,354,248,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008683.jpg 8,3,500,333,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008687.jpg 2,2,415,262,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008688.jpg 2,1,500,325,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008690.jpg 147,14,337,267,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008691.jpg 1,140,454,213,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008692.jpg 2,54,500,259,0 160,152,291,329,14 58,164,80,232,14 18,164,42,220,14 178,166,210,263,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008695.jpg 4,21,482,333,13 140,1,417,57,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008698.jpg 2,29,287,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008699.jpg 148,135,394,365,12 240,56,312,253,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008701.jpg 143,135,265,314,14 2,18,431,350,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008702.jpg 31,96,489,346,5 89,286,283,375,1 118,196,212,375,14 76,219,130,375,14 1,191,22,342,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008706.jpg 224,162,284,258,9 270,171,309,243,9 290,164,333,237,9 316,163,348,237,9 179,164,224,247,9 142,188,188,273,9 31,139,73,181,6 1,136,34,172,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008709.jpg 36,164,142,249,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008710.jpg 138,50,323,249,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008713.jpg 1,76,478,333,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008716.jpg 196,93,361,207,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008717.jpg 185,156,283,256,10 167,149,217,263,8 203,162,251,287,8 139,147,188,207,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008718.jpg 373,130,449,359,14 328,163,349,209,14 1,4,348,375,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008720.jpg 93,235,250,386,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008722.jpg 302,206,393,292,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008723.jpg 5,66,468,252,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008725.jpg 15,116,266,241,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008727.jpg 3,249,375,500,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008728.jpg 249,148,472,375,11 1,93,337,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008730.jpg 160,207,436,284,3 213,176,277,199,3 341,187,465,230,3 138,129,203,208,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008731.jpg 150,93,255,278,12 295,97,383,282,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008732.jpg 101,197,223,395,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008733.jpg 342,169,412,331,8 232,191,357,372,8 168,182,266,350,8 171,183,445,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008738.jpg 1,137,357,332,11 316,1,466,218,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008739.jpg 113,348,131,414,14 164,364,204,399,6 202,366,333,489,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008741.jpg 4,4,374,499,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008742.jpg 185,413,257,469,13 88,394,112,463,14 61,390,81,462,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008744.jpg 125,128,265,325,14 131,180,270,383,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008747.jpg 43,49,309,261,5 320,144,375,190,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008748.jpg 118,327,204,453,14 204,344,242,454,14 241,340,272,458,14 270,344,294,457,14 82,339,125,456,14 43,333,81,468,14 302,274,338,358,14 7,290,29,355,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008749.jpg 3,3,500,375,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008750.jpg 24,81,479,304,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008752.jpg 1,13,423,329,13 221,44,286,84,14 448,1,500,244,14 411,44,426,90,14 394,48,417,88,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008753.jpg 363,274,482,367,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008755.jpg 211,3,408,331,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008756.jpg 210,121,289,174,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008757.jpg 49,82,421,290,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008759.jpg 147,1,500,374,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008760.jpg 1,213,263,375,8 104,151,334,287,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008764.jpg 100,38,340,325,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008766.jpg 3,123,255,450,18 179,238,222,289,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008768.jpg 89,111,165,366,14 259,124,355,359,14 1,124,247,315,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008769.jpg 221,24,500,373,14 9,53,286,373,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008770.jpg 185,106,337,190,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008771.jpg 62,104,433,203,5 454,157,465,196,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008772.jpg 8,84,491,373,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008773.jpg 114,129,499,306,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008775.jpg 178,153,300,270,14 252,61,426,260,14 8,1,64,102,14 58,1,97,95,14 91,1,152,96,14 161,1,205,103,14 220,1,278,107,14 358,1,402,107,14 399,1,450,109,14 445,1,493,107,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008776.jpg 160,38,296,314,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008783.jpg 150,238,479,373,10 86,227,224,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008784.jpg 429,139,484,168,6 200,140,235,170,6 150,140,194,169,6 44,141,93,172,6 324,131,382,170,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008790.jpg 1,169,213,230,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008793.jpg 134,1,433,241,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008794.jpg 1,107,46,254,14 41,149,97,250,14 125,143,170,172,14 184,137,208,166,14 224,97,249,124,14 355,131,383,166,14 420,78,447,135,14 81,96,500,312,6 272,64,310,108,14 242,67,270,113,14 203,64,240,149,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008796.jpg 189,155,289,203,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008799.jpg 22,50,500,298,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008801.jpg 139,13,311,368,14 426,1,500,171,13 401,1,500,88,6 193,1,390,79,6 95,14,311,99,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008805.jpg 60,143,348,450,12 159,117,279,284,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008806.jpg 418,173,442,245,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008809.jpg 38,40,443,221,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008810.jpg 116,25,369,211,13 365,71,415,141,14 5,83,64,177,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008811.jpg 3,56,500,375,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008813.jpg 189,103,356,244,2 318,29,479,368,14 1,1,101,375,14 426,156,500,255,14 259,166,495,375,14 176,132,262,363,14 100,93,135,160,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008814.jpg 369,172,436,266,8 189,214,277,332,8 102,191,181,321,8 127,200,362,320,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008815.jpg 2,30,230,364,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008817.jpg 274,13,412,374,14 5,36,465,375,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008819.jpg 131,79,294,450,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008822.jpg 1,12,393,333,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008823.jpg 58,114,500,290,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008826.jpg 346,188,500,336,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008831.jpg 12,241,276,403,1 257,253,497,404,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008833.jpg 26,1,305,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008835.jpg 42,5,168,117,15 174,4,290,138,15 302,18,381,117,15 397,54,477,152,15 331,129,425,221,15 253,169,358,277,15 154,117,244,212,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008836.jpg 148,80,441,375,14 340,70,430,266,14 1,115,127,375,14 446,278,500,375,14 417,112,500,330,14 429,1,456,67,14 256,11,282,77,14 1,103,55,214,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008837.jpg 1,80,74,373,19 66,33,437,373,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008838.jpg 122,45,334,278,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008840.jpg 139,2,425,258,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008841.jpg 178,243,249,375,11 325,55,341,89,4 299,54,313,89,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008843.jpg 120,106,483,332,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008847.jpg 115,45,292,270,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008848.jpg 270,232,419,337,6 116,230,174,314,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008849.jpg 141,139,340,375,11 2,78,500,375,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008854.jpg 71,1,500,333,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008856.jpg 50,3,500,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008858.jpg 209,60,378,302,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008859.jpg 128,100,219,148,6 104,82,167,121,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008862.jpg 110,187,214,445,12 112,90,231,320,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008865.jpg 272,161,500,303,14 155,187,500,334,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008867.jpg 110,178,428,271,12 187,96,320,262,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008871.jpg 26,21,487,409,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008872.jpg 130,126,244,270,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008873.jpg 90,80,237,264,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008874.jpg 89,166,148,220,19 105,173,383,315,17 246,232,500,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008876.jpg 224,102,299,253,14 49,188,486,333,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008878.jpg 173,138,383,196,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008879.jpg 127,67,375,375,14 151,161,310,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008880.jpg 154,54,404,323,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008883.jpg 155,220,318,285,5 333,225,408,284,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008884.jpg 149,179,208,375,14 203,201,252,368,14 2,3,369,259,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008885.jpg 1,42,350,496,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008886.jpg 11,1,229,201,12 167,2,241,172,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008888.jpg 183,92,250,159,19 235,142,412,373,8 1,181,63,345,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008890.jpg 110,154,358,249,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008891.jpg 150,102,462,236,6 277,124,311,153,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008892.jpg 43,318,160,375,6 243,318,283,349,6 281,315,334,350,6 312,311,408,361,6 1,303,65,375,6 372,251,500,360,6 195,315,208,347,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008900.jpg 1,42,500,124,3 1,53,500,208,3 3,193,92,301,14 161,148,218,303,14 205,151,287,248,14 353,110,412,255,14 411,109,482,203,14 401,7,461,64,14 309,13,387,71,14 231,25,291,83,14 45,48,103,100,14 167,34,219,85,14 127,278,199,362,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008905.jpg 2,82,500,298,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008909.jpg 22,61,486,308,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008911.jpg 205,30,354,234,5 269,1,450,39,5 319,21,452,91,6 73,29,247,92,6 2,49,122,121,6 45,146,247,270,6 136,107,158,150,14 59,206,101,312,14 15,188,46,294,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008913.jpg 202,132,259,181,19 254,141,308,192,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008914.jpg 166,103,355,342,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008917.jpg 211,14,500,500,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008919.jpg 87,79,249,205,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008920.jpg 224,151,401,301,16 61,67,230,284,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008921.jpg 128,2,339,400,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008923.jpg 15,31,366,176,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008926.jpg 231,98,370,313,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008927.jpg 203,238,266,317,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008929.jpg 1,57,441,240,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008930.jpg 2,59,375,500,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008931.jpg 218,257,281,374,4 43,211,82,353,4 111,117,274,374,14 249,122,390,374,14 70,140,171,318,14 1,136,93,299,14 307,2,460,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008932.jpg 60,126,156,375,14 139,92,230,375,14 221,121,311,302,14 301,81,390,303,14 199,298,466,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008933.jpg 80,230,248,401,7 234,346,284,407,15 234,383,297,447,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008936.jpg 92,214,210,341,8 29,199,121,306,8 206,174,257,238,8 247,197,320,278,8 372,174,419,223,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008939.jpg 409,233,500,312,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008940.jpg 8,6,493,333,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008942.jpg 20,179,176,295,16 189,190,286,283,16 301,199,419,276,16 351,186,390,210,16 391,183,426,207,16 299,191,355,223,16 146,182,192,206,16 61,181,189,284,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008943.jpg 347,319,407,372,2 426,328,456,363,2 238,337,269,372,2 277,342,339,372,2 138,120,266,326,14 137,7,217,182,14 40,9,75,113,14 62,3,104,117,14 2,4,49,101,14 23,354,67,375,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008944.jpg 1,1,443,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008948.jpg 3,159,182,323,8 251,129,367,246,8 474,123,500,201,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008951.jpg 3,17,375,500,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008953.jpg 1,47,191,316,14 163,266,222,360,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008955.jpg 61,160,307,362,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008958.jpg 50,35,500,359,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008960.jpg 440,183,486,270,14 337,199,362,272,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008961.jpg 259,179,479,407,8 247,89,472,407,14 1,78,269,407,14 31,59,73,108,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008962.jpg 86,39,135,215,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008965.jpg 118,1,500,332,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008966.jpg 128,27,500,303,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008967.jpg 229,15,379,331,4 359,15,480,322,4 162,54,260,333,4 137,71,233,332,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008968.jpg 86,50,443,332,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008969.jpg 43,110,468,375,6 418,121,500,183,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008970.jpg 252,81,371,242,15 65,77,190,204,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008971.jpg 83,48,462,244,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008973.jpg 271,43,444,279,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008975.jpg 160,174,350,359,17 24,160,135,261,8 377,120,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008976.jpg 258,118,341,250,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008978.jpg 212,146,491,358,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008979.jpg 36,41,443,351,13 40,31,239,322,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008980.jpg 53,58,372,428,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008982.jpg 256,72,426,234,19 429,185,488,336,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008983.jpg 393,45,496,201,14 305,28,384,83,14 224,11,302,90,14 79,31,211,137,14 5,52,139,203,14 102,84,422,203,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008985.jpg 3,9,314,496,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008987.jpg 302,129,449,227,17 93,156,288,312,17 89,204,116,262,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008988.jpg 2,95,375,329,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008989.jpg 199,182,236,250,4 317,197,358,234,4 342,195,388,232,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008995.jpg 31,381,121,439,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008997.jpg 1,284,261,445,10 426,289,500,375,8 138,175,205,332,15 110,207,143,247,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/008999.jpg 53,78,86,170,3 160,65,191,171,3 222,125,238,162,3 248,43,284,175,3 415,82,444,167,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009000.jpg 219,168,284,225,11 367,162,475,238,14 30,7,49,50,14 23,1,160,46,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009002.jpg 35,29,445,206,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009004.jpg 40,60,454,317,13 231,2,408,90,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009005.jpg 86,72,173,249,14 242,63,381,353,14 182,58,270,239,14 168,56,214,223,14 323,15,397,202,14 122,8,160,104,14 91,160,167,291,1 238,201,375,375,1 196,153,267,287,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009006.jpg 195,167,231,188,6 263,169,298,188,6 285,176,343,211,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009007.jpg 17,1,461,403,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009015.jpg 232,128,431,242,5 1,211,54,333,6 114,196,153,220,6 213,202,233,228,6 72,199,113,221,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009016.jpg 184,3,334,452,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009018.jpg 5,93,351,313,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009019.jpg 40,133,450,244,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009020.jpg 259,61,356,292,14 163,102,402,274,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009022.jpg 138,143,263,370,11 293,2,500,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009024.jpg 197,140,278,310,14 163,172,288,360,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009027.jpg 181,76,238,183,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009029.jpg 49,46,280,147,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009032.jpg 309,209,341,257,15 27,69,207,262,19 205,75,350,256,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009034.jpg 346,98,401,203,13 278,103,362,276,13 410,131,485,241,13 84,149,181,332,13 161,215,270,374,13 253,66,307,124,14 218,64,261,125,14 150,78,199,128,14 144,75,176,115,14 431,64,481,244,14 461,64,500,318,14 33,92,125,312,14 132,78,308,368,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009035.jpg 1,1,333,482,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009036.jpg 287,263,474,405,1 303,132,475,387,14 29,2,111,129,14 1,29,69,238,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009037.jpg 325,166,500,257,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009039.jpg 214,273,340,323,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009042.jpg 116,92,406,194,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009045.jpg 204,106,259,181,14 252,104,311,156,14 295,103,336,142,14 335,108,366,145,14 380,104,429,161,14 429,107,494,224,14 196,167,285,276,14 1,82,500,375,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009048.jpg 119,308,234,404,7 180,90,313,214,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009049.jpg 283,75,440,262,13 51,79,359,327,13 227,11,345,122,14 100,16,248,269,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009051.jpg 1,178,28,222,19 54,198,312,307,17 281,255,406,368,8 94,260,215,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009053.jpg 43,82,418,306,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009058.jpg 1,1,484,287,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009059.jpg 97,85,314,187,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009060.jpg 51,67,500,333,6 2,105,125,224,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009063.jpg 48,149,181,189,0 260,124,392,176,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009064.jpg 30,71,450,343,6 454,107,500,205,6 1,41,155,202,6 174,62,222,108,14 228,68,268,110,14 28,36,105,183,14 348,59,422,165,14 425,83,452,165,14 448,87,472,172,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009066.jpg 98,95,467,351,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009068.jpg 131,217,293,337,8 5,232,77,299,8 284,160,437,335,14 1,205,283,344,14 320,181,369,240,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009072.jpg 1,2,154,284,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009073.jpg 127,136,232,263,5 15,140,125,204,5 89,202,150,276,6 1,202,97,337,6 378,63,500,375,14 353,200,394,323,14 298,174,358,322,14 238,206,264,278,14 213,195,241,279,14 272,192,304,269,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009078.jpg 114,248,391,338,6 219,252,251,280,14 201,225,254,247,6 456,245,483,279,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009079.jpg 7,36,422,372,14 3,175,224,375,14 454,208,500,356,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009080.jpg 79,78,174,188,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009085.jpg 13,125,486,238,0 421,292,493,325,0 107,301,161,325,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009086.jpg 31,34,500,281,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009087.jpg 16,172,93,226,15 25,229,89,279,15 5,274,106,374,15 221,117,336,375,14 220,123,269,199,14 119,141,232,375,14 256,199,344,351,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009089.jpg 1,80,342,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009091.jpg 213,108,394,375,14 266,22,427,375,14 153,22,277,375,14 1,13,59,375,14 19,1,89,230,14 96,1,176,196,14 238,1,301,124,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009094.jpg 235,81,394,227,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009098.jpg 1,284,197,500,7 6,3,418,500,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009099.jpg 146,128,286,334,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009100.jpg 253,192,399,306,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009105.jpg 34,40,500,315,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009106.jpg 1,105,356,340,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009108.jpg 265,1,417,352,4 119,1,264,342,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009112.jpg 35,57,361,298,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009113.jpg 87,111,336,343,9 192,92,214,112,9 169,108,214,125,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009114.jpg 66,26,242,191,12 131,11,174,110,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009116.jpg 9,172,456,355,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009117.jpg 188,27,500,373,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009121.jpg 160,134,304,231,6 1,110,100,208,6 46,96,141,172,6 29,56,110,108,6 391,57,473,124,6 162,19,233,69,6 420,99,500,178,6 427,148,500,248,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009123.jpg 23,172,352,375,10 270,236,443,375,8 408,215,490,373,8 216,96,299,192,15 304,104,493,307,14 326,102,426,241,14 266,100,333,177,14 125,100,203,197,14 54,73,110,198,14 1,89,92,301,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009126.jpg 19,40,490,268,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009128.jpg 3,12,304,420,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009129.jpg 80,67,480,326,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009131.jpg 316,75,366,219,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009133.jpg 1,22,358,333,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009136.jpg 114,69,358,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009138.jpg 63,2,500,375,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009141.jpg 196,147,277,279,14 250,83,333,230,14 259,160,338,316,14 291,167,404,333,14 111,122,160,266,14 57,139,171,284,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009144.jpg 49,47,474,345,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009147.jpg 44,90,455,310,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009148.jpg 90,54,206,256,12 145,13,175,43,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009150.jpg 78,365,140,433,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009151.jpg 20,182,110,301,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009153.jpg 3,107,375,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009155.jpg 143,37,337,185,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009157.jpg 5,169,500,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009159.jpg 101,264,237,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009160.jpg 177,142,393,317,13 290,47,373,156,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009161.jpg 19,179,423,317,5 212,247,262,364,14 280,241,323,364,14 372,241,405,326,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009162.jpg 220,64,461,331,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009163.jpg 177,66,419,166,5 22,110,176,194,6 2,112,29,169,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009166.jpg 196,18,294,280,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009168.jpg 151,64,387,333,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009173.jpg 167,1,375,128,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009174.jpg 6,54,500,321,5 266,252,490,375,6 40,252,206,328,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009175.jpg 132,57,331,159,7 248,177,435,340,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009177.jpg 240,122,358,301,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009178.jpg 2,83,500,324,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009179.jpg 243,307,328,356,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009180.jpg 343,102,445,260,13 3,90,213,331,13 354,81,440,244,14 229,21,343,291,14 24,18,219,296,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009181.jpg 38,32,306,450,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009184.jpg 336,1,498,180,14 1,3,446,334,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009185.jpg 140,64,433,322,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009186.jpg 62,213,156,248,6 1,216,62,246,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009187.jpg 49,30,500,309,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009189.jpg 405,226,449,281,9 304,224,366,261,9 231,212,287,245,9 123,186,227,250,9 70,178,120,237,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009191.jpg 29,23,487,325,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009192.jpg 76,29,415,336,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009193.jpg 8,221,494,375,17 24,167,242,344,14 82,248,272,374,14 298,51,500,358,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009194.jpg 10,2,500,330,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009195.jpg 101,51,257,419,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009196.jpg 1,2,500,287,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009197.jpg 104,93,467,357,11 47,1,186,348,14 199,1,362,353,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009200.jpg 311,167,361,221,19 113,136,219,226,19 240,239,335,374,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009202.jpg 143,114,372,447,12 175,25,321,293,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009205.jpg 1,47,491,251,6 1,128,311,329,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009208.jpg 234,40,383,333,14 1,43,249,305,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009209.jpg 139,105,274,213,13 146,86,225,202,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009212.jpg 1,198,323,500,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009213.jpg 308,204,426,287,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009214.jpg 180,114,314,226,1 146,223,468,375,6 107,198,142,309,14 72,206,103,308,14 38,210,72,312,14 466,188,500,286,14 1,212,20,313,14 140,218,159,255,14 226,82,311,194,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009215.jpg 78,150,402,373,15 304,90,500,340,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009218.jpg 3,60,374,500,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009221.jpg 57,65,421,277,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009224.jpg 110,188,375,380,14 206,82,295,378,14 185,60,245,335,14 32,120,94,291,14 1,109,31,259,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009227.jpg 430,133,497,187,11 1,83,72,216,16 72,83,163,224,16 129,78,189,202,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009230.jpg 126,46,326,250,14 1,100,361,375,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009236.jpg 131,96,346,290,12 195,57,258,212,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009238.jpg 19,57,243,333,14 62,7,500,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009239.jpg 352,73,500,333,14 128,109,213,231,14 1,18,120,332,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009242.jpg 76,97,485,261,17 266,82,424,214,14 109,93,240,228,14 171,173,192,232,4 51,161,89,245,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009244.jpg 2,2,500,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009245.jpg 17,96,288,330,9 265,150,467,248,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009246.jpg 97,36,354,206,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009247.jpg 2,58,499,333,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009249.jpg 219,153,290,217,19 213,287,403,375,8 9,284,214,374,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009250.jpg 3,1,351,499,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009251.jpg 180,23,309,306,12 145,74,210,192,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009252.jpg 40,200,500,369,17 325,29,423,155,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009254.jpg 1,79,344,259,18 382,212,423,243,6 331,212,401,243,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009255.jpg 12,5,248,197,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009259.jpg 211,98,295,192,14 167,121,339,232,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009268.jpg 127,123,369,377,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009269.jpg 100,167,404,327,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009270.jpg 5,3,404,333,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009271.jpg 201,104,387,287,16 415,124,475,181,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009272.jpg 14,69,487,219,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009273.jpg 32,50,252,375,14 75,108,479,375,14 28,244,84,336,14 387,273,500,362,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009278.jpg 81,280,121,326,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009279.jpg 342,168,500,426,8 159,79,208,181,15 187,82,277,190,19 286,77,383,185,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009281.jpg 29,3,425,375,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009282.jpg 14,74,431,288,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009283.jpg 255,220,354,317,5 203,248,253,298,6 1,245,107,370,6 463,269,493,365,14 344,261,363,319,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009285.jpg 3,61,433,344,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009286.jpg 1,96,500,328,6 110,3,360,167,14 121,2,206,135,14 437,2,498,90,14 397,2,431,86,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009287.jpg 255,65,500,270,13 248,43,371,251,14 284,19,419,241,14 18,245,51,288,13 12,230,51,288,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009288.jpg 59,73,131,195,14 72,64,127,251,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009289.jpg 82,15,427,333,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009290.jpg 51,57,291,266,14 345,125,372,202,4 126,61,453,208,17 2,144,58,294,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009291.jpg 61,245,374,500,13 51,150,346,475,14 88,93,193,429,14 182,128,219,192,14 201,164,239,203,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009295.jpg 296,39,440,337,14 43,104,307,375,1 263,1,500,206,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009296.jpg 125,155,206,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009299.jpg 88,224,500,333,10 401,62,500,313,14 266,65,403,280,14 1,47,115,308,14 194,1,225,55,4 279,1,301,56,4 14,15,28,54,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009303.jpg 416,9,471,69,14 193,6,266,85,14 9,5,135,99,14 159,18,197,60,14 256,17,310,83,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009306.jpg 67,338,266,451,7 49,74,372,444,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009307.jpg 7,13,400,367,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009308.jpg 1,1,500,286,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009309.jpg 21,74,500,375,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009312.jpg 137,148,401,375,13 90,78,197,324,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009315.jpg 251,117,376,218,5 109,138,255,195,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009316.jpg 288,87,500,375,14 213,139,353,372,14 160,117,252,370,14 4,60,167,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009318.jpg 238,8,330,242,14 32,58,438,334,12 372,102,400,123,6 351,101,376,124,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009323.jpg 378,239,483,345,2 221,79,328,145,2 2,168,82,262,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009324.jpg 233,18,447,330,2 1,50,302,331,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009325.jpg 118,1,262,149,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009326.jpg 101,109,314,211,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009327.jpg 117,79,258,403,14 67,273,113,334,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009330.jpg 94,147,291,375,14 181,22,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009331.jpg 1,1,58,193,12 57,22,125,256,14 100,168,217,293,11 260,195,360,266,11 331,196,412,281,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009333.jpg 100,86,312,238,19 207,202,352,268,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009334.jpg 93,115,435,289,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009336.jpg 61,78,396,328,6 72,142,116,197,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009337.jpg 231,148,495,326,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009339.jpg 383,2,500,276,8 106,22,460,319,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009342.jpg 75,4,171,287,14 237,139,377,278,7 219,121,274,248,7 1,214,121,375,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009343.jpg 167,9,419,327,14 18,157,242,301,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009347.jpg 249,14,436,292,3 93,134,198,290,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009348.jpg 145,90,363,209,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009349.jpg 2,304,149,500,16 136,74,312,461,14 280,94,375,500,14 85,118,119,274,14 14,115,54,217,14 40,129,92,299,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009350.jpg 8,289,336,475,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009351.jpg 123,2,500,375,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009354.jpg 129,218,238,334,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009358.jpg 282,236,362,297,5 427,309,500,353,6 330,297,401,338,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009359.jpg 184,133,268,202,8 46,170,283,281,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009362.jpg 278,48,400,333,14 136,76,258,311,14 32,33,178,332,14 373,238,476,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009365.jpg 231,142,298,201,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009368.jpg 166,222,429,319,6 97,188,321,259,6 309,165,442,223,6 206,144,298,183,6 142,143,227,185,6 79,146,168,185,6 10,150,77,179,6 408,133,493,184,6 122,127,139,147,14 377,131,396,172,14 410,131,434,181,14 434,127,456,191,14 460,138,489,188,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009371.jpg 2,1,497,186,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009373.jpg 221,27,500,314,19 1,46,223,270,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009374.jpg 71,94,461,334,8 58,64,334,334,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009375.jpg 128,146,145,188,4 128,92,247,380,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009377.jpg 19,97,62,200,14 57,19,417,336,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009378.jpg 8,19,313,394,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009382.jpg 1,236,333,500,13 34,75,305,485,14 11,1,149,370,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009386.jpg 3,2,409,374,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009388.jpg 314,173,386,233,19 259,153,320,219,19 234,265,417,375,8 100,177,163,252,19 54,228,73,279,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009389.jpg 119,117,500,364,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009392.jpg 410,194,500,331,5 249,230,294,247,6 215,223,249,237,6 173,223,206,237,6 290,223,314,233,6 19,224,51,238,6 1,283,74,331,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009393.jpg 145,140,321,342,13 287,160,479,372,1 295,2,457,372,14 38,162,102,296,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009394.jpg 3,2,500,254,0 133,160,159,261,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009398.jpg 1,4,422,333,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009401.jpg 1,25,425,330,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009405.jpg 139,1,500,367,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009406.jpg 19,20,489,266,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009407.jpg 146,97,253,304,14 25,123,322,480,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009408.jpg 58,92,227,284,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009409.jpg 385,172,500,226,5 168,166,353,223,5 1,132,91,263,5 89,201,201,245,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009410.jpg 10,3,457,375,14 40,125,351,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009411.jpg 62,112,463,335,6 424,150,456,191,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009412.jpg 31,62,101,116,5 75,85,255,375,14 317,40,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009413.jpg 24,70,149,264,8 26,231,181,500,14 252,9,500,361,14 48,333,500,500,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009414.jpg 61,60,471,350,17 298,201,412,328,14 107,97,323,350,14 136,17,236,140,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009417.jpg 62,29,144,93,16 216,183,299,266,16 238,94,330,220,16 136,54,164,94,16 368,15,401,36,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009418.jpg 149,237,264,333,11 181,102,251,227,11 142,3,353,262,14 207,62,500,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009419.jpg 52,68,134,195,15 145,207,181,277,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009420.jpg 1,234,404,375,10 152,149,216,257,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009421.jpg 135,71,234,291,14 229,64,327,184,14 117,139,253,359,14 281,123,402,333,14 200,132,295,310,14 384,109,500,212,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009422.jpg 2,2,481,325,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009424.jpg 50,103,422,329,6 275,95,368,335,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009429.jpg 205,197,316,240,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009432.jpg 5,90,497,260,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009433.jpg 79,147,387,286,18 475,189,495,245,14 446,173,467,228,14 386,192,402,236,14 363,192,381,243,14 195,178,210,221,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009434.jpg 16,82,482,301,6 354,15,433,105,14 209,7,284,82,14 160,1,208,45,14 395,1,472,61,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009437.jpg 77,177,499,375,10 359,55,487,199,14 60,148,160,340,14 2,142,218,374,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009438.jpg 103,64,343,500,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009439.jpg 151,180,208,262,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009440.jpg 259,82,500,375,14 1,27,204,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009443.jpg 318,204,361,279,15 18,188,61,284,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009445.jpg 89,57,203,143,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009446.jpg 15,47,252,298,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009448.jpg 136,168,180,271,14 284,164,322,186,6 87,158,151,222,6 2,163,89,256,6 454,162,500,242,6 39,174,73,277,14 1,162,29,303,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009454.jpg 181,234,344,375,8 301,151,376,232,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009455.jpg 125,2,500,334,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009456.jpg 227,207,458,375,1 2,142,111,275,1 26,78,104,290,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009457.jpg 60,46,411,362,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009458.jpg 2,20,111,98,4 113,13,202,110,4 202,24,290,113,4 288,40,364,107,4 338,14,402,66,4 380,52,465,103,4 397,5,473,65,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009459.jpg 153,87,358,297,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009460.jpg 3,49,377,373,14 352,273,500,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009461.jpg 216,164,264,201,0 229,196,278,231,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009463.jpg 1,174,139,330,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009464.jpg 1,91,447,358,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009465.jpg 15,37,390,335,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009466.jpg 157,220,398,436,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009468.jpg 87,40,247,216,12 112,32,199,135,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009469.jpg 36,112,482,322,6 1,111,130,188,6 414,71,463,156,14 205,80,236,117,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009470.jpg 2,11,500,262,17 19,112,227,156,7 229,123,468,211,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009472.jpg 160,78,496,220,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009476.jpg 47,114,479,278,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009477.jpg 109,63,228,224,14 199,5,332,75,6 107,33,210,88,6 31,39,179,100,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009479.jpg 2,278,357,500,17 145,261,293,327,7 3,291,104,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009480.jpg 13,111,273,281,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009481.jpg 210,307,361,375,8 397,241,500,375,8 8,238,134,375,8 317,209,388,333,8 235,197,249,240,4 33,160,190,374,14 307,146,494,356,14 284,134,383,354,14 218,143,298,322,14 116,124,203,341,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009484.jpg 163,223,265,321,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009488.jpg 124,89,334,404,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009490.jpg 1,87,210,483,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009491.jpg 101,138,348,279,17 173,1,266,142,15 3,2,64,230,15 361,177,500,286,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009494.jpg 185,184,254,311,13 185,154,258,285,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009496.jpg 12,65,479,319,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009497.jpg 97,106,299,374,14 178,80,319,255,14 403,316,417,361,4 360,312,377,354,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009499.jpg 3,1,306,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009500.jpg 375,253,475,363,14 62,236,172,374,14 228,215,385,374,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009502.jpg 200,89,331,227,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009504.jpg 105,106,324,482,13 137,51,395,442,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009507.jpg 189,145,245,178,6 323,149,355,173,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009508.jpg 175,318,228,385,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009512.jpg 236,275,374,500,12 2,143,191,500,14 23,127,51,221,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009515.jpg 2,216,62,250,6 66,195,135,231,6 118,172,167,198,6 115,176,144,198,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009516.jpg 17,62,375,500,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009517.jpg 169,80,312,500,14 57,128,142,399,14 135,111,177,132,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009518.jpg 125,43,412,356,11 222,1,330,268,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009519.jpg 8,127,205,419,15 256,1,375,189,15 107,1,259,81,15 180,142,230,296,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009520.jpg 458,155,500,308,8 270,75,496,359,14 128,72,312,359,14 2,77,150,307,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009523.jpg 125,150,231,252,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009524.jpg 316,84,376,193,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009526.jpg 175,314,375,500,10 215,430,323,500,8 273,206,295,263,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009527.jpg 74,13,286,255,3 249,149,321,212,3 88,201,500,375,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009528.jpg 86,67,489,322,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009531.jpg 221,219,245,252,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009532.jpg 328,211,422,288,6 427,198,454,274,14 455,188,483,275,14 486,191,500,274,14 118,183,152,270,14 179,117,208,154,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009533.jpg 155,123,318,196,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009537.jpg 129,161,150,201,14 8,10,500,221,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009540.jpg 32,107,241,306,13 238,134,365,295,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009541.jpg 101,269,241,423,14 256,256,330,391,14 87,298,208,429,8 250,293,344,409,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009542.jpg 8,17,251,332,14 137,116,486,331,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009543.jpg 395,88,500,318,8 277,109,367,253,8 181,125,266,229,11 230,233,344,375,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009545.jpg 175,29,500,333,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009546.jpg 1,215,370,492,17 158,196,363,450,14 32,173,85,218,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009549.jpg 3,62,378,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009550.jpg 24,320,87,412,8 1,327,44,419,8 217,298,255,366,8 240,314,297,395,8 314,362,375,496,8 280,351,352,458,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009551.jpg 214,126,426,359,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009557.jpg 121,275,199,365,1 116,216,181,365,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009558.jpg 99,30,374,218,6 394,9,412,49,14 373,1,403,52,14 352,1,374,39,14 275,1,315,39,14 231,3,277,32,14 100,25,127,59,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009560.jpg 4,3,244,171,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009562.jpg 16,38,355,472,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009565.jpg 1,113,251,375,17 215,201,439,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009566.jpg 146,150,304,232,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009567.jpg 3,59,382,375,17 100,87,302,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009568.jpg 164,145,330,275,1 185,57,291,249,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009571.jpg 88,243,249,302,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009573.jpg 274,136,455,295,13 155,47,432,291,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009576.jpg 191,129,351,217,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009577.jpg 85,77,181,229,14 1,78,128,363,14 340,87,495,279,14 84,160,495,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009579.jpg 20,2,375,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009580.jpg 85,153,309,230,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009584.jpg 178,4,263,104,7 323,174,487,358,7 256,225,409,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009585.jpg 1,10,255,375,14 273,71,462,375,14 409,15,500,375,14 424,248,468,347,4 244,220,284,318,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009586.jpg 170,355,205,390,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009587.jpg 3,1,500,337,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009588.jpg 1,144,401,228,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009591.jpg 70,118,140,214,13 291,141,420,294,13 71,77,139,179,14 305,100,386,245,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009596.jpg 1,143,112,236,13 164,114,291,219,13 323,113,382,196,13 312,102,342,166,13 201,70,262,191,14 233,65,281,116,14 323,69,386,181,14 374,72,419,163,14 305,48,323,86,14 14,41,54,76,6 118,47,137,64,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009597.jpg 43,102,460,282,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009598.jpg 160,157,246,358,2 199,135,413,302,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009600.jpg 100,174,363,333,1 142,76,335,294,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009603.jpg 5,153,493,375,3 330,86,456,373,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009605.jpg 89,18,458,369,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009609.jpg 213,90,400,175,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009611.jpg 130,78,403,276,19 178,174,237,228,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009613.jpg 227,246,290,311,8 78,274,141,390,8 1,288,73,407,8 39,241,60,263,14 11,253,116,383,14 170,268,253,335,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009614.jpg 7,147,188,218,6 317,149,499,216,6 429,163,500,227,6 149,156,203,210,6 241,113,429,255,14 51,199,243,319,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009615.jpg 17,89,490,235,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009617.jpg 393,238,472,375,8 295,219,368,340,8 149,214,230,340,8 151,205,208,324,8 16,241,107,352,8 182,157,235,235,14 170,143,208,186,14 120,145,170,200,14 88,138,133,204,14 72,181,106,237,14 48,161,67,194,14 5,142,129,350,14 291,147,320,198,14 294,152,348,211,14 314,169,393,326,14 470,170,500,316,14 355,156,479,363,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009618.jpg 183,230,305,311,1 391,273,500,321,1 191,170,251,309,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009619.jpg 210,137,306,251,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009620.jpg 4,59,499,264,0 58,283,119,329,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009621.jpg 1,1,412,476,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009623.jpg 149,52,454,232,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009627.jpg 29,14,497,332,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009629.jpg 225,165,363,189,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009634.jpg 268,126,359,372,15 396,201,454,344,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009636.jpg 89,224,375,500,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009637.jpg 282,100,500,167,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009638.jpg 410,191,500,321,8 409,179,450,255,8 96,3,500,375,14 349,155,377,184,14 383,160,404,182,14 328,156,348,181,14 15,153,51,197,15 58,141,97,204,15 337,205,422,280,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009641.jpg 81,196,160,296,14 72,343,150,376,6 192,337,280,380,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009644.jpg 36,78,481,303,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009647.jpg 367,208,389,284,4 398,202,422,278,4 328,188,348,231,4 228,122,249,163,4 41,138,283,375,14 130,123,367,266,14 213,95,404,226,14 253,11,353,188,15 23,229,224,374,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009649.jpg 324,188,434,336,14 302,128,405,340,14 277,75,364,212,14 197,138,297,258,14 196,96,307,335,14 116,86,290,347,14 53,86,344,375,14 385,72,495,283,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009650.jpg 21,36,346,418,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009654.jpg 1,83,296,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009655.jpg 25,93,375,295,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009656.jpg 181,156,324,345,1 207,86,327,305,14 398,98,500,217,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009658.jpg 31,85,250,302,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009659.jpg 243,4,500,375,8 81,11,371,370,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009664.jpg 111,1,320,500,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009666.jpg 183,154,307,500,4 1,1,306,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009667.jpg 144,186,385,348,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009668.jpg 1,19,321,375,11 317,91,475,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009670.jpg 101,109,245,262,7 334,73,441,166,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009671.jpg 45,195,203,261,6 253,206,444,284,6 192,202,333,255,6 109,180,128,202,14 146,180,166,200,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009676.jpg 459,146,500,246,6 259,65,351,128,14 121,63,183,114,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009678.jpg 49,124,472,348,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009679.jpg 85,8,156,101,4 162,15,202,107,4 202,46,228,101,4 236,15,285,100,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009681.jpg 6,94,442,262,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009684.jpg 57,64,380,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009685.jpg 53,147,488,357,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009686.jpg 24,177,104,298,15 100,148,177,280,15 172,184,242,266,15 243,126,320,255,15 308,149,376,248,15 369,157,419,242,15 414,169,455,213,15 438,153,494,209,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009687.jpg 262,60,500,375,14 1,75,278,375,14 405,165,500,273,4 28,260,96,375,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009691.jpg 1,187,497,333,13 124,15,294,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009692.jpg 167,172,224,263,2 203,157,298,249,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009693.jpg 99,15,309,357,14 297,258,407,355,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009695.jpg 15,111,491,256,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009698.jpg 135,153,415,375,12 270,2,472,375,14 145,60,247,282,14 48,57,168,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009699.jpg 40,49,438,284,6 404,51,500,144,6 1,44,101,151,6 262,39,411,101,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009700.jpg 140,88,387,242,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009702.jpg 336,49,418,85,0 198,61,278,105,0 210,135,291,170,0 47,83,132,120,0 81,140,160,175,0 87,220,164,254,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009703.jpg 2,238,148,347,1 174,223,327,323,1 338,199,459,298,1 372,144,465,281,14 210,162,286,298,14 143,131,183,256,14 220,135,238,192,14 368,141,394,219,14 6,169,120,309,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009706.jpg 114,223,469,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009707.jpg 79,130,274,249,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009709.jpg 257,1,375,498,4 132,2,271,495,4 1,1,141,489,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009710.jpg 43,98,500,375,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009711.jpg 37,59,428,314,6 422,150,500,221,6 315,186,354,303,14 377,206,419,304,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009712.jpg 187,168,243,375,14 239,180,295,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009713.jpg 114,57,406,344,11 132,1,235,107,14 358,4,497,176,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009717.jpg 2,154,118,236,9 263,206,425,333,9 182,163,270,283,9 135,178,196,234,9 340,75,458,178,3 238,77,338,159,3 147,78,231,150,3 115,107,160,149,3 2,103,55,137,3 447,102,500,123,3 90,182,128,285,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009718.jpg 2,194,297,252,18 362,315,408,344,6 162,337,240,372,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009719.jpg 159,106,500,413,12 6,70,419,412,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009721.jpg 91,174,278,424,8 25,150,245,474,14 1,72,113,399,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009724.jpg 33,2,479,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009726.jpg 232,86,446,315,14 60,73,297,335,14 293,270,330,374,4 359,263,392,370,4 63,297,489,375,10 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009729.jpg 104,61,373,259,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009732.jpg 59,98,376,411,12 192,33,310,272,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009733.jpg 75,4,479,319,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009734.jpg 120,97,353,263,5 395,181,458,326,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009735.jpg 54,365,100,429,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009737.jpg 16,105,498,330,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009738.jpg 187,255,311,474,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009743.jpg 150,165,342,220,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009745.jpg 347,184,431,229,6 98,192,214,267,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009746.jpg 69,162,293,375,8 186,97,277,194,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009747.jpg 188,335,250,465,1 126,251,197,453,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009748.jpg 68,86,400,338,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009749.jpg 209,289,295,446,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009754.jpg 178,124,421,328,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009755.jpg 134,128,500,332,17 215,131,318,251,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009756.jpg 205,24,380,287,14 118,82,420,316,13 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009758.jpg 294,147,436,201,10 146,140,244,175,10 14,133,113,179,10 82,186,349,331,10 4,200,104,323,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009761.jpg 43,24,375,476,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009762.jpg 156,176,174,216,14 37,152,153,206,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009763.jpg 281,131,484,269,7 42,32,334,318,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009764.jpg 242,131,482,340,5 31,86,242,352,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009767.jpg 103,114,260,500,12 90,51,219,361,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009772.jpg 5,145,375,500,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009773.jpg 188,71,288,245,14 205,127,375,311,8 453,131,500,197,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009774.jpg 27,4,478,390,6 373,51,458,117,6 453,65,500,116,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009776.jpg 192,48,321,366,14 39,123,404,357,13 1,107,150,237,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009778.jpg 18,114,163,251,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009780.jpg 329,99,500,317,11 1,18,500,334,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009781.jpg 111,65,462,298,13 224,33,394,269,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009785.jpg 75,63,394,320,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009789.jpg 1,116,231,351,14 232,52,500,351,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009790.jpg 11,40,479,213,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009792.jpg 24,151,148,358,8 151,199,374,343,8 150,152,263,303,14 251,106,347,347,14 374,168,500,351,14 457,133,500,323,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009794.jpg 1,14,324,500,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009796.jpg 285,78,408,368,14 182,99,322,375,14 104,85,351,233,14 76,92,200,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009797.jpg 132,50,238,303,11 222,110,396,312,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009800.jpg 128,261,177,313,2 285,190,378,460,14 402,161,500,460,14 1,154,62,460,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009801.jpg 168,209,279,249,6 1,220,33,244,6 368,218,404,233,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009805.jpg 97,133,392,276,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009807.jpg 191,61,474,332,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009808.jpg 18,43,291,482,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009809.jpg 61,1,398,334,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009810.jpg 23,61,468,259,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009813.jpg 185,132,500,284,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009816.jpg 87,227,157,269,16 151,219,193,241,16 235,214,283,259,16 319,205,367,238,16 396,186,454,220,16 426,179,474,211,16 308,191,356,220,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009819.jpg 369,34,465,188,8 232,51,383,267,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009822.jpg 147,170,184,195,6 113,170,150,203,6 342,184,358,221,14 108,180,132,200,14 142,177,164,228,14 196,183,217,228,14 22,226,84,300,13 98,234,155,309,13 166,249,225,341,13 244,271,320,372,13 216,208,262,266,13 79,213,117,273,13 256,230,314,344,14 177,221,220,314,14 104,204,153,284,14 36,196,83,280,14 83,191,115,256,14 372,196,500,324,6 6,176,25,225,14 26,183,48,209,14 65,175,83,197,14 222,190,254,250,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009823.jpg 3,4,498,374,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009825.jpg 90,280,144,359,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009828.jpg 35,214,86,285,8 18,239,88,312,8 2,259,89,342,8 1,304,91,413,8 79,5,286,500,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009830.jpg 43,18,401,315,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009831.jpg 194,48,500,319,18 60,84,311,289,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009832.jpg 277,11,500,350,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009833.jpg 339,284,425,375,8 217,274,288,375,8 128,286,209,375,8 85,264,141,352,8 80,345,141,375,8 1,262,66,343,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009834.jpg 88,75,449,280,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009836.jpg 192,124,302,221,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009839.jpg 160,159,369,279,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009841.jpg 79,148,171,226,14 175,80,354,227,12 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009842.jpg 180,1,401,332,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009845.jpg 473,207,500,246,6 404,204,475,241,6 201,209,229,307,14 185,199,203,237,14 157,89,376,280,5 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009848.jpg 139,78,278,330,14 55,201,306,360,1 374,1,477,29,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009851.jpg 147,144,312,266,12 91,136,249,267,12 221,113,256,208,14 164,122,209,202,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009852.jpg 153,121,482,375,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009855.jpg 107,32,500,280,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009858.jpg 93,177,283,226,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009859.jpg 110,40,344,333,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009860.jpg 65,25,490,355,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009862.jpg 2,109,375,500,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009863.jpg 199,111,395,191,6 37,164,401,333,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009865.jpg 150,142,238,330,9 1,141,139,333,9 220,141,316,282,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009867.jpg 307,91,500,368,19 1,28,309,375,19 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009868.jpg 73,139,234,415,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009869.jpg 3,6,353,375,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009870.jpg 272,70,466,290,11 26,43,315,276,11 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009872.jpg 39,243,136,311,8 157,245,261,306,8 277,241,367,303,8 309,306,462,375,8 114,308,275,374,8 1,307,87,375,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009874.jpg 116,158,238,480,12 91,108,262,325,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009877.jpg 3,102,289,500,14 270,185,326,406,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009878.jpg 74,119,374,349,17 13,328,49,375,4 87,106,221,254,14 352,109,443,321,14 247,104,355,375,14 170,110,280,351,14 17,3,163,210,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009879.jpg 153,184,284,231,6 462,165,500,244,6 398,164,498,227,6 355,162,403,275,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009880.jpg 250,150,340,252,14 292,138,375,290,14 49,118,148,324,14 32,122,364,500,14 234,143,258,208,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009881.jpg 314,174,500,339,19 1,96,127,339,14 164,74,327,337,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009882.jpg 370,60,497,173,19 182,2,277,82,19 327,123,472,372,14 259,74,422,372,14 231,20,322,192,14 122,22,235,273,14 9,40,123,283,14 14,155,283,372,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009884.jpg 85,78,400,375,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009886.jpg 87,67,395,305,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009887.jpg 267,276,300,323,15 222,261,265,316,15 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009894.jpg 215,157,271,182,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009896.jpg 139,134,372,323,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009897.jpg 236,68,467,317,9 125,146,267,294,9 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009898.jpg 3,3,498,331,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009900.jpg 36,40,375,500,6 312,1,372,123,14 259,1,310,93,14 78,1,124,82,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009902.jpg 121,57,150,128,4 105,68,129,138,4 135,52,155,114,4 231,65,366,218,14 12,99,216,363,14 357,107,500,292,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009904.jpg 72,343,160,389,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009905.jpg 43,97,465,236,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009908.jpg 107,110,253,268,9 277,160,317,180,2 146,70,181,119,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009911.jpg 75,137,417,265,0 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009913.jpg 40,82,447,261,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009917.jpg 2,25,206,253,14 302,51,452,244,14 450,95,500,337,4 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009918.jpg 118,123,287,333,11 182,30,465,234,14 51,1,182,107,14 1,1,268,330,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009920.jpg 9,213,321,419,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009923.jpg 112,148,252,333,7 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009926.jpg 119,84,238,285,14 298,6,490,359,14 77,157,280,323,1 299,146,443,375,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009932.jpg 68,324,284,498,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009935.jpg 274,155,436,372,14 104,124,179,206,14 1,134,73,264,14 419,154,465,266,19 364,135,409,216,19 104,121,156,165,19 24,125,75,179,19 33,222,158,375,8 109,167,174,298,8 266,235,373,375,8 1,183,75,312,8 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009938.jpg 137,55,320,340,13 242,1,325,52,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009939.jpg 40,114,291,225,17 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009940.jpg 218,114,387,375,2 135,133,365,375,2 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009942.jpg 11,1,221,207,14 2,9,365,332,14 265,2,500,332,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009944.jpg 87,120,329,291,13 145,38,305,290,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009945.jpg 92,199,132,229,16 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009946.jpg 181,177,198,221,14 199,180,238,257,14 193,142,499,337,18 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009947.jpg 115,92,250,321,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009949.jpg 128,121,500,350,17 195,241,500,375,8 25,90,427,312,14 203,81,331,218,14 235,116,279,159,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009950.jpg 1,2,500,332,18 231,111,299,198,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009954.jpg 192,126,403,275,12 143,115,185,161,14 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009955.jpg 89,213,432,301,3 235,280,384,313,3 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009958.jpg 344,106,444,298,14 148,108,213,187,14 89,27,149,217,14 75,39,147,124,14 77,121,178,316,1 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009959.jpg 192,142,330,187,6 +./VOC/train/VOCdevkit/VOC2007/JPEGImages/009961.jpg 69,4,392,345,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000002.jpg 34,11,448,293,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000003.jpg 46,11,500,333,18 62,190,83,243,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000007.jpg 1,230,428,293,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000008.jpg 53,87,471,420,12 158,44,289,167,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000009.jpg 217,161,294,221,9 465,167,500,218,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000015.jpg 270,1,378,176,4 57,1,164,150,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000016.jpg 91,15,392,353,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000019.jpg 139,2,372,197,11 165,66,318,236,11 361,1,480,112,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000021.jpg 14,148,475,288,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000023.jpg 6,1,314,262,19 40,97,121,411,4 137,36,169,109,14 180,36,216,104,14 96,39,123,103,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000026.jpg 122,7,372,375,14 211,147,325,255,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000027.jpg 9,32,500,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000028.jpg 158,199,231,240,6 47,202,94,238,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000032.jpg 6,118,489,274,5 336,173,364,224,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000033.jpg 104,61,476,257,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000034.jpg 6,234,45,362,4 1,156,103,336,14 36,111,198,416,14 91,42,338,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000036.jpg 120,1,203,35,1 117,38,273,121,1 206,74,395,237,14 24,2,500,188,3 1,187,500,282,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000037.jpg 47,157,450,282,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000041.jpg 271,170,386,234,14 295,189,328,231,14 206,176,256,236,14 122,162,198,330,14 457,212,500,297,14 438,173,500,243,14 351,272,452,375,8 265,250,353,364,8 189,260,286,375,8 149,224,402,331,10 358,188,469,359,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000042.jpg 445,254,500,335,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000043.jpg 166,175,425,344,10 244,156,316,287,8 328,162,388,194,8 355,180,440,328,8 289,197,373,336,8 164,195,264,342,8 150,161,186,282,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000045.jpg 45,42,455,342,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000050.jpg 292,197,328,228,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000051.jpg 220,192,319,371,8 182,102,193,136,4 120,70,138,109,4 150,165,275,365,14 108,133,292,371,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000052.jpg 159,71,276,140,6 156,73,169,114,14 141,78,154,113,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000053.jpg 54,2,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000054.jpg 284,100,318,184,2 112,146,198,209,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000056.jpg 1,1,395,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000059.jpg 1,81,375,467,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000060.jpg 1,32,343,336,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000062.jpg 1,3,491,483,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000064.jpg 1,152,375,461,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000066.jpg 1,9,439,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000067.jpg 94,224,255,445,8 136,225,241,346,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000070.jpg 180,260,213,293,19 367,244,447,353,8 255,247,371,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000073.jpg 50,193,267,293,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000074.jpg 46,178,387,335,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000075.jpg 14,73,500,257,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000076.jpg 69,37,500,310,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000078.jpg 16,1,436,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000080.jpg 201,72,402,285,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000082.jpg 286,197,351,291,14 143,202,185,257,14 23,186,140,246,3 128,239,346,361,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000084.jpg 141,221,261,297,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000085.jpg 1,1,395,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000089.jpg 71,18,307,494,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000090.jpg 302,135,355,319,14 251,40,319,182,14 111,73,177,189,14 78,97,173,218,14 1,43,32,267,14 455,88,500,142,1 342,83,392,153,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000093.jpg 392,3,479,95,19 307,178,412,280,8 328,194,473,328,8 143,163,320,247,17 1,173,145,317,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000095.jpg 251,161,287,270,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000096.jpg 1,1,500,375,14 96,124,416,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000097.jpg 101,203,181,274,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000099.jpg 122,11,336,223,11 98,176,425,357,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000103.jpg 156,48,287,338,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000105.jpg 215,182,377,240,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000107.jpg 68,212,288,482,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000109.jpg 293,70,420,197,13 41,95,444,375,6 228,90,338,365,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000112.jpg 83,74,386,320,7 324,1,394,116,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000115.jpg 109,131,461,295,7 1,1,497,400,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000116.jpg 44,86,321,319,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000119.jpg 29,18,264,499,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000120.jpg 21,53,408,253,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000123.jpg 111,62,287,171,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000128.jpg 11,29,500,375,17 1,85,361,375,14 92,173,212,357,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000131.jpg 185,119,332,180,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000132.jpg 431,106,474,253,14 39,111,81,262,14 1,255,500,375,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000133.jpg 1,1,500,217,6 20,30,500,332,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000134.jpg 137,79,271,157,2 68,320,179,390,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000138.jpg 170,348,285,401,11 185,117,253,316,14 118,138,188,346,14 96,158,167,367,14 293,148,359,367,14 260,116,341,312,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000140.jpg 241,255,375,467,3 1,398,221,471,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000141.jpg 94,9,500,333,12 42,167,75,223,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000142.jpg 109,75,494,333,12 93,159,105,188,14 36,100,129,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000143.jpg 370,105,417,122,6 392,111,500,177,6 129,80,236,249,13 102,25,212,214,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000144.jpg 147,113,359,287,13 185,56,287,241,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000145.jpg 91,59,449,297,19 201,249,247,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000148.jpg 1,154,57,230,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000149.jpg 126,132,407,252,17 1,118,115,265,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000151.jpg 244,225,275,261,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000154.jpg 39,194,111,295,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000162.jpg 47,20,494,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000163.jpg 1,38,500,333,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000174.jpg 438,265,500,348,6 180,271,246,295,6 88,263,162,294,6 63,269,123,306,6 1,256,68,309,6 1,275,40,316,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000176.jpg 5,110,500,346,6 200,127,302,349,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000177.jpg 1,36,410,500,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000181.jpg 46,76,423,321,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000182.jpg 234,326,336,429,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000183.jpg 25,45,242,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000185.jpg 159,43,465,272,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000187.jpg 160,119,443,203,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000188.jpg 45,59,395,375,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000189.jpg 53,55,389,295,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000190.jpg 1,138,251,167,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000191.jpg 68,185,94,215,14 23,180,55,250,14 57,194,151,255,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000192.jpg 249,57,441,246,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000193.jpg 103,127,323,204,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000194.jpg 192,183,310,277,1 226,106,272,242,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000195.jpg 254,144,314,296,14 309,99,443,300,14 16,173,102,305,14 236,206,339,282,3 98,235,200,302,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000196.jpg 348,7,500,309,1 340,105,500,306,15 1,1,206,310,1 193,155,278,304,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000197.jpg 95,134,230,203,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000199.jpg 412,59,500,354,14 229,85,386,188,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000202.jpg 60,58,125,140,14 145,38,252,333,14 245,152,342,280,14 337,140,461,306,14 17,39,159,157,19 430,258,454,322,4 14,169,94,258,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000203.jpg 114,82,147,110,14 313,117,376,248,14 354,156,411,261,13 81,108,246,258,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000204.jpg 130,206,151,251,14 132,217,164,293,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000207.jpg 72,54,253,434,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000213.jpg 95,24,414,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000215.jpg 1,147,162,375,14 149,119,319,375,14 316,141,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000217.jpg 64,39,259,375,14 238,54,423,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000219.jpg 88,147,226,245,12 381,153,465,241,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000222.jpg 1,8,500,360,14 29,90,500,360,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000223.jpg 229,99,318,311,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000226.jpg 386,167,407,231,14 310,144,335,209,14 284,96,306,152,14 311,87,334,109,14 152,156,303,219,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000227.jpg 120,152,424,346,7 194,1,384,121,8 1,90,468,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000233.jpg 233,76,454,307,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000234.jpg 81,70,318,375,14 210,127,436,375,14 374,3,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000235.jpg 286,98,371,225,14 111,171,488,278,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000236.jpg 62,23,382,296,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000237.jpg 1,137,32,172,13 180,103,319,162,6 252,293,288,375,14 209,333,245,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000238.jpg 1,84,479,375,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000239.jpg 120,126,293,308,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000243.jpg 1,1,158,334,14 216,115,445,334,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000244.jpg 55,1,457,375,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000246.jpg 3,21,310,375,14 352,1,500,233,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000251.jpg 24,14,410,245,0 213,53,500,171,0 88,93,220,166,0 1,244,94,310,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000252.jpg 184,58,339,375,14 443,109,471,181,14 165,121,204,197,14 1,130,47,170,6 194,14,500,195,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000253.jpg 255,348,320,383,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000254.jpg 69,289,87,356,14 81,301,96,347,14 93,294,119,353,14 145,296,160,351,14 164,305,186,351,14 190,301,205,345,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000255.jpg 81,284,100,331,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000257.jpg 122,319,145,343,16 253,326,277,350,16 285,329,307,352,16 188,324,215,348,16 73,319,110,343,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000259.jpg 161,144,238,338,14 234,138,293,344,14 369,146,424,278,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000260.jpg 191,101,242,254,14 303,87,500,231,6 1,80,147,222,6 65,107,183,198,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000261.jpg 166,48,370,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000262.jpg 23,143,430,330,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000264.jpg 48,36,332,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000266.jpg 16,41,165,333,14 77,95,161,333,14 144,57,266,333,14 220,56,292,245,14 250,82,347,327,14 262,53,453,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000268.jpg 325,136,491,334,11 170,22,388,316,14 1,1,216,317,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000270.jpg 100,124,358,332,14 307,190,500,334,11 1,89,500,334,17 24,59,251,228,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000271.jpg 266,104,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000272.jpg 51,197,74,272,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000273.jpg 184,50,443,285,11 1,158,240,319,11 1,1,464,110,8 1,1,223,161,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000274.jpg 83,193,102,239,15 109,225,128,257,15 149,249,173,282,15 185,249,264,308,15 19,179,88,275,15 120,230,191,297,15 46,257,128,333,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000275.jpg 167,187,192,274,14 184,190,202,272,14 197,187,231,280,14 224,187,246,228,14 250,203,272,271,14 322,199,342,269,14 474,15,500,41,15 441,16,472,37,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000277.jpg 305,37,500,374,14 123,184,412,375,14 1,18,214,258,14 144,22,333,243,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000278.jpg 369,94,500,375,14 208,126,388,375,14 1,122,253,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000281.jpg 106,377,186,419,6 194,396,283,444,6 413,399,429,444,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000283.jpg 32,95,170,333,14 387,126,436,227,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000284.jpg 121,20,419,375,14 10,1,128,323,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000287.jpg 285,100,426,321,15 3,27,226,303,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000289.jpg 47,149,185,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000290.jpg 65,49,390,358,14 389,156,481,371,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000291.jpg 2,196,217,251,0 392,198,439,220,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000297.jpg 2,87,302,296,14 87,205,230,331,8 260,188,372,331,8 5,141,121,293,8 225,113,355,335,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000298.jpg 94,137,319,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000304.jpg 59,88,462,251,6 458,152,500,221,6 1,158,25,186,6 1,159,42,183,6 14,156,63,180,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000305.jpg 80,205,193,328,8 308,89,429,160,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000306.jpg 57,65,375,384,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000307.jpg 35,111,135,281,14 121,113,184,279,14 183,113,248,286,14 241,116,307,285,14 301,116,355,286,14 346,105,421,283,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000309.jpg 240,159,413,329,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000311.jpg 240,66,440,306,14 21,74,244,309,14 70,141,105,173,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000313.jpg 73,45,332,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000315.jpg 208,209,263,235,6 347,200,384,220,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000316.jpg 75,95,396,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000318.jpg 1,79,382,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000321.jpg 269,112,476,269,17 305,10,327,49,14 330,8,357,48,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000328.jpg 168,147,333,350,14 151,185,274,439,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000330.jpg 88,59,500,375,11 165,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000335.jpg 93,89,360,260,9 1,93,110,224,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000336.jpg 115,119,317,316,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000338.jpg 338,72,500,375,14 12,56,185,375,14 130,236,342,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000339.jpg 32,221,77,304,2 92,297,145,354,2 9,332,68,388,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000340.jpg 1,76,333,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000342.jpg 114,258,147,356,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000343.jpg 359,162,410,301,14 1,1,332,338,18 422,180,438,223,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000345.jpg 172,77,500,347,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000346.jpg 123,67,216,309,14 186,130,462,330,6 1,98,133,290,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000348.jpg 185,157,279,265,19 274,82,364,200,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000350.jpg 155,42,479,405,2 14,170,181,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000354.jpg 3,39,375,333,14 330,83,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000356.jpg 141,195,211,241,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000358.jpg 1,42,451,284,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000359.jpg 1,56,214,375,14 141,1,488,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000361.jpg 67,62,405,334,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000364.jpg 99,123,275,375,14 219,139,404,370,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000365.jpg 168,129,263,225,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000367.jpg 344,67,500,357,14 1,1,500,357,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000371.jpg 189,129,374,276,12 259,95,305,208,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000373.jpg 1,1,500,303,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000376.jpg 4,1,500,333,14 237,144,362,285,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000378.jpg 15,182,228,333,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000380.jpg 337,208,500,375,14 140,249,325,375,14 26,269,154,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000381.jpg 35,208,333,500,14 1,430,72,500,8 70,432,134,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000382.jpg 1,97,282,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000383.jpg 354,159,500,375,14 332,194,409,372,14 246,159,336,375,14 173,107,261,375,14 72,142,184,375,14 1,133,90,375,14 8,66,106,146,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000391.jpg 1,38,189,315,15 92,238,183,337,15 164,153,297,313,15 278,202,344,306,15 338,107,433,302,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000392.jpg 115,161,226,500,14 282,179,334,388,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000393.jpg 69,94,137,313,14 144,106,208,315,14 221,122,282,317,14 17,110,67,243,14 426,167,460,229,14 430,218,490,320,14 384,162,429,225,14 208,116,241,173,14 267,131,297,195,14 347,150,383,240,14 196,178,355,307,13 274,163,380,293,13 108,91,149,167,14 1,112,25,156,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000397.jpg 1,333,189,500,8 17,284,375,500,10 61,269,216,469,8 150,259,267,443,8 321,257,375,419,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000398.jpg 2,26,158,332,14 112,66,257,385,14 1,272,26,385,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000399.jpg 25,87,378,201,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000400.jpg 216,157,297,234,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000401.jpg 1,65,327,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000403.jpg 180,183,228,265,14 178,211,234,295,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000405.jpg 383,102,500,139,3 88,101,383,138,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000406.jpg 159,50,430,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000407.jpg 54,151,331,500,14 75,74,286,407,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000408.jpg 75,88,238,278,14 300,125,413,299,14 230,143,275,197,14 179,101,224,170,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000413.jpg 1,1,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000414.jpg 1,87,385,313,3 316,104,414,144,3 1,90,230,227,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000415.jpg 1,132,255,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000416.jpg 69,169,279,499,14 303,169,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000418.jpg 221,155,274,325,14 341,251,500,344,10 421,264,490,375,8 307,235,385,354,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000419.jpg 1,22,458,375,17 112,78,376,328,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000421.jpg 1,171,308,375,14 61,161,414,375,14 409,128,426,158,4 1,141,446,375,17 156,106,488,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000422.jpg 25,36,300,407,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000423.jpg 151,45,422,334,14 301,77,500,337,14 36,261,500,375,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000424.jpg 1,64,375,500,14 329,1,375,133,14 56,11,79,71,14 74,17,100,73,14 231,47,253,89,14 206,18,226,79,14 194,45,208,76,14 113,21,131,70,14 132,27,151,72,14 22,46,42,72,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000426.jpg 25,1,500,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000428.jpg 1,43,378,237,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000432.jpg 215,2,446,375,14 36,1,142,200,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000435.jpg 78,36,218,240,14 200,12,389,243,14 164,174,255,246,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000436.jpg 97,66,301,335,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000437.jpg 65,342,151,375,3 99,337,172,364,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000442.jpg 10,24,332,414,14 1,1,315,447,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000443.jpg 35,1,309,409,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000445.jpg 44,139,266,405,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000446.jpg 33,134,197,447,14 196,112,335,447,14 104,171,210,382,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000447.jpg 84,156,260,409,14 59,27,307,447,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000448.jpg 1,16,278,500,14 81,255,347,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000452.jpg 36,105,119,375,14 194,109,311,375,14 276,127,349,354,14 356,133,456,363,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000455.jpg 1,1,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000457.jpg 1,265,47,303,6 44,271,87,297,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000461.jpg 3,8,500,375,14 7,82,137,280,14 3,109,49,222,14 94,79,151,188,14 126,84,186,218,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000464.jpg 164,11,406,334,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000465.jpg 61,155,143,220,17 217,130,355,215,17 148,220,435,333,17 353,161,485,242,17 143,49,180,83,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000466.jpg 40,90,318,257,1 62,90,400,301,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000469.jpg 253,119,288,189,14 407,89,446,184,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000470.jpg 1,1,340,325,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000471.jpg 209,100,337,261,3 326,79,359,112,3 90,83,128,136,3 164,83,197,127,3 194,78,219,121,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000472.jpg 275,65,315,149,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000473.jpg 54,167,189,321,14 1,257,345,438,14 87,301,335,458,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000474.jpg 172,74,432,337,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000475.jpg 23,78,157,467,14 117,82,221,353,14 188,120,291,409,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000480.jpg 150,108,213,289,14 323,123,393,256,14 462,138,482,178,14 479,138,496,184,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000481.jpg 56,40,451,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000488.jpg 307,287,486,347,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000489.jpg 111,81,315,375,14 396,208,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000491.jpg 151,1,308,256,15 185,1,313,290,15 229,1,500,330,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000492.jpg 186,86,322,335,14 1,1,497,375,14 261,1,500,234,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000493.jpg 108,132,251,375,14 177,76,471,375,14 314,161,371,242,14 1,65,500,375,17 327,1,462,120,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000495.jpg 1,53,157,206,19 273,240,500,375,8 401,124,434,179,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000496.jpg 1,56,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000498.jpg 247,2,335,132,8 321,56,440,196,8 341,29,419,143,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000499.jpg 113,144,339,277,12 226,105,287,221,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000501.jpg 172,313,467,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000502.jpg 99,18,397,391,7 38,182,240,483,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000505.jpg 17,81,318,375,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000510.jpg 114,46,319,285,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000511.jpg 235,60,500,375,14 76,105,237,285,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000512.jpg 53,50,352,498,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000514.jpg 37,103,250,333,14 237,105,404,333,14 374,101,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000515.jpg 142,32,429,477,2 1,1,106,351,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000516.jpg 165,71,378,241,14 205,82,440,347,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000519.jpg 106,57,358,284,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000522.jpg 18,79,447,335,14 299,99,375,197,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000527.jpg 1,48,294,369,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000531.jpg 99,183,203,263,1 106,130,191,257,14 247,156,466,239,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000532.jpg 72,25,469,485,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000533.jpg 233,116,492,268,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000535.jpg 221,16,302,274,14 90,89,179,296,14 157,50,220,277,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000536.jpg 15,3,500,456,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000540.jpg 156,118,402,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000541.jpg 1,177,160,375,14 114,177,236,375,14 223,168,370,375,14 299,284,436,375,14 1,169,416,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000544.jpg 227,1,488,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000545.jpg 252,170,364,243,13 294,137,339,221,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000547.jpg 134,137,181,207,14 383,226,500,375,14 124,168,200,238,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000548.jpg 47,113,196,500,14 179,142,278,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000552.jpg 3,77,385,330,12 157,13,304,167,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000553.jpg 1,3,302,470,14 67,298,413,499,14 1,309,287,499,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000558.jpg 315,239,367,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000559.jpg 1,1,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000561.jpg 225,244,426,476,14 16,96,264,476,14 98,3,299,397,14 236,21,390,290,14 319,72,499,465,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000562.jpg 152,87,237,283,14 220,68,348,294,14 132,176,394,350,1 282,134,435,204,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000563.jpg 217,83,328,221,6 60,55,308,482,14 1,240,197,492,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000564.jpg 110,256,238,367,15 385,174,422,256,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000566.jpg 225,218,347,334,19 408,117,500,206,19 280,247,401,360,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000567.jpg 103,51,412,289,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000568.jpg 1,40,294,375,14 360,50,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000569.jpg 3,1,208,457,14 250,78,327,364,14 322,153,399,300,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000572.jpg 1,1,148,260,14 348,199,500,325,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000573.jpg 1,240,324,332,10 106,61,334,332,14 329,59,490,333,14 1,1,104,254,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000578.jpg 54,192,386,375,19 103,68,270,199,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000579.jpg 58,84,460,326,14 1,27,235,326,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000581.jpg 1,115,262,373,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000583.jpg 213,100,272,300,14 248,88,310,289,14 353,118,411,144,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000584.jpg 177,144,244,342,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000585.jpg 1,5,499,375,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000588.jpg 151,55,393,323,14 33,1,287,338,14 169,45,479,373,8 1,77,188,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000589.jpg 118,123,252,210,17 251,122,443,207,17 265,171,475,322,17 1,111,153,192,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000595.jpg 43,358,368,489,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000599.jpg 92,53,294,310,14 168,155,301,314,14 283,144,439,333,14 263,50,339,81,6 27,78,121,114,6 77,65,149,99,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000602.jpg 20,71,293,425,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000605.jpg 1,14,284,498,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000607.jpg 148,23,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000609.jpg 89,124,200,335,14 323,145,368,264,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000613.jpg 18,69,500,375,6 263,2,297,85,14 201,33,233,63,14 128,32,168,64,14 47,44,82,101,14 20,40,49,94,14 1,59,321,250,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000614.jpg 32,144,257,333,14 216,134,311,333,14 304,160,445,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000615.jpg 123,51,287,339,14 50,179,311,375,1 1,111,95,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000619.jpg 276,166,351,208,7 82,62,201,105,6 364,77,445,114,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000620.jpg 249,145,349,312,14 205,208,327,337,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000622.jpg 142,87,339,191,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000623.jpg 1,100,333,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000626.jpg 73,307,265,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000628.jpg 69,1,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000629.jpg 112,115,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000630.jpg 92,155,174,411,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000634.jpg 157,110,217,307,14 176,126,209,197,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000636.jpg 62,156,213,426,14 62,14,257,426,14 1,136,320,426,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000640.jpg 75,9,276,240,14 60,141,248,240,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000641.jpg 3,85,231,247,7 162,163,482,356,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000645.jpg 64,19,261,240,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000646.jpg 21,33,288,191,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000647.jpg 73,241,118,378,14 349,121,500,412,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000648.jpg 121,31,374,331,14 55,49,500,331,17 12,118,42,185,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000650.jpg 16,1,293,240,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000652.jpg 1,7,238,210,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000655.jpg 1,233,146,480,14 97,3,320,480,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000656.jpg 1,32,320,480,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000657.jpg 58,99,341,333,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000659.jpg 245,264,270,282,6 285,260,305,277,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000660.jpg 135,10,302,205,14 48,82,117,192,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000661.jpg 2,56,392,260,14 218,93,451,290,11 196,122,279,258,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000662.jpg 82,35,442,294,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000666.jpg 165,85,227,203,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000669.jpg 2,2,442,375,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000670.jpg 67,76,271,168,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000672.jpg 19,1,252,213,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000673.jpg 1,20,271,213,14 70,26,320,213,8 126,83,226,167,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000674.jpg 1,187,271,480,14 1,89,194,447,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000676.jpg 192,107,500,463,11 11,36,277,318,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000677.jpg 63,103,194,375,14 134,102,208,334,14 202,86,299,292,14 298,57,394,286,14 323,88,463,366,14 243,144,262,201,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000678.jpg 17,74,375,497,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000683.jpg 1,284,330,443,14 7,6,334,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000689.jpg 29,145,419,329,13 127,71,323,240,14 25,15,104,88,14 84,1,168,73,14 168,1,265,72,14 366,6,483,92,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000690.jpg 74,81,375,500,14 138,1,366,176,11 1,70,375,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000691.jpg 1,1,267,500,14 226,218,375,500,14 332,246,375,331,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000694.jpg 239,91,308,221,14 396,102,440,171,14 239,105,431,375,14 60,13,271,375,14 411,86,500,366,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000695.jpg 458,241,500,363,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000696.jpg 208,9,284,226,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000697.jpg 364,141,432,205,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000699.jpg 177,44,239,125,14 180,163,279,287,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000700.jpg 22,70,380,300,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000703.jpg 318,187,329,223,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000704.jpg 87,179,179,282,8 136,173,397,337,17 131,164,327,337,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000705.jpg 170,1,341,375,14 455,232,475,285,4 475,231,497,286,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000706.jpg 111,87,247,360,14 313,211,395,312,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000711.jpg 1,5,294,240,9 328,39,500,265,9 133,177,274,240,9 220,15,418,226,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000714.jpg 211,57,500,375,14 1,14,211,375,14 277,193,333,276,14 242,194,293,328,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000716.jpg 5,82,277,175,0 298,116,483,182,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000719.jpg 121,46,375,333,14 1,162,136,216,6 81,192,137,236,6 132,135,172,154,6 329,142,382,175,6 460,142,500,166,6 429,137,475,155,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000721.jpg 62,4,496,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000723.jpg 91,92,253,374,14 228,92,375,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000724.jpg 1,1,474,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000725.jpg 17,77,109,228,14 110,82,193,240,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000726.jpg 54,37,320,230,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000727.jpg 257,135,315,208,14 138,205,302,420,14 25,22,318,426,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000729.jpg 4,4,295,200,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000731.jpg 36,57,242,400,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000732.jpg 93,112,290,333,14 94,8,385,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000733.jpg 79,60,282,402,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000734.jpg 87,67,319,401,14 18,12,281,457,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000737.jpg 7,39,308,411,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000740.jpg 40,10,278,455,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000742.jpg 137,30,313,500,14 23,21,312,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000745.jpg 70,16,286,479,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000748.jpg 1,91,202,480,14 174,1,489,480,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000753.jpg 8,123,235,454,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000756.jpg 368,215,476,253,0 1,99,425,265,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000758.jpg 232,194,330,282,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000760.jpg 392,27,500,346,8 1,16,125,326,8 27,1,134,124,8 130,1,247,124,8 247,1,394,121,8 102,20,337,362,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000761.jpg 1,3,377,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000764.jpg 90,239,204,487,14 39,331,243,487,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000765.jpg 90,154,283,331,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000769.jpg 188,1,500,360,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000775.jpg 1,118,484,356,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000776.jpg 71,70,298,333,14 393,60,426,151,14 341,81,359,132,14 320,83,335,130,14 309,83,324,129,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000777.jpg 4,36,301,384,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000778.jpg 63,49,266,450,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000780.jpg 62,115,262,375,14 174,110,392,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000782.jpg 5,124,254,500,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000783.jpg 234,91,357,300,12 244,17,363,218,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000785.jpg 152,168,403,337,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000787.jpg 9,58,281,375,14 202,37,476,375,14 437,213,500,375,4 1,226,67,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000788.jpg 1,77,304,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000790.jpg 356,6,475,89,15 168,20,243,88,15 206,259,271,310,15 350,282,391,333,15 29,113,108,208,15 182,111,273,225,8 124,29,242,199,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000792.jpg 204,198,226,250,14 241,199,262,252,14 258,197,277,259,14 294,192,328,268,14 316,195,349,267,14 349,195,374,263,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000793.jpg 53,36,466,331,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000795.jpg 1,82,232,332,14 187,94,323,332,14 291,126,500,331,14 216,291,252,332,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000796.jpg 76,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000798.jpg 192,181,242,236,2 125,186,196,262,2 53,156,130,237,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000801.jpg 262,339,274,372,4 87,104,302,287,14 194,129,247,214,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000803.jpg 432,11,461,64,13 386,54,430,219,14 293,41,345,208,14 319,46,366,205,14 196,28,258,182,14 85,7,136,184,14 41,3,95,155,14 420,78,471,229,14 55,79,90,181,1 164,87,264,177,1 373,115,411,224,1 277,93,332,208,1 433,2,463,63,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000804.jpg 60,98,466,296,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000805.jpg 44,16,481,307,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000806.jpg 250,63,429,362,14 247,185,446,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000808.jpg 172,32,360,316,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000811.jpg 313,52,476,352,14 29,49,255,328,14 30,136,268,331,13 312,101,475,360,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000814.jpg 2,86,344,374,14 220,95,500,290,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000815.jpg 5,1,134,351,14 252,223,301,259,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000817.jpg 249,155,293,246,8 207,152,246,228,8 294,163,343,244,8 221,168,328,233,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000824.jpg 82,88,358,318,7 45,55,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000825.jpg 88,35,321,489,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000828.jpg 1,1,500,375,6 127,104,242,250,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000829.jpg 13,110,213,375,14 149,127,355,375,14 292,61,500,375,14 132,214,249,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000832.jpg 58,63,430,301,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000833.jpg 56,26,382,233,3 392,182,500,314,6 266,180,292,229,14 334,183,357,236,14 354,170,382,246,14 208,174,231,235,14 233,175,254,233,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000834.jpg 152,141,205,219,14 329,151,404,215,14 67,193,495,242,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000835.jpg 173,110,408,375,14 412,72,460,170,14 348,85,447,246,14 1,112,120,272,14 90,66,182,217,14 198,72,271,178,14 254,67,288,137,14 282,66,344,114,14 382,231,480,375,8 1,107,404,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000837.jpg 1,168,294,490,11 72,1,267,490,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000839.jpg 35,18,426,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000841.jpg 1,19,335,338,14 261,23,500,338,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000842.jpg 85,406,106,498,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000844.jpg 77,46,202,464,14 149,178,275,446,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000847.jpg 220,138,377,293,7 35,68,446,375,14 365,219,455,334,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000848.jpg 233,147,279,246,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000851.jpg 177,15,448,332,14 22,23,212,332,14 196,257,237,332,4 35,279,75,332,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000853.jpg 37,345,186,417,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000854.jpg 107,8,162,142,14 76,56,182,143,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000857.jpg 309,131,498,257,17 277,94,360,163,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000858.jpg 12,51,382,328,13 284,16,453,211,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000860.jpg 109,176,401,235,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000861.jpg 88,100,292,194,2 260,28,426,114,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000863.jpg 240,26,387,256,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000864.jpg 87,152,277,352,14 253,163,444,355,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000867.jpg 325,309,389,375,14 172,303,195,375,14 139,300,172,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000868.jpg 27,312,55,380,14 210,315,240,388,14 257,316,282,392,14 174,319,196,396,14 152,317,178,387,14 48,318,83,389,14 119,328,148,397,14 13,320,35,387,14 1,312,41,348,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000870.jpg 86,179,314,500,14 1,255,248,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000873.jpg 442,135,500,228,14 4,91,37,179,14 16,83,102,184,14 23,24,406,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000875.jpg 165,75,364,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000876.jpg 1,7,412,375,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000878.jpg 173,125,315,249,14 136,108,219,229,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000880.jpg 1,106,157,171,6 134,126,331,324,12 220,71,294,247,14 353,108,394,124,6 345,121,403,215,12 392,115,411,143,14 406,105,427,142,14 386,134,500,256,12 391,136,436,265,14 438,106,500,219,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000881.jpg 423,151,500,317,14 241,111,358,375,14 87,94,230,375,14 1,131,157,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000883.jpg 1,1,500,342,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000884.jpg 171,170,419,251,6 1,169,138,263,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000885.jpg 95,181,125,273,4 49,71,148,245,14 248,115,373,232,14 318,96,500,326,14 1,205,411,326,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000887.jpg 277,181,367,448,14 236,228,251,259,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000897.jpg 247,282,350,343,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000899.jpg 3,1,351,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000901.jpg 84,1,415,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000902.jpg 1,3,302,375,14 300,12,500,375,14 242,1,355,145,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000904.jpg 222,104,424,320,14 139,15,394,320,14 74,104,236,320,14 1,72,96,306,8 281,10,415,120,19 427,40,500,72,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000905.jpg 57,1,454,333,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000908.jpg 242,100,263,160,14 157,105,177,157,14 138,101,156,155,14 122,99,145,154,14 104,97,123,154,14 92,100,109,156,14 65,99,87,153,14 49,97,65,153,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000910.jpg 216,129,349,375,14 123,152,250,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000911.jpg 76,198,147,438,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000912.jpg 16,157,132,249,12 108,26,338,480,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000914.jpg 13,57,267,276,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000915.jpg 214,211,263,278,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000916.jpg 351,179,385,271,14 390,170,421,273,14 445,189,479,269,14 419,145,486,254,15 75,84,408,351,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000917.jpg 51,30,238,381,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000919.jpg 1,1,256,375,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000922.jpg 32,2,373,375,14 449,75,500,267,14 19,128,41,163,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000923.jpg 226,365,377,491,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000924.jpg 104,45,327,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000928.jpg 26,26,318,375,14 260,39,485,375,14 404,107,460,194,14 450,118,482,196,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000931.jpg 33,41,434,264,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000934.jpg 132,115,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000936.jpg 72,98,314,447,14 2,30,335,447,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000939.jpg 1,37,500,263,6 134,26,183,82,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000940.jpg 122,81,372,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000941.jpg 1,59,70,334,14 363,232,431,334,8 228,233,264,334,8 157,20,368,334,14 125,6,251,334,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000942.jpg 126,158,266,470,14 46,288,139,462,14 331,142,375,297,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000943.jpg 1,127,343,380,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000944.jpg 37,61,460,277,6 230,69,257,90,14 106,87,236,131,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000950.jpg 69,27,500,375,14 17,63,413,332,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000952.jpg 1,130,96,220,6 1,206,87,375,6 355,266,500,375,6 382,126,500,207,6 261,137,361,212,6 93,140,206,224,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000953.jpg 168,148,232,329,14 154,83,250,200,14 342,1,363,36,4 122,1,233,41,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000956.jpg 55,1,457,441,14 4,10,306,441,11 146,28,457,438,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000957.jpg 72,30,493,330,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000959.jpg 26,78,496,338,6 124,19,160,111,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000960.jpg 58,42,157,418,2 184,117,280,403,2 220,1,333,98,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000964.jpg 1,144,37,196,9 364,194,435,259,9 240,170,329,230,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000965.jpg 246,7,500,375,14 1,51,332,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000970.jpg 43,197,121,393,14 106,194,194,391,14 168,196,245,381,14 224,199,295,385,14 292,200,375,383,14 360,201,440,382,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000971.jpg 129,255,159,352,14 153,248,187,347,14 190,261,221,348,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000972.jpg 100,68,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000973.jpg 141,1,500,367,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000976.jpg 80,104,186,375,14 174,96,278,375,14 268,107,379,375,14 387,222,448,375,14 32,245,92,347,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000979.jpg 50,125,444,315,6 3,47,81,287,14 181,68,235,145,14 278,85,322,127,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000981.jpg 188,1,212,67,14 195,50,471,327,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000982.jpg 410,168,490,271,6 144,70,407,278,5 53,183,80,287,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000984.jpg 270,1,414,331,14 140,2,267,335,14 23,1,165,335,14 76,1,344,335,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000985.jpg 1,8,251,375,14 238,3,474,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000987.jpg 312,81,410,375,14 249,64,335,269,14 177,86,253,243,14 85,76,186,259,14 195,213,385,375,14 1,206,203,375,14 237,42,267,116,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000992.jpg 136,6,419,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000993.jpg 1,87,280,333,14 271,67,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_000999.jpg 119,116,400,263,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001004.jpg 54,113,388,309,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001007.jpg 95,208,327,375,13 107,138,270,373,14 433,161,488,230,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001009.jpg 57,183,306,480,14 122,59,311,373,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001012.jpg 81,23,418,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001013.jpg 1,173,16,314,14 14,75,373,500,3 171,175,258,286,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001018.jpg 423,255,458,272,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001020.jpg 53,77,243,274,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001021.jpg 1,154,176,356,19 95,159,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001022.jpg 29,17,436,336,5 449,211,475,288,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001023.jpg 251,109,500,374,14 1,31,338,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001024.jpg 176,254,207,333,14 138,246,176,333,14 290,245,356,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001026.jpg 2,12,320,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001028.jpg 353,115,425,342,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001030.jpg 36,205,406,374,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001031.jpg 65,33,157,317,14 60,138,214,500,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001034.jpg 212,101,351,336,14 322,113,438,336,14 266,132,354,336,14 104,113,229,336,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001035.jpg 107,205,133,291,14 137,159,183,247,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001036.jpg 221,44,500,333,14 1,3,246,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001039.jpg 332,146,395,322,14 266,146,292,222,14 174,161,202,241,14 227,143,294,197,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001040.jpg 75,120,466,210,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001041.jpg 133,37,332,319,3 299,300,350,328,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001042.jpg 428,274,500,351,6 285,272,469,342,6 210,269,331,332,6 69,263,213,320,6 1,284,62,372,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001046.jpg 102,146,149,295,14 224,156,266,281,14 271,156,318,282,14 324,152,367,281,14 403,149,452,221,14 21,154,62,313,14 187,156,224,291,14 56,156,108,284,14 34,283,119,372,8 117,283,202,375,8 215,279,286,368,8 291,276,359,370,8 394,309,477,375,8 296,313,355,375,8 205,315,293,375,8 94,317,183,375,8 1,315,75,375,8 390,217,441,301,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001047.jpg 124,180,357,291,3 346,159,425,239,3 423,144,500,216,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001048.jpg 1,80,265,375,14 148,145,473,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001052.jpg 196,117,347,375,14 96,41,354,373,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001054.jpg 1,55,500,308,0 284,77,331,134,14 237,108,272,154,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001055.jpg 188,77,288,259,14 152,168,280,375,14 404,2,500,157,14 180,50,453,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001056.jpg 124,59,232,206,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001057.jpg 98,203,244,500,14 89,128,194,230,14 192,136,303,226,14 1,218,154,500,14 202,198,333,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001060.jpg 81,49,500,333,14 13,163,64,258,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001062.jpg 1,107,37,238,9 110,97,264,194,9 250,94,359,183,9 383,96,423,175,9 464,75,500,132,9 100,63,140,94,6 329,55,374,91,6 404,64,438,84,6 440,69,485,83,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001063.jpg 1,63,181,375,14 308,106,458,375,14 134,130,186,375,14 188,140,262,375,14 249,130,330,375,14 437,137,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001066.jpg 209,106,291,348,14 1,191,32,303,14 71,190,139,306,14 56,189,103,300,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001068.jpg 14,73,290,240,12 99,26,165,154,14 431,118,500,229,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001070.jpg 171,115,326,296,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001071.jpg 1,28,500,274,7 272,164,500,312,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001073.jpg 15,53,266,375,14 262,79,450,265,19 1,222,67,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001074.jpg 21,115,280,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001075.jpg 1,33,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001076.jpg 137,84,314,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001077.jpg 1,94,500,375,10 359,31,394,139,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001078.jpg 135,100,396,346,7 19,25,122,162,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001080.jpg 286,374,314,449,14 312,380,333,450,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001081.jpg 85,40,427,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001083.jpg 204,107,267,168,14 21,138,204,333,14 81,99,136,200,14 348,96,420,254,14 262,99,364,309,14 12,226,182,333,8 264,188,371,332,8 113,170,303,333,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001089.jpg 1,23,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001090.jpg 195,229,346,417,14 6,174,263,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001092.jpg 248,90,421,338,14 62,126,258,338,14 1,99,471,338,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001098.jpg 32,30,259,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001099.jpg 1,78,243,375,14 177,85,350,372,14 290,72,497,373,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001104.jpg 247,67,491,375,14 1,130,196,375,14 137,195,272,259,6 119,230,188,281,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001105.jpg 1,69,282,455,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001106.jpg 25,63,247,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001111.jpg 12,196,272,443,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001112.jpg 142,164,330,500,14 1,205,201,468,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001113.jpg 331,106,483,375,14 33,63,298,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001114.jpg 148,24,442,331,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001115.jpg 230,48,444,375,14 76,16,218,238,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001118.jpg 1,151,314,219,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001119.jpg 84,1,391,375,14 159,81,308,348,14 88,170,394,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001120.jpg 225,159,334,227,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001121.jpg 12,18,333,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001122.jpg 159,47,322,500,14 1,23,167,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001130.jpg 327,215,347,266,4 219,153,313,259,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001133.jpg 1,184,388,347,17 1,265,317,375,17 53,256,162,337,8 1,266,45,351,8 151,247,249,326,8 68,241,179,309,8 1,235,100,286,8 449,113,500,250,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001134.jpg 325,133,500,375,14 1,51,197,375,14 168,89,394,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001135.jpg 124,147,449,212,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001136.jpg 72,140,175,225,3 209,139,323,223,3 321,133,452,224,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001137.jpg 105,75,271,387,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001139.jpg 87,22,329,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001140.jpg 62,280,93,364,14 263,280,312,353,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001142.jpg 435,249,456,295,14 199,265,222,279,6 12,255,113,316,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001143.jpg 293,161,337,212,19 42,203,181,334,8 320,186,363,253,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001147.jpg 3,36,207,332,14 298,104,498,331,14 17,111,260,331,8 261,144,391,332,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001150.jpg 109,270,208,343,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001154.jpg 1,43,324,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001155.jpg 1,253,233,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001158.jpg 280,201,397,297,13 108,230,189,271,13 129,208,165,262,14 329,171,381,271,14 277,201,301,272,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001159.jpg 26,94,493,261,3 25,124,90,156,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001160.jpg 42,80,500,174,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001161.jpg 131,245,162,278,2 232,241,271,280,2 357,248,396,287,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001164.jpg 47,12,301,406,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001166.jpg 45,1,252,333,14 230,103,403,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001167.jpg 50,53,74,71,3 1,150,464,365,3 77,282,351,365,3 408,76,475,295,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001168.jpg 1,25,490,296,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001169.jpg 3,71,484,300,18 455,229,491,243,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001170.jpg 142,88,417,369,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001171.jpg 14,8,475,405,12 40,101,112,252,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001177.jpg 299,117,345,195,14 214,165,351,270,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001182.jpg 210,144,317,337,11 87,1,258,340,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001183.jpg 234,73,500,375,14 449,139,500,200,14 109,149,285,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001185.jpg 12,53,482,402,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001188.jpg 196,123,371,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001189.jpg 98,18,324,231,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001190.jpg 131,214,205,288,14 100,1,484,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001192.jpg 23,125,310,480,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001194.jpg 85,25,375,458,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001196.jpg 323,117,500,215,6 176,151,195,222,14 198,155,220,219,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001199.jpg 177,85,270,263,14 35,99,259,375,14 340,53,478,375,14 6,60,122,327,14 395,238,420,284,4 235,215,282,307,4 223,178,244,219,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001202.jpg 1,138,409,333,3 220,146,443,306,14 110,122,242,291,14 145,168,249,275,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001203.jpg 432,272,462,324,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001205.jpg 1,171,193,500,14 1,107,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001206.jpg 53,16,492,371,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001208.jpg 214,432,375,500,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001210.jpg 3,76,293,437,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001215.jpg 72,89,381,307,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001218.jpg 1,1,375,500,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001219.jpg 70,8,303,500,14 298,343,373,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001220.jpg 305,20,484,282,11 56,51,500,371,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001221.jpg 136,71,407,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001223.jpg 240,78,403,500,14 158,25,321,458,14 26,111,221,396,14 378,91,403,140,14 154,87,237,119,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001225.jpg 146,132,216,283,14 254,138,317,278,14 333,135,407,275,14 130,175,255,289,1 237,187,335,287,1 319,191,427,288,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001226.jpg 4,9,442,421,14 191,23,500,421,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001227.jpg 280,122,396,375,14 1,103,114,375,14 1,132,443,375,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001230.jpg 247,126,358,318,14 76,85,233,312,14 106,279,139,328,4 1,248,39,352,4 156,271,187,359,4 240,275,272,375,4 1,302,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001231.jpg 215,60,292,209,14 225,110,313,250,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001235.jpg 10,66,77,348,14 130,32,488,315,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001236.jpg 259,88,310,111,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001238.jpg 13,142,296,317,11 284,148,475,220,11 1,92,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001241.jpg 179,76,375,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001245.jpg 54,1,379,375,14 149,103,368,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001248.jpg 79,152,174,365,14 142,206,244,362,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001249.jpg 167,122,334,480,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001255.jpg 128,90,500,375,14 40,39,289,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001257.jpg 81,50,228,491,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001260.jpg 44,83,473,269,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001262.jpg 37,98,478,362,6 104,33,292,147,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001263.jpg 217,101,453,333,14 1,7,282,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001264.jpg 162,156,233,226,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001267.jpg 1,1,452,325,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001271.jpg 15,15,323,485,14 249,17,480,486,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001272.jpg 449,77,500,334,14 318,78,372,174,14 316,115,364,216,14 238,91,362,375,14 102,89,172,279,14 144,90,202,252,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001274.jpg 1,114,485,274,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001275.jpg 357,1,500,375,14 199,123,421,375,14 77,33,339,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001278.jpg 71,32,356,300,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001283.jpg 1,1,281,375,14 105,1,254,201,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001284.jpg 287,140,500,452,14 17,14,346,452,14 1,195,96,452,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001285.jpg 49,154,288,294,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001290.jpg 63,41,332,488,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001294.jpg 269,132,345,375,14 35,153,89,349,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001296.jpg 27,92,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001299.jpg 1,53,389,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001301.jpg 263,85,476,375,14 37,49,269,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001302.jpg 202,203,245,315,14 104,55,153,118,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001304.jpg 1,256,19,309,4 13,254,34,309,4 26,255,49,309,4 43,254,63,308,4 58,255,76,308,4 73,254,93,308,4 88,253,106,307,4 102,252,120,306,4 116,254,135,307,4 131,252,150,306,4 146,250,165,305,4 162,250,180,304,4 177,251,194,304,4 190,250,209,304,4 206,249,222,304,4 220,249,237,303,4 235,249,253,304,4 313,55,330,99,4 121,75,449,375,14 400,164,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001306.jpg 92,123,184,294,14 90,230,159,298,14 269,169,333,283,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001307.jpg 93,47,139,156,4 50,2,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001308.jpg 1,194,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001310.jpg 232,126,344,338,14 301,182,407,338,14 176,188,286,338,14 1,31,157,338,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001312.jpg 169,71,280,233,14 266,76,371,236,14 462,215,479,264,4 229,195,254,277,4 256,193,280,275,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001314.jpg 232,282,297,445,14 276,258,345,440,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001318.jpg 1,1,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001320.jpg 163,20,311,311,14 100,210,180,309,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001322.jpg 1,134,216,375,14 199,181,343,375,14 299,126,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001325.jpg 299,86,498,375,14 1,121,259,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001329.jpg 123,194,342,389,6 115,184,160,286,14 35,179,68,267,14 63,190,87,269,14 84,209,107,266,14 108,179,129,263,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001333.jpg 86,1,375,201,17 1,30,367,500,14 176,183,297,308,14 1,91,373,500,8 257,123,275,176,4 235,133,253,182,4 198,374,375,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001334.jpg 212,306,331,348,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001335.jpg 29,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001336.jpg 1,1,500,372,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001338.jpg 185,97,290,333,14 266,68,368,333,14 420,91,448,120,15 391,93,422,151,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001340.jpg 6,81,325,498,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001344.jpg 42,41,333,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001346.jpg 1,93,255,374,14 223,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001349.jpg 1,66,221,390,14 90,3,333,471,14 225,161,332,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001350.jpg 39,36,468,297,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001351.jpg 27,166,391,486,2 56,204,315,439,2 354,19,471,422,14 63,69,199,420,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001353.jpg 253,195,336,445,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001356.jpg 204,124,486,342,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001357.jpg 115,108,406,326,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001358.jpg 288,122,366,202,14 330,113,385,218,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001359.jpg 1,89,463,400,9 324,54,479,400,14 182,102,313,162,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001366.jpg 160,2,439,375,14 138,1,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001367.jpg 134,151,250,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001369.jpg 81,87,267,332,14 116,35,443,337,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001373.jpg 271,117,500,375,14 1,152,162,375,14 197,110,375,375,14 64,123,215,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001374.jpg 1,28,492,280,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001375.jpg 275,249,500,333,1 235,122,383,252,6 358,50,500,333,14 9,41,257,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001376.jpg 225,50,482,333,14 105,50,146,163,14 129,50,165,154,14 72,38,95,147,14 87,54,108,131,14 431,67,452,107,14 456,70,480,121,14 474,63,492,133,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001379.jpg 131,62,319,360,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001380.jpg 66,18,423,155,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001382.jpg 172,59,334,444,14 101,8,500,444,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001383.jpg 1,107,322,350,14 1,65,218,343,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001385.jpg 29,59,197,369,14 217,67,317,369,14 326,87,428,369,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001387.jpg 126,92,284,228,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001388.jpg 10,37,328,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001389.jpg 39,73,290,428,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001390.jpg 320,43,498,295,14 1,136,344,310,14 1,68,500,375,17 457,59,479,126,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001391.jpg 191,17,500,389,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001395.jpg 8,130,333,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001399.jpg 1,153,315,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001401.jpg 88,47,284,375,14 272,90,500,375,14 370,127,500,240,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001402.jpg 98,149,234,443,14 115,279,243,482,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001404.jpg 111,126,264,500,14 91,267,245,500,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001405.jpg 173,15,270,365,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001406.jpg 1,4,181,191,13 83,1,385,173,13 78,38,466,260,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001408.jpg 242,173,337,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001410.jpg 211,139,301,202,11 380,1,409,42,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001413.jpg 65,41,334,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001414.jpg 57,31,482,401,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001415.jpg 241,126,292,215,2 79,271,158,333,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001419.jpg 8,168,147,336,14 106,198,255,335,14 225,205,317,336,14 310,202,448,336,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001420.jpg 343,148,393,252,11 118,210,179,362,11 79,129,176,184,11 38,169,102,280,11 265,26,318,179,14 336,1,452,49,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001427.jpg 168,171,346,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001428.jpg 39,1,463,356,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001429.jpg 18,11,296,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001430.jpg 1,1,500,385,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001431.jpg 26,88,373,500,14 102,249,160,429,4 265,227,324,403,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001432.jpg 295,158,313,199,14 314,146,387,199,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001433.jpg 1,22,264,400,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001434.jpg 173,169,350,370,14 238,160,297,254,14 211,271,346,375,8 1,262,73,365,8 330,194,434,306,8 52,215,284,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001436.jpg 140,1,500,324,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001437.jpg 338,159,457,375,14 170,216,267,375,14 1,183,135,375,14 126,185,186,375,14 247,187,343,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001439.jpg 7,36,180,268,8 175,37,314,275,8 324,35,491,274,8 70,9,198,200,8 205,6,310,202,8 321,6,433,202,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001440.jpg 205,79,268,116,6 14,67,132,139,6 59,97,309,500,14 5,51,307,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001444.jpg 291,198,342,369,4 9,2,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001445.jpg 65,56,435,320,6 316,54,457,137,6 156,36,250,68,6 85,35,135,66,6 39,30,82,69,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001446.jpg 69,22,447,338,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001448.jpg 332,126,469,169,0 1,89,298,169,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001451.jpg 264,111,321,374,14 221,145,276,346,14 171,140,217,353,14 83,111,225,339,14 143,119,177,336,14 323,189,363,223,14 318,258,498,375,10 95,259,199,374,8 65,281,179,375,8 1,185,89,326,15 203,153,227,307,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001454.jpg 5,1,490,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001455.jpg 155,13,333,413,14 3,2,209,404,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001456.jpg 1,12,459,166,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001460.jpg 112,1,493,367,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001461.jpg 439,94,500,228,8 433,74,498,124,19 1,91,189,288,17 107,30,240,254,14 196,178,276,309,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001462.jpg 80,67,208,293,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001464.jpg 153,192,333,390,12 215,176,275,298,14 23,268,53,348,14 84,278,106,359,14 92,282,122,366,14 119,276,151,368,14 318,251,333,285,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001466.jpg 239,82,338,234,14 1,82,148,290,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001467.jpg 36,36,144,253,14 335,1,403,140,15 55,107,151,259,8 229,80,331,141,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001468.jpg 9,120,500,359,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001470.jpg 64,158,104,357,14 105,166,147,357,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001475.jpg 8,142,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001478.jpg 133,167,411,292,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001479.jpg 88,63,425,369,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001481.jpg 1,110,226,500,14 83,143,277,483,14 296,138,375,259,19 1,134,97,259,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001482.jpg 168,61,300,500,14 75,62,189,500,14 209,287,239,345,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001486.jpg 320,109,364,201,4 83,95,375,375,14 340,109,465,375,14 323,118,391,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001488.jpg 156,1,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001491.jpg 17,73,447,258,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001493.jpg 131,21,262,369,14 245,80,341,368,14 318,53,423,375,14 6,66,157,375,14 434,199,500,375,8 401,72,421,108,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001494.jpg 104,57,243,333,14 160,131,326,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001495.jpg 7,8,495,237,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001498.jpg 152,103,372,218,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001500.jpg 223,288,267,322,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001501.jpg 20,135,83,268,14 93,152,132,263,14 146,132,187,261,14 186,134,252,273,14 237,146,312,274,14 285,164,374,277,14 175,180,199,237,14 402,199,430,288,14 422,196,446,283,14 1,163,15,196,14 337,183,356,236,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001503.jpg 150,39,332,270,14 1,44,75,142,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001504.jpg 84,17,270,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001510.jpg 61,106,379,377,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001513.jpg 99,104,454,287,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001514.jpg 129,66,391,262,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001516.jpg 250,281,293,314,14 49,1,442,333,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001520.jpg 1,5,381,500,14 100,201,366,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001522.jpg 71,291,136,355,2 126,230,245,375,2 214,135,309,372,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001523.jpg 115,244,214,349,1 118,160,198,308,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001525.jpg 184,176,261,335,14 162,218,270,375,13 269,238,500,375,13 355,233,500,375,13 228,171,264,320,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001527.jpg 82,104,386,375,14 234,118,436,340,14 1,11,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001529.jpg 58,1,500,248,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001531.jpg 77,135,349,300,1 157,16,352,224,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001533.jpg 141,106,207,322,14 218,61,303,318,14 320,72,438,329,14 1,128,155,262,6 288,48,500,329,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001534.jpg 237,17,461,332,14 437,169,500,331,14 83,82,269,332,14 30,176,98,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001536.jpg 204,108,343,279,14 64,23,256,333,14 249,19,469,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001538.jpg 394,79,491,323,14 217,76,314,323,14 53,125,155,324,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001539.jpg 243,45,405,286,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001540.jpg 167,107,282,321,14 152,89,286,168,14 244,117,332,245,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001541.jpg 39,7,88,75,15 247,223,257,242,15 339,212,370,237,6 307,212,320,224,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001542.jpg 54,55,500,359,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001543.jpg 169,216,258,266,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001544.jpg 206,66,498,375,12 1,1,164,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001546.jpg 29,41,495,216,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001547.jpg 221,151,349,395,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001549.jpg 316,127,500,375,14 182,122,332,375,14 117,93,275,375,14 1,97,171,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001550.jpg 303,45,455,348,11 47,44,252,366,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001551.jpg 2,99,179,431,14 197,169,265,329,14 244,184,301,342,14 207,255,315,387,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001553.jpg 1,167,55,261,14 243,109,323,312,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001563.jpg 237,59,500,375,14 62,72,365,375,14 87,1,266,196,14 354,120,500,304,8 1,129,78,375,8 1,33,106,204,8 38,101,109,201,8 37,188,115,375,8 194,158,425,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001564.jpg 97,51,335,322,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001566.jpg 1,190,149,300,1 19,118,104,270,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001574.jpg 39,63,259,340,14 171,23,370,340,14 303,36,500,340,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001575.jpg 238,99,378,226,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001576.jpg 193,1,373,94,19 125,97,336,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001577.jpg 112,28,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001580.jpg 73,133,434,193,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001582.jpg 161,68,244,336,14 216,93,314,336,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001586.jpg 30,255,76,289,6 88,251,133,291,6 36,270,88,315,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001589.jpg 51,10,293,495,14 7,81,301,414,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001590.jpg 62,1,347,363,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001591.jpg 76,1,258,240,14 168,26,300,206,14 307,41,464,218,14 452,47,486,105,14 408,50,473,156,14 264,39,323,169,14 326,42,357,91,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001592.jpg 178,129,419,294,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001593.jpg 116,54,286,181,4 171,60,488,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001594.jpg 5,109,23,148,4 57,47,202,237,14 229,18,376,240,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001596.jpg 53,6,312,375,14 454,73,500,142,14 377,1,453,291,14 288,128,363,236,8 277,140,337,275,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001598.jpg 25,66,382,251,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001601.jpg 119,58,479,312,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001602.jpg 38,63,242,410,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001605.jpg 146,59,251,317,14 72,16,160,279,14 191,16,280,258,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001607.jpg 257,27,500,375,14 66,20,293,334,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001609.jpg 405,95,499,310,14 221,51,438,375,14 17,90,161,365,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001610.jpg 125,124,280,297,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001613.jpg 201,86,310,332,14 118,162,182,313,14 279,200,358,317,8 102,194,177,313,8 10,143,57,184,14 171,218,256,332,8 341,144,368,170,14 1,194,49,281,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001615.jpg 264,52,423,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001617.jpg 71,149,126,228,14 384,163,468,284,14 105,239,278,348,8 28,271,107,369,8 358,222,486,346,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001619.jpg 1,217,198,325,14 197,154,375,269,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001620.jpg 371,258,435,400,14 290,262,357,400,14 207,251,279,400,14 161,276,210,400,14 89,246,118,266,14 121,50,164,205,3 263,148,328,210,3 448,184,500,209,3 471,136,500,160,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001622.jpg 2,1,435,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001624.jpg 209,52,433,359,14 448,184,500,276,8 1,188,184,267,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001625.jpg 1,1,499,300,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001626.jpg 20,11,439,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001629.jpg 171,57,419,375,14 1,138,102,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001631.jpg 39,97,95,137,6 398,98,455,127,6 7,95,49,119,6 159,66,200,104,14 246,37,322,153,14 311,50,362,181,14 360,56,409,166,14 470,62,500,189,14 12,85,310,354,13 101,91,116,129,14 13,89,24,129,14 436,101,475,126,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001632.jpg 11,157,468,292,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001636.jpg 322,90,392,191,14 235,110,291,190,14 68,152,198,301,14 273,146,290,188,4 290,147,305,187,4 62,177,165,316,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001638.jpg 338,276,350,314,4 2,12,137,317,14 208,18,344,363,14 375,31,496,327,14 306,35,366,322,14 199,48,254,281,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001640.jpg 159,5,465,200,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001641.jpg 227,278,320,430,8 125,217,202,282,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001643.jpg 1,8,283,333,14 1,126,500,333,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001645.jpg 284,153,489,350,14 1,1,269,350,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001648.jpg 41,32,333,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001649.jpg 1,141,268,500,3 133,222,216,321,14 177,217,244,367,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001652.jpg 222,217,335,478,14 287,132,335,224,14 1,187,169,405,14 1,110,149,306,14 1,107,335,500,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001653.jpg 141,294,307,430,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001655.jpg 135,55,353,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001659.jpg 1,36,308,375,14 255,51,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001660.jpg 1,61,500,371,17 1,40,316,371,14 142,102,383,371,14 142,114,233,192,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001661.jpg 152,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001663.jpg 174,145,217,190,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001666.jpg 470,81,500,198,8 83,51,296,375,14 239,61,393,231,14 239,222,332,316,14 285,117,434,291,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001667.jpg 15,64,333,500,14 191,204,310,421,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001668.jpg 52,65,324,500,14 69,131,199,392,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001669.jpg 31,67,142,464,14 169,147,276,266,14 217,125,324,461,14 141,111,263,453,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001670.jpg 253,308,366,467,14 62,173,281,500,14 16,127,99,301,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001673.jpg 201,116,289,257,2 160,71,354,375,14 20,230,173,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001676.jpg 1,11,496,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001679.jpg 92,98,448,456,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001680.jpg 1,31,192,400,14 121,74,276,400,14 241,59,442,400,14 335,10,500,400,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001681.jpg 217,251,236,263,6 145,249,166,262,6 51,231,95,296,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001682.jpg 148,131,317,302,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001688.jpg 193,111,364,222,19 223,34,299,75,15 40,131,93,175,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001690.jpg 209,190,306,255,13 262,207,390,270,13 296,137,372,267,14 244,131,309,250,14 365,116,389,211,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001691.jpg 89,32,431,360,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001692.jpg 71,102,482,483,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001694.jpg 1,183,89,314,8 426,188,476,233,15 115,162,408,270,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001697.jpg 192,201,226,310,14 255,203,288,319,14 335,208,361,274,14 288,204,325,298,14 438,186,487,317,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001699.jpg 102,17,365,375,14 417,1,500,257,14 87,224,347,373,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001702.jpg 1,1,166,500,8 97,66,299,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001704.jpg 1,29,237,258,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001706.jpg 106,93,249,375,14 229,226,245,265,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001708.jpg 1,65,252,301,7 218,111,500,339,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001709.jpg 174,42,393,313,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001710.jpg 29,1,481,219,18 167,110,204,252,14 204,124,244,253,14 253,127,299,261,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001712.jpg 186,277,255,450,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001714.jpg 126,184,215,353,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001715.jpg 111,39,292,333,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001716.jpg 201,128,429,272,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001717.jpg 112,257,202,325,6 65,267,122,295,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001719.jpg 49,21,376,220,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001722.jpg 247,139,290,188,14 272,133,324,178,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001723.jpg 209,262,500,375,10 139,226,311,351,10 228,275,291,375,8 117,230,209,351,8 289,222,328,266,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001724.jpg 127,87,333,500,14 1,162,274,500,14 34,331,231,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001727.jpg 303,192,360,244,13 212,180,267,228,13 289,185,353,243,14 189,169,250,225,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001729.jpg 71,94,229,279,12 144,71,188,205,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001730.jpg 44,1,199,375,14 183,109,332,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001731.jpg 249,37,367,375,14 256,156,353,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001735.jpg 23,19,268,402,14 256,31,491,402,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001736.jpg 34,29,310,498,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001737.jpg 248,69,500,333,14 1,69,224,333,14 129,114,221,333,8 335,246,364,305,4 449,260,493,314,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001741.jpg 6,102,450,292,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001742.jpg 40,99,154,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001744.jpg 182,1,320,355,4 75,1,213,305,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001745.jpg 214,80,269,285,14 159,60,239,349,14 77,87,158,405,14 1,52,119,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001746.jpg 112,107,182,171,6 384,138,500,249,6 351,104,404,126,6 248,105,278,126,6 84,113,125,145,6 5,117,33,148,6 97,43,266,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001750.jpg 1,159,31,268,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001751.jpg 1,139,133,363,8 142,135,244,283,8 287,137,385,298,8 221,89,375,217,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001757.jpg 81,114,267,375,14 209,60,410,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001758.jpg 263,124,417,284,14 123,108,279,285,14 1,102,178,375,14 436,198,460,283,4 374,114,424,213,14 443,141,470,198,14 463,151,495,196,14 67,266,500,375,10 126,143,156,180,14 1,103,57,171,14 219,148,250,177,14 258,156,277,186,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001761.jpg 119,23,298,440,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001763.jpg 125,108,181,261,14 85,275,289,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001764.jpg 404,160,493,314,8 231,116,383,315,14 188,144,276,313,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001765.jpg 97,151,252,500,14 238,161,320,500,14 291,162,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001769.jpg 93,97,352,496,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001770.jpg 73,71,361,478,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001772.jpg 86,205,159,333,8 416,173,451,211,19 220,166,286,269,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001773.jpg 309,136,438,246,14 180,209,500,375,10 181,134,328,240,14 104,197,249,315,14 134,182,204,252,14 59,230,223,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001774.jpg 219,170,256,203,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001775.jpg 228,84,500,337,14 1,68,260,337,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001781.jpg 336,150,416,218,19 1,202,123,312,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001782.jpg 18,73,53,155,14 398,28,427,95,14 193,179,229,271,14 217,171,306,262,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001783.jpg 38,51,303,446,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001784.jpg 355,74,437,375,14 318,63,379,364,14 257,62,325,355,14 205,72,264,348,14 68,88,139,341,14 144,94,201,270,14 1,93,63,270,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001787.jpg 11,269,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001789.jpg 304,158,417,338,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001791.jpg 54,313,111,491,14 45,393,112,500,1 121,316,151,391,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001792.jpg 99,165,234,270,7 228,109,376,307,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001796.jpg 38,86,483,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001797.jpg 336,210,500,375,14 166,156,306,368,11 72,93,286,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001799.jpg 1,1,238,387,3 130,1,375,263,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001801.jpg 1,119,389,234,0 317,145,500,206,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001802.jpg 220,73,415,275,14 158,86,500,364,14 1,74,161,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001805.jpg 10,89,500,302,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001806.jpg 113,1,451,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001808.jpg 95,68,361,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001809.jpg 104,194,210,359,8 202,196,321,371,8 273,185,372,332,8 155,182,261,327,8 288,183,373,307,8 299,154,313,199,4 99,196,367,374,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001810.jpg 14,1,487,310,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001811.jpg 146,56,261,304,14 260,94,334,301,14 329,119,394,299,14 406,184,468,333,14 52,237,76,281,14 84,239,112,298,14 29,240,49,278,14 105,52,179,302,14 460,241,483,314,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001812.jpg 232,127,339,252,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001813.jpg 1,35,334,500,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001814.jpg 262,231,295,341,14 216,179,258,283,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001815.jpg 1,5,214,206,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001816.jpg 170,58,500,317,11 28,2,500,247,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001820.jpg 253,45,500,321,5 1,18,256,329,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001821.jpg 38,65,335,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001823.jpg 37,44,103,70,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001825.jpg 352,103,394,192,14 266,133,354,199,14 317,68,342,165,14 382,67,416,174,14 354,64,387,127,14 283,100,320,172,14 286,65,313,128,14 244,113,266,173,14 228,107,246,172,14 33,100,87,199,14 107,129,193,203,14 125,101,181,185,14 163,77,190,172,14 189,72,225,170,14 217,77,253,172,14 89,72,130,180,14 69,68,99,177,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001829.jpg 88,72,263,238,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001830.jpg 288,156,500,334,6 130,150,299,226,6 1,156,51,194,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001832.jpg 54,37,398,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001834.jpg 225,204,264,309,14 267,156,313,298,14 210,163,261,222,14 221,157,262,296,14 253,143,285,289,14 155,138,211,306,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001836.jpg 63,167,263,265,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001837.jpg 360,44,479,305,14 364,195,397,328,4 1,163,165,333,14 217,148,423,326,14 113,15,262,326,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001838.jpg 22,107,500,375,14 297,140,500,328,14 297,71,390,199,14 398,67,483,250,14 1,165,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001841.jpg 61,6,349,375,14 45,133,476,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001842.jpg 21,42,161,316,14 127,1,500,328,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001843.jpg 340,208,488,281,3 14,204,209,299,3 225,215,266,229,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001845.jpg 80,57,332,394,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001849.jpg 368,87,402,223,3 424,92,463,228,3 286,146,305,213,3 29,175,297,237,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001850.jpg 1,28,500,334,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001852.jpg 190,38,386,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001854.jpg 101,180,317,370,11 1,1,462,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001856.jpg 132,59,500,307,2 36,1,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001858.jpg 216,169,286,226,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001860.jpg 271,129,400,292,14 1,86,98,320,14 1,201,151,333,1 395,235,427,281,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001862.jpg 3,125,100,308,15 138,6,281,210,11 292,28,374,167,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001863.jpg 1,68,227,375,14 252,140,463,325,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001865.jpg 1,1,251,294,15 180,17,324,275,15 301,104,389,253,15 347,124,449,242,15 431,157,471,227,15 432,80,498,199,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001866.jpg 126,25,472,287,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001867.jpg 120,234,500,374,6 107,217,165,374,14 16,220,63,374,14 1,215,18,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001869.jpg 343,202,485,329,17 285,203,355,243,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001871.jpg 59,62,258,400,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001872.jpg 105,3,500,312,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001874.jpg 100,68,340,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001876.jpg 61,108,400,355,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001880.jpg 11,3,474,491,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001881.jpg 13,1,239,372,14 214,1,491,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001882.jpg 142,44,307,469,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001885.jpg 176,46,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001888.jpg 92,43,282,334,14 302,88,383,199,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001894.jpg 96,137,314,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001895.jpg 10,24,338,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001896.jpg 404,159,491,259,19 1,174,207,333,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001899.jpg 87,61,272,285,14 218,19,373,285,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001903.jpg 61,54,217,300,14 203,47,355,300,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001905.jpg 154,173,224,437,14 260,185,373,500,14 1,108,255,373,18 221,174,282,489,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001907.jpg 48,26,403,383,14 2,40,81,161,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001908.jpg 190,321,232,335,6 244,312,293,328,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001909.jpg 178,130,370,337,14 1,115,172,500,14 221,160,259,229,14 195,168,226,236,14 174,165,195,219,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001910.jpg 276,210,313,319,4 106,23,375,307,14 1,220,108,320,8 42,188,98,233,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001911.jpg 252,259,280,345,14 192,271,225,357,14 95,208,112,257,14 51,201,69,241,14 14,235,40,262,14 164,231,183,286,14 208,225,232,283,14 220,226,240,272,14 330,212,349,257,14 15,208,35,242,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001914.jpg 1,54,254,375,14 154,265,474,375,1 174,94,435,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001919.jpg 69,84,295,333,14 243,103,398,255,14 131,1,327,190,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001920.jpg 143,58,288,189,19 297,48,480,208,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001921.jpg 115,125,363,254,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001926.jpg 1,15,230,305,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001928.jpg 132,171,302,375,14 100,134,365,369,14 88,102,150,167,14 110,128,196,198,14 170,135,226,208,14 1,141,127,363,14 1,248,93,375,8 398,238,420,278,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001929.jpg 447,114,498,245,14 350,103,442,248,14 138,76,257,345,14 79,99,164,374,14 145,99,202,206,14 123,115,176,319,14 34,114,95,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001930.jpg 347,97,500,300,14 176,119,389,375,14 1,75,178,375,14 130,67,207,158,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001932.jpg 112,35,458,375,14 1,45,209,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001934.jpg 26,23,153,223,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001937.jpg 65,21,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001941.jpg 96,1,500,363,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001945.jpg 178,176,228,221,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001946.jpg 130,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001947.jpg 97,1,328,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001951.jpg 178,69,406,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001955.jpg 1,39,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001956.jpg 13,3,500,141,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001957.jpg 104,74,196,120,4 1,34,298,333,14 350,93,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001958.jpg 1,92,235,500,14 140,251,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001961.jpg 150,187,253,241,6 393,174,500,243,6 175,163,470,252,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001965.jpg 203,53,269,144,14 1,128,109,392,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001966.jpg 15,165,234,333,2 1,278,168,494,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001967.jpg 1,95,500,333,14 135,143,278,288,14 13,39,61,99,14 10,13,54,78,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001969.jpg 274,212,317,323,14 227,215,273,324,14 187,212,224,324,14 139,227,176,328,14 69,215,98,332,14 17,213,63,334,14 70,170,155,377,14 1,217,19,335,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001970.jpg 229,166,422,375,14 328,136,432,205,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001971.jpg 132,125,395,194,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001977.jpg 1,73,78,222,3 117,62,176,266,14 190,47,294,325,14 240,38,294,262,14 370,59,450,264,14 275,1,500,239,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001978.jpg 266,172,290,197,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001979.jpg 379,170,399,222,14 351,166,374,221,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001980.jpg 37,1,292,390,14 26,117,303,390,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001982.jpg 1,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001985.jpg 187,102,222,114,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001986.jpg 49,241,286,379,1 69,190,236,354,14 192,1,276,151,14 91,1,183,151,14 30,6,105,186,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001987.jpg 67,235,269,293,3 123,204,201,254,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001989.jpg 5,22,424,480,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001992.jpg 152,89,391,333,14 65,1,305,234,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001997.jpg 358,47,452,145,19 320,156,500,375,8 8,127,85,259,19 148,165,309,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_001998.jpg 21,35,189,282,14 173,61,394,306,14 351,52,488,322,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002000.jpg 33,84,457,294,0 420,165,483,199,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002001.jpg 69,46,416,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002002.jpg 110,227,148,344,4 169,229,204,324,4 120,87,338,360,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002003.jpg 1,1,224,375,14 177,76,292,227,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002004.jpg 3,11,375,467,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002005.jpg 259,26,342,335,4 191,19,267,305,4 59,151,79,228,4 78,154,97,228,4 93,136,118,173,4 66,134,94,174,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002007.jpg 138,45,281,270,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002009.jpg 139,161,328,375,14 194,150,320,375,14 409,46,449,156,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002011.jpg 1,1,428,360,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002013.jpg 40,1,425,331,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002017.jpg 70,16,200,474,14 29,94,154,478,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002021.jpg 1,168,191,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002023.jpg 45,42,388,333,14 438,133,500,306,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002026.jpg 148,216,275,363,8 1,56,142,307,15 1,275,145,375,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002031.jpg 140,40,226,240,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002032.jpg 1,1,107,375,14 275,70,446,308,14 256,37,324,158,14 176,120,270,249,14 87,103,211,220,14 76,108,160,205,14 32,198,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002033.jpg 131,91,222,237,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002035.jpg 53,47,250,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002036.jpg 223,161,259,191,11 66,122,283,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002037.jpg 370,223,428,272,14 142,17,313,237,14 345,217,376,262,14 354,188,365,216,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002039.jpg 309,90,397,346,14 378,99,467,316,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002042.jpg 91,133,136,250,14 148,127,211,328,14 287,119,324,263,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002043.jpg 96,17,495,205,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002045.jpg 1,16,352,272,7 130,139,500,366,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002046.jpg 1,1,500,367,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002047.jpg 229,89,500,375,14 43,127,288,375,14 88,204,128,232,13 440,194,474,276,14 406,183,441,274,14 62,187,76,217,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002052.jpg 64,123,284,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002056.jpg 1,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002058.jpg 136,3,438,236,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002061.jpg 456,3,500,375,14 175,81,326,375,14 191,226,322,375,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002062.jpg 1,20,404,331,6 220,1,473,83,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002064.jpg 173,176,328,285,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002066.jpg 84,93,386,377,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002067.jpg 153,11,483,375,14 186,192,338,375,7 1,1,225,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002069.jpg 1,80,301,375,14 178,64,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002071.jpg 257,127,394,297,8 81,184,264,333,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002073.jpg 278,103,386,248,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002079.jpg 120,200,403,375,10 225,164,243,209,4 304,113,416,274,14 378,147,451,321,14 419,148,500,375,14 1,162,126,375,14 46,114,161,350,14 87,121,173,268,14 261,33,299,197,14 311,39,371,116,14 274,28,321,94,14 405,76,439,126,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002080.jpg 295,62,443,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002082.jpg 356,88,429,143,19 178,165,224,221,8 1,213,416,335,17 399,143,407,169,4 404,143,413,170,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002084.jpg 276,131,394,322,14 186,134,382,375,14 208,201,336,343,11 164,13,200,37,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002086.jpg 366,46,490,375,14 1,266,47,375,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002088.jpg 34,41,241,333,14 164,47,418,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002092.jpg 91,184,239,374,14 288,189,436,374,14 374,66,500,209,14 294,16,458,134,14 279,99,444,361,14 180,96,292,353,14 88,110,210,338,14 4,82,213,344,14 1,109,480,326,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002093.jpg 1,55,341,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002094.jpg 51,275,148,435,14 3,269,27,339,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002096.jpg 1,251,113,375,11 200,138,274,334,14 392,74,482,335,14 322,38,413,321,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002098.jpg 115,60,289,448,14 104,112,134,194,14 33,160,52,186,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002099.jpg 457,95,488,188,14 190,184,284,333,14 221,170,294,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002103.jpg 264,40,500,375,14 1,75,305,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002107.jpg 266,4,452,295,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002112.jpg 40,28,403,375,14 380,85,498,358,14 13,136,265,375,8 301,129,316,188,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002113.jpg 88,53,500,263,14 228,257,315,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002114.jpg 362,195,500,375,8 1,159,354,349,10 66,47,424,375,14 288,54,478,331,14 264,77,373,177,14 229,32,324,168,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002115.jpg 21,21,262,340,14 231,1,500,319,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002116.jpg 190,133,426,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002117.jpg 10,1,480,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002118.jpg 236,456,375,500,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002119.jpg 81,125,434,343,17 1,234,214,375,8 182,21,224,72,19 385,117,408,146,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002123.jpg 452,101,500,223,13 373,106,424,226,13 232,149,381,299,13 1,139,148,349,13 41,78,106,157,14 147,73,246,326,14 297,74,365,309,14 398,59,464,292,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002124.jpg 300,1,500,373,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002129.jpg 172,51,431,333,14 6,1,432,319,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002131.jpg 91,172,173,237,3 173,174,251,226,3 332,166,391,201,3 430,151,452,202,14 462,150,481,204,14 449,147,465,205,14 118,152,147,201,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002132.jpg 53,131,147,316,14 104,137,198,315,14 191,143,252,316,14 248,144,313,319,14 305,137,380,318,14 370,143,438,315,14 415,131,464,192,14 459,134,499,195,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002138.jpg 1,99,423,241,0 410,139,450,170,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002140.jpg 1,1,304,317,19 229,89,495,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002144.jpg 241,60,493,375,14 81,114,259,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002145.jpg 77,115,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002146.jpg 368,109,500,375,14 214,88,424,375,14 1,60,237,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002148.jpg 2,21,399,400,8 18,45,291,386,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002150.jpg 153,108,332,302,16 149,122,480,375,14 453,35,500,74,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002151.jpg 3,52,500,242,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002152.jpg 304,155,438,283,7 111,122,313,259,7 87,76,327,174,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002153.jpg 214,135,250,236,4 242,130,269,222,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002155.jpg 193,154,273,281,14 354,166,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002156.jpg 53,44,400,400,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002158.jpg 90,29,356,292,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002160.jpg 93,100,318,242,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002162.jpg 29,111,100,252,14 118,103,192,271,14 188,104,313,324,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002167.jpg 14,20,411,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002169.jpg 222,113,376,375,14 133,130,294,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002172.jpg 67,72,205,290,12 109,36,203,231,14 190,73,236,148,14 190,124,275,280,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002175.jpg 363,260,460,375,8 353,217,449,373,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002176.jpg 9,43,340,294,14 228,59,459,294,14 153,49,312,294,14 1,1,46,60,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002177.jpg 11,28,463,239,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002179.jpg 41,97,355,333,5 23,1,40,42,14 262,9,315,49,13 283,2,332,38,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002181.jpg 1,95,103,454,14 98,122,211,454,14 89,76,184,454,14 186,103,304,454,14 245,73,325,436,14 279,106,407,454,14 337,94,409,441,14 381,99,446,315,14 404,59,500,454,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002182.jpg 223,40,337,371,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002185.jpg 239,82,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002191.jpg 150,164,217,372,14 1,305,82,468,13 21,217,107,360,13 216,219,264,295,13 299,264,348,351,15 268,266,312,341,15 100,258,134,301,15 117,232,139,262,15 150,186,168,232,14 343,406,375,500,15 325,398,375,473,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002193.jpg 109,1,500,239,18 13,158,37,250,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002194.jpg 319,155,375,180,3 274,153,321,174,3 1,167,67,204,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002195.jpg 373,10,440,44,0 277,10,338,40,0 197,11,252,36,0 87,7,151,39,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002197.jpg 1,205,83,320,6 185,191,274,266,6 259,186,328,267,6 310,173,500,310,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002198.jpg 1,126,500,320,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002199.jpg 1,154,268,306,6 342,183,500,370,6 102,164,173,370,14 177,166,216,327,14 292,160,408,375,14 272,161,334,312,14 252,177,290,303,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002200.jpg 192,168,409,398,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002201.jpg 110,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002202.jpg 8,137,288,456,13 258,201,320,242,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002204.jpg 117,243,247,322,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002205.jpg 1,62,453,319,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002206.jpg 53,1,487,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002207.jpg 269,178,306,195,2 442,35,492,73,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002208.jpg 264,153,299,200,2 207,173,264,203,2 184,148,217,191,2 129,143,160,195,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002209.jpg 291,205,451,320,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002210.jpg 2,8,410,375,14 233,84,350,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002212.jpg 1,153,497,339,6 116,146,186,246,14 158,87,222,171,14 96,151,228,196,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002215.jpg 76,19,316,283,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002218.jpg 87,185,254,320,19 95,50,221,201,8 246,68,428,310,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002220.jpg 353,103,497,333,14 220,114,351,333,14 135,119,252,333,14 41,111,184,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002221.jpg 121,125,381,254,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002222.jpg 160,88,346,275,18 47,186,109,375,14 120,190,132,238,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002223.jpg 354,195,415,224,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002225.jpg 138,129,286,249,7 197,170,338,231,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002227.jpg 86,129,219,313,11 149,139,279,313,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002229.jpg 253,171,292,201,5 1,188,197,375,6 417,181,500,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002231.jpg 54,81,361,468,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002234.jpg 1,1,375,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002236.jpg 329,60,500,375,14 62,127,297,375,14 67,141,156,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002239.jpg 224,15,404,288,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002240.jpg 24,12,141,333,13 139,9,244,333,13 226,1,350,331,13 329,1,462,333,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002241.jpg 81,306,145,492,14 15,304,61,470,14 212,350,228,394,14 155,332,171,378,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002243.jpg 151,260,214,342,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002244.jpg 130,295,155,359,14 176,284,206,356,14 226,286,256,355,14 111,290,135,360,14 205,290,231,356,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002247.jpg 60,127,194,482,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002248.jpg 291,126,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002250.jpg 17,23,108,66,3 340,55,417,100,3 442,31,467,78,14 299,51,323,107,14 253,48,278,74,14 1,85,500,375,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002251.jpg 1,100,173,359,14 143,96,340,361,14 301,99,466,358,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002255.jpg 196,65,327,323,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002258.jpg 130,95,447,241,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002259.jpg 12,24,414,375,14 205,62,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002262.jpg 294,139,389,306,14 44,159,137,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002267.jpg 1,122,500,375,11 265,268,366,356,11 189,224,328,291,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002269.jpg 22,23,416,334,1 409,64,500,292,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002270.jpg 252,206,319,255,9 232,197,268,217,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002272.jpg 44,115,333,468,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002273.jpg 56,137,231,308,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002278.jpg 345,85,431,147,9 255,200,367,288,9 1,126,135,289,9 73,139,250,289,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002279.jpg 1,105,489,263,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002280.jpg 41,56,359,500,14 300,143,333,215,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002281.jpg 409,183,456,217,3 219,175,278,226,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002283.jpg 21,73,235,375,14 288,32,325,110,14 239,179,395,375,14 261,64,482,375,14 104,56,232,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002288.jpg 121,205,370,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002292.jpg 1,1,500,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002293.jpg 73,9,465,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002294.jpg 156,1,494,255,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002296.jpg 3,126,230,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002298.jpg 82,169,299,375,7 258,183,456,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002299.jpg 7,23,294,375,7 34,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002304.jpg 1,1,106,333,14 250,9,443,333,14 57,82,94,190,14 100,66,142,159,14 142,95,181,153,14 65,150,167,319,14 143,126,236,223,14 239,79,279,230,14 168,50,228,137,14 68,246,228,333,11 157,203,252,291,11 233,204,489,333,11 243,68,263,87,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002305.jpg 153,79,283,292,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002307.jpg 235,300,266,339,15 236,406,297,485,11 202,286,239,327,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002311.jpg 262,387,328,500,4 220,359,274,500,4 140,174,214,444,4 297,178,375,294,8 262,232,332,304,8 1,189,74,383,8 45,50,349,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002312.jpg 58,21,193,334,14 229,32,363,334,14 342,12,466,334,14 45,61,64,111,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002314.jpg 89,117,445,353,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002317.jpg 222,209,294,380,11 175,29,285,288,14 1,373,112,500,15 293,267,345,319,15 345,249,375,307,15 72,285,134,334,15 93,246,140,297,15 111,186,157,259,15 135,158,173,189,15 135,116,179,162,15 144,82,179,124,15 267,162,306,210,15 1,421,60,500,15 282,134,304,170,15 152,1,215,92,15 107,37,141,90,15 288,175,357,325,15 62,167,220,423,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002321.jpg 243,1,500,375,14 186,2,409,375,14 1,45,261,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002322.jpg 155,61,245,269,14 120,155,295,297,1 185,95,500,237,6 1,168,162,271,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002324.jpg 106,1,185,166,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002325.jpg 155,321,195,440,14 1,187,333,395,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002327.jpg 1,59,500,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002328.jpg 18,105,142,288,14 90,86,268,375,14 247,77,441,353,14 1,255,235,375,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002329.jpg 148,125,312,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002330.jpg 127,79,157,173,4 74,1,243,166,14 252,103,284,177,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002331.jpg 177,89,289,475,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002335.jpg 101,179,384,262,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002338.jpg 238,140,333,308,12 171,116,235,305,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002340.jpg 289,113,498,375,14 1,103,307,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002343.jpg 1,1,297,349,16 318,203,377,309,16 240,206,327,303,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002344.jpg 1,21,375,469,18 21,196,113,451,14 140,196,222,354,14 211,184,309,312,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002347.jpg 19,38,187,442,14 109,146,422,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002349.jpg 7,133,224,312,2 360,130,495,314,2 198,202,257,273,2 186,129,235,172,2 54,63,123,93,2 200,9,237,33,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002350.jpg 191,91,388,269,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002356.jpg 364,150,387,223,14 467,157,492,240,14 319,128,343,202,14 266,123,281,178,14 206,114,221,154,14 184,98,200,146,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002357.jpg 117,72,403,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002358.jpg 8,87,489,223,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002359.jpg 25,65,291,346,11 288,59,457,186,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002361.jpg 19,9,288,333,14 245,19,467,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002362.jpg 237,216,277,329,4 456,207,485,290,4 120,237,500,375,10 1,69,197,375,14 252,91,438,270,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002365.jpg 244,388,312,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002366.jpg 1,55,331,500,6 116,99,256,285,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002368.jpg 164,10,496,191,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002369.jpg 42,187,161,491,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002370.jpg 258,1,320,110,13 182,1,244,94,13 77,1,197,240,13 98,1,143,72,13 1,1,81,240,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002372.jpg 1,1,344,480,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002374.jpg 224,101,357,185,14 187,130,450,232,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002377.jpg 1,129,44,293,14 29,167,125,262,14 122,39,248,239,14 377,103,431,292,14 286,90,400,291,14 218,128,292,252,14 211,62,339,257,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002378.jpg 185,63,384,325,14 13,47,226,372,14 487,207,500,285,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002379.jpg 80,78,282,462,15 2,241,165,371,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002383.jpg 81,16,249,417,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002384.jpg 177,161,337,375,14 40,232,147,375,8 208,271,479,375,10 368,224,500,366,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002389.jpg 1,9,460,373,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002395.jpg 202,151,309,224,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002399.jpg 153,251,285,311,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002401.jpg 340,208,390,247,6 455,219,500,258,13 241,218,282,255,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002403.jpg 271,72,469,375,14 94,65,272,359,14 1,119,282,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002404.jpg 244,5,491,332,14 52,58,123,137,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002405.jpg 205,72,292,206,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002408.jpg 96,112,280,250,11 254,137,341,263,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002410.jpg 153,211,350,423,7 223,34,358,159,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002411.jpg 137,216,339,388,12 1,244,197,400,12 197,174,242,302,14 42,180,112,341,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002412.jpg 25,157,486,333,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002414.jpg 1,22,400,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002418.jpg 63,29,264,422,14 40,201,309,475,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002419.jpg 44,21,337,500,14 1,31,159,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002422.jpg 442,11,495,153,3 53,27,213,333,14 202,52,404,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002424.jpg 1,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002425.jpg 102,26,235,196,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002428.jpg 1,81,323,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002429.jpg 99,93,469,487,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002430.jpg 31,116,94,212,11 418,60,496,258,16 370,106,424,243,16 303,65,379,257,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002434.jpg 59,1,235,204,14 1,151,106,314,14 34,68,488,332,17 145,56,330,332,14 225,27,487,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002436.jpg 157,55,374,363,14 111,62,370,367,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002437.jpg 193,152,240,178,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002438.jpg 104,68,252,137,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002439.jpg 79,156,283,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002441.jpg 48,50,367,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002442.jpg 5,37,386,375,11 296,1,332,41,8 257,1,292,40,8 114,12,189,114,8 65,10,119,141,8 65,1,128,127,8 359,1,481,56,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002444.jpg 218,381,375,500,6 1,362,29,413,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002445.jpg 143,85,333,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002446.jpg 44,93,402,375,14 267,39,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002448.jpg 31,171,95,309,14 129,157,202,317,14 246,159,306,310,14 113,233,147,287,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002451.jpg 336,100,500,238,5 386,154,431,281,14 200,170,239,277,14 142,166,177,296,14 289,160,335,287,14 325,167,398,314,14 242,175,304,286,14 167,157,217,297,14 34,177,91,284,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002452.jpg 136,4,251,106,18 285,36,500,72,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002454.jpg 1,139,500,333,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002456.jpg 238,117,286,223,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002457.jpg 72,284,188,500,14 1,333,29,500,14 1,290,375,469,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002458.jpg 112,146,413,410,14 213,177,403,443,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002459.jpg 213,5,289,217,14 67,104,394,319,12 29,103,72,200,14 5,145,84,243,12 436,176,477,224,14 466,166,493,223,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002461.jpg 201,115,308,213,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002464.jpg 154,78,494,334,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002465.jpg 33,2,500,333,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002466.jpg 31,80,450,300,6 1,65,38,80,6 321,56,351,66,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002467.jpg 68,50,182,312,4 222,89,309,298,4 359,87,447,309,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002470.jpg 203,153,401,332,14 127,152,215,280,14 294,34,444,332,14 1,138,132,317,14 213,58,325,277,14 169,71,242,204,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002471.jpg 207,94,380,238,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002473.jpg 85,32,347,245,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002477.jpg 108,28,341,375,14 296,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002481.jpg 271,234,320,278,19 206,290,313,377,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002482.jpg 110,263,162,298,3 109,234,143,278,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002483.jpg 280,154,500,272,6 49,154,403,303,6 1,165,123,312,6 98,121,231,375,14 450,138,482,176,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002484.jpg 102,55,327,500,14 49,13,267,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002485.jpg 308,115,439,375,14 81,189,335,375,8 113,153,373,375,14 76,26,229,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002487.jpg 24,119,265,297,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002491.jpg 2,182,104,400,14 132,186,211,400,14 320,150,478,400,14 120,187,155,269,14 205,207,241,291,14 274,211,285,266,14 242,219,263,266,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002492.jpg 126,259,172,286,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002494.jpg 46,128,287,320,14 218,227,365,354,11 244,159,359,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002495.jpg 80,107,161,333,14 276,117,394,333,14 171,190,212,242,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002499.jpg 32,14,445,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002501.jpg 125,33,328,375,14 1,105,167,375,14 431,180,500,232,6 34,152,65,173,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002502.jpg 20,86,118,322,8 232,181,327,320,8 31,1,252,329,14 227,27,354,327,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002504.jpg 13,172,478,292,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002506.jpg 332,48,500,375,14 1,21,211,375,14 180,60,384,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002508.jpg 299,156,500,312,10 297,151,355,246,8 318,162,380,268,8 349,170,422,297,8 416,172,499,290,8 390,152,415,172,8 276,144,318,211,8 136,161,185,217,8 193,139,270,199,17 26,134,102,204,17 54,189,157,308,8 396,162,451,269,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002509.jpg 139,69,319,300,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002510.jpg 377,305,399,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002512.jpg 199,288,221,332,14 241,288,264,329,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002514.jpg 109,339,254,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002515.jpg 1,1,500,334,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002516.jpg 40,164,64,185,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002521.jpg 211,219,285,367,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002523.jpg 233,11,370,181,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002524.jpg 75,380,120,500,14 1,378,25,466,14 32,379,54,434,14 35,378,74,406,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002526.jpg 9,109,330,500,14 14,102,157,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002527.jpg 41,27,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002533.jpg 165,50,376,360,14 18,15,500,286,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002536.jpg 235,36,368,194,16 365,76,493,193,16 34,138,225,228,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002540.jpg 1,94,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002541.jpg 147,30,309,500,14 36,82,158,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002542.jpg 4,96,243,375,14 1,74,46,278,14 201,106,280,316,14 262,98,355,336,14 333,78,464,357,14 297,26,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002543.jpg 77,254,293,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002547.jpg 38,77,421,365,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002549.jpg 1,11,354,338,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002551.jpg 1,174,500,375,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002555.jpg 194,288,267,403,14 1,289,83,427,14 194,289,375,385,6 139,110,201,187,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002558.jpg 42,35,245,294,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002562.jpg 101,64,352,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002564.jpg 1,1,308,500,14 305,108,375,196,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002566.jpg 103,237,145,316,14 70,241,93,307,14 344,223,366,285,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002567.jpg 163,191,478,375,10 58,134,316,375,14 154,110,189,165,14 370,128,500,361,14 310,118,425,239,14 308,105,373,224,14 170,89,265,195,14 247,166,270,225,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002568.jpg 187,95,439,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002574.jpg 110,1,319,330,14 48,161,359,343,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002575.jpg 86,67,486,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002576.jpg 87,116,258,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002578.jpg 41,95,105,234,14 97,71,140,221,14 181,63,221,174,14 20,195,105,343,14 91,188,172,354,14 118,135,181,223,14 182,140,248,306,14 243,130,316,294,14 138,62,189,168,14 218,56,266,163,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002579.jpg 244,90,474,375,14 63,99,265,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002583.jpg 273,61,473,363,7 13,44,241,312,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002584.jpg 1,56,378,293,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002588.jpg 367,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002589.jpg 38,127,209,268,12 199,134,396,266,12 315,152,492,251,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002590.jpg 118,176,208,375,14 29,163,125,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002597.jpg 29,21,449,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002598.jpg 90,12,375,500,14 89,196,330,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002599.jpg 1,5,323,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002601.jpg 18,20,372,500,14 251,301,383,386,14 232,283,295,325,4 1,18,401,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002603.jpg 62,74,388,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002606.jpg 1,1,499,362,14 148,317,257,372,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002610.jpg 53,168,323,234,3 152,75,216,268,14 199,144,305,261,14 299,212,397,263,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002612.jpg 17,54,427,337,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002613.jpg 88,72,500,375,14 11,150,424,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002616.jpg 1,103,185,500,14 132,57,333,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002621.jpg 6,35,408,359,14 187,174,301,324,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002622.jpg 1,9,355,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002623.jpg 1,341,375,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002624.jpg 244,67,327,150,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002625.jpg 104,43,437,293,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002631.jpg 76,10,254,413,14 89,238,246,500,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002634.jpg 1,1,343,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002638.jpg 176,33,427,281,11 1,1,500,281,14 151,1,239,136,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002639.jpg 77,185,199,424,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002640.jpg 7,161,52,308,14 159,167,224,408,14 20,172,89,200,6 390,176,479,420,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002641.jpg 8,75,173,333,14 340,175,453,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002643.jpg 1,83,113,363,14 1,101,56,143,6 185,136,298,185,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002645.jpg 1,109,234,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002647.jpg 102,72,252,272,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002648.jpg 1,1,485,281,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002649.jpg 1,149,313,500,14 95,234,215,450,14 47,183,333,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002650.jpg 1,1,319,350,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002652.jpg 266,80,376,398,14 105,132,220,398,14 210,156,275,398,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002653.jpg 62,120,200,437,14 150,57,358,312,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002662.jpg 38,1,352,288,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002665.jpg 46,220,277,375,12 261,26,497,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002666.jpg 208,82,322,330,14 87,195,332,499,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002668.jpg 1,1,500,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002670.jpg 286,212,441,375,14 128,138,284,375,14 90,73,186,285,14 8,149,145,375,14 32,99,104,158,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002672.jpg 340,160,417,191,6 473,168,500,196,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002673.jpg 228,140,440,231,0 18,132,262,237,0 435,177,500,213,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002674.jpg 1,17,356,500,14 17,181,189,449,14 92,3,363,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002675.jpg 133,248,308,500,14 74,45,227,453,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002676.jpg 121,209,357,375,19 196,123,324,213,14 82,168,410,342,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002677.jpg 211,83,346,500,14 46,49,249,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002678.jpg 421,174,439,227,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002679.jpg 94,103,239,306,1 131,20,263,252,14 94,388,141,461,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002680.jpg 37,34,290,237,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002681.jpg 165,134,328,465,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002682.jpg 154,125,336,419,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002684.jpg 109,194,375,473,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002686.jpg 107,19,417,333,12 429,146,486,177,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002687.jpg 24,62,415,352,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002696.jpg 90,1,500,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002697.jpg 69,116,333,347,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002698.jpg 156,178,281,244,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002700.jpg 138,73,360,365,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002701.jpg 27,10,500,331,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002704.jpg 40,73,459,328,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002705.jpg 10,142,48,188,14 57,167,82,185,14 1,75,500,344,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002709.jpg 213,143,290,195,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002710.jpg 68,157,439,281,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002712.jpg 81,65,295,296,14 283,103,387,277,14 209,54,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002714.jpg 1,258,332,500,1 1,1,332,470,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002715.jpg 1,50,363,500,14 64,390,354,500,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002716.jpg 163,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002718.jpg 63,1,390,335,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002719.jpg 210,34,475,250,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002720.jpg 271,64,500,290,14 2,12,110,129,14 80,21,185,154,14 127,29,328,272,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002725.jpg 344,70,429,333,14 289,171,381,333,14 201,117,317,333,14 143,93,213,333,14 216,65,317,164,14 417,199,466,333,14 1,183,117,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002728.jpg 87,22,406,284,14 202,37,351,208,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002730.jpg 1,18,182,258,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002732.jpg 42,96,153,163,9 238,101,284,135,9 149,102,179,127,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002733.jpg 27,67,362,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002735.jpg 261,126,367,375,14 92,98,214,375,14 178,103,262,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002736.jpg 80,107,285,375,14 222,131,390,316,14 370,118,500,323,14 381,244,416,361,4 323,236,351,326,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002738.jpg 78,107,262,375,14 1,107,421,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002741.jpg 219,189,389,375,14 1,178,478,354,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002746.jpg 269,146,472,311,6 1,129,227,291,6 208,147,309,210,6 102,136,179,307,14 1,125,46,285,14 219,156,293,307,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002749.jpg 74,103,500,286,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002750.jpg 113,148,181,326,14 166,1,220,152,14 147,1,197,126,14 443,38,500,187,14 212,130,279,298,14 256,127,327,302,14 261,141,328,305,14 297,160,352,327,14 332,128,384,287,14 330,167,378,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002751.jpg 86,61,260,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002752.jpg 1,274,286,375,13 199,147,402,263,13 253,90,319,283,14 216,112,270,256,14 108,158,230,313,14 48,217,164,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002753.jpg 70,151,176,500,14 175,203,260,500,14 173,158,325,500,14 311,183,375,338,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002756.jpg 1,19,207,392,14 133,51,361,395,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002758.jpg 278,32,331,84,8 457,149,489,182,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002760.jpg 24,55,131,353,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002762.jpg 107,12,357,364,14 26,93,475,495,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002766.jpg 1,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002767.jpg 71,40,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002768.jpg 1,59,321,500,14 9,308,248,426,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002772.jpg 76,248,370,434,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002773.jpg 31,271,150,308,3 162,275,238,308,3 247,277,321,308,3 312,274,386,309,3 390,274,490,311,3 139,111,189,141,0 121,87,173,119,0 148,75,199,106,0 166,95,219,128,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002774.jpg 99,221,221,431,13 82,137,262,405,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002775.jpg 96,162,188,375,4 104,16,259,235,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002776.jpg 8,52,136,161,19 454,23,463,48,4 332,181,477,292,14 258,138,373,256,8 325,198,500,333,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002778.jpg 106,103,425,338,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002783.jpg 185,81,294,203,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002784.jpg 113,172,244,422,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002787.jpg 35,170,231,375,1 58,26,206,325,14 358,11,500,375,14 296,176,500,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002789.jpg 73,195,226,333,14 247,11,382,270,14 213,4,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002791.jpg 6,81,390,375,14 212,157,390,375,14 182,295,278,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002792.jpg 148,113,398,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002793.jpg 1,51,422,278,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002794.jpg 410,180,468,347,14 233,172,280,351,14 1,167,109,353,14 218,139,280,217,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002795.jpg 190,117,302,304,14 412,185,500,375,8 190,79,213,112,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002801.jpg 1,106,204,361,14 95,124,405,375,14 117,111,300,341,14 1,114,471,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002804.jpg 301,101,372,271,14 272,151,370,326,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002806.jpg 85,86,310,289,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002808.jpg 170,3,340,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002809.jpg 75,122,151,225,14 241,116,338,298,14 33,113,421,375,14 320,103,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002811.jpg 76,159,249,387,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002813.jpg 24,21,278,378,14 269,12,484,378,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002814.jpg 1,30,500,316,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002817.jpg 154,1,404,216,19 3,270,175,366,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002820.jpg 1,44,321,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002823.jpg 7,156,166,375,14 136,101,306,375,14 270,74,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002826.jpg 340,107,500,250,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002829.jpg 116,99,255,426,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002830.jpg 179,94,490,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002831.jpg 1,1,375,237,19 79,87,361,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002834.jpg 105,139,326,259,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002835.jpg 99,91,348,365,12 164,29,305,278,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002838.jpg 175,143,380,472,14 1,242,186,472,14 1,21,380,472,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002842.jpg 76,1,367,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002843.jpg 179,113,257,313,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002845.jpg 15,108,361,342,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002847.jpg 348,10,500,188,2 268,66,425,245,2 250,151,408,259,2 209,263,380,369,2 167,159,242,357,2 97,205,152,319,2 1,230,99,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002848.jpg 65,1,375,500,14 1,203,189,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002850.jpg 32,73,425,243,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002852.jpg 196,174,357,500,14 144,128,243,500,14 55,155,161,500,14 1,127,92,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002854.jpg 249,268,326,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002856.jpg 160,163,277,338,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002857.jpg 291,109,500,228,6 1,141,169,253,6 152,83,258,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002859.jpg 81,50,436,345,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002860.jpg 207,120,312,213,12 32,133,175,313,12 359,115,419,309,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002864.jpg 164,168,192,245,4 211,157,230,229,4 269,150,310,258,4 238,68,494,375,14 1,55,164,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002866.jpg 1,27,303,500,12 200,300,216,353,14 183,302,199,356,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002868.jpg 211,231,312,375,14 268,100,372,375,14 169,114,363,375,14 40,139,63,236,14 109,131,137,237,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002869.jpg 41,146,407,375,8 205,147,280,235,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002870.jpg 99,55,500,375,14 109,1,214,197,4 1,43,86,375,14 216,46,410,281,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002872.jpg 6,1,500,332,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002873.jpg 32,39,369,371,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002875.jpg 20,53,471,355,6 1,30,255,236,6 446,20,500,184,6 284,23,453,87,6 171,20,296,59,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002876.jpg 75,330,109,360,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002879.jpg 160,15,409,377,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002880.jpg 176,213,229,291,14 127,295,192,396,14 151,245,254,301,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002882.jpg 202,70,332,398,14 64,32,227,398,14 318,93,470,398,14 9,162,72,288,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002883.jpg 8,26,496,334,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002885.jpg 232,137,370,370,8 194,39,331,308,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002887.jpg 104,97,251,175,3 37,87,127,157,3 1,155,472,375,3 358,110,399,183,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002890.jpg 1,1,374,500,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002891.jpg 1,216,98,352,6 331,240,500,310,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002892.jpg 19,225,369,420,10 331,145,443,407,14 38,135,143,330,14 107,139,161,242,14 278,139,363,284,14 257,172,303,236,14 19,255,88,391,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002894.jpg 43,154,388,332,1 140,70,341,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002897.jpg 134,198,275,342,14 102,285,145,337,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002899.jpg 22,33,500,241,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002900.jpg 156,1,331,439,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002903.jpg 240,241,282,319,8 122,262,246,374,8 1,326,202,500,8 1,270,70,360,17 223,242,308,318,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002904.jpg 106,60,379,302,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002906.jpg 451,153,484,271,14 316,128,363,257,14 281,157,330,258,14 14,114,54,158,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002908.jpg 36,64,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002909.jpg 1,72,157,314,14 243,36,416,302,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002910.jpg 131,47,414,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002913.jpg 1,80,500,400,11 132,1,490,328,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002916.jpg 4,53,433,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002917.jpg 111,7,224,331,14 172,82,248,329,14 300,62,439,228,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002920.jpg 59,132,216,342,14 188,75,324,201,14 338,77,469,299,14 147,97,475,301,17 1,128,109,305,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002922.jpg 1,42,500,333,17 91,45,322,333,14 250,31,435,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002926.jpg 41,25,468,300,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002929.jpg 96,182,429,333,17 263,161,375,333,14 124,166,255,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002930.jpg 69,38,321,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002931.jpg 398,161,441,261,14 46,170,107,375,14 111,177,147,224,14 104,183,176,375,14 135,160,264,374,14 246,141,412,375,14 394,152,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002932.jpg 211,141,333,375,14 303,77,432,375,14 24,281,161,375,1 24,143,180,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002936.jpg 1,58,249,320,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002942.jpg 1,1,500,338,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002943.jpg 76,114,413,282,6 412,149,500,235,6 4,117,77,174,6 81,129,158,172,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002946.jpg 93,59,178,400,14 114,70,275,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002947.jpg 277,69,491,329,14 179,89,309,313,14 108,60,231,252,14 46,76,134,213,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002948.jpg 89,58,398,375,17 9,1,169,333,1 397,16,500,375,13 1,1,135,306,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002951.jpg 46,76,304,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002954.jpg 56,77,238,461,14 155,287,279,389,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002955.jpg 224,128,338,286,14 25,94,264,306,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002956.jpg 130,285,185,335,14 211,200,287,335,14 287,130,390,335,14 139,154,167,174,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002957.jpg 120,7,487,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002958.jpg 82,205,232,297,11 345,182,375,209,6 1,61,310,500,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002960.jpg 255,73,427,292,14 46,92,222,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002961.jpg 237,71,429,317,2 143,121,217,345,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002965.jpg 86,161,472,257,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002966.jpg 49,74,117,200,14 107,19,164,178,14 142,35,173,149,14 169,39,211,119,14 170,24,210,57,14 198,27,220,108,14 213,35,230,121,14 263,54,278,134,14 227,53,272,152,14 279,84,301,138,14 303,89,320,140,14 160,1,341,281,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002968.jpg 292,321,342,497,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002970.jpg 138,151,229,343,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002971.jpg 95,117,162,269,14 109,100,198,399,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002972.jpg 100,1,424,271,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002973.jpg 244,88,500,312,14 1,82,223,291,14 226,102,327,292,14 207,51,303,175,14 104,44,142,154,14 105,51,166,163,14 298,119,333,176,14 476,114,500,147,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002977.jpg 371,225,491,271,6 1,1,494,375,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002983.jpg 88,21,414,274,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002984.jpg 276,103,426,323,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002985.jpg 251,224,329,277,11 319,71,448,351,14 170,131,263,352,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002988.jpg 34,32,462,395,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002992.jpg 68,123,195,470,11 151,55,247,461,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002993.jpg 77,142,345,303,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002997.jpg 349,74,500,375,14 237,111,352,375,14 124,86,258,375,14 7,90,159,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_002999.jpg 1,1,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003001.jpg 103,71,242,425,14 232,182,280,316,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003003.jpg 111,73,247,164,19 34,132,76,169,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003005.jpg 23,1,500,279,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003008.jpg 377,108,500,272,14 159,94,354,333,14 1,32,137,196,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003013.jpg 65,32,320,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003015.jpg 162,41,448,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003017.jpg 93,28,500,400,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003018.jpg 32,22,317,459,12 7,182,155,483,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003020.jpg 37,37,183,375,14 305,68,445,375,14 191,122,270,280,14 183,211,319,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003021.jpg 22,1,500,355,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003022.jpg 438,110,500,146,6 406,115,466,141,6 32,70,475,302,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003023.jpg 78,35,302,335,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003025.jpg 397,199,500,228,18 306,244,324,287,14 280,254,292,285,14 255,248,267,276,14 60,244,69,275,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003026.jpg 353,163,500,375,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003030.jpg 146,206,464,357,6 126,246,145,279,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003033.jpg 11,36,500,136,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003034.jpg 367,95,500,333,14 88,56,245,239,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003037.jpg 81,255,112,285,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003039.jpg 86,80,315,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003041.jpg 20,86,500,317,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003043.jpg 298,181,458,333,12 266,174,422,321,12 104,185,142,279,14 184,183,249,274,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003045.jpg 1,56,425,290,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003048.jpg 1,1,458,323,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003049.jpg 140,203,189,283,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003051.jpg 254,153,279,228,14 361,239,404,277,15 108,239,150,278,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003052.jpg 25,1,427,273,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003053.jpg 7,1,483,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003055.jpg 71,78,275,361,12 282,40,400,299,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003056.jpg 1,78,151,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003057.jpg 77,91,500,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003059.jpg 144,115,271,175,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003060.jpg 1,132,31,202,5 23,164,142,285,6 421,183,487,267,6 134,36,424,356,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003061.jpg 335,43,434,99,6 216,34,337,100,6 83,44,185,107,6 1,28,48,212,14 84,98,483,285,6 13,19,97,228,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003062.jpg 200,60,441,334,14 1,80,218,334,14 1,1,500,334,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003063.jpg 7,239,159,474,7 159,238,237,486,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003065.jpg 38,1,375,500,9 145,133,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003067.jpg 120,189,288,472,5 297,344,327,389,5 149,325,186,369,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003068.jpg 135,121,315,315,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003072.jpg 178,230,199,257,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003073.jpg 58,223,165,333,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003075.jpg 129,123,287,249,14 253,1,478,203,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003076.jpg 1,137,153,375,14 311,63,481,375,14 314,164,350,238,4 411,1,435,53,4 370,3,389,51,4 385,8,413,54,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003079.jpg 1,87,500,375,14 178,151,203,233,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003081.jpg 224,152,294,249,14 83,222,227,298,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003082.jpg 378,239,439,295,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003083.jpg 23,80,490,303,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003087.jpg 157,84,379,240,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003088.jpg 1,1,398,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003089.jpg 27,37,285,487,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003090.jpg 131,81,344,490,14 183,14,388,407,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003093.jpg 243,1,500,375,14 141,100,282,273,14 238,148,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003094.jpg 321,219,386,322,9 213,226,287,328,9 65,195,209,324,9 344,180,385,296,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003095.jpg 166,69,332,328,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003099.jpg 296,42,500,382,14 92,40,301,331,14 1,67,120,267,14 270,312,309,382,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003100.jpg 1,57,471,340,3 201,38,355,295,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003101.jpg 146,106,287,243,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003104.jpg 84,9,356,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003105.jpg 76,94,456,311,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003106.jpg 239,197,290,261,2 388,213,463,289,2 9,209,113,276,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003107.jpg 233,130,337,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003108.jpg 69,56,191,500,14 2,94,81,303,14 33,73,84,187,14 1,75,21,197,14 1,184,83,324,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003110.jpg 25,119,250,328,2 194,85,391,297,2 289,40,467,245,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003112.jpg 88,27,282,461,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003114.jpg 1,9,500,436,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003120.jpg 45,33,297,313,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003122.jpg 247,222,285,331,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003127.jpg 56,141,374,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003128.jpg 125,83,447,420,14 1,1,214,369,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003132.jpg 225,91,431,260,6 220,99,270,284,14 115,125,156,264,14 44,140,99,341,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003133.jpg 185,117,460,346,11 11,5,500,229,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003134.jpg 34,74,255,334,14 231,91,483,334,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003135.jpg 258,324,335,460,15 1,270,50,443,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003136.jpg 1,23,71,193,14 111,52,397,374,14 172,68,226,181,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003140.jpg 385,116,433,153,6 421,123,500,187,6 303,131,435,236,6 166,125,198,211,14 189,147,314,330,14 89,103,183,375,14 62,239,417,375,1 1,217,276,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003141.jpg 1,193,148,331,6 100,32,438,314,5 437,206,467,289,14 481,209,499,256,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003143.jpg 1,27,423,375,14 290,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003144.jpg 42,249,99,375,14 313,242,354,370,14 347,247,373,356,14 123,235,173,375,14 122,246,147,328,14 226,262,301,285,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003146.jpg 114,93,312,375,14 289,122,497,375,14 74,262,105,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003147.jpg 120,161,213,263,16 209,204,257,278,16 265,219,321,295,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003151.jpg 143,216,318,320,13 225,183,275,294,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003152.jpg 23,92,368,349,13 254,30,433,362,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003154.jpg 248,8,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003155.jpg 2,112,499,266,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003157.jpg 39,161,143,360,14 139,190,229,360,14 227,163,327,360,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003160.jpg 418,96,459,170,2 266,86,332,155,2 90,139,131,230,2 28,110,93,200,2 107,105,170,197,2 98,96,136,142,2 69,98,101,145,2 88,96,110,125,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003161.jpg 165,47,360,360,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003167.jpg 141,1,463,232,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003168.jpg 303,197,375,391,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003170.jpg 79,19,457,321,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003178.jpg 119,84,381,375,8 224,146,341,314,8 322,174,389,270,8 441,167,500,287,8 88,127,244,348,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003180.jpg 269,122,406,356,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003181.jpg 31,32,315,421,14 202,74,500,421,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003182.jpg 181,187,319,500,14 71,181,333,500,12 211,312,235,358,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003186.jpg 116,92,311,278,14 250,83,500,316,14 114,150,155,293,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003187.jpg 184,91,280,223,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003189.jpg 3,85,474,291,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003191.jpg 362,284,481,376,14 315,136,459,376,14 150,75,329,376,14 22,106,161,357,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003193.jpg 28,100,175,306,14 2,1,103,239,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003196.jpg 98,62,349,153,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003200.jpg 11,323,83,475,4 1,5,340,334,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003202.jpg 88,25,194,367,14 277,83,306,133,14 254,97,272,133,14 219,133,425,245,6 455,109,498,156,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003203.jpg 12,8,397,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003205.jpg 109,151,356,314,1 127,53,161,81,6 192,19,330,340,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003208.jpg 78,434,114,498,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003209.jpg 42,215,189,318,14 173,223,278,365,14 262,258,333,404,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003210.jpg 13,5,303,500,14 167,240,355,412,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003211.jpg 47,63,351,421,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003213.jpg 123,52,276,300,7 1,51,116,180,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003220.jpg 129,196,270,485,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003222.jpg 181,79,422,356,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003224.jpg 347,143,482,351,14 231,136,345,297,14 11,166,188,374,14 202,246,228,333,4 111,258,456,375,10 1,204,187,294,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003225.jpg 2,158,352,500,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003228.jpg 1,176,41,320,7 90,109,152,233,14 103,27,303,375,14 279,89,442,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003231.jpg 153,120,359,353,14 223,214,368,321,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003232.jpg 199,94,467,408,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003238.jpg 62,104,375,449,11 1,155,156,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003239.jpg 47,190,116,353,7 99,197,159,353,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003242.jpg 54,4,335,334,14 1,146,480,334,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003244.jpg 1,23,385,467,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003245.jpg 16,173,307,375,14 180,14,396,370,14 1,140,336,375,8 142,77,394,335,8 360,116,500,351,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003248.jpg 295,48,500,333,14 181,93,332,196,19 1,94,104,267,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003249.jpg 430,134,456,200,14 216,138,246,200,14 182,91,256,277,14 90,168,353,309,13 128,98,204,280,14 152,97,207,228,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003251.jpg 133,80,377,375,14 229,169,348,328,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003252.jpg 136,77,436,373,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003255.jpg 106,70,372,320,6 1,161,28,191,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003256.jpg 241,108,500,375,9 89,58,299,375,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003261.jpg 17,68,490,223,0 432,170,465,181,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003263.jpg 113,96,406,272,18 1,72,173,254,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003264.jpg 89,212,326,373,10 226,224,323,375,8 111,213,208,369,8 83,207,127,342,8 106,196,160,228,8 219,202,265,232,8 265,206,313,236,8 106,175,144,218,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003265.jpg 43,9,194,375,14 292,129,500,375,14 1,229,107,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003266.jpg 31,51,465,303,5 475,207,495,260,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003269.jpg 9,1,471,275,13 442,1,483,37,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003270.jpg 1,37,492,361,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003271.jpg 130,22,412,375,14 23,48,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003272.jpg 156,27,195,63,11 86,35,123,65,11 50,10,93,69,11 351,70,396,206,12 390,45,456,210,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003275.jpg 76,227,119,279,3 290,245,356,273,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003276.jpg 181,134,375,284,11 402,39,426,86,4 368,38,397,84,4 303,49,351,77,4 357,22,386,65,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003277.jpg 262,79,473,375,14 109,196,310,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003278.jpg 385,157,500,375,14 183,42,305,375,14 274,69,380,375,14 36,49,200,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003280.jpg 233,180,277,262,19 275,181,310,274,19 84,190,279,434,14 39,170,113,260,14 55,288,175,455,8 25,242,94,351,8 328,279,347,340,4 338,276,352,333,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003283.jpg 1,116,340,341,12 52,21,189,341,14 325,93,466,341,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003286.jpg 1,118,500,375,14 238,167,493,305,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003287.jpg 173,172,306,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003288.jpg 130,127,451,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003289.jpg 255,215,278,292,4 84,212,102,291,4 219,214,236,276,4 256,113,451,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003290.jpg 230,7,431,500,14 7,12,166,500,14 143,160,304,500,14 133,309,285,500,8 47,126,75,202,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003291.jpg 65,78,394,417,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003295.jpg 110,145,411,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003297.jpg 158,140,334,274,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003300.jpg 1,1,500,456,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003302.jpg 21,25,350,477,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003303.jpg 1,94,375,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003304.jpg 118,251,197,485,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003305.jpg 80,34,299,375,14 230,90,447,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003311.jpg 1,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003313.jpg 17,147,500,251,3 188,152,254,226,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003316.jpg 57,61,331,500,12 1,69,154,500,12 203,100,292,213,14 338,160,375,222,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003318.jpg 106,30,500,333,14 281,122,467,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003320.jpg 80,147,393,347,13 177,60,296,296,14 448,117,483,168,14 426,162,500,276,15 79,155,143,274,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003321.jpg 150,151,406,238,5 460,194,500,226,6 405,186,474,221,6 11,206,94,264,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003323.jpg 125,31,448,375,13 1,81,132,253,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003326.jpg 1,1,307,453,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003329.jpg 385,137,500,375,14 255,91,406,375,14 226,123,279,256,14 154,116,190,210,14 237,301,427,375,1 229,183,277,280,1 153,155,186,217,1 348,135,500,219,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003330.jpg 1,71,270,360,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003331.jpg 84,206,266,304,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003333.jpg 290,79,400,174,6 115,141,310,271,13 204,67,292,235,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003334.jpg 100,56,189,212,14 84,131,234,251,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003335.jpg 90,25,375,500,14 1,161,68,307,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003336.jpg 105,248,258,375,14 1,200,137,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003338.jpg 411,24,500,369,14 1,169,55,375,14 75,99,184,308,14 1,68,84,312,14 210,21,289,192,14 384,44,421,114,14 149,108,271,320,14 322,41,422,320,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003342.jpg 45,1,243,375,14 446,160,500,233,14 405,143,438,179,14 215,1,412,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003343.jpg 60,1,500,322,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003344.jpg 211,80,444,361,12 244,20,362,276,14 34,70,188,457,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003347.jpg 136,49,402,283,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003348.jpg 201,117,293,215,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003350.jpg 160,133,200,163,6 62,138,88,153,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003351.jpg 421,105,500,205,1 371,139,456,241,8 307,117,361,233,1 276,32,336,226,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003359.jpg 112,97,260,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003360.jpg 153,56,397,258,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003361.jpg 83,100,226,375,14 275,70,486,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003362.jpg 256,52,495,143,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003369.jpg 1,104,500,272,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003373.jpg 55,132,449,265,5 1,153,62,241,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003374.jpg 7,23,103,84,11 363,3,379,34,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003378.jpg 398,238,440,276,6 313,241,354,273,6 68,261,113,334,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003379.jpg 83,87,325,287,12 189,32,264,187,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003380.jpg 251,186,299,214,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003381.jpg 32,160,430,270,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003382.jpg 21,32,343,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003384.jpg 42,37,314,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003386.jpg 115,6,494,381,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003393.jpg 68,155,375,491,17 266,169,375,490,14 115,110,328,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003394.jpg 1,1,500,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003395.jpg 123,303,231,497,14 113,372,264,497,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003402.jpg 92,180,200,228,3 118,163,182,198,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003405.jpg 143,103,189,118,6 196,102,244,116,6 260,102,306,117,6 325,103,450,147,6 1,105,96,292,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003406.jpg 371,311,392,372,14 77,276,100,320,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003407.jpg 1,107,105,282,14 9,182,90,288,8 102,129,149,188,14 142,73,217,293,14 321,173,409,293,14 354,174,409,237,14 422,171,500,249,14 232,141,294,293,14 216,149,244,209,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003409.jpg 229,17,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003414.jpg 35,84,369,462,18 348,284,399,422,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003415.jpg 1,85,500,285,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003417.jpg 1,299,210,476,11 75,175,186,266,11 1,117,68,267,14 1,13,51,174,14 103,7,366,491,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003418.jpg 50,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003420.jpg 122,33,313,373,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003423.jpg 1,40,500,275,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003424.jpg 329,3,493,333,14 448,1,500,131,14 183,43,354,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003426.jpg 47,14,373,333,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003429.jpg 159,170,193,228,14 317,141,423,325,14 386,173,452,308,14 252,211,486,360,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003430.jpg 69,25,269,289,7 243,55,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003432.jpg 288,71,492,301,14 286,185,469,358,8 44,100,141,189,19 146,91,234,175,19 221,84,308,171,19 306,85,391,164,19 198,38,279,93,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003433.jpg 292,144,388,301,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003434.jpg 216,68,458,231,19 60,264,120,322,15 17,126,98,296,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003435.jpg 32,13,500,360,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003437.jpg 1,16,324,374,14 279,74,500,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003439.jpg 149,52,277,343,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003442.jpg 74,142,142,380,14 142,162,218,355,14 101,277,173,356,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003443.jpg 1,43,500,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003447.jpg 118,82,393,366,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003448.jpg 60,224,233,304,14 78,101,273,365,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003449.jpg 113,206,316,375,3 340,95,393,146,3 286,90,343,128,3 427,167,500,257,3 64,107,122,135,3 89,97,363,244,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003451.jpg 152,195,390,386,13 224,70,378,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003452.jpg 1,42,477,307,6 225,33,441,136,6 435,48,475,138,14 188,44,231,85,14 171,44,202,89,14 152,47,176,89,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003453.jpg 1,1,435,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003458.jpg 76,54,413,241,3 1,99,151,241,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003461.jpg 133,66,198,293,14 333,86,390,230,14 36,149,333,336,12 313,118,448,309,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003462.jpg 330,70,484,162,2 23,47,164,143,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003463.jpg 257,152,368,206,4 192,158,259,253,4 113,84,354,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003464.jpg 1,84,285,467,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003466.jpg 128,73,357,287,19 448,1,500,262,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003467.jpg 13,11,168,325,4 13,24,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003469.jpg 170,73,307,333,14 309,95,497,333,14 4,36,211,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003472.jpg 188,32,480,375,14 170,107,396,374,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003475.jpg 21,81,127,104,0 95,107,272,151,0 151,130,492,220,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003476.jpg 62,120,104,179,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003477.jpg 1,195,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003478.jpg 1,46,220,121,0 272,56,304,157,14 303,55,353,175,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003479.jpg 229,109,375,293,6 1,70,132,243,6 55,139,305,469,13 72,24,279,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003480.jpg 44,150,264,238,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003482.jpg 281,205,372,375,14 388,193,492,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003483.jpg 304,118,483,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003484.jpg 372,80,482,329,2 12,16,87,191,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003485.jpg 172,262,265,329,2 21,252,153,306,2 141,226,221,262,2 42,232,143,264,2 269,198,345,229,2 425,170,470,212,2 345,204,426,238,2 350,222,409,264,2 321,170,361,214,2 222,183,262,236,2 358,177,391,207,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003488.jpg 183,53,270,355,14 261,44,348,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003489.jpg 261,452,324,500,6 127,406,256,493,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003492.jpg 99,9,346,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003493.jpg 272,28,407,360,14 153,36,272,358,14 104,62,173,354,14 1,148,80,321,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003496.jpg 105,201,317,375,14 232,95,396,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003497.jpg 202,46,281,104,11 72,48,145,122,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003498.jpg 1,280,107,326,6 164,291,222,319,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003499.jpg 97,31,486,363,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003500.jpg 1,19,366,339,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003501.jpg 44,145,280,409,7 1,1,375,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003504.jpg 141,88,415,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003507.jpg 112,1,483,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003510.jpg 16,97,171,375,14 282,80,500,375,14 197,125,345,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003511.jpg 109,152,201,316,11 155,46,210,76,11 236,26,453,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003514.jpg 62,106,115,181,14 65,117,205,359,14 192,138,278,375,14 230,121,287,361,14 231,43,352,241,14 342,64,403,256,14 257,166,278,195,4 264,173,285,201,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003515.jpg 1,43,219,375,14 271,66,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003519.jpg 159,57,354,309,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003520.jpg 100,42,451,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003521.jpg 1,36,316,305,11 248,108,426,335,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003522.jpg 45,3,426,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003523.jpg 218,235,375,500,15 73,308,267,500,15 112,105,271,361,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003524.jpg 115,80,392,313,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003526.jpg 414,144,437,174,14 438,134,472,178,14 410,269,433,334,14 433,277,453,342,14 63,72,239,375,14 202,55,368,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003531.jpg 66,71,191,401,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003533.jpg 1,135,271,500,14 150,57,280,391,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003534.jpg 11,121,161,375,14 38,192,193,375,14 280,125,394,263,14 388,121,500,301,14 142,225,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003542.jpg 51,73,309,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003544.jpg 156,181,343,500,14 88,82,334,500,14 92,104,204,239,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003545.jpg 1,74,170,500,14 97,35,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003546.jpg 37,65,196,375,14 187,92,294,296,14 299,60,414,267,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003547.jpg 1,227,116,459,8 121,1,325,110,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003552.jpg 222,132,290,239,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003557.jpg 116,55,381,360,7 96,71,276,185,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003559.jpg 88,21,439,276,7 34,135,429,375,7 50,1,500,394,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003560.jpg 1,271,34,425,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003562.jpg 2,132,247,240,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003565.jpg 281,128,428,375,14 174,109,283,375,14 43,101,181,375,14 21,131,81,321,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003571.jpg 105,157,366,252,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003572.jpg 162,92,307,212,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003575.jpg 1,90,500,293,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003576.jpg 183,63,404,320,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003577.jpg 1,7,500,375,6 1,59,209,230,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003578.jpg 1,1,479,333,18 373,94,414,232,14 420,86,473,230,14 402,77,442,219,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003579.jpg 81,63,277,500,4 5,1,112,380,4 206,1,333,241,4 127,1,242,132,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003580.jpg 181,37,361,375,2 338,24,442,59,2 32,199,191,356,2 1,288,50,358,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003582.jpg 263,14,391,59,6 146,17,228,58,6 86,30,144,59,6 41,31,99,59,6 1,39,77,145,6 33,58,487,312,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003585.jpg 1,24,297,325,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003587.jpg 172,87,415,375,11 1,1,202,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003589.jpg 215,254,277,326,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003590.jpg 27,15,411,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003591.jpg 346,1,478,290,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003592.jpg 1,5,483,315,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003593.jpg 66,95,320,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003596.jpg 87,148,243,480,12 92,15,197,246,14 166,154,333,470,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003598.jpg 4,32,272,183,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003604.jpg 100,101,180,326,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003607.jpg 6,186,481,375,17 305,242,459,375,11 56,232,194,308,11 163,272,275,325,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003608.jpg 1,2,375,500,14 145,24,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003609.jpg 328,132,500,363,14 66,112,342,344,14 1,131,186,293,14 255,15,409,139,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003610.jpg 46,77,100,307,14 35,131,128,324,14 186,18,450,375,14 177,106,288,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003611.jpg 97,1,482,375,14 79,1,247,272,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003613.jpg 133,172,218,342,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003617.jpg 46,3,221,500,14 1,295,79,394,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003618.jpg 333,188,500,375,13 159,151,334,260,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003619.jpg 273,204,500,374,14 311,57,500,277,14 79,55,183,210,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003621.jpg 458,151,472,198,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003622.jpg 57,12,500,374,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003624.jpg 36,96,467,355,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003626.jpg 189,155,275,274,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003629.jpg 254,154,298,236,8 162,86,192,208,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003635.jpg 329,165,387,333,4 55,61,198,281,14 187,72,349,277,14 303,97,344,134,14 344,98,382,148,14 349,88,431,191,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003636.jpg 1,1,375,500,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003637.jpg 155,131,498,347,13 1,101,291,276,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003638.jpg 75,103,273,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003645.jpg 5,63,436,470,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003647.jpg 1,1,500,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003650.jpg 227,100,353,275,14 152,80,239,280,14 58,90,222,375,14 236,88,500,368,14 234,103,312,223,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003652.jpg 233,278,343,324,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003653.jpg 334,150,404,373,14 23,181,54,252,14 99,199,132,257,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003655.jpg 1,173,417,263,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003658.jpg 76,76,318,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003659.jpg 162,1,410,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003662.jpg 107,379,142,468,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003665.jpg 29,58,414,375,11 70,1,181,65,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003667.jpg 39,211,293,429,19 72,242,275,373,14 314,303,375,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003671.jpg 73,110,284,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003672.jpg 1,73,310,495,14 26,1,175,290,14 112,1,333,356,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003673.jpg 27,64,497,197,0 283,186,355,216,5 20,274,114,325,6 244,214,272,241,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003674.jpg 121,75,209,213,14 134,48,210,213,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003675.jpg 209,62,500,375,14 1,96,235,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003676.jpg 282,40,382,117,15 246,154,347,375,14 164,120,261,375,14 16,249,84,328,15 389,151,469,283,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003677.jpg 216,52,315,221,14 68,83,403,301,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003680.jpg 69,212,260,267,6 97,232,293,288,6 115,189,240,226,6 186,192,257,224,6 381,176,442,207,6 468,191,500,222,6 409,183,447,214,6 82,252,288,322,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003681.jpg 38,52,240,424,14 72,226,249,424,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003682.jpg 255,163,399,333,1 1,201,82,333,1 279,47,394,321,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003683.jpg 215,133,314,352,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003684.jpg 318,183,426,375,14 263,194,335,375,14 291,129,366,194,14 229,95,302,237,14 208,168,274,317,14 153,186,233,320,14 58,171,137,320,14 138,171,184,251,14 3,167,70,360,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003685.jpg 1,75,496,294,6 194,34,314,312,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003688.jpg 87,146,438,282,0 420,207,500,267,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003689.jpg 264,99,396,375,14 1,296,230,375,8 356,261,500,375,8 349,33,410,79,15 244,219,399,362,8 364,157,466,271,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003691.jpg 121,94,468,304,5 471,174,500,206,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003694.jpg 284,144,396,225,2 66,219,211,355,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003697.jpg 135,166,217,500,14 298,190,375,482,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003701.jpg 95,78,487,283,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003703.jpg 15,83,488,217,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003704.jpg 1,1,500,400,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003706.jpg 49,1,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003707.jpg 1,1,464,375,14 274,33,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003709.jpg 156,146,316,243,17 292,188,499,333,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003712.jpg 104,211,319,500,14 265,226,397,500,14 76,53,429,364,14 88,1,215,46,19 90,190,150,280,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003713.jpg 14,1,444,371,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003718.jpg 147,9,326,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003719.jpg 230,209,337,298,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003720.jpg 1,124,336,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003721.jpg 195,90,362,500,14 62,1,251,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003722.jpg 232,151,299,287,4 80,203,146,343,4 63,107,298,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003726.jpg 20,95,274,382,8 1,78,281,343,7 351,1,500,218,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003729.jpg 46,54,455,201,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003732.jpg 165,101,233,220,14 224,57,284,159,14 218,159,371,375,14 280,80,392,336,14 78,60,104,104,15 99,30,124,99,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003733.jpg 184,178,375,500,14 52,110,356,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003737.jpg 44,151,110,192,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003743.jpg 93,137,472,298,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003744.jpg 1,68,500,375,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003745.jpg 275,64,395,294,14 82,70,388,334,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003746.jpg 118,24,398,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003748.jpg 171,155,227,309,14 75,156,147,309,14 110,179,148,249,14 135,148,164,231,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003749.jpg 72,5,500,389,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003753.jpg 322,186,376,236,19 248,225,349,375,8 102,224,160,375,8 164,215,238,329,8 150,213,193,320,8 1,250,190,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003754.jpg 129,36,364,288,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003755.jpg 39,121,294,367,6 321,16,454,375,14 250,51,389,375,14 238,166,320,279,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003756.jpg 73,105,148,360,14 146,122,206,344,14 218,160,274,330,14 359,83,419,326,14 194,108,250,329,14 298,81,370,310,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003761.jpg 69,35,205,183,14 160,48,354,168,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003762.jpg 218,155,370,375,14 124,31,500,375,14 37,110,235,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003763.jpg 106,49,382,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003764.jpg 119,79,328,375,14 241,101,404,375,14 437,166,500,207,6 367,163,442,207,6 338,167,378,204,6 71,156,165,222,6 1,185,37,214,6 40,174,62,195,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003766.jpg 32,127,232,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003767.jpg 1,1,400,300,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003768.jpg 78,135,370,343,1 392,183,500,291,15 1,159,82,307,15 203,8,278,342,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003769.jpg 135,88,274,227,13 127,33,252,173,14 342,149,419,239,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003772.jpg 102,88,290,375,7 223,105,417,357,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003773.jpg 113,97,282,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003774.jpg 31,195,225,333,10 110,187,222,333,8 37,169,143,331,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003775.jpg 113,171,164,211,6 320,63,488,337,14 158,110,298,338,14 161,143,299,340,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003776.jpg 271,193,397,334,11 156,157,245,268,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003777.jpg 140,1,432,288,5 80,112,142,223,5 65,153,90,193,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003779.jpg 212,31,483,375,14 113,182,204,318,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003780.jpg 288,114,411,375,14 163,168,301,375,14 242,102,297,171,14 214,118,251,173,14 84,119,216,375,14 177,118,217,175,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003781.jpg 141,214,217,445,14 203,217,263,400,14 125,221,158,399,14 59,241,111,362,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003782.jpg 82,143,389,349,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003788.jpg 13,86,488,236,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003789.jpg 86,45,288,431,2 60,208,220,470,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003791.jpg 103,47,349,500,14 17,129,153,500,14 1,1,222,76,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003793.jpg 312,194,500,371,14 226,182,362,371,14 153,168,308,371,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003794.jpg 360,174,387,218,14 177,169,228,214,6 131,185,162,209,6 237,183,304,208,6 25,184,100,209,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003796.jpg 310,121,463,375,14 393,98,448,199,14 295,98,372,192,14 20,103,147,342,14 93,115,169,231,14 136,107,222,217,14 87,282,248,375,8 339,218,485,375,8 283,181,302,252,4 202,163,218,206,4 68,175,347,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003799.jpg 148,106,389,300,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003800.jpg 66,133,233,295,12 187,88,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003801.jpg 1,1,238,375,14 181,104,445,375,11 208,1,360,129,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003802.jpg 178,119,370,245,12 38,97,197,245,12 1,114,77,240,12 268,106,321,166,14 90,91,151,162,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003805.jpg 241,9,434,374,14 1,222,186,389,14 108,114,494,389,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003811.jpg 311,36,500,134,5 225,125,397,196,6 1,83,43,116,6 113,79,188,121,6 108,60,167,89,6 142,22,175,38,6 179,26,218,45,6 244,31,276,48,6 283,45,316,82,6 157,10,187,23,6 172,18,207,34,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003812.jpg 111,1,375,500,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003813.jpg 211,54,395,211,14 259,99,375,336,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003814.jpg 434,184,500,268,19 1,205,169,335,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003815.jpg 1,114,315,375,14 260,154,378,375,14 313,42,500,259,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003819.jpg 293,186,422,261,1 146,187,242,254,1 65,187,137,244,1 1,189,48,242,1 322,134,394,245,14 160,143,216,248,14 74,155,115,236,14 1,158,30,218,14 459,134,487,203,14 430,144,451,201,14 416,132,434,196,14 392,135,414,198,14 307,143,322,202,14 221,143,243,196,14 58,154,69,197,14 47,154,59,197,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003820.jpg 1,86,424,360,13 57,1,214,360,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003821.jpg 33,163,231,493,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003825.jpg 1,345,269,417,19 23,60,184,314,14 172,297,241,351,14 272,12,404,416,14 350,24,422,414,14 371,1,500,416,14 81,360,148,417,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003826.jpg 67,166,209,271,18 213,134,406,268,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003827.jpg 20,61,473,299,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003829.jpg 1,108,54,143,6 1,107,16,165,14 21,105,44,164,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003830.jpg 29,23,149,218,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003831.jpg 62,52,341,252,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003835.jpg 227,408,295,442,6 311,410,373,432,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003838.jpg 206,100,312,295,11 65,11,500,342,8 382,13,500,186,8 1,1,120,162,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003840.jpg 6,166,63,190,3 1,1,413,375,3 327,288,350,375,14 282,294,311,369,14 416,347,447,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003841.jpg 236,12,470,300,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003842.jpg 228,94,300,223,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003843.jpg 69,42,264,491,14 71,73,161,498,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003844.jpg 269,108,345,197,13 437,102,500,196,6 114,107,288,190,6 13,120,173,189,6 331,119,385,155,6 1,134,43,154,6 95,138,245,299,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003846.jpg 17,86,477,292,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003847.jpg 133,199,405,375,14 410,192,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003849.jpg 14,6,375,342,3 383,310,420,328,3 365,185,411,214,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003852.jpg 175,126,341,240,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003854.jpg 394,190,440,263,14 324,142,438,216,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003856.jpg 96,125,340,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003858.jpg 5,99,500,283,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003860.jpg 130,33,410,375,14 73,144,157,206,6 1,134,107,201,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003864.jpg 375,55,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003866.jpg 169,89,327,309,14 323,1,473,287,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003868.jpg 301,139,500,287,6 138,124,395,241,6 138,100,307,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003870.jpg 143,117,209,204,3 209,114,263,194,3 278,162,332,203,3 245,122,268,145,3 184,182,287,323,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003871.jpg 72,26,371,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003873.jpg 77,108,332,375,14 215,76,497,375,14 456,60,500,259,14 106,166,152,249,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003874.jpg 4,40,157,336,14 168,15,344,323,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003876.jpg 3,112,498,213,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003881.jpg 183,160,295,342,14 261,92,376,375,14 155,91,279,375,14 366,226,473,369,8 333,213,485,366,10 423,198,482,285,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003882.jpg 51,33,380,378,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003883.jpg 137,1,350,109,19 237,95,320,244,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003884.jpg 52,146,246,480,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003885.jpg 129,47,444,308,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003886.jpg 90,114,459,219,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003888.jpg 13,107,395,227,6 100,173,156,248,11 232,94,310,235,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003891.jpg 146,178,212,360,14 208,182,266,364,14 224,196,301,371,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003892.jpg 129,87,265,279,14 29,122,389,306,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003894.jpg 36,82,459,278,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003904.jpg 1,302,375,500,10 8,268,125,315,8 132,265,255,324,8 155,164,166,186,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003905.jpg 7,41,491,261,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003908.jpg 47,137,357,500,14 165,37,346,369,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003913.jpg 70,91,301,427,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003914.jpg 82,111,341,465,8 81,82,356,494,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003915.jpg 295,47,480,360,14 1,46,480,360,14 1,62,193,360,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003916.jpg 1,73,167,500,14 88,59,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003920.jpg 129,90,374,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003921.jpg 135,183,218,276,14 213,181,292,280,14 289,187,375,281,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003922.jpg 252,70,395,281,11 117,30,239,177,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003924.jpg 92,47,433,295,5 372,95,459,218,5 480,89,500,217,5 1,82,236,262,5 458,179,484,195,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003925.jpg 405,126,434,193,14 342,151,368,279,14 317,170,350,298,14 240,172,286,302,14 279,156,319,299,14 73,166,125,200,6 112,165,143,190,6 160,163,180,179,6 117,159,148,187,6 219,155,248,285,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003926.jpg 1,51,489,224,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003929.jpg 129,89,375,375,14 102,62,307,338,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003932.jpg 49,1,404,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003933.jpg 126,66,312,326,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003939.jpg 97,336,279,469,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003940.jpg 174,86,395,375,14 1,1,142,375,1 10,1,313,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003941.jpg 17,331,48,355,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003942.jpg 9,99,327,264,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003943.jpg 69,110,402,223,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003944.jpg 29,24,334,303,11 177,42,473,297,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003945.jpg 82,71,233,322,14 238,73,405,322,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003947.jpg 113,134,237,262,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003948.jpg 48,149,279,310,19 269,125,465,275,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003951.jpg 98,201,147,327,14 142,205,197,338,14 320,92,391,122,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003956.jpg 158,91,193,140,14 157,100,235,261,14 222,94,262,125,14 185,100,374,375,14 20,67,228,375,14 210,51,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003958.jpg 1,1,350,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003962.jpg 247,140,304,304,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003965.jpg 124,64,474,375,14 1,14,153,282,14 354,59,456,217,14 73,73,200,324,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003966.jpg 215,75,321,306,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003967.jpg 265,33,465,375,14 106,186,225,337,14 66,63,231,375,14 420,152,500,363,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003969.jpg 34,88,163,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003970.jpg 385,169,500,280,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003971.jpg 154,54,332,333,14 390,102,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003974.jpg 67,1,500,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003975.jpg 1,1,500,332,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003976.jpg 13,90,494,224,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003978.jpg 92,120,348,302,11 145,86,351,377,14 340,125,418,173,15 265,115,279,156,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003983.jpg 1,39,336,375,14 154,205,331,375,14 221,101,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003984.jpg 4,27,436,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003985.jpg 31,63,350,375,14 229,17,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003986.jpg 38,61,454,314,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003988.jpg 106,146,160,167,3 320,288,379,364,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003989.jpg 136,109,381,271,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003992.jpg 69,23,375,430,18 426,139,452,162,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003995.jpg 291,176,421,295,19 250,197,500,375,14 156,88,314,375,14 81,58,281,316,14 1,24,282,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003996.jpg 160,27,465,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003997.jpg 4,26,313,261,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_003998.jpg 288,1,447,88,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004000.jpg 25,63,500,260,0 81,139,244,206,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004002.jpg 110,109,345,375,14 287,59,500,344,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004003.jpg 229,80,285,239,14 158,111,175,137,15 135,114,151,136,15 144,177,223,252,15 377,219,467,331,8 321,143,416,289,15 27,119,138,252,15 15,170,115,272,15 44,217,125,308,15 1,201,116,323,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004004.jpg 27,22,474,322,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004006.jpg 1,1,500,375,7 1,1,451,145,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004007.jpg 1,18,371,375,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004008.jpg 206,181,331,354,8 350,251,500,375,8 208,87,294,163,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004014.jpg 119,262,339,313,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004015.jpg 16,77,261,402,11 132,11,485,464,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004016.jpg 337,1,500,400,14 1,54,303,400,14 168,264,235,400,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004017.jpg 28,2,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004018.jpg 323,104,493,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004020.jpg 9,1,500,343,6 461,1,500,94,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004021.jpg 94,62,313,482,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004022.jpg 102,65,349,302,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004024.jpg 130,47,476,316,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004026.jpg 38,95,250,373,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004027.jpg 200,158,352,202,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004030.jpg 135,96,216,151,0 187,178,266,232,0 297,196,370,249,0 113,234,195,291,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004036.jpg 244,134,326,200,13 265,115,306,183,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004037.jpg 194,187,223,251,4 1,226,18,306,4 77,219,106,295,4 241,130,356,333,14 120,59,256,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004040.jpg 211,135,278,286,14 300,142,349,293,14 274,196,402,296,1 206,204,253,299,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004042.jpg 1,80,220,220,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004044.jpg 45,102,345,338,11 225,1,348,72,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004045.jpg 1,83,298,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004046.jpg 254,86,384,140,6 417,55,479,91,6 327,246,376,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004048.jpg 138,124,318,276,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004053.jpg 201,125,328,345,14 86,128,255,291,14 60,159,119,249,14 27,153,87,231,14 15,99,77,199,14 22,187,456,375,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004054.jpg 288,9,358,241,14 119,157,261,371,14 96,251,222,375,14 195,237,360,375,14 472,196,500,281,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004055.jpg 465,134,487,188,14 444,78,500,163,5 275,37,453,202,5 145,60,287,199,5 36,52,162,192,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004056.jpg 1,98,48,136,6 181,112,277,307,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004058.jpg 1,205,372,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004064.jpg 59,28,447,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004066.jpg 57,134,337,333,14 392,7,435,102,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004069.jpg 85,56,452,305,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004071.jpg 48,125,129,238,14 32,156,160,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004074.jpg 1,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004075.jpg 201,1,500,283,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004076.jpg 206,84,370,295,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004077.jpg 140,52,360,315,14 338,55,425,197,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004080.jpg 22,108,484,324,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004081.jpg 188,176,286,211,14 113,1,460,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004084.jpg 458,179,500,246,13 39,158,120,281,13 232,182,482,333,13 1,120,36,326,14 318,133,341,176,14 79,125,233,333,14 319,141,417,333,14 247,141,312,247,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004087.jpg 386,16,484,173,2 274,46,362,187,2 166,35,331,251,2 39,105,150,240,2 55,267,180,435,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004088.jpg 154,27,438,500,5 54,218,95,474,14 103,242,157,476,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004090.jpg 103,60,466,375,14 195,235,268,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004092.jpg 97,43,336,500,14 1,246,119,365,15 241,245,375,350,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004093.jpg 73,113,349,324,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004097.jpg 173,42,271,133,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004100.jpg 36,92,500,200,0 458,191,500,222,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004101.jpg 92,240,260,375,1 181,35,500,375,14 118,37,275,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004102.jpg 2,1,500,375,6 207,122,300,171,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004103.jpg 347,77,405,205,2 53,275,89,326,2 148,292,318,338,2 223,285,319,331,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004105.jpg 198,32,500,375,14 31,86,142,231,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004106.jpg 164,1,420,243,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004110.jpg 1,1,414,375,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004112.jpg 56,103,441,268,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004113.jpg 228,174,269,249,14 280,174,314,250,14 281,205,309,258,1 232,209,259,260,1 1,178,27,216,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004119.jpg 50,36,499,315,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004120.jpg 266,116,312,176,7 86,26,252,250,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004121.jpg 7,56,459,286,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004122.jpg 289,77,409,305,8 319,120,381,214,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004123.jpg 59,32,500,292,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004124.jpg 104,100,436,375,8 80,1,466,250,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004125.jpg 189,178,303,300,12 210,174,251,239,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004126.jpg 341,241,419,367,4 22,96,480,367,14 22,153,101,294,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004127.jpg 22,12,472,358,6 272,27,500,241,6 313,8,397,39,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004130.jpg 238,205,253,239,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004134.jpg 290,46,500,375,14 1,28,292,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004135.jpg 3,17,492,410,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004137.jpg 96,149,188,375,14 171,120,276,375,14 267,116,389,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004138.jpg 116,150,416,266,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004140.jpg 1,88,242,500,14 115,77,252,414,14 230,214,375,336,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004142.jpg 129,136,164,214,14 211,142,239,214,14 231,126,256,183,14 257,122,290,209,14 329,118,357,209,14 439,98,479,220,14 1,262,132,375,14 113,163,196,216,1 197,164,275,214,1 309,154,393,208,1 131,142,318,206,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004145.jpg 301,112,368,322,4 242,62,301,321,4 164,43,233,323,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004147.jpg 124,100,407,392,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004148.jpg 1,95,290,375,14 241,115,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004155.jpg 30,35,485,155,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004161.jpg 203,136,306,477,14 3,105,107,488,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004163.jpg 1,350,54,439,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004165.jpg 41,107,440,244,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004166.jpg 71,51,353,229,12 47,93,188,233,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004171.jpg 68,18,343,498,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004174.jpg 68,70,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004175.jpg 130,36,275,116,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004176.jpg 316,58,454,438,14 271,89,340,428,14 167,214,276,438,14 124,103,229,309,14 219,77,295,279,14 189,68,244,181,14 48,60,146,438,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004178.jpg 411,115,487,314,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004182.jpg 437,89,488,121,6 356,121,389,234,14 323,113,365,230,14 288,122,335,295,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004188.jpg 1,89,68,310,14 18,81,90,305,14 88,95,153,281,14 98,195,198,294,11 228,176,269,290,14 208,109,297,282,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004189.jpg 98,78,366,265,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004190.jpg 152,142,309,189,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004195.jpg 30,122,304,277,12 157,71,223,203,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004196.jpg 101,141,248,375,14 175,143,294,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004198.jpg 240,133,328,273,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004201.jpg 72,178,247,358,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004203.jpg 322,267,387,447,14 93,104,156,257,14 43,90,93,255,14 22,62,85,227,14 117,86,166,235,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004205.jpg 197,83,335,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004208.jpg 1,143,132,374,14 1,259,116,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004212.jpg 165,149,446,275,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004213.jpg 1,28,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004214.jpg 133,1,500,375,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004216.jpg 1,113,500,333,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004217.jpg 41,93,227,272,19 170,17,500,378,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004218.jpg 14,17,366,211,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004221.jpg 23,40,139,331,14 136,52,237,318,14 220,62,337,306,14 324,72,408,290,14 436,74,500,276,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004224.jpg 189,193,311,242,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004230.jpg 214,54,395,335,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004231.jpg 31,64,500,320,6 35,45,104,156,14 218,37,258,113,14 283,47,304,68,14 423,50,472,126,14 1,1,194,184,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004232.jpg 123,36,500,310,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004234.jpg 214,118,301,263,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004235.jpg 76,1,500,355,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004239.jpg 146,158,431,251,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004242.jpg 35,22,427,179,3 252,92,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004243.jpg 1,69,333,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004245.jpg 297,130,375,258,14 1,151,75,325,14 127,97,335,500,14 27,140,181,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004246.jpg 181,1,500,375,14 1,1,257,352,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004247.jpg 1,1,381,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004251.jpg 25,115,67,163,8 63,69,127,102,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004257.jpg 3,1,488,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004258.jpg 1,1,500,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004259.jpg 74,66,424,384,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004263.jpg 1,65,154,437,14 140,42,287,427,14 147,195,309,433,14 316,122,413,419,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004265.jpg 11,76,392,253,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004269.jpg 1,6,500,375,17 19,1,500,375,14 15,183,258,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004270.jpg 69,4,487,375,14 71,215,313,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004271.jpg 181,207,317,333,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004273.jpg 1,23,469,295,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004274.jpg 110,97,313,206,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004276.jpg 115,11,500,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004278.jpg 42,129,128,379,14 84,155,259,500,14 124,116,182,206,14 232,179,304,434,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004279.jpg 130,10,379,183,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004280.jpg 17,17,500,342,1 9,26,173,310,8 341,92,449,226,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004284.jpg 116,64,343,293,11 314,146,426,257,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004287.jpg 36,104,275,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004288.jpg 165,50,351,375,14 63,149,467,375,13 1,147,114,242,6 1,134,94,168,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004289.jpg 306,162,491,333,8 54,31,193,94,8 184,16,297,65,8 1,39,500,333,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004290.jpg 44,66,339,427,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004291.jpg 1,154,425,254,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004292.jpg 283,224,352,278,16 476,238,499,264,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004293.jpg 254,41,500,321,11 1,221,233,356,11 1,95,303,304,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004296.jpg 35,31,301,408,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004297.jpg 273,19,445,167,19 4,188,147,303,11 119,114,257,247,8 358,62,419,125,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004301.jpg 281,1,500,375,14 34,113,288,362,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004303.jpg 1,1,344,288,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004306.jpg 25,15,203,250,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004307.jpg 205,51,355,364,14 1,64,328,477,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004308.jpg 1,122,33,243,4 108,17,348,242,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004312.jpg 33,65,489,310,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004313.jpg 346,161,410,279,8 196,176,261,288,8 239,167,293,259,8 252,177,326,303,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004314.jpg 19,29,180,469,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004317.jpg 140,64,500,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004318.jpg 92,81,326,375,14 195,80,416,375,14 367,26,428,262,14 320,27,376,276,14 238,14,302,172,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004319.jpg 239,229,415,322,11 1,176,207,311,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004321.jpg 212,135,324,274,14 312,137,437,324,14 117,157,188,333,14 1,160,122,333,14 135,245,415,333,10 348,193,469,333,8 430,167,500,252,19 61,175,312,333,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004324.jpg 97,17,316,196,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004325.jpg 101,308,295,424,1 108,215,238,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004326.jpg 110,134,271,195,6 80,135,190,188,6 38,141,136,183,6 75,126,151,147,6 475,115,500,152,6 231,99,470,213,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004327.jpg 349,278,377,360,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004328.jpg 86,369,190,450,7 88,312,167,399,7 64,62,234,392,14 243,109,295,149,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004330.jpg 90,90,253,377,14 230,52,329,143,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004331.jpg 111,18,375,485,14 117,195,375,500,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004333.jpg 310,103,500,285,19 11,79,183,371,14 167,144,349,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004339.jpg 1,95,228,178,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004342.jpg 98,76,242,421,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004344.jpg 135,30,317,375,14 277,114,399,375,14 1,218,147,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004345.jpg 100,18,406,374,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004347.jpg 1,14,339,459,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004348.jpg 20,79,500,235,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004353.jpg 13,110,255,380,14 313,126,472,380,14 241,124,359,323,14 1,83,352,380,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004354.jpg 14,115,429,384,12 223,39,312,265,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004357.jpg 188,148,290,231,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004358.jpg 293,67,500,293,18 1,24,224,294,18 232,218,269,284,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004361.jpg 264,72,500,333,14 1,26,308,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004362.jpg 165,49,410,260,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004363.jpg 102,178,344,336,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004365.jpg 23,140,263,476,13 36,41,278,411,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004367.jpg 1,89,500,289,18 136,85,351,291,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004371.jpg 250,17,395,263,13 351,111,475,266,14 98,101,245,259,14 30,1,199,363,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004372.jpg 232,105,276,172,8 230,96,377,267,14 35,102,169,267,14 147,67,260,183,14 143,196,168,253,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004374.jpg 173,70,316,222,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004376.jpg 196,67,361,241,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004378.jpg 133,24,434,208,0 294,214,398,242,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004380.jpg 316,144,500,387,14 264,146,418,315,14 8,99,178,300,14 1,251,178,466,14 281,61,443,152,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004384.jpg 46,244,212,443,8 1,292,84,500,8 181,269,375,500,8 1,279,79,349,2 136,270,155,339,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004385.jpg 168,149,282,241,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004387.jpg 385,263,486,303,6 193,264,216,281,6 171,263,187,276,6 154,262,169,273,6 102,262,112,291,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004389.jpg 1,193,116,356,14 220,138,367,283,14 348,184,500,375,14 25,329,49,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004391.jpg 53,35,175,500,14 158,37,285,500,14 1,45,114,252,14 277,38,348,186,14 178,1,230,45,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004394.jpg 57,2,435,375,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004396.jpg 50,47,290,500,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004398.jpg 99,84,193,360,14 1,132,162,363,14 9,222,121,363,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004399.jpg 260,154,328,266,13 238,114,316,232,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004402.jpg 134,31,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004403.jpg 1,41,299,375,14 249,57,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004406.jpg 53,74,500,266,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004408.jpg 280,280,331,373,8 384,290,445,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004410.jpg 13,1,473,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004411.jpg 25,71,438,306,6 1,68,140,219,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004412.jpg 121,340,246,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004414.jpg 33,87,441,344,6 397,70,426,82,6 424,67,449,80,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004416.jpg 143,147,442,371,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004417.jpg 315,80,401,312,14 238,78,304,315,14 1,83,101,346,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004418.jpg 52,45,182,344,14 176,1,366,344,14 423,90,500,236,14 366,198,394,292,4 310,77,379,144,4 466,185,494,263,4 1,123,23,205,4 186,77,200,123,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004419.jpg 176,20,256,166,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004422.jpg 1,14,396,332,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004425.jpg 132,101,347,297,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004426.jpg 36,1,333,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004427.jpg 131,134,270,413,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004428.jpg 211,227,354,309,15 66,218,175,278,15 393,203,464,246,15 225,171,262,213,15 18,176,99,250,15 80,135,226,256,15 320,155,396,233,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004430.jpg 1,1,496,333,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004431.jpg 2,54,215,292,14 158,95,373,375,14 323,1,500,375,14 1,121,56,260,14 184,115,249,228,14 218,170,238,232,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004433.jpg 200,195,258,212,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004435.jpg 83,1,153,109,15 13,25,74,125,8 101,29,214,184,14 131,77,355,336,14 142,52,469,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004436.jpg 55,1,195,300,14 281,103,400,300,14 218,111,339,300,14 18,95,40,153,14 4,96,55,119,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004438.jpg 1,69,220,375,14 136,131,388,375,14 285,90,500,375,14 173,38,265,141,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004439.jpg 120,41,242,362,14 242,117,327,291,14 404,77,499,357,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004441.jpg 1,1,356,233,1 143,125,394,264,14 5,1,500,164,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004443.jpg 259,382,319,430,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004445.jpg 204,233,295,332,8 293,266,397,332,8 280,221,328,254,8 249,196,273,235,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004450.jpg 105,116,178,168,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004452.jpg 211,114,297,204,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004453.jpg 43,64,213,365,16 198,16,349,200,16 194,31,375,497,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004455.jpg 1,55,139,251,14 154,39,217,251,14 161,25,298,251,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004457.jpg 1,277,83,375,8 106,221,193,333,8 318,237,405,367,8 307,193,368,273,8 423,191,492,278,8 167,246,297,365,10 371,174,458,284,14 238,132,280,248,14 191,138,233,247,14 12,116,59,233,14 51,120,100,234,14 1,227,72,375,14 284,185,400,362,14 120,197,204,329,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004458.jpg 427,65,500,295,6 323,124,366,144,6 200,119,260,141,6 365,127,387,144,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004459.jpg 1,47,341,375,14 150,212,274,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004460.jpg 250,126,265,163,4 101,272,297,375,8 376,297,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004462.jpg 1,120,262,335,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004464.jpg 130,165,289,422,14 336,102,378,153,6 1,1,184,411,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004469.jpg 19,175,146,228,3 242,193,275,209,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004470.jpg 144,169,308,350,12 191,76,274,254,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004471.jpg 304,31,421,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004476.jpg 100,135,271,422,12 106,37,266,281,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004477.jpg 33,106,195,424,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004478.jpg 62,48,359,429,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004479.jpg 238,25,500,219,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004480.jpg 2,67,229,285,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004482.jpg 27,97,109,209,14 1,125,59,375,14 102,107,212,375,14 166,97,256,375,14 269,91,391,371,14 355,152,441,297,14 51,175,118,282,1 356,150,500,254,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004487.jpg 369,181,500,375,8 232,149,249,182,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004488.jpg 20,16,470,246,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004490.jpg 125,97,327,227,7 20,28,369,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004492.jpg 45,85,477,240,17 1,86,46,257,8 118,101,226,245,14 276,119,423,291,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004493.jpg 141,150,185,259,14 256,202,284,263,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004497.jpg 1,97,500,340,17 22,77,71,113,15 345,1,422,122,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004498.jpg 148,144,178,193,11 345,168,379,189,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004499.jpg 229,108,312,281,14 51,114,116,281,14 1,107,73,281,14 240,122,321,185,14 109,103,225,281,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004501.jpg 177,82,372,375,14 1,119,88,276,19 283,78,311,173,4 414,4,495,86,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004502.jpg 148,120,189,152,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004504.jpg 172,142,333,293,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004505.jpg 194,146,404,221,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004506.jpg 45,99,113,158,19 116,117,178,170,19 176,112,244,170,19 241,115,305,178,19 1,262,127,375,8 4,235,25,260,4 82,27,118,93,14 411,45,437,85,14 271,212,306,241,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004510.jpg 229,33,351,375,14 86,71,199,318,14 185,42,256,223,14 256,1,296,60,14 304,4,362,285,14 63,26,111,209,14 2,33,44,111,14 38,218,101,260,14 1,166,80,326,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004512.jpg 77,59,296,494,14 108,239,309,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004513.jpg 80,12,372,500,14 81,190,354,500,14 296,45,431,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004515.jpg 76,159,197,239,7 296,113,372,274,11 341,188,401,300,11 338,55,477,272,14 213,1,500,117,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004518.jpg 110,66,423,324,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004519.jpg 1,1,334,375,14 112,10,329,327,14 238,33,500,297,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004520.jpg 81,140,281,335,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004522.jpg 50,68,247,396,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004525.jpg 100,112,390,330,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004526.jpg 1,147,325,500,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004528.jpg 1,59,330,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004532.jpg 81,17,156,52,0 129,117,500,273,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004533.jpg 206,167,317,476,14 107,96,219,458,12 76,58,242,336,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004534.jpg 66,51,196,500,14 190,140,313,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004538.jpg 1,57,375,500,14 114,217,353,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004539.jpg 1,59,404,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004540.jpg 58,156,241,313,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004541.jpg 157,141,294,255,19 184,1,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004544.jpg 260,106,494,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004545.jpg 174,242,205,314,12 203,237,237,311,12 268,247,309,319,12 303,241,346,308,12 114,228,147,304,12 1,186,27,251,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004546.jpg 117,202,171,323,12 1,155,40,257,12 102,384,159,500,12 185,106,241,224,12 255,147,322,269,12 109,357,163,459,14 122,173,166,250,14 198,90,236,140,14 271,124,306,191,14 2,123,42,189,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004547.jpg 62,80,370,230,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004549.jpg 32,99,437,356,13 82,16,196,210,14 1,121,59,257,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004550.jpg 60,111,140,229,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004551.jpg 214,111,263,264,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004552.jpg 1,1,375,160,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004553.jpg 1,31,333,469,14 1,27,333,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004554.jpg 288,105,360,175,13 236,92,301,186,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004559.jpg 193,412,305,470,6 286,409,375,485,6 1,340,35,366,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004564.jpg 161,212,500,333,10 437,147,467,249,4 318,182,339,245,4 1,220,246,333,8 26,86,206,326,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004567.jpg 115,33,270,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004568.jpg 159,117,449,281,13 218,51,325,175,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004570.jpg 7,89,337,418,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004574.jpg 173,90,237,325,14 104,1,223,97,1 174,2,287,99,1 13,103,305,283,6 242,101,342,320,14 119,80,194,307,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004575.jpg 1,96,125,441,14 88,64,247,425,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004579.jpg 1,30,283,375,7 189,53,444,344,7 46,1,342,176,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004581.jpg 231,285,285,364,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004583.jpg 7,96,484,279,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004584.jpg 1,148,323,375,12 1,1,421,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004585.jpg 1,176,98,375,8 1,37,117,232,8 1,1,126,99,8 413,1,498,107,8 353,2,449,61,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004588.jpg 251,274,500,377,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004589.jpg 184,45,253,90,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004590.jpg 75,21,159,95,11 104,81,284,203,11 199,178,262,277,11 157,258,272,410,11 75,233,194,356,11 54,319,221,500,11 35,309,138,456,11 112,305,238,437,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004592.jpg 314,1,407,98,8 302,1,500,271,8 12,1,226,260,8 20,14,474,284,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004593.jpg 90,238,137,274,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004599.jpg 85,77,402,314,13 108,89,363,303,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004602.jpg 96,75,265,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004603.jpg 10,154,406,315,1 1,101,104,243,1 296,1,391,235,14 1,1,60,122,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004605.jpg 32,52,463,223,0 10,161,30,176,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004606.jpg 1,1,126,137,19 389,296,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004607.jpg 137,11,254,421,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004610.jpg 61,50,411,298,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004611.jpg 269,56,469,254,13 279,1,422,203,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004612.jpg 118,76,385,331,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004613.jpg 29,12,477,304,5 477,210,500,264,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004614.jpg 388,272,425,289,6 337,273,377,291,6 290,276,324,293,6 280,285,467,373,6 111,259,252,298,5 1,262,83,288,5 1,283,24,310,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004615.jpg 12,1,485,375,13 1,1,352,290,13 1,1,303,182,13 447,1,500,100,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004616.jpg 65,108,330,334,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004617.jpg 1,1,375,500,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004619.jpg 183,112,272,207,8 90,200,146,282,15 42,223,80,280,15 78,232,114,280,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004620.jpg 36,39,373,475,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004621.jpg 148,57,343,340,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004624.jpg 150,110,438,277,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004629.jpg 98,42,331,258,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004630.jpg 1,1,500,275,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004631.jpg 35,53,493,203,0 1,120,199,199,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004632.jpg 115,194,361,336,17 1,290,283,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004633.jpg 212,160,250,212,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004634.jpg 235,81,367,294,15 102,47,176,172,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004635.jpg 65,1,308,472,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004636.jpg 1,174,330,375,3 115,10,351,256,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004640.jpg 15,123,500,272,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004646.jpg 96,1,500,333,0 1,48,268,134,0 127,1,369,52,0 386,116,500,153,0 1,124,156,309,0 427,191,441,225,14 7,19,119,63,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004647.jpg 172,53,344,500,14 1,223,203,486,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004648.jpg 135,247,406,333,0 71,91,500,226,0 22,188,153,238,0 417,99,500,147,0 387,26,500,96,0 330,214,460,292,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004649.jpg 185,110,264,299,12 168,58,276,217,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004653.jpg 21,34,479,306,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004654.jpg 43,213,172,453,1 54,43,319,349,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004656.jpg 220,28,295,175,14 226,91,308,202,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004659.jpg 142,1,317,500,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004661.jpg 215,208,471,333,17 68,165,116,250,8 24,165,75,247,8 90,157,129,241,8 46,153,78,231,8 36,175,132,255,10 125,133,293,304,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004662.jpg 91,276,312,500,11 21,29,375,453,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004663.jpg 55,162,439,258,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004665.jpg 293,199,432,313,8 50,170,102,211,19 258,136,424,305,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004666.jpg 4,160,28,245,4 24,149,49,245,4 312,44,334,88,4 334,44,355,88,4 356,47,374,87,4 139,37,336,375,14 363,8,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004667.jpg 377,165,415,196,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004668.jpg 1,80,164,248,6 12,28,455,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004670.jpg 456,191,500,283,8 383,160,460,254,8 375,139,429,230,8 318,134,373,216,8 264,131,316,210,8 242,125,288,166,8 189,128,239,188,8 88,117,129,164,8 45,116,86,166,8 71,149,311,312,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004671.jpg 222,140,272,177,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004672.jpg 1,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004677.jpg 1,1,373,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004678.jpg 81,21,500,328,6 28,1,99,172,14 78,1,230,58,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004679.jpg 68,1,471,345,5 56,210,80,276,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004684.jpg 1,5,466,500,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004687.jpg 45,72,365,303,12 34,201,102,364,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004688.jpg 1,1,500,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004689.jpg 207,67,308,155,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004690.jpg 233,121,289,329,2 446,147,500,255,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004692.jpg 103,180,228,360,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004695.jpg 1,118,346,400,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004696.jpg 1,1,264,485,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004697.jpg 75,72,213,308,8 232,13,386,331,8 414,89,500,377,8 1,84,437,377,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004701.jpg 1,1,443,375,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004702.jpg 207,166,429,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004703.jpg 1,136,158,250,13 30,95,123,219,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004704.jpg 3,1,500,322,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004705.jpg 91,85,333,478,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004706.jpg 213,59,403,332,14 12,42,222,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004707.jpg 36,91,106,185,14 75,92,151,296,14 252,89,295,140,14 279,67,363,243,14 338,80,382,215,14 130,7,331,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004711.jpg 238,61,403,337,14 1,2,274,227,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004713.jpg 402,30,459,144,14 1,71,103,223,6 80,46,449,342,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004716.jpg 248,69,405,263,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004718.jpg 27,26,333,398,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004719.jpg 29,62,254,276,19 254,53,471,264,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004720.jpg 246,84,327,169,19 171,86,251,186,19 319,113,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004722.jpg 5,1,450,310,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004725.jpg 26,165,382,494,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004726.jpg 115,112,454,223,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004729.jpg 331,133,500,247,6 1,148,73,231,6 380,172,482,255,13 297,135,376,246,13 399,139,456,254,14 301,137,345,189,14 214,161,230,177,14 57,91,344,253,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004730.jpg 66,89,215,462,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004732.jpg 52,26,411,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004736.jpg 190,134,291,269,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004739.jpg 23,92,465,285,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004740.jpg 8,1,323,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004742.jpg 119,64,161,180,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004745.jpg 48,227,251,450,11 113,13,500,421,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004749.jpg 22,8,331,480,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004750.jpg 95,101,226,260,3 290,99,399,262,3 420,145,487,252,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004752.jpg 13,79,338,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004754.jpg 127,1,354,192,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004756.jpg 244,204,300,305,15 11,197,82,323,15 280,86,344,320,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004758.jpg 8,45,372,353,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004760.jpg 48,77,394,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004763.jpg 290,142,309,159,2 315,200,381,260,11 202,197,249,252,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004764.jpg 22,109,447,417,12 202,32,331,239,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004766.jpg 286,316,316,353,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004767.jpg 20,59,496,295,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004768.jpg 1,38,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004770.jpg 1,1,484,324,18 1,79,113,217,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004771.jpg 24,72,273,161,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004774.jpg 55,111,137,277,14 103,264,182,318,11 227,263,277,339,11 50,233,352,457,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004776.jpg 214,236,268,362,8 17,297,93,375,8 22,240,223,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004777.jpg 360,235,430,336,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004778.jpg 14,180,137,332,14 1,41,208,400,14 63,85,258,400,8 63,172,117,216,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004781.jpg 51,65,276,333,14 215,96,500,333,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004783.jpg 144,255,172,275,2 157,189,212,216,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004784.jpg 157,63,261,239,14 167,137,246,299,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004786.jpg 199,10,462,233,13 37,10,385,370,13 439,17,500,102,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004794.jpg 90,241,192,279,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004795.jpg 237,128,258,170,4 103,97,128,167,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004797.jpg 165,261,327,353,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004802.jpg 14,88,486,213,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004804.jpg 145,50,382,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004805.jpg 239,158,317,315,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004807.jpg 1,113,180,500,14 172,272,335,398,19 112,155,200,420,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004808.jpg 1,1,500,375,2 3,11,99,260,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004812.jpg 240,193,379,307,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004814.jpg 171,77,492,375,14 15,34,61,130,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004819.jpg 1,100,492,272,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004821.jpg 1,1,323,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004822.jpg 93,98,432,300,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004825.jpg 91,27,488,303,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004827.jpg 75,229,147,293,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004832.jpg 79,91,245,403,13 237,108,324,213,13 5,143,125,237,13 1,43,238,138,6 78,75,238,326,14 21,67,124,207,14 163,27,204,104,14 9,50,31,70,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004833.jpg 18,51,453,362,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004834.jpg 202,148,283,368,14 258,161,429,267,10 124,153,205,272,8 252,135,316,259,8 383,145,451,264,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004837.jpg 222,337,375,488,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004838.jpg 131,1,341,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004841.jpg 192,1,500,333,9 135,91,300,303,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004844.jpg 126,178,449,303,5 23,224,51,312,14 1,233,24,313,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004845.jpg 91,55,500,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004847.jpg 1,74,500,299,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004849.jpg 250,83,448,333,14 119,47,268,272,14 128,1,183,78,14 464,37,500,73,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004850.jpg 81,348,221,407,6 58,426,287,500,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004851.jpg 222,33,369,252,14 176,160,281,255,14 3,59,161,298,14 1,249,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004852.jpg 1,195,322,230,18 1,215,318,267,18 476,240,487,266,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004854.jpg 199,1,494,199,16 1,61,339,321,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004856.jpg 52,146,269,305,7 225,79,455,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004858.jpg 86,73,405,225,6 36,66,71,155,14 443,74,474,151,14 432,96,452,140,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004862.jpg 142,174,280,325,1 1,93,113,270,6 1,138,206,245,6 142,143,248,208,6 209,142,279,196,6 396,127,435,147,6 305,120,336,269,14 259,120,330,303,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004866.jpg 369,118,408,209,14 310,133,364,349,14 255,131,306,354,14 158,132,236,328,14 9,7,271,284,5 78,111,151,170,14 238,139,276,337,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004868.jpg 2,3,320,355,12 307,67,496,356,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004869.jpg 1,62,279,342,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004872.jpg 1,205,59,306,6 331,93,448,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004873.jpg 78,6,415,347,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004874.jpg 1,238,133,500,8 87,99,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004875.jpg 361,23,486,180,14 137,244,310,375,14 88,12,200,125,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004876.jpg 70,148,286,280,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004881.jpg 368,50,500,229,19 178,9,334,361,14 143,160,216,369,14 1,157,164,347,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004885.jpg 22,96,375,211,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004887.jpg 270,124,500,228,17 249,115,321,177,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004892.jpg 20,92,144,308,12 131,102,228,298,12 202,99,286,307,12 289,103,374,292,12 373,88,449,286,12 430,117,500,307,12 9,66,106,201,14 120,74,202,200,14 191,71,279,181,14 269,86,334,177,14 351,65,423,184,14 411,68,500,214,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004893.jpg 64,124,287,254,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004894.jpg 179,130,324,329,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004896.jpg 206,64,428,320,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004898.jpg 61,9,176,100,19 17,94,53,173,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004899.jpg 274,294,385,328,6 331,293,395,319,6 187,185,269,212,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004900.jpg 21,64,375,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004903.jpg 120,167,264,300,13 120,112,269,298,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004904.jpg 1,1,401,355,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004907.jpg 423,88,443,140,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004908.jpg 75,51,236,191,19 237,52,393,190,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004910.jpg 237,158,350,256,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004911.jpg 138,64,375,363,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004914.jpg 157,124,222,207,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004917.jpg 3,74,494,214,0 414,179,438,191,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004920.jpg 241,1,437,314,3 113,41,215,264,3 1,13,95,293,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004921.jpg 1,1,144,314,3 142,230,259,318,3 244,1,500,331,3 240,156,258,253,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004923.jpg 5,90,48,117,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004926.jpg 172,233,290,375,4 316,191,354,306,4 17,115,43,172,4 222,86,491,375,14 31,84,235,338,14 1,51,114,289,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004930.jpg 24,4,476,373,19 186,108,371,273,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004931.jpg 170,131,327,331,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004933.jpg 1,1,464,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004934.jpg 138,16,249,296,4 317,228,381,290,4 312,290,372,345,4 308,351,366,375,4 243,341,300,375,4 253,279,309,336,4 198,264,247,323,4 122,317,180,374,4 184,328,237,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004935.jpg 427,163,470,187,0 224,126,267,149,0 90,130,133,151,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004937.jpg 356,126,500,279,14 189,114,316,258,14 1,100,107,325,14 256,179,293,301,4 205,181,248,300,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004938.jpg 1,133,364,436,17 53,67,352,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004940.jpg 42,71,500,333,13 1,57,331,333,13 186,1,361,270,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004942.jpg 208,142,474,312,2 35,71,258,240,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004945.jpg 220,256,410,348,6 21,288,134,375,6 9,269,42,287,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004946.jpg 70,100,389,321,18 385,182,427,238,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004948.jpg 266,225,287,293,4 151,233,182,321,4 14,304,46,375,4 106,339,129,375,4 157,200,178,257,4 92,116,218,254,14 249,121,350,258,14 1,223,366,375,10 286,152,491,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004950.jpg 150,249,201,361,11 105,241,202,400,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004955.jpg 65,142,434,259,6 456,159,500,226,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004961.jpg 1,3,193,241,14 278,1,362,101,19 126,60,238,241,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004964.jpg 157,273,375,500,17 36,237,136,406,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004966.jpg 299,59,430,253,7 1,1,157,292,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004967.jpg 185,16,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004968.jpg 99,258,131,284,5 2,255,43,368,14 48,258,63,313,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004969.jpg 109,39,288,486,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004970.jpg 1,1,500,500,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004973.jpg 20,80,320,282,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004974.jpg 168,133,337,247,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004975.jpg 209,1,500,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004976.jpg 73,39,341,301,5 7,91,82,216,5 15,162,55,223,6 38,162,74,225,6 435,163,473,183,6 241,87,277,164,14 176,81,233,165,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004977.jpg 1,1,500,347,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004979.jpg 176,55,222,228,4 1,131,495,375,10 209,1,422,156,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004981.jpg 1,20,375,363,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004982.jpg 241,1,336,318,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004983.jpg 49,230,292,318,3 172,244,203,300,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004984.jpg 69,1,323,260,14 63,13,239,262,14 1,173,93,268,14 305,11,401,154,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004985.jpg 174,197,225,277,8 194,226,249,310,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004986.jpg 60,64,390,309,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004990.jpg 1,3,468,372,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004991.jpg 365,266,389,325,4 202,207,219,248,4 229,79,392,297,14 24,132,233,259,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004995.jpg 27,144,216,330,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_004998.jpg 131,192,291,300,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005000.jpg 61,150,170,279,13 58,56,295,261,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005001.jpg 53,241,100,293,15 80,143,115,176,15 437,208,459,234,15 441,150,473,170,15 330,146,358,185,15 295,144,328,202,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005003.jpg 1,1,457,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005006.jpg 114,153,323,328,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005008.jpg 219,106,389,250,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005010.jpg 1,142,37,217,9 36,61,354,375,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005013.jpg 108,73,377,266,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005015.jpg 32,74,330,422,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005016.jpg 118,72,353,500,11 10,40,283,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005023.jpg 244,191,278,290,4 218,223,246,289,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005032.jpg 1,96,157,350,6 67,131,221,276,6 228,79,412,342,14 290,178,386,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005033.jpg 16,5,322,416,13 1,1,386,225,13 254,104,494,416,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005035.jpg 52,105,243,500,14 127,1,251,224,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005036.jpg 67,83,388,199,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005037.jpg 347,29,429,132,19 181,69,331,292,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005040.jpg 414,213,486,477,15 40,229,270,500,15 428,295,455,350,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005042.jpg 153,15,500,369,15 5,165,203,313,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005043.jpg 10,120,66,149,3 79,81,219,336,14 218,32,361,336,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005045.jpg 7,162,333,431,6 1,161,58,218,6 28,114,171,442,14 135,204,239,410,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005046.jpg 2,106,500,315,14 175,207,458,328,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005049.jpg 101,146,337,331,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005051.jpg 32,1,482,366,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005054.jpg 324,108,442,196,6 127,114,216,203,6 35,128,111,221,6 232,105,342,203,6 389,82,500,184,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005055.jpg 110,161,164,261,14 185,125,220,203,14 108,212,159,289,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005057.jpg 76,140,432,233,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005061.jpg 68,43,403,454,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005063.jpg 257,28,315,46,3 1,187,500,375,3 80,133,240,375,14 228,147,410,349,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005064.jpg 158,93,290,258,7 74,257,386,400,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005065.jpg 64,107,102,162,11 66,171,195,228,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005066.jpg 1,51,65,207,19 177,99,500,371,8 135,71,411,371,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005068.jpg 136,293,259,477,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005070.jpg 19,135,467,375,10 385,66,500,250,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005071.jpg 21,14,442,324,3 341,170,500,228,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005072.jpg 1,1,494,400,14 1,177,271,378,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005074.jpg 25,138,120,220,5 201,149,359,237,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005078.jpg 1,32,492,286,0 21,191,61,222,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005080.jpg 168,285,264,383,2 36,60,255,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005081.jpg 218,116,335,287,8 315,109,400,263,8 89,96,196,269,8 82,81,176,202,8 112,82,400,283,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005082.jpg 194,57,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005084.jpg 46,80,434,353,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005085.jpg 1,36,500,314,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005088.jpg 46,86,348,297,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005089.jpg 155,149,299,276,19 332,139,412,279,14 325,303,360,374,4 375,270,409,346,4 225,272,249,321,4 1,276,59,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005090.jpg 277,236,371,322,19 216,485,279,500,4 97,224,253,444,14 1,276,176,418,14 1,201,255,454,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005092.jpg 120,26,435,327,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005094.jpg 7,168,94,235,19 154,184,316,371,14 110,237,127,298,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005096.jpg 125,107,279,203,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005097.jpg 286,64,500,333,9 139,59,380,333,9 1,62,221,333,9 50,17,334,95,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005098.jpg 32,36,252,400,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005101.jpg 117,145,276,400,11 1,1,286,500,14 114,1,400,500,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005105.jpg 66,67,376,374,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005107.jpg 96,161,375,500,14 1,75,375,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005108.jpg 5,82,311,109,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005109.jpg 84,73,333,361,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005110.jpg 154,141,398,295,6 101,144,157,267,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005111.jpg 230,369,336,464,11 302,161,374,284,8 202,147,300,262,8 203,112,268,189,8 76,124,107,197,15 106,13,208,367,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005114.jpg 6,143,498,319,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005115.jpg 20,32,309,489,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005117.jpg 151,46,176,84,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005123.jpg 113,75,500,349,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005127.jpg 392,260,500,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005132.jpg 90,208,131,238,3 209,203,257,227,3 287,213,335,233,3 327,202,370,226,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005133.jpg 53,97,222,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005134.jpg 1,32,469,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005136.jpg 194,253,306,429,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005137.jpg 158,109,296,244,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005139.jpg 261,84,341,162,6 113,108,214,188,6 257,62,340,120,6 143,66,236,153,6 256,39,332,84,6 270,8,327,60,6 286,1,341,49,6 23,78,123,155,6 348,274,500,375,6 373,173,500,279,6 434,132,500,177,6 412,109,500,177,6 400,71,486,151,6 394,54,470,116,6 377,1,446,76,6 476,18,500,79,6 453,1,500,46,6 1,116,43,183,6 133,1,277,86,5 49,272,101,366,13 235,176,288,255,13 120,82,151,125,13 56,234,115,339,14 236,152,285,239,14 123,174,182,242,13 127,145,174,233,14 120,58,149,93,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005140.jpg 202,60,306,430,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005146.jpg 198,121,328,279,15 159,5,327,375,14 48,13,182,335,14 323,148,378,219,8 74,161,93,195,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005147.jpg 119,75,463,281,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005150.jpg 132,193,421,375,10 89,278,207,375,8 92,239,183,346,8 86,114,149,324,14 126,104,183,290,14 287,117,385,237,14 378,149,490,375,14 197,117,258,194,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005151.jpg 16,19,333,500,14 27,1,199,319,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005156.jpg 1,186,500,224,3 158,129,225,205,14 262,153,308,205,14 346,154,394,203,14 419,152,480,204,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005158.jpg 389,244,457,259,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005159.jpg 205,205,295,286,6 67,211,165,279,6 363,216,500,273,6 275,204,397,266,6 103,206,220,251,6 1,209,68,274,6 464,245,500,289,6 462,215,500,235,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005160.jpg 160,19,278,348,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005166.jpg 242,69,480,259,12 23,62,229,263,12 454,88,488,101,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005167.jpg 203,178,310,271,11 1,1,92,241,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005168.jpg 13,174,215,342,12 249,132,291,188,14 291,109,429,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005171.jpg 142,132,500,314,6 216,141,285,268,14 350,125,405,146,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005172.jpg 20,111,175,237,13 37,72,205,231,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005174.jpg 250,39,356,211,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005175.jpg 279,301,351,348,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005178.jpg 346,122,464,325,11 276,172,369,323,11 188,223,295,346,11 61,87,292,369,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005181.jpg 115,24,185,134,7 180,248,411,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005182.jpg 259,22,475,193,2 111,1,211,257,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005183.jpg 270,183,384,294,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005185.jpg 66,181,375,500,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005186.jpg 152,113,279,315,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005190.jpg 196,161,376,280,1 241,83,346,263,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005191.jpg 203,186,275,232,19 263,177,387,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005193.jpg 42,1,413,295,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005194.jpg 1,73,460,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005196.jpg 1,87,496,231,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005197.jpg 1,160,101,304,11 108,151,265,306,11 290,132,397,264,14 323,42,420,278,14 421,83,494,271,14 37,140,97,268,14 234,168,271,230,14 123,132,151,164,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005201.jpg 1,128,162,281,1 116,95,371,319,1 252,108,472,359,1 182,23,325,292,14 363,4,415,24,6 451,3,486,22,6 408,202,452,236,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005204.jpg 96,10,127,154,4 173,11,207,144,4 245,13,280,133,4 368,17,390,119,4 27,7,109,278,4 108,8,188,270,4 187,10,264,265,4 262,12,332,254,4 323,14,384,244,4 378,15,442,237,4 435,18,493,229,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005205.jpg 433,198,500,380,8 74,240,263,380,8 1,183,96,348,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005208.jpg 35,63,419,97,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005209.jpg 111,24,287,155,2 208,191,477,342,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005213.jpg 240,106,500,332,13 50,78,120,183,13 193,81,278,194,13 308,25,444,265,14 254,25,355,192,14 185,27,271,167,14 49,36,119,154,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005214.jpg 1,218,43,312,15 65,268,104,311,15 113,273,145,311,15 154,281,186,310,15 193,281,220,310,15 236,283,269,310,15 284,271,317,310,15 375,259,411,310,15 403,279,444,311,15 451,281,476,309,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005215.jpg 31,29,303,336,12 369,62,479,313,14 250,79,374,329,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005216.jpg 1,1,500,360,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005217.jpg 1,8,296,334,15 122,1,290,284,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005218.jpg 55,167,375,369,6 1,160,299,315,6 110,130,182,416,14 181,130,269,405,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005220.jpg 130,237,255,280,6 380,219,469,250,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005221.jpg 56,69,305,459,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005231.jpg 177,71,326,181,19 7,174,185,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005233.jpg 47,45,499,322,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005234.jpg 20,61,463,364,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005235.jpg 110,123,260,385,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005236.jpg 1,30,352,500,14 167,45,372,500,14 157,1,179,55,4 200,1,223,61,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005240.jpg 221,92,379,319,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005242.jpg 6,186,249,430,15 111,3,231,109,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005243.jpg 237,149,327,241,13 227,112,326,197,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005244.jpg 1,1,375,500,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005245.jpg 31,179,301,372,13 38,152,185,237,13 280,170,343,238,13 243,144,337,181,6 1,142,134,190,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005247.jpg 1,71,273,285,7 74,119,374,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005248.jpg 261,167,372,307,8 166,173,262,291,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005250.jpg 243,197,311,226,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005251.jpg 89,48,438,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005252.jpg 38,131,350,273,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005253.jpg 1,84,500,278,0 191,119,252,285,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005254.jpg 106,37,452,286,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005255.jpg 157,63,490,294,19 68,182,157,215,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005257.jpg 383,133,406,200,4 283,215,435,375,8 36,183,180,375,8 164,147,263,310,8 243,125,306,172,19 131,166,417,356,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005260.jpg 336,224,374,291,2 134,234,230,285,2 174,176,252,219,2 46,169,121,218,2 398,44,478,94,2 142,121,239,162,2 79,93,161,133,2 1,104,35,154,2 1,242,47,288,2 221,284,299,360,2 369,146,407,197,2 445,222,500,248,2 247,15,298,54,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005261.jpg 103,201,130,245,3 178,210,261,242,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005266.jpg 109,327,497,375,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005269.jpg 24,89,441,319,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005270.jpg 22,79,492,303,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005271.jpg 37,38,280,375,14 346,187,431,375,14 266,196,371,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005272.jpg 3,117,311,490,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005276.jpg 8,361,77,461,1 106,300,174,482,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005277.jpg 233,173,375,498,5 150,370,187,471,14 93,364,129,466,14 59,370,94,457,14 15,373,44,449,14 197,373,219,395,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005279.jpg 270,87,373,239,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005281.jpg 142,96,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005282.jpg 304,1,500,375,18 1,59,257,273,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005283.jpg 33,45,433,302,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005288.jpg 243,24,500,285,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005294.jpg 197,32,252,172,14 18,65,335,162,6 60,62,113,77,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005295.jpg 227,238,263,259,4 119,68,246,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005296.jpg 120,150,255,374,2 314,291,377,365,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005297.jpg 53,61,451,307,13 442,1,489,82,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005300.jpg 26,58,467,323,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005303.jpg 154,39,485,345,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005304.jpg 63,51,390,290,12 245,97,448,297,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005309.jpg 140,1,500,283,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005310.jpg 48,32,312,188,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005313.jpg 320,34,484,160,12 66,18,201,121,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005315.jpg 304,70,400,98,3 77,79,193,300,14 81,35,245,296,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005316.jpg 314,280,359,375,14 244,233,312,279,6 54,213,191,273,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005319.jpg 1,197,205,317,6 135,181,184,215,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005321.jpg 97,182,310,438,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005323.jpg 218,192,450,343,17 22,201,193,337,8 1,177,139,265,17 229,168,326,320,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005324.jpg 318,80,367,255,4 86,200,101,249,4 39,41,417,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005325.jpg 11,1,471,369,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005327.jpg 1,48,414,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005329.jpg 162,101,242,201,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005331.jpg 1,2,414,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005333.jpg 219,105,372,236,11 1,138,145,214,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005335.jpg 1,1,500,332,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005336.jpg 182,11,500,375,14 71,215,132,361,11 181,139,231,174,6 417,121,457,151,6 3,19,106,365,14 5,83,107,163,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005337.jpg 102,69,276,250,7 327,125,483,235,7 258,108,374,226,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005338.jpg 1,83,500,375,0 186,196,226,323,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005342.jpg 333,128,457,226,19 1,225,344,375,10 245,200,365,375,8 400,85,418,127,4 343,136,370,217,4 267,139,290,244,4 209,133,239,207,4 176,133,206,160,4 248,147,271,207,4 216,147,233,205,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005345.jpg 30,301,185,473,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005346.jpg 80,16,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005347.jpg 378,197,401,262,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005348.jpg 5,58,500,287,10 1,31,79,162,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005349.jpg 9,22,491,198,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005350.jpg 112,288,185,347,5 104,325,230,410,5 158,382,217,417,6 240,338,279,359,6 266,321,300,343,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005354.jpg 1,1,272,244,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005356.jpg 61,18,427,365,1 5,1,384,83,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005357.jpg 41,84,382,247,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005359.jpg 21,187,158,211,3 228,192,295,360,14 275,167,352,360,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005360.jpg 31,11,461,332,5 289,51,480,263,5 301,100,348,202,14 17,189,102,360,14 166,191,224,360,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005361.jpg 129,105,319,266,11 417,94,459,127,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005362.jpg 200,136,338,212,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005363.jpg 156,115,355,298,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005365.jpg 59,51,396,465,12 176,1,282,294,14 363,168,425,398,14 386,157,470,400,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005367.jpg 80,124,380,245,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005369.jpg 243,196,421,375,12 1,1,294,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005373.jpg 18,23,500,238,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005374.jpg 36,91,464,343,13 176,31,346,370,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005375.jpg 156,105,252,294,9 205,163,388,324,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005376.jpg 6,2,482,374,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005378.jpg 144,143,427,270,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005379.jpg 87,35,355,251,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005380.jpg 1,11,247,391,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005382.jpg 244,247,326,312,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005386.jpg 85,30,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005389.jpg 1,59,286,375,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005393.jpg 168,131,335,261,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005395.jpg 157,152,464,279,14 40,115,500,284,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005396.jpg 1,1,290,500,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005398.jpg 170,131,337,193,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005399.jpg 134,198,160,287,4 164,192,185,281,4 177,198,203,277,4 191,184,212,270,4 204,183,227,258,4 222,195,242,250,4 233,179,267,249,4 3,111,168,352,14 125,7,262,230,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005400.jpg 106,130,166,170,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005404.jpg 91,35,483,306,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005405.jpg 200,198,311,305,6 394,203,500,302,6 307,234,330,258,6 100,240,118,256,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005406.jpg 117,24,207,157,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005408.jpg 90,70,461,353,12 216,48,337,201,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005412.jpg 49,114,367,359,1 131,94,261,324,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005414.jpg 197,113,243,170,8 197,90,247,170,14 239,105,285,172,14 323,115,361,171,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005415.jpg 103,134,219,324,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005417.jpg 50,266,142,375,8 133,300,220,375,8 227,283,313,375,8 295,207,483,375,15 198,245,221,273,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005421.jpg 8,100,321,302,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005422.jpg 71,70,448,317,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005423.jpg 187,163,447,299,13 1,107,177,300,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005427.jpg 48,83,356,333,13 114,1,278,205,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005429.jpg 65,144,407,344,13 340,122,500,241,13 156,46,292,370,14 261,5,343,238,14 438,1,479,142,14 477,25,500,133,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005431.jpg 320,128,373,227,12 143,104,226,229,12 140,52,236,280,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005433.jpg 237,189,274,209,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005436.jpg 2,26,328,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005439.jpg 17,114,289,483,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005443.jpg 63,61,393,332,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005444.jpg 70,12,335,243,14 9,81,393,235,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005445.jpg 58,149,147,248,19 145,64,247,407,14 68,158,188,456,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005446.jpg 78,91,389,284,18 460,211,500,236,6 444,207,481,222,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005447.jpg 391,230,465,278,16 283,213,361,264,16 1,1,319,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005449.jpg 160,117,368,324,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005451.jpg 119,82,356,263,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005455.jpg 32,95,464,219,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005456.jpg 42,25,380,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005460.jpg 90,1,364,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005463.jpg 13,106,185,227,7 184,45,485,283,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005465.jpg 144,61,500,267,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005467.jpg 42,119,363,319,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005469.jpg 1,39,321,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005472.jpg 59,175,454,375,14 226,1,383,217,14 376,141,489,180,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005473.jpg 85,139,203,232,12 220,146,247,220,12 290,143,325,229,12 314,134,384,216,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005477.jpg 25,49,333,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005480.jpg 53,1,178,173,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005484.jpg 80,248,332,375,1 128,32,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005485.jpg 1,48,482,421,12 373,124,484,376,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005490.jpg 18,120,283,343,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005491.jpg 128,173,195,202,0 250,196,316,223,0 393,194,462,223,0 328,195,393,225,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005494.jpg 219,127,500,375,16 73,90,196,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005496.jpg 31,138,214,500,7 203,262,408,405,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005498.jpg 1,118,307,373,12 126,61,292,308,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005500.jpg 110,160,254,467,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005501.jpg 229,22,356,231,14 128,72,402,289,12 105,96,137,164,14 364,307,488,422,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005502.jpg 33,1,276,304,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005504.jpg 369,89,459,285,3 276,115,346,288,3 24,141,138,342,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005505.jpg 182,90,256,178,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005507.jpg 76,93,392,393,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005510.jpg 132,135,303,342,7 67,320,229,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005511.jpg 163,169,309,369,15 27,109,194,257,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005512.jpg 192,51,359,268,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005514.jpg 133,34,378,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005517.jpg 155,2,306,213,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005519.jpg 257,120,352,230,15 76,148,165,255,15 373,17,444,171,14 279,51,360,138,14 98,81,150,152,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005521.jpg 15,231,63,288,2 11,181,59,246,2 83,191,129,237,2 218,164,284,230,2 326,113,386,188,2 355,101,399,162,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005522.jpg 170,252,251,316,2 193,381,249,473,2 84,251,138,316,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005523.jpg 63,41,421,362,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005525.jpg 206,44,330,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005526.jpg 188,23,336,263,3 78,181,112,239,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005527.jpg 1,113,269,313,11 208,93,364,309,11 192,1,379,299,14 319,28,500,228,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005530.jpg 131,223,161,271,3 224,231,243,260,3 256,229,270,251,3 340,217,369,255,3 454,224,486,259,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005531.jpg 94,49,289,362,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005534.jpg 119,94,240,191,2 221,180,348,300,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005536.jpg 17,65,102,160,3 108,60,344,159,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005538.jpg 163,49,402,248,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005541.jpg 35,91,500,256,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005544.jpg 337,47,500,324,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005548.jpg 148,97,411,257,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005549.jpg 462,180,475,212,4 355,190,437,281,8 264,144,378,225,14 106,5,362,281,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005550.jpg 170,43,362,292,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005552.jpg 1,1,336,500,8 1,78,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005553.jpg 154,1,375,500,1 8,1,83,216,14 294,1,375,215,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005558.jpg 62,187,389,410,12 136,79,231,272,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005560.jpg 163,402,229,500,4 299,261,336,369,4 332,279,367,377,4 156,145,332,411,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005561.jpg 67,127,317,444,8 45,105,221,344,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005563.jpg 301,52,382,127,14 75,186,162,324,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005564.jpg 279,46,382,220,11 68,112,236,293,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005566.jpg 139,174,361,290,7 54,1,438,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005567.jpg 1,45,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005569.jpg 1,78,375,500,7 1,24,107,184,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005570.jpg 70,213,474,375,10 1,119,115,357,14 71,128,135,232,14 143,113,234,218,14 284,113,356,269,14 339,99,464,307,14 361,65,418,165,14 294,72,357,183,14 238,177,288,236,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005572.jpg 1,224,196,339,6 401,255,500,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005573.jpg 412,259,453,281,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005574.jpg 1,26,286,500,8 215,32,375,407,8 45,164,311,475,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005582.jpg 127,186,209,375,12 346,171,469,375,12 356,136,453,300,14 170,197,249,375,14 91,212,139,375,14 287,215,342,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005584.jpg 342,177,449,293,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005588.jpg 156,75,276,201,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005589.jpg 1,1,500,439,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005591.jpg 266,97,473,252,11 201,143,401,260,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005593.jpg 75,96,453,132,3 25,140,433,295,6 405,154,471,239,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005599.jpg 42,152,117,299,1 186,200,500,375,1 76,181,299,351,1 447,103,500,369,14 269,90,430,375,14 265,169,362,356,14 380,90,426,211,14 150,74,256,358,14 88,85,147,297,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005600.jpg 91,86,252,375,7 126,29,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005601.jpg 172,123,316,191,11 195,233,242,293,2 149,159,202,198,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005603.jpg 10,34,451,241,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005608.jpg 372,194,500,250,8 304,251,416,374,8 352,230,500,374,10 30,1,94,76,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005609.jpg 1,1,375,433,19 29,43,214,240,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005610.jpg 207,243,306,272,3 223,176,263,255,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005611.jpg 1,5,500,388,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005612.jpg 10,180,159,244,6 141,193,217,249,6 330,162,480,375,14 333,172,397,375,14 249,170,307,375,14 203,178,258,375,14 289,187,325,317,14 162,249,191,324,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005614.jpg 120,209,236,291,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005616.jpg 138,274,255,500,14 12,247,131,500,14 144,297,270,495,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005618.jpg 108,102,422,440,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005623.jpg 7,5,491,247,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005625.jpg 40,185,142,279,19 376,97,500,375,14 336,65,426,375,14 127,126,206,289,14 139,110,226,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005626.jpg 247,109,375,172,2 103,158,241,205,2 36,259,177,318,2 109,74,206,156,2 382,220,446,299,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005627.jpg 1,1,271,204,17 211,1,287,43,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005628.jpg 32,1,199,257,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005631.jpg 79,130,317,198,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005633.jpg 131,77,473,296,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005634.jpg 6,68,493,212,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005635.jpg 183,69,247,261,14 247,112,353,183,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005636.jpg 47,27,309,257,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005637.jpg 6,103,484,307,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005638.jpg 45,135,451,298,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005639.jpg 14,100,115,192,19 394,347,422,375,4 477,341,500,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005641.jpg 170,91,411,188,6 29,94,51,129,14 51,94,75,129,14 76,95,100,128,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005642.jpg 286,50,443,359,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005643.jpg 48,45,371,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005646.jpg 87,55,500,375,14 259,298,306,375,4 86,61,308,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005649.jpg 94,48,500,297,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005650.jpg 282,211,345,322,1 177,256,243,368,1 125,227,176,334,1 450,142,475,179,1 206,109,231,124,1 175,164,254,353,14 286,156,341,302,14 120,151,185,319,14 452,120,476,172,14 347,108,364,144,14 303,102,317,131,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005652.jpg 68,1,366,282,11 1,95,83,223,14 14,13,74,85,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005653.jpg 210,82,500,341,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005656.jpg 84,78,500,318,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005657.jpg 92,74,415,452,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005660.jpg 4,95,263,329,19 259,105,472,294,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005663.jpg 44,69,425,435,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005664.jpg 195,225,330,240,3 302,209,322,233,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005668.jpg 114,128,500,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005673.jpg 186,45,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005675.jpg 43,165,119,229,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005676.jpg 25,176,212,237,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005677.jpg 252,167,400,264,14 295,67,400,196,14 226,66,334,186,14 1,134,139,264,14 1,84,84,231,14 82,38,211,145,14 229,100,242,145,4 220,105,235,152,4 207,89,222,152,4 125,105,240,264,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005678.jpg 119,86,439,343,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005679.jpg 6,58,468,400,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005680.jpg 62,183,157,318,15 138,156,250,318,15 352,13,445,88,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005681.jpg 297,253,362,295,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005682.jpg 345,102,418,242,12 355,56,423,181,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005683.jpg 385,138,456,229,3 79,127,154,228,3 221,143,289,228,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005685.jpg 1,39,500,333,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005686.jpg 20,26,452,280,6 1,36,49,137,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005687.jpg 122,385,235,467,2 125,309,201,384,2 247,296,325,381,2 215,362,253,414,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005691.jpg 128,1,480,278,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005695.jpg 99,46,398,266,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005698.jpg 73,205,298,384,8 229,34,386,384,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005699.jpg 1,60,321,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005701.jpg 177,34,375,453,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005702.jpg 332,112,443,276,12 256,136,308,209,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005703.jpg 131,13,249,240,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005705.jpg 325,103,464,298,12 105,115,215,241,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005706.jpg 22,12,233,324,16 177,13,485,364,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005707.jpg 1,158,491,375,6 324,108,500,275,14 221,174,350,375,14 140,122,291,169,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005713.jpg 58,99,382,308,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005714.jpg 43,46,298,218,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005716.jpg 64,5,461,216,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005719.jpg 284,164,337,192,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005720.jpg 36,119,500,328,3 1,345,120,374,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005721.jpg 47,207,93,225,6 1,209,45,226,6 437,217,458,233,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005724.jpg 86,82,333,363,2 1,215,333,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005726.jpg 89,74,456,333,12 166,48,297,233,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005727.jpg 57,79,464,359,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005728.jpg 165,124,307,269,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005732.jpg 87,57,215,375,14 1,114,54,172,19 455,98,500,138,19 267,56,303,149,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005734.jpg 227,151,330,283,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005735.jpg 43,32,290,455,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005736.jpg 36,92,117,146,16 324,130,439,242,16 219,157,345,240,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005737.jpg 117,310,240,500,1 54,253,112,345,1 1,332,91,500,1 134,206,248,479,14 47,202,110,319,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005738.jpg 48,253,267,408,1 160,193,267,485,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005739.jpg 27,37,75,122,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005742.jpg 1,168,35,317,14 53,187,91,297,14 352,193,410,323,14 104,138,444,263,18 1,136,172,240,18 377,215,460,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005747.jpg 1,32,369,500,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005748.jpg 48,40,436,454,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005750.jpg 135,326,375,500,0 1,314,272,500,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005752.jpg 102,81,145,193,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005757.jpg 269,85,434,284,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005758.jpg 103,190,234,500,14 222,1,363,500,4 1,1,130,500,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005761.jpg 23,1,250,218,5 56,42,242,258,6 178,15,332,324,14 292,97,421,381,14 344,81,500,332,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005763.jpg 40,83,399,245,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005764.jpg 160,178,302,214,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005767.jpg 1,41,333,486,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005768.jpg 39,256,293,394,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005770.jpg 54,42,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005774.jpg 268,50,338,121,2 194,85,260,144,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005777.jpg 84,45,356,266,7 56,1,314,198,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005779.jpg 70,193,161,483,14 192,210,264,475,14 9,249,27,307,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005780.jpg 68,45,197,307,7 135,189,306,370,7 289,89,432,352,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005788.jpg 108,83,274,375,14 187,116,456,344,14 279,56,500,269,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005790.jpg 126,97,257,243,14 125,117,217,253,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005791.jpg 5,113,417,346,12 203,57,310,264,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005792.jpg 86,100,430,294,12 166,75,257,244,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005794.jpg 406,70,497,179,15 308,69,358,231,14 179,135,237,215,14 137,52,178,208,14 169,92,202,194,14 171,58,207,153,14 255,74,284,155,14 61,77,98,144,14 17,44,67,215,14 67,100,103,146,8 104,100,140,139,8 209,48,254,151,14 358,65,398,169,14 224,109,287,208,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005796.jpg 1,63,500,290,0 253,99,306,282,14 12,133,35,160,8 216,109,328,161,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005798.jpg 362,1,500,340,15 73,56,307,329,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005800.jpg 1,55,375,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005801.jpg 1,40,500,325,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005803.jpg 98,122,420,433,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005805.jpg 1,16,500,332,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005808.jpg 280,126,350,334,14 223,110,284,324,14 163,160,234,294,14 88,100,189,282,14 233,196,429,342,1 1,171,76,298,1 1,159,76,254,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005810.jpg 194,107,328,272,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005812.jpg 65,105,123,268,4 31,5,463,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005816.jpg 1,1,500,369,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005817.jpg 178,84,311,183,19 298,191,350,266,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005818.jpg 315,28,465,315,12 302,102,365,272,12 188,117,314,287,12 109,91,226,287,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005821.jpg 1,1,438,333,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005822.jpg 140,173,363,265,6 370,183,500,250,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005823.jpg 95,256,295,411,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005825.jpg 1,1,460,375,18 153,130,232,375,14 230,160,311,375,14 467,104,486,145,14 441,102,466,167,14 416,102,447,201,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005831.jpg 260,256,313,339,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005832.jpg 1,88,69,147,6 160,127,289,228,6 48,94,109,311,14 96,58,178,314,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005834.jpg 1,127,474,261,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005838.jpg 106,160,464,433,11 112,1,445,362,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005839.jpg 201,297,383,375,1 1,270,189,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005843.jpg 158,166,230,249,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005845.jpg 142,13,363,305,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005846.jpg 109,94,430,375,1 189,43,368,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005847.jpg 1,5,216,375,15 163,1,500,375,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005848.jpg 247,238,375,380,8 149,132,270,493,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005850.jpg 114,36,309,266,14 170,240,369,334,11 133,48,500,322,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005853.jpg 179,157,310,348,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005855.jpg 1,175,71,259,14 77,176,135,264,14 132,176,199,268,14 186,179,274,272,14 258,178,345,276,14 368,199,444,280,14 1,247,500,304,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005856.jpg 201,294,233,345,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005857.jpg 1,1,289,375,8 1,70,314,288,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005860.jpg 1,114,371,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005863.jpg 1,1,474,372,3 6,254,21,285,14 382,249,401,267,3 412,224,428,266,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005865.jpg 211,210,318,333,11 5,194,419,335,6 1,185,188,317,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005867.jpg 332,117,364,211,4 452,102,492,209,4 64,63,154,206,4 150,1,297,77,14 347,15,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005869.jpg 48,243,79,336,4 116,63,500,375,14 243,6,316,101,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005871.jpg 42,54,410,377,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005873.jpg 132,197,205,235,0 60,200,126,235,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005874.jpg 116,32,445,362,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005875.jpg 63,52,434,277,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005877.jpg 8,80,262,285,19 355,214,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005878.jpg 62,1,375,500,5 18,379,53,418,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005881.jpg 188,180,244,257,4 1,65,346,500,14 1,125,97,234,14 271,1,375,313,14 1,206,115,415,8 93,186,162,325,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005882.jpg 194,136,391,258,11 83,185,218,271,7 1,75,486,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005883.jpg 207,33,372,255,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005884.jpg 1,95,60,207,14 96,98,239,231,14 186,67,482,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005889.jpg 1,84,463,252,0 435,277,500,317,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005890.jpg 1,4,141,113,11 387,68,493,120,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005891.jpg 246,180,418,260,6 16,118,312,249,5 324,123,478,193,5 444,116,500,178,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005893.jpg 23,1,483,316,13 1,1,500,196,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005895.jpg 103,131,347,179,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005897.jpg 157,95,479,268,11 83,40,122,67,15 171,13,206,58,15 226,4,259,34,15 258,1,297,39,15 31,39,62,81,15 67,1,108,70,15 94,60,128,91,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005898.jpg 141,1,412,336,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005902.jpg 80,115,237,445,13 261,52,375,126,6 214,39,248,100,14 172,39,203,105,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005903.jpg 121,117,278,346,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005904.jpg 251,1,452,304,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005905.jpg 133,109,175,143,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005907.jpg 88,220,228,269,6 268,230,299,289,14 24,136,458,260,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005914.jpg 479,171,500,200,8 275,200,321,253,8 384,157,418,212,15 184,191,286,263,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005915.jpg 1,80,500,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005916.jpg 1,51,461,237,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005918.jpg 160,117,356,279,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005921.jpg 53,199,341,388,1 197,217,418,356,1 248,39,347,382,14 173,66,272,378,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005923.jpg 21,41,479,314,3 87,112,138,175,14 300,156,357,218,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005924.jpg 130,183,184,226,2 346,154,400,193,2 345,229,398,261,2 131,261,186,299,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005926.jpg 1,275,257,500,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005928.jpg 146,6,500,335,12 4,22,202,335,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005929.jpg 207,1,449,208,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005933.jpg 183,94,364,144,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005934.jpg 219,34,500,289,12 318,1,428,142,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005935.jpg 18,12,364,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005936.jpg 1,26,500,372,6 264,1,472,82,6 197,1,300,45,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005937.jpg 48,75,316,470,14 34,216,129,378,8 1,133,28,246,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005938.jpg 74,45,338,234,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005939.jpg 1,323,46,433,4 1,3,500,466,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005943.jpg 11,2,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005945.jpg 239,1,345,236,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005954.jpg 389,214,452,328,8 1,203,57,297,8 1,278,295,375,10 194,99,315,171,19 419,269,500,375,8 8,30,131,233,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005956.jpg 50,149,206,292,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005957.jpg 342,97,500,253,19 135,45,379,332,14 1,1,176,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005959.jpg 271,147,295,159,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005960.jpg 11,96,472,349,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005962.jpg 80,43,390,283,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005964.jpg 61,76,461,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005967.jpg 206,94,295,170,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005968.jpg 1,4,500,375,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005970.jpg 1,1,330,288,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005972.jpg 12,137,289,333,11 181,91,500,304,14 1,68,500,381,6 116,10,500,153,6 173,1,214,18,6 211,1,252,18,6 256,1,292,17,6 358,1,392,16,6 465,1,492,14,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005975.jpg 1,102,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005976.jpg 26,25,496,321,19 14,43,467,357,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005977.jpg 27,23,453,291,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005978.jpg 47,53,222,475,14 44,248,194,500,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005979.jpg 52,259,333,500,11 1,191,172,330,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005980.jpg 130,401,206,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005982.jpg 11,16,491,315,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005984.jpg 21,34,497,357,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005987.jpg 306,110,436,249,16 35,155,85,228,16 22,73,62,98,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005989.jpg 75,118,392,260,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005991.jpg 79,162,197,209,4 73,126,316,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_005997.jpg 137,128,223,230,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006000.jpg 203,127,312,231,2 326,48,415,144,2 359,162,394,277,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006002.jpg 227,257,482,367,2 91,27,213,212,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006004.jpg 18,308,48,336,4 42,311,70,342,4 61,310,91,336,4 220,240,257,370,4 238,249,284,386,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006007.jpg 81,30,414,332,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006008.jpg 170,323,335,500,8 38,311,179,500,8 21,270,92,452,8 24,285,264,500,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006010.jpg 83,223,188,415,18 105,152,133,188,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006014.jpg 199,175,283,194,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006017.jpg 62,45,392,374,13 1,1,81,93,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006020.jpg 1,28,422,327,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006021.jpg 204,67,265,208,14 198,187,278,245,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006024.jpg 270,91,462,375,14 1,86,238,375,14 256,225,346,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006027.jpg 153,265,217,375,4 121,58,499,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006028.jpg 145,38,323,350,12 61,1,500,304,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006031.jpg 128,93,354,273,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006032.jpg 54,206,296,500,11 25,7,218,490,14 146,57,223,201,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006034.jpg 145,251,180,292,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006036.jpg 119,298,264,374,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006037.jpg 83,178,141,210,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006038.jpg 67,46,362,166,11 1,136,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006039.jpg 1,137,117,303,14 47,76,155,242,14 117,77,195,238,14 173,73,229,186,14 243,63,328,150,14 339,69,401,198,14 381,84,455,285,14 400,134,500,375,14 214,120,426,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006041.jpg 1,75,64,244,14 1,195,142,375,11 99,284,209,375,11 131,35,316,207,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006042.jpg 1,212,361,500,13 1,16,172,498,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006045.jpg 1,137,197,300,8 1,94,264,300,8 78,77,364,300,8 152,59,400,300,8 218,47,400,300,8 278,34,400,281,8 331,23,400,139,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006046.jpg 203,308,375,365,3 88,196,375,359,3 1,187,245,331,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006047.jpg 262,60,368,128,19 159,154,309,375,14 327,148,395,375,14 310,71,342,122,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006049.jpg 141,95,339,320,11 256,63,400,270,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006050.jpg 1,20,480,279,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006052.jpg 157,1,461,137,4 1,1,500,335,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006055.jpg 29,50,434,246,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006058.jpg 179,145,239,216,2 244,192,287,234,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006059.jpg 104,170,213,441,16 41,127,132,457,14 229,143,333,475,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006062.jpg 306,261,327,316,4 207,211,300,301,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006063.jpg 2,2,375,500,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006064.jpg 64,274,275,359,1 184,250,342,353,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006065.jpg 133,74,367,256,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006067.jpg 45,226,192,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006068.jpg 39,168,394,290,7 349,53,477,235,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006070.jpg 37,50,458,413,16 140,20,473,363,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006071.jpg 287,190,388,266,11 173,189,227,281,11 65,94,174,280,14 325,163,367,216,14 350,163,385,213,14 437,142,485,160,6 311,133,359,152,6 189,123,240,142,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006072.jpg 96,1,328,487,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006074.jpg 204,112,500,262,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006076.jpg 100,228,343,375,8 139,44,337,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006078.jpg 1,86,152,375,14 91,157,217,375,14 182,157,289,375,14 272,156,356,375,14 323,128,457,375,14 369,129,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006081.jpg 67,58,292,457,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006082.jpg 1,321,105,375,6 374,321,433,351,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006085.jpg 1,91,485,241,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006087.jpg 281,162,340,335,14 379,200,410,310,14 398,165,438,301,14 428,180,457,303,14 120,133,163,255,14 44,175,269,355,12 341,172,399,297,12 424,170,453,187,6 387,168,413,188,6 354,172,381,189,6 319,167,356,187,6 264,163,302,178,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006088.jpg 81,244,282,500,1 56,5,301,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006090.jpg 126,133,400,263,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006092.jpg 211,251,323,306,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006094.jpg 1,65,439,333,3 315,18,393,35,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006096.jpg 132,76,344,238,12 65,83,184,198,12 213,36,257,166,14 134,52,170,148,14 43,88,114,187,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006099.jpg 1,6,372,473,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006100.jpg 27,206,189,431,16 168,221,301,440,16 16,110,81,178,16 36,95,120,163,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006102.jpg 114,185,268,413,14 115,279,165,345,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006104.jpg 90,47,265,486,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006108.jpg 35,92,274,327,14 274,138,453,357,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006109.jpg 25,128,132,170,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006111.jpg 388,1,413,64,4 417,1,446,75,4 446,1,477,80,4 121,78,150,183,4 110,86,214,159,8 270,130,442,371,8 358,189,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006112.jpg 74,194,242,367,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006113.jpg 1,1,429,347,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006117.jpg 30,87,451,294,14 1,90,475,375,17 164,1,392,84,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006119.jpg 76,34,500,338,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006120.jpg 52,241,340,375,10 268,143,446,375,14 273,171,381,286,14 269,160,368,304,14 260,142,323,241,14 234,154,274,216,14 155,147,233,222,14 104,150,163,231,14 124,100,215,177,14 176,88,239,196,14 180,82,348,196,14 281,91,360,180,14 13,78,120,201,14 55,155,130,264,14 1,158,97,311,14 216,190,242,257,4 159,202,183,243,4 135,185,163,242,4 184,215,206,289,4 159,241,177,298,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006121.jpg 73,170,252,258,3 236,209,275,300,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006124.jpg 32,133,160,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006128.jpg 1,52,343,408,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006129.jpg 280,201,347,316,11 129,62,279,317,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006130.jpg 76,64,500,265,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006133.jpg 139,230,218,397,8 91,206,149,248,8 65,261,124,360,8 82,236,216,380,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006135.jpg 26,164,99,230,7 16,242,135,361,19 107,36,354,500,14 222,131,368,391,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006136.jpg 179,100,307,214,19 153,176,174,241,4 160,182,188,256,4 189,186,214,256,4 273,171,296,236,4 293,168,315,229,4 430,239,500,317,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006140.jpg 1,93,492,266,0 1,217,97,245,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006143.jpg 213,156,263,225,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006144.jpg 162,1,305,359,4 371,156,438,375,4 1,213,51,375,4 1,1,105,330,4 98,63,154,238,4 255,1,323,285,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006145.jpg 78,333,108,375,4 28,320,56,375,4 6,338,22,375,4 173,153,339,365,14 293,220,424,375,14 205,203,336,375,14 10,114,133,369,14 62,130,163,349,14 161,116,196,165,14 293,114,378,252,14 311,86,368,180,14 119,121,232,368,14 140,90,176,136,14 208,96,238,171,14 245,94,319,213,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006147.jpg 242,6,471,372,19 2,6,245,382,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006148.jpg 97,287,169,375,4 1,6,320,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006151.jpg 1,162,108,360,14 80,93,196,260,8 76,125,194,309,8 175,133,313,333,8 302,117,426,302,8 68,111,399,330,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006152.jpg 1,217,427,375,13 295,111,457,375,14 181,81,352,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006154.jpg 329,228,375,449,14 88,258,157,390,14 9,276,57,371,14 48,274,82,378,14 76,321,164,421,1 12,324,66,402,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006158.jpg 103,157,267,281,18 316,192,376,232,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006159.jpg 303,172,444,313,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006163.jpg 225,290,265,341,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006164.jpg 68,71,424,321,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006166.jpg 41,90,356,252,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006169.jpg 1,11,375,472,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006170.jpg 122,29,348,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006175.jpg 1,20,356,300,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006178.jpg 73,20,267,411,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006179.jpg 171,110,268,341,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006181.jpg 103,20,271,480,14 257,184,353,294,6 1,154,101,366,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006182.jpg 1,1,235,333,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006185.jpg 1,178,141,269,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006186.jpg 85,70,310,446,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006188.jpg 25,133,399,347,6 319,122,401,326,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006190.jpg 69,25,300,197,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006192.jpg 1,12,488,375,10 121,87,158,178,4 191,30,234,119,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006194.jpg 1,37,500,422,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006195.jpg 126,64,238,292,14 146,177,237,353,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006200.jpg 1,121,419,243,0 423,154,500,209,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006203.jpg 89,79,411,352,11 1,1,72,215,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006205.jpg 95,93,265,325,13 132,4,308,192,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006207.jpg 93,175,278,435,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006210.jpg 93,27,456,375,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006211.jpg 67,80,263,220,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006213.jpg 42,103,204,200,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006215.jpg 58,50,440,335,6 1,63,230,229,6 435,97,482,203,14 423,96,448,170,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006216.jpg 86,83,152,313,14 144,106,194,313,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006218.jpg 114,32,355,324,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006219.jpg 225,126,331,323,12 78,122,232,289,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006220.jpg 259,121,316,169,11 20,1,500,326,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006221.jpg 117,94,177,150,16 81,178,168,265,16 298,142,411,221,16 375,112,420,171,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006222.jpg 258,215,456,348,6 274,174,328,371,14 221,183,274,347,14 178,177,226,343,14 137,161,188,350,14 4,210,36,284,14 40,212,60,284,14 58,212,81,285,14 1,231,103,270,6 36,94,74,159,14 391,233,500,375,6 419,241,471,266,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006224.jpg 9,55,495,294,6 314,39,475,110,6 97,34,168,74,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006225.jpg 9,1,382,129,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006227.jpg 419,126,477,195,2 420,110,452,154,2 366,90,438,124,2 280,101,351,174,2 266,83,303,124,2 204,96,256,149,2 36,47,69,94,2 83,75,141,131,2 125,68,190,106,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006229.jpg 184,30,391,297,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006232.jpg 139,276,171,321,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006233.jpg 64,1,226,144,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006234.jpg 1,1,500,395,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006235.jpg 51,61,362,489,12 208,213,375,422,12 1,158,57,434,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006239.jpg 1,1,333,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006240.jpg 1,1,458,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006242.jpg 27,1,481,490,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006244.jpg 194,350,243,368,6 351,362,396,381,6 427,364,481,394,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006249.jpg 40,96,93,135,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006250.jpg 36,2,301,375,14 181,156,293,360,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006253.jpg 102,200,383,478,1 118,19,328,434,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006254.jpg 134,287,237,485,1 116,134,244,437,14 296,110,336,231,14 69,12,145,166,1 170,9,245,159,1 26,164,358,416,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006256.jpg 95,39,395,375,14 87,98,292,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006257.jpg 166,207,290,443,1 175,93,291,415,14 33,11,380,332,6 321,81,420,264,6 34,24,99,151,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006258.jpg 106,16,441,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006262.jpg 1,51,366,474,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006265.jpg 1,35,487,293,0 385,236,406,298,14 329,245,346,294,14 353,239,376,298,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006267.jpg 314,59,499,375,14 154,157,376,375,14 58,158,180,330,14 160,131,262,312,14 19,291,204,375,19 1,164,57,261,19 45,148,142,225,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006269.jpg 43,238,230,315,0 131,140,313,211,0 31,116,207,186,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006271.jpg 21,168,118,256,19 231,220,301,281,19 133,218,197,276,19 121,258,226,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006272.jpg 1,165,277,360,6 36,110,135,378,14 166,113,245,373,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006273.jpg 155,240,418,375,19 124,169,398,324,14 1,143,162,330,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006275.jpg 104,62,226,375,14 187,68,338,375,14 312,60,412,375,14 78,149,115,219,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006276.jpg 1,1,500,362,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006280.jpg 164,120,352,334,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006281.jpg 65,71,472,306,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006282.jpg 1,121,105,372,4 64,101,160,337,4 106,78,192,297,4 170,61,244,275,4 231,47,298,257,4 289,42,356,251,4 353,36,412,244,4 404,38,470,261,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006285.jpg 199,10,333,167,7 1,102,500,334,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006288.jpg 43,16,201,226,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006289.jpg 313,176,369,246,14 348,166,380,226,14 1,1,363,307,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006290.jpg 196,171,250,261,9 258,171,331,262,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006294.jpg 32,50,93,132,7 85,59,128,133,7 136,46,186,132,7 185,17,245,133,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006295.jpg 161,32,337,198,19 296,236,337,375,4 49,188,224,329,14 223,134,436,375,14 252,115,448,375,14 431,11,500,275,15 10,104,63,267,15 31,1,142,246,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006298.jpg 126,171,186,253,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006300.jpg 154,248,198,349,8 197,249,235,350,8 236,249,274,349,8 281,249,318,351,8 321,248,359,352,8 360,248,407,352,8 404,248,449,354,8 446,246,496,352,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006303.jpg 85,187,179,314,8 331,188,421,314,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006307.jpg 44,113,349,283,7 148,117,446,255,7 1,1,500,335,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006310.jpg 176,134,230,182,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006311.jpg 1,152,421,233,10 254,223,363,375,8 142,185,237,349,8 1,216,124,375,8 222,75,383,344,14 365,82,496,329,14 8,104,183,305,14 177,28,272,150,14 329,48,410,151,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006315.jpg 1,97,435,298,11 200,71,224,108,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006316.jpg 376,196,494,259,6 321,190,448,264,6 239,183,403,269,6 136,186,345,279,6 12,176,219,281,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006317.jpg 261,35,317,187,14 139,88,388,285,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006320.jpg 112,111,292,297,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006323.jpg 77,5,383,334,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006325.jpg 22,9,471,462,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006327.jpg 232,117,393,286,16 6,71,188,199,16 198,75,340,170,16 167,46,251,223,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006329.jpg 57,47,182,336,7 112,99,318,498,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006330.jpg 30,277,166,500,8 1,269,85,451,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006331.jpg 376,70,390,109,4 399,274,414,323,4 131,95,256,374,14 245,107,384,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006335.jpg 34,24,475,379,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006336.jpg 31,194,237,272,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006337.jpg 245,110,306,195,8 335,114,365,150,15 100,264,147,345,15 96,100,208,192,15 65,173,162,268,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006339.jpg 80,139,301,322,16 90,1,482,271,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006341.jpg 57,7,384,199,7 155,121,450,370,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006345.jpg 203,216,402,425,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006347.jpg 207,55,317,162,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006349.jpg 35,110,485,226,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006350.jpg 105,1,395,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006351.jpg 1,1,264,244,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006353.jpg 1,82,500,241,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006355.jpg 191,121,260,255,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006356.jpg 99,66,438,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006359.jpg 1,10,416,375,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006361.jpg 52,1,345,479,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006362.jpg 147,26,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006364.jpg 1,15,500,277,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006365.jpg 1,229,38,258,6 23,234,78,254,6 89,77,436,301,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006366.jpg 263,310,349,386,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006368.jpg 1,1,317,333,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006369.jpg 150,178,259,262,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006370.jpg 58,138,459,375,17 87,91,365,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006373.jpg 243,1,466,161,19 73,222,177,328,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006376.jpg 30,73,193,287,2 271,99,471,309,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006377.jpg 155,78,346,375,7 17,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006382.jpg 1,163,400,375,6 205,155,303,249,14 247,129,381,289,14 280,124,351,255,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006384.jpg 25,73,197,154,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006386.jpg 92,71,279,343,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006387.jpg 346,109,500,270,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006389.jpg 1,1,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006390.jpg 84,164,240,364,12 188,133,237,192,14 221,127,246,157,14 320,119,381,237,14 312,126,337,162,14 360,119,392,231,14 374,129,406,201,14 240,67,365,191,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006392.jpg 1,228,95,343,6 77,198,101,266,14 127,207,203,368,14 211,190,252,283,14 437,166,456,236,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006394.jpg 50,124,419,232,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006397.jpg 33,183,385,436,12 197,137,294,268,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006400.jpg 10,1,444,283,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006401.jpg 51,89,455,225,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006403.jpg 139,35,372,324,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006404.jpg 45,1,259,259,3 140,221,174,237,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006407.jpg 1,106,426,306,3 146,172,213,226,14 122,155,154,209,14 399,169,459,187,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006408.jpg 6,58,286,364,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006409.jpg 58,70,329,282,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006410.jpg 57,263,266,464,1 65,142,210,386,14 183,147,258,365,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006416.jpg 123,50,309,238,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006417.jpg 42,246,155,292,6 49,224,111,247,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006419.jpg 202,183,280,271,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006421.jpg 83,318,193,500,11 158,183,203,242,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006424.jpg 121,143,320,332,1 121,35,257,321,14 159,33,307,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006425.jpg 184,49,411,227,11 117,40,262,231,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006427.jpg 74,5,188,241,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006429.jpg 56,109,228,335,12 198,36,403,337,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006430.jpg 1,15,280,460,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006432.jpg 125,120,380,310,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006433.jpg 112,151,226,300,19 140,23,480,375,14 384,110,440,175,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006434.jpg 150,48,433,333,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006436.jpg 1,1,348,212,17 14,161,124,259,11 256,65,500,219,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006438.jpg 88,20,404,286,6 438,53,500,207,6 363,16,476,84,6 97,8,187,82,6 1,1,52,80,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006441.jpg 8,21,407,319,13 147,45,255,136,15 371,120,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006447.jpg 102,44,288,364,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006448.jpg 300,93,500,375,14 170,202,303,375,12 34,217,160,375,12 188,135,293,313,14 34,132,164,358,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006449.jpg 91,4,352,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006452.jpg 139,15,500,290,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006458.jpg 21,139,236,439,13 154,47,304,445,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006461.jpg 189,105,284,144,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006462.jpg 116,121,357,330,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006463.jpg 1,82,494,281,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006467.jpg 45,114,359,314,1 155,22,331,279,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006470.jpg 83,13,427,347,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006474.jpg 178,128,241,284,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006475.jpg 322,110,489,202,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006477.jpg 1,104,291,399,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006480.jpg 1,1,446,271,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006481.jpg 200,61,229,137,2 186,229,213,263,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006482.jpg 1,341,201,411,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006483.jpg 125,142,362,255,5 298,210,398,296,6 375,197,454,247,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006487.jpg 1,42,170,278,3 268,300,283,343,14 393,300,415,341,14 448,302,464,343,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006488.jpg 125,190,221,215,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006489.jpg 436,64,489,158,3 384,75,435,160,3 183,66,252,158,3 98,88,143,151,3 2,95,31,150,3 234,105,269,147,3 362,93,406,153,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006490.jpg 100,58,302,332,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006491.jpg 67,160,477,375,13 150,99,240,276,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006496.jpg 214,144,345,323,9 139,115,233,238,9 278,49,313,104,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006497.jpg 270,137,337,187,13 247,151,297,183,14 303,126,345,174,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006500.jpg 141,198,288,216,3 165,184,192,197,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006502.jpg 99,57,257,375,11 280,44,473,341,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006503.jpg 243,67,285,93,2 273,278,306,298,2 316,268,343,284,2 406,265,433,284,2 465,255,487,270,2 455,253,477,269,2 438,238,457,252,2 319,236,339,249,2 305,232,326,247,2 286,230,303,245,2 171,244,195,260,2 98,238,118,252,2 78,230,98,245,2 24,223,43,240,2 52,222,69,236,2 136,222,158,237,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006506.jpg 46,365,153,404,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006509.jpg 186,359,221,396,15 166,381,198,411,15 51,453,120,500,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006511.jpg 137,137,291,347,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006512.jpg 1,1,403,303,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006517.jpg 1,1,418,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006519.jpg 221,201,346,306,1 235,134,296,305,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006520.jpg 140,58,416,332,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006522.jpg 1,157,45,185,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006523.jpg 70,1,500,375,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006524.jpg 1,2,211,300,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006526.jpg 209,13,500,333,14 1,176,85,298,13 14,163,106,252,13 204,141,248,179,6 87,128,137,155,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006528.jpg 112,72,324,350,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006530.jpg 1,1,500,375,5 124,163,196,222,14 275,128,354,223,14 334,116,417,223,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006534.jpg 17,18,476,363,15 411,158,500,328,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006538.jpg 289,209,420,326,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006540.jpg 176,112,491,208,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006543.jpg 73,277,193,365,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006546.jpg 231,56,405,245,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006547.jpg 148,215,285,324,9 81,175,126,210,9 322,186,355,214,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006548.jpg 1,128,393,217,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006549.jpg 66,161,473,375,13 149,99,240,277,14 6,244,98,306,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006553.jpg 76,50,345,297,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006554.jpg 62,79,369,278,5 318,147,377,324,14 380,143,428,338,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006558.jpg 158,29,280,488,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006561.jpg 1,24,324,303,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006562.jpg 59,1,339,375,15 269,48,442,335,15 31,183,303,271,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006564.jpg 121,166,306,212,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006566.jpg 232,142,372,258,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006567.jpg 22,130,250,266,13 79,109,174,238,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006568.jpg 21,13,219,499,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006570.jpg 119,211,227,388,16 99,142,224,474,14 249,169,375,482,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006576.jpg 84,80,361,283,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006578.jpg 208,119,285,296,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006579.jpg 16,27,480,353,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006585.jpg 239,207,264,279,4 271,192,296,266,4 212,207,234,290,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006586.jpg 120,223,209,272,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006587.jpg 184,122,344,337,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006588.jpg 1,1,189,99,10 186,20,392,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006591.jpg 190,1,393,71,19 388,1,500,85,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006598.jpg 43,115,114,210,2 317,115,433,266,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006599.jpg 34,1,281,283,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006600.jpg 1,172,13,193,6 416,173,463,200,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006602.jpg 139,170,380,310,11 110,58,191,190,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006604.jpg 1,97,500,375,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006605.jpg 253,123,331,227,19 103,262,138,358,4 93,247,117,355,4 361,150,445,234,19 76,257,104,352,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006606.jpg 392,232,492,333,8 221,188,294,313,8 102,203,187,333,8 366,162,430,230,19 240,152,284,188,19 108,153,182,210,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006609.jpg 37,71,231,363,7 280,1,500,363,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006610.jpg 368,191,396,246,2 292,168,311,217,2 236,149,292,273,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006611.jpg 1,183,157,343,8 167,185,346,343,8 90,219,414,343,10 1,109,205,343,14 338,95,497,343,14 203,250,229,278,15 25,88,114,142,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006613.jpg 143,133,255,366,12 247,123,341,375,12 165,35,247,252,14 280,45,365,264,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006614.jpg 115,1,463,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006616.jpg 187,261,348,412,11 116,10,483,444,14 26,104,500,303,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006617.jpg 107,82,379,298,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006619.jpg 7,103,495,227,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006621.jpg 1,84,499,232,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006623.jpg 3,88,496,235,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006624.jpg 90,250,165,312,19 172,313,318,470,8 144,329,193,403,8 220,243,264,308,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006625.jpg 62,1,498,311,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006626.jpg 33,69,295,467,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006629.jpg 102,1,471,302,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006631.jpg 17,52,500,335,0 191,96,341,338,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006634.jpg 1,78,225,332,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006635.jpg 180,108,376,250,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006637.jpg 87,103,411,207,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006638.jpg 250,68,453,192,6 38,79,377,349,6 1,50,137,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006641.jpg 50,22,165,486,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006642.jpg 162,149,254,214,1 165,118,209,200,14 180,115,233,206,14 350,139,500,195,6 84,128,289,189,6 1,133,65,183,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006645.jpg 54,82,500,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006646.jpg 29,88,477,476,12 160,4,273,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006649.jpg 31,19,461,474,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006650.jpg 63,52,280,500,12 314,248,375,500,14 1,238,118,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006654.jpg 129,138,161,209,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006655.jpg 1,169,426,276,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006656.jpg 19,12,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006657.jpg 1,26,312,375,7 306,185,382,349,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006660.jpg 266,165,354,320,8 234,192,358,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006662.jpg 51,90,180,221,19 1,110,54,220,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006663.jpg 77,14,255,338,14 212,58,485,332,14 1,91,82,227,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006665.jpg 437,239,500,333,8 6,168,330,333,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006667.jpg 182,73,273,183,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006668.jpg 76,12,401,275,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006671.jpg 106,45,500,290,0 18,159,418,242,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006677.jpg 48,131,275,208,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006682.jpg 67,132,500,323,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006684.jpg 1,96,500,378,8 45,155,255,378,14 87,64,484,378,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006686.jpg 20,35,476,282,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006690.jpg 204,230,312,283,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006691.jpg 1,281,295,479,6 324,300,367,364,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006692.jpg 95,241,187,283,3 112,227,153,268,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006694.jpg 3,51,495,399,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006696.jpg 18,53,291,422,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006700.jpg 23,113,482,223,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006701.jpg 50,179,158,500,4 185,172,312,500,4 152,176,259,500,4 279,151,321,228,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006703.jpg 58,138,336,226,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006705.jpg 114,165,393,375,10 1,107,124,375,14 63,92,147,373,14 116,82,197,308,14 115,63,247,247,14 336,120,487,375,14 341,103,414,266,14 322,85,376,228,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006708.jpg 207,37,382,163,13 281,13,338,135,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006710.jpg 293,102,473,375,14 73,169,183,275,14 110,141,163,212,14 266,120,341,223,8 1,299,99,375,19 1,243,76,326,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006712.jpg 33,293,251,481,8 221,420,243,466,4 246,205,267,259,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006714.jpg 110,49,488,300,6 236,65,277,104,14 50,46,163,102,6 1,52,55,104,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006715.jpg 302,133,399,255,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006716.jpg 26,43,245,308,11 199,29,434,290,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006717.jpg 93,96,225,399,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006718.jpg 5,66,378,268,6 363,65,464,153,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006719.jpg 59,192,244,375,8 172,120,235,173,19 65,82,75,113,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006720.jpg 209,114,257,166,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006722.jpg 152,100,500,306,11 8,17,500,235,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006724.jpg 167,67,347,241,11 60,228,230,304,11 62,109,388,375,11 342,200,500,353,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006728.jpg 12,9,339,467,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006730.jpg 62,245,380,350,3 72,214,145,292,14 112,217,176,298,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006731.jpg 86,381,141,493,4 1,23,357,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006732.jpg 49,56,291,351,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006733.jpg 217,29,352,152,19 353,79,411,221,19 439,114,500,274,19 131,74,324,339,14 79,181,262,339,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006737.jpg 166,167,451,356,17 1,219,110,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006743.jpg 83,131,256,416,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006746.jpg 25,37,467,315,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006747.jpg 218,152,253,200,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006748.jpg 144,106,457,226,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006750.jpg 1,242,432,375,10 352,121,464,262,14 265,119,375,243,14 205,131,283,235,14 27,124,130,300,14 170,187,199,257,4 123,128,223,258,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006751.jpg 236,59,464,347,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006752.jpg 1,137,300,313,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006753.jpg 305,191,340,239,7 161,197,233,242,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006758.jpg 100,99,392,316,12 195,35,272,223,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006761.jpg 1,39,500,349,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006762.jpg 131,140,404,306,6 364,129,396,144,6 131,110,167,124,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006764.jpg 42,145,480,471,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006765.jpg 1,16,403,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006767.jpg 356,320,471,373,3 130,318,256,373,3 55,310,80,323,3 97,310,129,325,3 317,292,447,333,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006773.jpg 241,198,316,245,19 37,235,275,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006774.jpg 34,104,458,304,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006776.jpg 144,71,320,333,14 61,102,450,333,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006777.jpg 369,56,500,112,0 213,50,278,77,0 17,96,473,271,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006778.jpg 1,14,500,319,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006779.jpg 18,124,391,334,12 85,20,218,334,14 153,29,225,219,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006781.jpg 86,1,500,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006784.jpg 170,149,334,245,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006785.jpg 1,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006792.jpg 113,1,294,487,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006793.jpg 1,1,361,352,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006796.jpg 140,99,332,248,15 1,46,330,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006797.jpg 124,133,352,286,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006798.jpg 82,94,217,259,11 182,1,375,242,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006800.jpg 79,100,339,239,6 349,78,376,96,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006802.jpg 79,346,121,387,2 136,357,180,391,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006807.jpg 1,229,109,375,1 353,121,500,375,14 12,57,146,375,14 221,112,309,273,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006808.jpg 229,249,354,377,8 358,263,438,377,8 256,253,500,377,10 458,281,474,334,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006810.jpg 1,30,416,471,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006811.jpg 42,47,465,438,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006813.jpg 82,296,297,500,1 50,49,326,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006815.jpg 171,30,302,461,4 47,46,176,458,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006816.jpg 124,1,479,201,15 67,63,500,478,14 181,172,481,478,14 439,230,500,310,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006817.jpg 229,126,387,218,7 148,103,211,188,7 199,109,272,192,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006818.jpg 97,84,500,211,18 74,134,92,182,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006819.jpg 61,16,463,341,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006820.jpg 228,204,265,299,15 172,175,242,331,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006824.jpg 52,137,383,198,3 279,19,457,51,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006825.jpg 23,130,423,168,3 166,79,227,137,11 195,57,302,138,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006827.jpg 302,160,366,227,9 269,161,309,223,9 88,162,119,207,9 172,163,291,254,6 368,152,449,224,6 321,141,354,166,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006828.jpg 124,122,220,340,15 124,254,172,348,15 92,233,136,358,15 1,233,117,376,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006831.jpg 184,19,488,256,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006832.jpg 192,167,229,204,0 280,145,317,178,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006833.jpg 296,97,450,223,3 1,1,308,298,3 306,182,500,375,6 312,149,464,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006834.jpg 10,104,327,368,8 49,99,250,375,14 136,82,438,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006835.jpg 104,184,346,348,16 143,92,325,215,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006837.jpg 49,118,294,395,11 229,1,343,207,8 31,1,174,182,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006839.jpg 29,79,112,128,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006841.jpg 226,136,333,286,8 311,132,392,282,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006843.jpg 155,26,500,324,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006844.jpg 200,153,289,282,11 146,38,335,375,14 76,108,424,375,6 422,183,500,243,6 30,183,86,243,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006847.jpg 195,225,300,432,14 40,129,185,425,14 139,267,375,500,8 1,264,170,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006849.jpg 1,1,103,375,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006855.jpg 242,361,362,490,14 203,328,312,458,14 122,239,198,389,1 218,248,303,372,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006857.jpg 139,116,304,414,13 20,128,197,369,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006863.jpg 1,99,276,375,8 213,1,487,375,14 178,127,301,298,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006864.jpg 58,55,357,375,14 88,201,321,375,14 129,234,246,375,14 96,2,192,143,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006865.jpg 34,205,333,312,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006868.jpg 275,93,371,216,7 1,38,472,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006870.jpg 194,181,419,353,11 133,1,254,234,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006872.jpg 433,159,477,269,14 65,158,445,283,6 1,159,193,235,6 1,158,75,187,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006873.jpg 213,88,300,165,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006874.jpg 125,210,307,500,13 231,60,356,466,14 29,28,225,483,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006877.jpg 373,202,500,251,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006879.jpg 14,97,249,425,13 118,109,324,304,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006880.jpg 91,92,480,352,9 16,142,292,360,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006881.jpg 36,171,118,357,15 391,202,500,354,15 92,105,206,371,14 211,88,309,371,14 314,113,403,371,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006882.jpg 1,93,306,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006885.jpg 68,53,433,154,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006887.jpg 1,132,48,187,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006889.jpg 64,46,495,349,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006890.jpg 294,97,427,363,4 180,37,495,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006892.jpg 180,143,377,298,16 167,41,314,252,14 1,86,130,339,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006896.jpg 1,100,497,264,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006898.jpg 1,1,246,89,13 1,1,477,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006900.jpg 1,1,486,340,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006902.jpg 195,198,231,223,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006903.jpg 257,1,493,264,3 168,160,266,197,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006904.jpg 161,108,500,324,9 116,153,215,274,9 335,103,500,172,9 46,160,146,226,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006907.jpg 121,210,221,253,6 1,191,89,255,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006908.jpg 45,99,257,297,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006909.jpg 186,44,354,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006910.jpg 157,89,286,206,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006912.jpg 90,103,497,355,12 208,23,328,244,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006919.jpg 169,167,461,313,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006920.jpg 65,94,427,181,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006921.jpg 31,104,458,350,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006923.jpg 22,55,279,500,2 180,197,333,475,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006924.jpg 132,89,331,218,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006925.jpg 1,4,169,118,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006926.jpg 55,112,336,398,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006933.jpg 18,29,500,356,0 405,263,450,358,14 448,265,487,360,14 293,264,321,354,14 315,275,333,352,14 284,292,300,340,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006936.jpg 305,316,489,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006939.jpg 1,1,500,333,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006941.jpg 167,28,258,250,4 1,35,421,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006944.jpg 192,108,291,312,14 229,90,310,216,14 107,138,406,309,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006946.jpg 219,154,319,254,19 315,152,418,246,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006948.jpg 352,109,417,161,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006949.jpg 91,1,287,68,3 54,124,210,175,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006950.jpg 41,125,97,195,15 235,161,268,206,15 197,327,236,371,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006951.jpg 128,102,472,207,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006952.jpg 224,159,243,195,4 137,72,257,206,14 306,185,436,375,14 98,186,267,375,14 404,123,497,318,14 283,73,392,217,14 3,28,162,300,14 199,183,356,364,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006953.jpg 17,169,303,500,12 86,18,244,339,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006954.jpg 1,1,500,196,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006956.jpg 76,75,452,280,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006959.jpg 21,210,124,281,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006960.jpg 356,229,388,298,14 399,229,423,298,14 137,99,388,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006961.jpg 9,137,357,374,6 339,1,437,52,3 265,33,341,78,3 265,187,473,321,6 373,204,483,243,6 116,1,500,230,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006962.jpg 2,170,500,375,7 234,68,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006965.jpg 145,17,251,170,11 410,11,499,149,11 325,113,492,375,11 1,125,135,364,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006967.jpg 266,76,417,345,7 114,42,291,239,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006968.jpg 135,77,349,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006969.jpg 78,163,487,333,10 130,129,310,333,14 59,110,156,333,14 4,96,106,310,14 74,82,176,179,14 144,80,200,171,14 201,76,298,194,14 322,99,451,239,14 391,120,500,333,14 368,188,394,273,4 250,149,272,211,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006973.jpg 206,19,500,327,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006979.jpg 335,63,494,235,8 1,66,281,343,17 22,95,234,222,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006980.jpg 316,214,500,306,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006981.jpg 108,79,263,234,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006986.jpg 42,98,447,289,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006987.jpg 158,107,344,246,13 128,87,314,238,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006989.jpg 79,116,180,154,6 295,117,333,143,6 257,162,406,260,13 292,119,374,239,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006991.jpg 79,28,332,500,12 202,1,332,247,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006992.jpg 99,379,146,410,4 315,63,375,116,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006997.jpg 235,214,283,272,2 135,229,153,275,2 8,163,60,201,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006998.jpg 50,1,496,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_006999.jpg 147,11,420,400,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007003.jpg 99,7,356,321,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007004.jpg 38,43,487,346,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007006.jpg 18,19,335,489,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007009.jpg 63,62,168,172,9 233,135,359,199,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007010.jpg 248,135,363,214,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007011.jpg 22,100,425,260,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007012.jpg 17,36,451,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007014.jpg 1,5,485,307,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007019.jpg 159,181,455,375,1 187,82,357,355,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007021.jpg 21,128,137,219,11 302,137,418,265,11 1,66,480,336,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007022.jpg 246,147,293,171,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007025.jpg 212,128,470,305,9 122,107,393,291,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007026.jpg 220,71,487,344,9 98,73,300,279,9 33,89,147,208,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007028.jpg 1,63,441,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007030.jpg 12,160,64,279,8 206,107,464,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007031.jpg 119,123,374,282,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007032.jpg 120,55,194,272,14 11,228,91,431,14 87,218,180,447,14 74,210,324,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007034.jpg 19,24,479,246,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007038.jpg 108,70,430,375,14 373,96,500,254,19 447,53,475,97,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007039.jpg 33,39,462,327,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007042.jpg 1,20,375,500,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007043.jpg 46,163,471,375,17 193,144,291,327,14 267,150,360,314,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007045.jpg 1,37,500,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007048.jpg 182,257,269,427,8 178,249,251,395,8 99,257,183,428,8 115,270,259,440,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007050.jpg 134,65,422,226,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007054.jpg 39,72,279,421,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007056.jpg 397,326,415,375,14 381,329,400,375,14 114,264,410,375,5 428,190,500,238,3 71,165,429,214,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007057.jpg 1,5,225,155,11 44,81,193,326,11 219,9,424,200,11 351,1,500,227,11 145,103,345,374,11 262,181,500,313,11 289,253,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007058.jpg 128,1,498,334,14 165,193,234,334,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007059.jpg 56,1,435,332,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007060.jpg 44,49,467,236,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007061.jpg 120,65,327,320,8 154,69,316,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007064.jpg 1,24,494,310,6 407,4,500,125,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007067.jpg 340,240,449,328,1 338,169,461,342,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007069.jpg 411,172,445,195,16 183,186,219,215,16 206,201,260,249,16 321,202,381,258,16 368,217,397,256,16 138,197,164,221,16 404,217,429,247,16 42,213,90,255,16 282,216,308,248,16 240,243,277,266,16 124,239,157,274,16 161,215,208,270,16 422,199,452,250,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007070.jpg 71,122,161,207,16 379,106,433,149,16 448,3,474,46,16 210,161,245,203,16 238,150,276,204,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007073.jpg 205,137,292,295,11 239,36,351,254,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007075.jpg 62,42,430,373,13 79,29,451,217,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007076.jpg 13,11,172,483,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007081.jpg 234,55,477,271,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007082.jpg 54,162,259,456,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007084.jpg 209,160,266,212,14 142,200,180,295,14 1,88,333,500,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007085.jpg 21,106,353,309,7 1,206,500,492,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007086.jpg 155,69,494,285,7 10,16,304,248,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007090.jpg 25,170,156,244,13 6,166,180,228,6 421,157,490,197,6 359,152,423,187,6 326,151,379,183,6 294,156,339,182,6 255,159,281,263,14 198,159,240,276,14 171,146,212,276,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007091.jpg 168,121,288,365,14 97,68,289,356,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007095.jpg 33,229,112,250,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007096.jpg 48,171,468,316,0 416,132,481,152,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007097.jpg 266,72,311,106,19 324,239,442,360,8 209,228,325,360,10 127,180,278,360,14 223,159,391,344,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007098.jpg 65,137,209,212,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007101.jpg 107,1,457,243,3 237,136,283,195,14 203,139,246,191,14 453,17,491,29,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007103.jpg 256,208,399,289,1 277,166,350,288,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007105.jpg 1,123,17,215,14 1,45,472,295,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007106.jpg 1,113,500,371,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007108.jpg 26,135,106,236,15 168,71,234,154,15 241,71,315,127,15 266,28,300,68,15 289,94,355,171,15 338,115,412,201,15 401,155,455,233,15 212,214,351,332,11 236,2,261,61,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007112.jpg 160,184,236,457,14 84,141,179,454,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007114.jpg 45,210,301,484,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007115.jpg 1,1,308,333,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007118.jpg 89,39,389,294,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007119.jpg 1,24,474,375,6 179,54,205,105,14 156,57,178,118,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007120.jpg 253,36,368,327,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007123.jpg 139,154,370,294,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007124.jpg 137,152,246,224,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007129.jpg 213,162,453,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007130.jpg 1,1,500,357,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007131.jpg 90,43,348,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007133.jpg 1,227,63,322,5 89,288,165,321,6 164,285,217,305,6 31,278,57,353,14 211,281,228,324,14 230,275,250,324,14 248,275,266,324,14 277,261,320,381,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007134.jpg 86,455,130,500,4 146,463,178,500,4 202,465,235,500,4 254,327,310,493,4 78,175,142,357,4 139,172,193,359,4 196,174,250,364,4 258,174,312,361,4 83,321,141,482,4 141,324,195,485,4 80,17,140,221,4 141,14,195,224,4 198,12,253,222,4 259,9,314,221,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007138.jpg 133,1,500,277,13 292,1,443,287,14 1,11,73,52,6 29,1,138,46,6 440,1,500,91,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007142.jpg 85,1,265,485,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007143.jpg 42,156,363,205,3 398,160,466,204,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007145.jpg 1,1,500,274,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007146.jpg 80,172,239,440,11 81,107,366,499,14 1,239,70,349,14 35,193,50,228,4 70,193,82,222,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007147.jpg 62,168,91,252,4 197,105,298,477,14 57,64,205,476,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007151.jpg 81,40,443,298,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007156.jpg 105,137,411,283,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007161.jpg 32,86,468,258,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007163.jpg 168,196,375,442,11 23,38,293,428,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007164.jpg 307,158,367,301,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007165.jpg 182,215,312,325,7 242,95,292,142,7 76,185,234,259,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007166.jpg 437,193,500,291,8 385,201,460,304,8 375,202,500,284,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007167.jpg 206,131,456,248,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007168.jpg 92,212,152,375,4 1,229,36,375,4 303,33,417,310,14 132,101,301,337,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007169.jpg 157,331,329,475,11 36,109,174,373,14 177,122,249,295,14 160,203,375,320,17 1,180,50,263,8 1,314,307,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007171.jpg 77,118,363,297,6 2,51,40,118,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007176.jpg 87,82,425,246,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007179.jpg 84,211,148,260,1 332,207,357,235,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007181.jpg 116,193,383,375,13 395,296,478,346,6 50,251,110,302,13 49,229,82,295,14 164,1,381,274,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007182.jpg 1,134,500,375,17 73,145,494,325,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007184.jpg 40,181,114,242,13 203,118,279,193,13 54,135,103,241,14 221,87,262,167,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007185.jpg 131,133,500,274,18 279,149,327,229,14 459,166,500,247,14 383,172,442,246,14 401,168,458,248,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007187.jpg 40,146,374,336,7 15,15,374,217,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007188.jpg 244,134,299,246,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007189.jpg 257,144,364,194,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007190.jpg 96,196,262,456,13 109,99,259,404,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007194.jpg 41,89,171,312,8 209,92,337,318,8 355,88,489,304,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007195.jpg 101,55,500,298,0 196,131,436,375,14 1,288,72,359,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007196.jpg 1,185,180,447,19 203,1,375,179,19 176,133,355,288,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007197.jpg 461,275,500,312,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007201.jpg 97,1,500,375,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007205.jpg 29,149,116,300,2 215,42,484,270,2 133,98,334,297,2 136,180,207,299,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007207.jpg 31,14,211,288,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007208.jpg 127,184,289,305,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007211.jpg 56,84,425,231,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007214.jpg 12,75,307,235,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007216.jpg 86,54,309,315,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007217.jpg 1,63,229,375,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007218.jpg 1,106,500,360,17 1,77,184,375,14 161,77,290,375,14 259,81,359,375,14 323,106,475,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007219.jpg 94,77,183,226,4 122,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007221.jpg 470,93,492,106,6 446,93,475,108,6 350,95,411,124,6 304,92,364,115,6 53,90,190,143,6 400,98,459,131,6 439,105,500,153,6 121,105,424,230,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007222.jpg 147,60,293,346,14 126,179,308,418,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007223.jpg 265,193,390,363,15 144,194,297,375,8 141,130,341,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007225.jpg 1,317,75,346,6 135,311,147,349,14 183,311,197,356,14 430,315,448,357,14 67,311,85,351,14 202,316,220,359,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007226.jpg 47,180,331,493,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007227.jpg 201,210,262,249,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007229.jpg 10,95,439,239,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007231.jpg 1,259,365,500,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007236.jpg 141,1,392,317,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007237.jpg 228,132,281,218,12 64,154,118,204,12 47,156,65,196,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007239.jpg 39,38,317,415,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007241.jpg 147,1,500,280,6 101,23,376,362,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007242.jpg 81,19,230,112,19 327,94,500,354,14 158,65,364,312,14 1,101,105,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007245.jpg 267,84,390,174,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007246.jpg 35,191,149,274,19 242,179,346,264,19 188,161,250,219,19 63,166,130,200,19 128,139,165,172,19 157,152,202,192,19 259,142,294,170,19 306,145,353,180,19 367,150,435,195,19 429,140,473,170,19 443,148,500,189,19 397,182,472,296,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007247.jpg 25,42,339,464,18 339,320,359,408,14 1,319,36,431,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007250.jpg 94,76,240,289,2 289,262,363,376,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007252.jpg 380,197,446,228,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007254.jpg 86,207,281,500,14 4,43,375,471,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007256.jpg 105,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007260.jpg 1,132,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007261.jpg 1,59,500,375,10 156,92,208,260,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007264.jpg 47,47,454,346,13 196,33,441,156,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007265.jpg 2,76,313,452,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007266.jpg 152,127,374,237,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007269.jpg 26,59,461,280,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007273.jpg 1,114,314,300,9 295,209,379,246,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007274.jpg 1,1,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007277.jpg 137,127,282,223,12 193,101,220,189,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007279.jpg 127,65,435,353,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007280.jpg 390,156,500,400,14 1,1,408,400,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007281.jpg 298,136,406,278,8 398,145,428,230,19 127,145,342,328,14 356,50,475,138,15 248,69,291,96,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007282.jpg 237,248,407,338,17 64,232,121,280,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007285.jpg 77,110,500,333,17 176,72,364,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007286.jpg 127,172,263,371,11 332,1,500,371,14 122,5,166,92,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007287.jpg 127,1,213,134,8 4,204,304,375,8 1,169,150,375,8 247,187,407,375,8 343,164,468,347,8 417,142,482,239,8 282,69,415,187,8 173,93,319,238,8 113,79,231,205,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007289.jpg 75,44,379,291,7 126,1,417,139,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007291.jpg 80,186,312,342,10 293,234,446,342,8 1,196,124,342,8 9,111,139,334,14 149,99,240,193,14 244,92,354,259,14 192,127,437,342,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007293.jpg 27,46,375,500,14 200,276,375,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007295.jpg 217,161,254,253,11 47,200,141,249,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007298.jpg 1,379,178,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007305.jpg 71,238,208,308,3 93,249,159,266,3 190,264,228,284,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007307.jpg 184,221,333,497,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007311.jpg 58,76,378,375,11 306,1,500,115,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007312.jpg 128,152,400,260,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007313.jpg 66,107,198,252,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007314.jpg 271,303,315,338,6 130,293,211,345,6 216,304,233,320,6 241,304,257,318,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007317.jpg 159,76,392,366,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007319.jpg 102,50,500,375,12 159,133,500,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007320.jpg 275,110,430,261,11 35,121,281,244,11 5,8,189,133,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007321.jpg 152,201,278,371,11 272,231,347,381,11 397,87,500,123,6 275,91,366,114,6 85,81,181,118,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007323.jpg 269,141,298,156,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007324.jpg 148,22,294,126,7 128,2,310,188,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007325.jpg 328,123,500,259,13 141,127,323,239,13 57,127,246,269,13 28,103,96,308,14 69,124,181,191,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007327.jpg 116,1,365,466,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007332.jpg 1,51,158,303,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007334.jpg 1,144,170,462,16 106,60,286,458,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007335.jpg 244,203,342,360,8 61,199,167,375,8 81,260,207,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007336.jpg 4,202,316,500,13 23,39,247,425,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007339.jpg 93,86,200,235,14 87,1,262,240,14 41,1,275,240,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007343.jpg 152,195,372,266,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007344.jpg 333,132,466,355,13 103,161,176,225,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007346.jpg 208,199,344,212,3 410,117,456,132,6 71,142,109,153,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007348.jpg 264,228,352,297,13 276,190,327,263,14 421,277,471,375,14 465,254,486,321,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007350.jpg 37,141,482,263,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007352.jpg 185,96,317,269,5 14,201,134,235,6 316,194,414,257,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007353.jpg 23,1,475,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007356.jpg 27,44,334,280,5 1,180,28,218,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007357.jpg 212,117,341,155,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007358.jpg 81,163,291,413,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007361.jpg 403,262,423,298,4 264,152,362,370,8 209,144,238,209,4 37,50,116,105,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007363.jpg 93,105,349,323,7 1,1,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007364.jpg 43,62,425,327,6 47,81,78,136,15 292,1,334,29,15 144,1,175,26,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007374.jpg 1,11,484,333,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007375.jpg 135,25,365,281,5 83,191,131,225,6 359,177,382,266,14 381,178,406,269,14 402,178,421,250,14 426,179,454,256,14 446,168,475,269,14 388,178,411,259,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007378.jpg 22,136,359,295,11 296,1,500,201,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007382.jpg 1,110,365,486,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007383.jpg 68,131,285,258,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007384.jpg 1,33,449,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007388.jpg 182,24,276,139,15 410,182,462,227,15 182,151,223,212,8 139,233,187,282,8 75,220,130,279,8 251,198,298,250,8 310,240,344,305,8 207,288,265,343,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007389.jpg 82,123,414,240,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007390.jpg 87,196,128,244,15 412,111,443,140,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007392.jpg 158,193,349,361,12 200,118,254,290,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007393.jpg 1,1,390,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007394.jpg 6,1,186,500,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007397.jpg 95,110,334,235,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007398.jpg 71,169,205,341,9 18,185,76,304,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007402.jpg 188,272,333,500,10 73,54,242,500,14 18,164,79,292,8 1,193,40,327,8 1,173,68,300,10 8,152,56,258,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007403.jpg 62,29,264,406,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007404.jpg 34,137,178,284,7 172,161,367,276,7 143,66,329,266,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007409.jpg 150,112,326,201,0 422,161,500,259,6 368,173,384,205,14 56,164,77,226,14 21,172,42,228,14 107,173,131,218,14 97,192,151,223,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007410.jpg 100,191,347,346,1 230,90,315,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007415.jpg 109,110,300,418,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007417.jpg 102,118,146,206,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007421.jpg 44,64,167,248,14 41,147,213,293,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007423.jpg 291,155,403,414,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007424.jpg 162,35,500,333,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007425.jpg 389,78,452,197,3 172,67,245,205,3 29,105,73,211,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007428.jpg 263,265,304,310,13 324,272,380,320,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007430.jpg 1,1,500,449,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007431.jpg 389,176,404,222,14 119,173,253,232,6 288,176,343,207,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007432.jpg 252,227,311,271,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007433.jpg 74,250,206,346,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007434.jpg 155,72,423,321,2 240,1,500,157,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007435.jpg 180,154,265,351,14 244,173,308,375,14 299,160,376,375,14 253,126,330,219,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007438.jpg 125,237,232,375,8 231,234,343,375,8 359,207,403,294,8 1,227,90,375,8 36,228,387,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007441.jpg 15,122,484,248,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007442.jpg 57,166,165,205,0 265,165,373,200,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007443.jpg 415,199,449,258,13 340,191,396,265,13 270,173,333,295,14 121,171,154,271,14 146,169,172,222,14 167,174,194,220,14 188,178,202,219,14 235,173,258,219,14 255,169,284,214,14 207,201,293,294,13 127,206,219,315,13 61,206,119,316,13 204,170,237,261,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007444.jpg 83,20,409,358,12 1,1,166,320,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007446.jpg 175,91,344,280,19 1,118,187,375,19 340,11,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007448.jpg 172,233,191,248,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007452.jpg 33,34,346,492,8 32,29,309,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007455.jpg 1,1,500,263,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007456.jpg 117,261,392,375,6 140,241,294,315,6 3,250,93,330,6 1,261,38,360,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007458.jpg 169,90,246,181,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007459.jpg 1,84,487,457,13 78,46,215,234,14 169,58,335,233,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007461.jpg 24,28,481,275,11 22,7,123,62,15 115,9,154,51,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007465.jpg 59,78,393,313,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007466.jpg 75,165,410,290,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007469.jpg 211,283,254,337,7 153,320,201,383,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007470.jpg 229,104,371,237,1 211,70,324,206,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007471.jpg 1,7,365,338,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007472.jpg 108,19,500,330,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007473.jpg 156,108,172,164,4 174,103,189,163,4 195,110,209,163,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007476.jpg 1,177,119,319,19 221,60,500,362,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007477.jpg 149,203,222,244,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007478.jpg 97,171,174,285,11 332,1,485,284,14 132,1,210,152,14 183,20,219,152,14 348,63,393,120,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007480.jpg 1,13,485,317,0 256,269,364,332,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007485.jpg 156,16,265,255,14 164,105,331,289,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007486.jpg 199,94,500,375,11 1,177,200,338,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007488.jpg 43,60,419,298,5 143,228,226,300,13 165,209,197,281,14 1,234,50,286,6 446,230,500,258,6 417,239,451,292,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007491.jpg 1,95,324,319,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007494.jpg 315,192,500,489,7 1,9,323,489,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007496.jpg 25,14,467,292,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007497.jpg 172,166,300,260,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007498.jpg 208,111,491,360,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007500.jpg 351,220,411,276,6 274,212,299,234,6 237,210,264,229,6 194,222,207,235,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007501.jpg 66,31,336,424,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007504.jpg 15,110,500,264,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007507.jpg 163,219,206,276,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007509.jpg 179,1,500,375,14 1,1,186,317,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007510.jpg 93,163,141,307,14 25,166,74,301,14 2,181,32,274,14 84,233,139,332,1 27,229,73,317,1 1,232,40,305,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007511.jpg 15,17,489,268,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007513.jpg 78,121,465,315,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007514.jpg 74,153,151,384,12 135,153,218,392,14 48,86,154,278,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007515.jpg 26,1,338,500,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007519.jpg 93,89,227,415,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007521.jpg 136,149,227,238,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007524.jpg 1,95,147,320,12 161,104,368,332,12 405,98,500,375,14 350,7,500,126,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007525.jpg 340,224,370,314,14 308,219,345,312,14 261,207,298,310,14 236,219,264,305,14 51,221,74,268,14 1,224,28,298,14 373,122,500,375,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007527.jpg 177,123,293,226,19 82,219,289,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007528.jpg 174,360,208,434,4 144,309,190,336,4 189,293,220,335,4 180,318,222,366,4 157,1,223,50,6 196,281,257,307,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007529.jpg 21,28,280,210,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007531.jpg 233,251,301,289,12 192,249,238,288,12 152,250,215,291,12 65,249,130,291,12 1,248,49,291,12 11,250,58,289,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007533.jpg 1,117,444,278,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007534.jpg 27,182,68,245,11 454,42,500,78,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007536.jpg 31,35,345,329,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007537.jpg 101,195,177,249,11 286,85,385,251,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007538.jpg 110,69,429,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007544.jpg 72,251,124,333,9 159,243,199,300,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007546.jpg 132,93,206,249,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007548.jpg 45,139,345,373,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007556.jpg 328,226,358,320,14 171,236,204,320,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007558.jpg 80,11,413,369,13 1,1,169,254,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007559.jpg 41,83,349,254,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007561.jpg 274,35,381,152,19 183,228,379,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007565.jpg 1,203,318,500,13 86,102,254,500,14 170,119,275,462,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007567.jpg 389,223,500,370,11 223,16,388,152,19 136,44,500,337,14 34,98,231,351,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007573.jpg 173,1,500,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007574.jpg 71,176,108,249,3 190,24,288,317,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007576.jpg 12,209,306,491,12 79,146,177,401,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007579.jpg 51,64,500,284,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007581.jpg 1,1,494,294,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007583.jpg 173,46,461,316,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007584.jpg 100,74,219,306,14 178,118,275,375,14 250,142,320,375,14 336,114,398,271,14 297,92,404,353,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007585.jpg 75,153,102,236,4 2,225,37,328,4 54,34,474,375,14 72,81,279,362,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007586.jpg 88,77,297,298,9 276,78,441,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007587.jpg 40,108,417,335,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007588.jpg 277,68,331,112,12 158,79,189,110,12 77,76,124,117,12 113,93,360,480,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007589.jpg 131,28,189,134,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007591.jpg 446,1,489,86,4 413,1,447,81,4 378,1,416,79,4 346,1,379,82,4 312,1,348,78,4 290,1,321,78,4 271,1,291,76,4 156,14,167,52,4 78,1,118,54,14 166,1,190,50,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007593.jpg 65,112,181,394,2 167,29,241,262,14 227,33,321,262,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007594.jpg 87,187,183,334,2 386,143,450,260,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007595.jpg 240,250,329,382,6 270,237,375,411,6 93,333,127,360,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007596.jpg 166,136,307,215,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007597.jpg 72,325,297,358,3 78,401,357,452,3 238,377,288,394,3 196,214,268,232,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007599.jpg 46,90,424,279,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007604.jpg 1,25,333,494,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007608.jpg 154,72,369,301,2 334,85,441,291,2 38,93,171,252,2 109,61,334,188,2 160,78,205,109,2 414,86,500,211,2 258,58,365,218,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007610.jpg 83,61,360,338,7 234,162,402,278,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007611.jpg 3,84,485,280,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007612.jpg 141,220,333,433,12 185,188,278,346,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007613.jpg 212,128,264,203,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007617.jpg 271,126,460,300,14 238,121,365,263,14 23,146,188,375,14 1,235,49,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007618.jpg 65,91,437,206,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007621.jpg 256,1,500,277,15 1,96,327,334,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007623.jpg 71,141,451,300,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007625.jpg 1,122,257,492,12 13,37,111,359,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007629.jpg 183,150,348,198,0 1,214,421,302,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007630.jpg 45,71,346,278,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007632.jpg 7,10,230,434,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007635.jpg 1,1,500,361,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007640.jpg 90,85,500,366,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007641.jpg 1,40,375,426,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007643.jpg 1,349,375,498,3 45,294,375,397,3 79,201,375,297,3 114,69,255,112,3 125,89,209,117,3 268,122,375,175,3 151,175,176,242,14 197,268,243,371,14 67,254,130,365,14 118,119,175,159,3 1,95,57,149,3 267,180,293,242,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007646.jpg 122,101,385,368,13 220,11,349,299,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007648.jpg 1,52,405,297,18 409,153,438,189,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007649.jpg 104,55,451,303,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007653.jpg 164,1,393,254,3 311,193,341,230,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007656.jpg 1,52,377,285,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007660.jpg 276,102,318,156,14 388,145,500,247,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007661.jpg 235,149,264,181,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007662.jpg 192,78,334,297,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007664.jpg 172,181,264,314,11 394,202,494,338,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007665.jpg 194,229,270,347,11 43,1,433,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007666.jpg 243,231,378,311,9 358,211,401,304,9 220,210,349,290,9 58,224,149,304,9 143,242,245,313,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007668.jpg 196,70,415,272,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007669.jpg 121,62,398,307,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007673.jpg 197,63,301,153,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007675.jpg 139,20,390,288,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007676.jpg 217,46,268,163,14 316,104,460,239,14 276,113,485,286,14 238,104,333,270,14 163,91,248,288,14 6,117,196,334,14 1,55,179,295,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007677.jpg 49,83,379,233,16 242,159,437,329,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007682.jpg 1,123,384,375,17 101,107,309,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007683.jpg 63,160,379,448,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007685.jpg 1,141,112,375,19 154,272,244,363,19 238,294,391,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007688.jpg 152,168,240,272,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007690.jpg 96,35,231,87,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007691.jpg 35,1,375,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007692.jpg 375,234,489,375,8 323,191,388,324,8 327,222,395,350,8 380,239,500,375,8 332,202,479,350,10 63,269,303,375,10 213,160,354,375,14 203,69,267,220,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007693.jpg 85,188,230,305,16 268,170,408,291,16 442,196,500,263,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007694.jpg 101,75,398,366,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007696.jpg 314,98,424,193,19 386,229,407,296,4 238,81,397,375,14 172,158,265,366,14 1,22,286,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007697.jpg 84,352,136,475,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007698.jpg 189,318,305,367,6 1,326,112,364,6 135,324,193,361,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007701.jpg 129,247,178,344,15 179,279,213,329,15 211,304,244,345,15 244,296,281,335,15 325,229,351,254,15 302,190,333,240,15 280,285,312,332,15 312,304,342,343,15 337,297,372,341,15 25,200,53,242,15 57,243,132,461,14 275,250,319,285,15 1,316,33,432,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007702.jpg 1,88,251,409,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007704.jpg 276,30,322,167,4 150,1,366,142,8 357,1,500,149,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007706.jpg 1,56,500,375,8 31,68,383,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007709.jpg 61,156,388,424,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007710.jpg 1,160,166,483,11 172,130,333,263,11 132,26,334,445,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007714.jpg 216,47,251,85,2 227,94,276,125,2 219,207,243,241,2 272,211,298,242,2 272,287,297,327,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007716.jpg 298,32,426,367,14 160,47,307,336,14 65,121,290,368,13 1,1,193,266,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007717.jpg 251,168,264,212,4 171,99,231,181,14 112,98,208,219,14 44,134,174,333,14 299,120,445,333,14 296,100,368,214,14 284,88,334,189,14 146,169,358,333,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007719.jpg 1,3,500,333,1 419,33,469,64,1 432,33,482,64,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007724.jpg 457,1,500,108,4 424,1,467,75,4 386,1,437,72,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007726.jpg 66,54,481,316,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007729.jpg 184,150,354,285,9 80,130,152,263,14 1,102,108,263,14 353,23,481,230,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007730.jpg 78,145,253,263,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007733.jpg 66,143,500,372,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007735.jpg 84,83,450,285,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007736.jpg 42,81,455,262,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007737.jpg 154,185,202,328,4 96,211,131,308,4 72,12,258,500,14 245,339,342,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007738.jpg 13,103,421,257,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007739.jpg 82,10,429,361,13 266,7,500,243,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007741.jpg 35,277,111,375,8 94,97,342,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007742.jpg 263,158,399,374,8 1,43,148,374,14 334,58,500,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007745.jpg 132,243,193,282,11 28,221,71,257,11 130,223,170,249,11 458,199,486,259,14 193,187,224,257,14 53,187,114,279,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007746.jpg 236,90,500,305,13 105,93,276,262,13 67,104,159,229,13 8,95,102,211,13 126,72,151,102,14 73,63,106,119,14 35,74,68,118,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007748.jpg 191,201,250,222,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007749.jpg 1,157,333,500,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007750.jpg 1,1,487,333,3 292,104,431,187,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007752.jpg 91,83,437,403,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007755.jpg 100,79,223,263,3 310,102,372,254,3 38,109,103,255,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007757.jpg 233,1,388,333,14 16,72,422,333,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007758.jpg 46,145,220,205,0 264,136,465,206,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007759.jpg 161,165,355,233,18 466,225,499,301,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007760.jpg 1,7,500,324,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007761.jpg 238,62,336,247,14 1,37,41,90,14 1,79,62,134,1 255,143,317,324,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007764.jpg 155,99,373,197,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007766.jpg 164,192,322,442,1 166,66,327,359,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007768.jpg 79,93,304,500,14 130,220,234,322,14 38,125,285,461,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007770.jpg 118,148,166,304,14 137,253,189,292,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007777.jpg 15,1,500,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007779.jpg 80,141,500,258,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007780.jpg 86,200,196,343,8 350,193,458,329,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007781.jpg 45,139,316,473,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007786.jpg 349,258,500,326,6 450,298,500,342,6 234,276,369,330,6 1,258,336,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007787.jpg 1,1,500,331,18 180,106,242,328,14 232,60,339,249,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007788.jpg 1,34,372,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007789.jpg 160,92,184,139,14 197,91,217,140,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007791.jpg 41,134,237,235,6 227,142,453,236,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007793.jpg 31,194,497,350,6 266,217,321,249,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007794.jpg 1,183,333,343,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007797.jpg 58,108,375,413,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007798.jpg 96,41,288,218,19 255,95,321,234,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007804.jpg 152,219,500,362,6 188,198,292,240,6 160,201,195,229,6 86,181,138,217,5 293,200,318,213,6 271,200,295,212,6 317,201,336,214,6 137,199,149,212,6 69,193,88,215,6 216,187,271,206,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007805.jpg 117,3,379,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007806.jpg 19,43,152,276,16 193,60,235,122,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007811.jpg 102,50,333,500,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007812.jpg 93,90,325,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007814.jpg 96,59,313,375,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007816.jpg 127,45,500,500,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007817.jpg 130,49,195,125,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007819.jpg 1,329,111,496,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007823.jpg 1,1,500,476,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007825.jpg 22,144,455,304,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007827.jpg 53,90,220,291,14 268,69,383,196,14 199,113,232,174,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007828.jpg 45,14,198,376,14 185,192,233,248,19 434,187,500,296,19 196,247,316,377,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007829.jpg 1,100,472,329,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007831.jpg 430,211,500,322,15 1,104,61,188,15 52,133,106,183,15 97,115,157,150,15 179,120,235,176,15 227,111,298,174,15 310,135,346,171,15 376,123,423,166,15 422,113,467,164,15 386,265,438,332,15 338,183,417,344,15 328,294,362,351,15 273,247,335,329,15 240,317,285,375,15 29,145,321,347,15 43,321,103,375,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007833.jpg 297,287,500,375,1 168,100,301,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007835.jpg 180,261,269,309,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007836.jpg 231,147,287,215,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007837.jpg 16,166,500,375,17 122,119,269,375,14 234,135,369,375,14 327,138,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007839.jpg 314,32,431,129,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007840.jpg 164,24,276,96,11 273,53,348,174,11 160,154,313,371,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007841.jpg 1,81,62,124,3 49,95,206,319,14 180,112,255,336,14 230,119,348,336,14 1,120,448,336,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007842.jpg 214,71,380,273,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007843.jpg 1,1,202,228,8 182,1,330,147,8 144,134,368,328,14 62,106,239,355,14 263,236,306,271,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007848.jpg 91,216,177,273,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007850.jpg 247,143,303,203,12 65,151,97,183,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007852.jpg 218,45,347,375,14 106,33,341,375,14 36,159,48,188,4 66,159,75,186,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007853.jpg 113,111,225,223,14 221,24,500,250,14 1,221,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007854.jpg 25,101,279,404,2 233,163,465,437,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007855.jpg 16,1,446,356,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007858.jpg 78,8,225,498,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007861.jpg 99,164,240,363,1 94,127,229,297,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007864.jpg 213,97,375,294,19 41,78,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007869.jpg 72,263,115,287,6 51,260,85,284,6 64,246,104,266,6 146,245,185,269,6 196,244,223,258,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007870.jpg 210,97,368,186,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007871.jpg 396,196,447,275,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007872.jpg 304,298,384,344,1 1,281,271,375,6 420,72,500,375,5 265,236,286,303,14 235,239,264,305,14 375,215,399,277,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007873.jpg 49,129,456,293,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007875.jpg 186,39,310,317,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007877.jpg 1,215,103,287,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007879.jpg 1,39,493,313,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007882.jpg 265,351,375,460,1 160,276,211,424,14 263,351,316,439,15 319,108,375,128,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007883.jpg 39,25,465,209,0 339,224,488,322,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007884.jpg 334,163,424,203,3 34,139,397,222,3 401,117,500,156,3 149,68,408,169,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007887.jpg 20,3,445,331,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007888.jpg 1,1,500,312,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007890.jpg 401,137,434,210,16 36,139,101,194,16 108,134,182,201,16 186,147,287,222,16 259,148,350,237,16 346,142,394,231,16 286,148,382,249,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007891.jpg 185,53,328,282,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007893.jpg 87,53,290,455,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007895.jpg 110,120,287,484,14 1,175,331,491,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007897.jpg 279,141,404,387,12 1,45,295,356,12 110,44,400,228,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007902.jpg 40,117,314,325,11 240,83,337,283,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007904.jpg 1,1,213,398,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007907.jpg 223,28,388,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007909.jpg 1,1,500,375,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007912.jpg 218,174,258,193,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007913.jpg 55,138,222,232,7 140,39,175,120,14 160,49,196,118,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007914.jpg 143,39,500,295,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007915.jpg 51,41,468,332,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007916.jpg 264,173,424,305,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007917.jpg 309,107,402,206,11 96,21,253,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007918.jpg 434,228,473,247,6 379,228,396,273,14 190,242,227,293,15 242,243,275,283,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007922.jpg 177,228,327,375,8 282,213,398,367,8 1,252,109,375,8 345,175,424,283,8 54,169,118,290,8 251,160,302,214,8 71,200,412,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007923.jpg 8,39,375,500,14 178,319,244,490,4 113,357,189,500,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007928.jpg 1,69,202,375,14 71,89,340,375,14 277,62,500,375,14 371,116,388,149,4 388,102,407,150,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007931.jpg 1,1,500,338,5 13,137,172,338,14 360,188,467,338,14 370,70,423,239,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007932.jpg 76,87,484,333,9 1,292,44,333,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007933.jpg 17,1,266,225,19 268,1,408,229,19 17,238,267,308,19 271,247,408,308,19 63,55,124,140,14 121,54,159,140,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007935.jpg 212,94,271,232,14 158,138,354,241,1 1,136,47,208,1 34,88,132,180,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007936.jpg 72,63,375,365,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007937.jpg 44,23,257,233,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007938.jpg 169,187,340,223,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007940.jpg 22,52,480,368,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007941.jpg 116,21,265,259,7 1,1,361,300,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007942.jpg 318,81,400,214,14 318,125,395,268,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007945.jpg 27,54,453,321,12 226,113,484,326,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007947.jpg 1,1,463,331,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007948.jpg 76,115,364,336,2 58,62,276,323,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007949.jpg 87,240,152,321,8 1,295,169,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007950.jpg 103,20,291,483,14 64,122,147,263,14 1,75,81,239,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007953.jpg 43,119,500,281,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007954.jpg 398,93,456,229,4 92,1,228,361,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007955.jpg 33,94,219,322,13 159,169,259,289,13 228,70,423,313,13 31,19,213,304,14 163,121,261,264,14 247,1,415,290,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007962.jpg 85,107,208,240,19 74,42,189,343,14 1,61,75,374,14 14,63,60,269,14 192,91,372,324,14 264,104,332,245,14 362,52,443,259,14 399,95,500,305,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007964.jpg 77,98,381,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007966.jpg 53,45,246,375,14 334,53,500,375,14 166,205,189,292,4 267,116,289,163,4 1,134,94,236,3 72,124,107,148,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007969.jpg 1,1,500,375,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007970.jpg 1,49,500,253,0 311,156,371,331,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007973.jpg 56,67,295,351,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007975.jpg 44,30,500,236,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007977.jpg 109,98,300,334,7 209,28,479,275,7 1,1,237,229,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007981.jpg 6,56,498,300,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007985.jpg 24,190,161,295,16 146,132,276,252,16 183,111,300,185,16 293,75,386,188,16 310,50,431,146,16 379,2,459,119,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007986.jpg 268,49,480,360,14 1,72,277,360,14 100,265,148,360,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007987.jpg 130,1,296,113,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007988.jpg 51,23,292,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007989.jpg 10,64,256,325,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007990.jpg 47,63,166,300,14 157,73,253,300,14 225,110,324,300,14 1,127,35,210,19 293,103,354,171,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007993.jpg 77,121,452,392,1 47,63,238,311,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007994.jpg 192,36,432,236,2 1,1,406,329,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007997.jpg 104,104,276,214,5 1,184,64,224,6 475,28,500,56,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007998.jpg 155,119,165,150,4 168,120,177,150,4 181,120,190,151,4 266,162,410,266,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_007999.jpg 60,105,278,195,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008001.jpg 1,1,327,209,18 425,198,500,259,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008002.jpg 131,168,257,211,2 361,176,449,228,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008004.jpg 31,107,474,258,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008007.jpg 258,1,475,102,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008011.jpg 88,71,438,346,12 1,1,500,351,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008012.jpg 42,30,272,490,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008018.jpg 47,34,478,369,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008020.jpg 1,141,475,295,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008021.jpg 225,187,267,237,1 227,155,265,216,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008022.jpg 174,71,446,336,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008024.jpg 31,97,229,299,15 230,98,413,294,15 33,1,301,117,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008025.jpg 41,59,296,156,0 302,112,436,164,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008028.jpg 66,62,500,224,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008029.jpg 255,126,438,375,14 228,28,445,292,14 16,88,500,375,17 58,24,302,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008031.jpg 117,100,372,294,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008034.jpg 151,172,431,373,12 197,103,349,335,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008037.jpg 39,102,383,323,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008040.jpg 182,93,411,248,12 243,65,318,174,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008043.jpg 329,11,500,201,0 249,154,285,165,6 138,141,175,162,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008044.jpg 1,83,500,260,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008048.jpg 303,82,339,119,0 259,79,297,116,0 270,115,307,144,0 226,143,259,172,0 218,107,255,138,0 211,77,246,111,0 166,104,202,142,0 175,141,211,174,0 119,134,153,171,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008050.jpg 1,19,500,338,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008052.jpg 1,83,437,354,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008053.jpg 61,188,89,207,0 169,186,198,200,0 312,174,339,189,0 406,166,433,183,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008055.jpg 283,187,427,266,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008057.jpg 136,243,190,391,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008058.jpg 1,156,319,500,13 94,182,271,494,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008064.jpg 119,209,310,375,1 1,241,74,375,1 104,126,159,347,14 149,149,207,331,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008066.jpg 35,16,340,465,5 336,272,365,369,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008069.jpg 17,370,266,500,1 58,59,312,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008070.jpg 425,156,500,336,8 1,104,500,375,10 352,1,500,190,15 172,95,272,194,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008072.jpg 103,64,422,312,14 80,1,212,137,14 79,69,114,147,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008073.jpg 73,180,200,318,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008074.jpg 32,50,493,160,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008075.jpg 1,128,219,500,12 174,114,323,500,12 309,334,337,421,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008080.jpg 56,235,486,440,1 1,70,424,191,5 458,126,500,261,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008083.jpg 145,167,333,263,3 127,55,277,209,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008084.jpg 40,273,247,500,1 87,35,292,488,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008086.jpg 111,234,373,325,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008091.jpg 23,1,297,197,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008092.jpg 251,228,289,264,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008093.jpg 1,171,153,375,14 64,172,153,305,14 147,148,250,287,14 212,144,322,257,14 314,147,410,256,14 388,145,500,350,14 123,246,490,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008095.jpg 1,32,363,375,14 286,131,423,309,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008096.jpg 9,119,500,299,0 292,277,345,329,15 93,41,118,67,15 256,42,278,66,15 346,44,366,67,15 472,46,492,70,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008097.jpg 424,105,500,194,6 163,180,374,288,1 364,96,438,136,13 383,80,416,125,14 244,115,325,272,14 77,55,193,104,5 324,18,500,109,5 119,81,206,111,6 224,75,257,93,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008098.jpg 1,105,500,306,10 322,18,500,365,14 119,81,381,375,14 37,131,213,306,8 275,141,420,316,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008103.jpg 206,174,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008105.jpg 233,111,345,235,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008106.jpg 24,201,225,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008109.jpg 109,235,202,324,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008112.jpg 131,100,472,333,1 140,1,381,291,14 422,137,500,319,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008113.jpg 66,187,106,299,14 132,94,466,289,5 34,167,56,256,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008115.jpg 1,89,189,282,9 165,97,344,333,9 259,9,500,333,9 452,100,500,284,9 120,126,170,180,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008116.jpg 31,122,362,375,14 133,173,252,342,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008120.jpg 18,29,471,324,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008121.jpg 1,191,302,500,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008122.jpg 240,138,480,333,14 1,12,195,278,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008123.jpg 1,106,500,283,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008125.jpg 219,107,367,333,2 130,119,240,250,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008127.jpg 246,160,389,325,13 207,118,246,144,6 285,115,349,289,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008130.jpg 5,1,488,363,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008131.jpg 11,41,445,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008132.jpg 1,47,386,500,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008134.jpg 104,67,326,377,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008141.jpg 109,161,174,193,6 438,189,479,221,13 448,167,467,204,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008145.jpg 6,57,341,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008146.jpg 228,114,279,151,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008147.jpg 1,56,452,348,12 1,1,265,304,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008148.jpg 114,13,444,365,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008150.jpg 188,130,313,208,0 279,190,355,254,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008152.jpg 9,10,452,324,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008154.jpg 172,24,281,263,14 66,121,182,309,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008155.jpg 208,82,369,337,14 367,210,500,337,10 371,206,484,337,8 416,174,490,325,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008162.jpg 49,94,500,333,17 61,83,303,333,14 249,64,403,333,14 132,166,245,248,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008166.jpg 131,38,419,335,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008169.jpg 1,13,451,300,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008170.jpg 181,166,374,276,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008175.jpg 219,296,331,439,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008176.jpg 237,310,291,404,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008177.jpg 291,122,418,329,13 1,116,50,248,13 134,120,304,299,13 405,125,500,174,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008179.jpg 310,133,419,167,0 176,138,311,181,0 47,144,181,182,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008180.jpg 178,111,413,194,0 119,175,342,253,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008184.jpg 441,245,500,348,15 403,294,451,362,15 240,316,299,375,15 1,330,51,375,15 89,116,201,375,14 200,103,299,375,14 295,131,372,375,14 367,135,448,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008185.jpg 265,227,295,257,2 230,238,251,273,2 235,157,268,242,14 253,139,288,239,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008190.jpg 65,139,355,300,17 160,67,261,324,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008191.jpg 36,51,295,146,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008192.jpg 181,1,500,166,18 38,156,219,375,14 129,190,218,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008193.jpg 156,42,458,299,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008194.jpg 11,104,344,297,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008197.jpg 115,52,275,218,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008199.jpg 151,147,427,295,9 192,144,395,285,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008200.jpg 169,8,500,263,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008203.jpg 28,187,57,225,15 95,1,500,375,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008206.jpg 1,216,97,325,17 359,226,500,325,17 231,164,280,211,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008208.jpg 26,206,112,264,15 260,211,336,271,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008210.jpg 163,123,246,276,14 171,188,246,316,1 355,139,459,178,6 34,152,67,174,6 58,151,85,169,6 86,151,111,165,6 111,150,135,163,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008211.jpg 199,118,302,174,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008212.jpg 192,39,275,242,14 67,97,377,346,12 156,235,245,282,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008215.jpg 63,88,500,302,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008217.jpg 245,1,500,373,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008218.jpg 237,121,483,276,13 240,75,368,260,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008220.jpg 402,136,467,227,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008221.jpg 1,160,77,326,14 1,51,461,269,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008223.jpg 43,19,365,225,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008224.jpg 155,254,343,378,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008227.jpg 274,14,381,213,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008229.jpg 184,155,303,356,12 301,194,339,341,14 159,116,296,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008231.jpg 51,79,98,104,0 373,140,418,316,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008232.jpg 287,187,350,242,12 420,191,498,250,12 298,176,328,227,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008233.jpg 121,45,393,306,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008234.jpg 74,17,488,375,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008235.jpg 99,232,307,375,15 148,103,382,158,3 108,108,190,127,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008237.jpg 358,217,383,307,15 276,228,298,303,15 244,249,261,296,15 18,266,39,320,14 62,256,76,291,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008241.jpg 32,32,441,296,9 1,7,235,179,9 14,6,147,102,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008242.jpg 1,58,348,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008246.jpg 137,213,342,375,13 238,129,328,218,14 95,113,195,352,14 1,123,222,245,6 165,170,269,306,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008247.jpg 89,150,146,174,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008252.jpg 38,79,348,373,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008254.jpg 96,225,452,341,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008257.jpg 1,144,280,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008262.jpg 1,210,90,287,12 110,219,247,320,12 131,198,257,302,12 418,180,470,223,12 376,241,409,368,14 418,231,441,333,14 374,203,404,268,14 82,220,98,288,14 311,182,383,232,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008263.jpg 305,85,391,125,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008266.jpg 133,19,388,298,14 364,162,486,270,10 386,136,399,174,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008268.jpg 39,43,173,114,2 308,62,402,155,2 354,237,466,315,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008269.jpg 138,54,365,263,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008271.jpg 1,95,432,288,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008272.jpg 4,169,161,375,14 109,187,198,315,14 169,216,234,314,14 214,219,262,308,14 317,207,374,323,14 268,203,331,300,14 425,167,500,375,14 341,192,463,373,14 346,206,416,323,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008274.jpg 33,3,465,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008275.jpg 29,120,216,233,18 317,109,500,215,18 286,154,309,215,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008276.jpg 1,155,500,318,17 260,96,295,133,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008278.jpg 1,64,500,299,0 1,8,500,194,0 74,167,163,192,0 1,164,91,191,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008279.jpg 1,41,315,500,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008281.jpg 111,44,360,297,5 1,119,128,274,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008284.jpg 100,84,327,407,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008287.jpg 113,168,226,338,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008288.jpg 164,56,333,272,14 39,1,500,337,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008292.jpg 79,65,252,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008294.jpg 125,75,323,271,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008296.jpg 226,198,291,269,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008297.jpg 93,48,362,270,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008300.jpg 25,129,348,206,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008301.jpg 1,93,500,253,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008302.jpg 1,1,500,252,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008307.jpg 52,119,393,333,1 143,39,362,308,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008309.jpg 17,107,238,201,2 363,241,481,303,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008310.jpg 1,1,212,340,15 1,239,22,327,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008313.jpg 104,1,500,271,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008314.jpg 73,111,291,281,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008315.jpg 198,208,312,340,1 169,114,322,319,14 1,61,493,344,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008318.jpg 1,30,371,371,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008319.jpg 355,180,500,352,16 224,166,417,277,16 129,116,197,305,14 38,88,94,241,14 10,63,61,210,14 105,120,138,223,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008320.jpg 258,125,480,347,1 1,187,276,375,1 139,49,285,337,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008321.jpg 150,151,357,233,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008322.jpg 191,145,229,179,16 237,139,274,181,16 271,151,306,186,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008323.jpg 106,132,413,333,16 187,70,323,169,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008324.jpg 105,193,243,447,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008325.jpg 1,327,333,500,1 266,238,333,322,1 3,125,333,500,14 266,197,333,308,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008330.jpg 169,258,223,390,4 234,296,289,395,4 217,129,356,229,10 231,142,314,231,8 188,129,252,212,8 316,152,372,222,8 160,27,249,218,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008331.jpg 51,1,194,228,15 193,1,338,226,15 336,1,476,224,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008335.jpg 6,62,377,474,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008336.jpg 133,98,403,287,18 1,127,185,186,18 447,161,500,231,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008337.jpg 154,124,442,350,1 180,33,391,272,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008338.jpg 212,78,292,118,15 31,113,468,358,6 1,152,156,264,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008341.jpg 59,232,173,330,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008342.jpg 175,59,500,265,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008343.jpg 401,282,493,330,6 236,207,432,333,5 34,281,53,336,14 53,282,74,336,14 134,288,149,332,14 194,287,209,327,14 208,287,223,329,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008344.jpg 8,101,500,262,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008345.jpg 73,57,415,151,0 290,29,320,44,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008346.jpg 15,57,312,492,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008347.jpg 209,74,250,115,2 84,98,132,160,2 127,164,165,206,2 102,217,178,259,2 9,280,115,345,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008354.jpg 79,9,311,486,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008356.jpg 185,137,405,275,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008357.jpg 357,196,430,317,1 285,188,352,287,1 135,163,211,281,1 297,77,327,120,1 368,176,476,264,1 92,87,150,254,14 258,126,287,224,14 286,133,344,235,14 148,111,189,215,14 427,117,498,287,14 425,134,467,257,14 234,115,344,205,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008359.jpg 5,89,495,217,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008362.jpg 60,265,378,375,10 378,232,466,375,8 190,64,347,216,14 235,154,366,276,14 130,163,240,264,14 30,172,132,306,14 199,246,215,284,4 349,159,445,375,14 299,117,340,195,14 134,104,173,209,14 180,235,196,264,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008363.jpg 159,253,266,375,8 226,199,291,307,8 62,236,159,375,8 53,207,98,318,8 132,169,227,264,15 79,239,257,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008364.jpg 48,47,446,165,18 305,104,338,156,14 320,117,338,157,14 58,81,74,105,14 112,83,128,105,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008365.jpg 137,271,341,375,10 56,227,132,345,8 91,256,198,375,8 274,262,389,375,8 354,231,447,351,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008366.jpg 361,1,500,375,12 237,140,308,375,12 128,30,313,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008368.jpg 1,2,500,375,1 1,1,117,246,14 423,17,487,138,14 312,18,360,115,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008370.jpg 106,262,208,328,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008373.jpg 6,106,497,224,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008376.jpg 82,141,295,262,2 317,94,500,328,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008377.jpg 80,44,325,275,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008379.jpg 39,1,436,472,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008380.jpg 166,182,234,362,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008382.jpg 312,110,477,375,14 75,86,218,222,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008384.jpg 177,132,281,197,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008387.jpg 81,79,302,333,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008388.jpg 1,239,449,375,10 254,138,384,262,14 342,143,500,375,14 6,47,77,259,14 73,203,333,375,14 157,35,237,222,14 1,192,52,375,14 352,208,373,268,4 1,50,68,267,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008391.jpg 203,120,361,335,13 202,29,361,293,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008392.jpg 122,78,355,275,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008393.jpg 1,1,500,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008395.jpg 124,152,455,351,12 231,78,308,263,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008402.jpg 361,167,417,226,8 259,179,370,271,8 61,155,161,325,8 142,165,262,366,8 1,162,113,377,8 47,191,196,375,10 310,158,333,181,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008403.jpg 112,33,250,374,12 205,66,324,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008404.jpg 38,94,335,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008406.jpg 192,106,323,243,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008410.jpg 45,98,466,354,17 53,46,249,320,14 125,59,308,354,14 188,98,427,354,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008411.jpg 58,75,500,304,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008416.jpg 246,187,347,266,13 253,133,332,229,14 28,127,91,179,6 144,114,185,137,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008421.jpg 1,39,299,461,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008423.jpg 244,224,279,263,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008424.jpg 1,55,500,278,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008428.jpg 30,50,454,479,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008429.jpg 53,78,295,258,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008431.jpg 1,234,357,500,12 77,41,286,489,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008432.jpg 16,92,481,369,0 313,289,500,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008433.jpg 1,117,424,374,17 94,132,295,360,11 130,13,412,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008434.jpg 36,55,333,500,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008435.jpg 76,25,214,162,2 335,160,470,273,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008437.jpg 39,27,412,330,9 6,160,29,189,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008439.jpg 15,208,138,308,8 379,157,489,253,19 244,200,312,314,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008440.jpg 1,58,37,109,14 151,20,236,212,14 226,50,317,208,14 309,50,387,135,14 23,138,120,375,14 103,113,186,224,14 197,113,283,210,14 287,109,405,224,14 354,131,495,375,14 23,206,447,368,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008443.jpg 1,269,334,500,1 1,13,195,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008444.jpg 108,85,400,377,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008446.jpg 241,78,310,160,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008447.jpg 66,109,379,474,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008450.jpg 339,130,475,342,13 155,116,302,343,13 1,138,194,319,13 451,125,500,188,14 298,124,347,239,14 174,117,210,229,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008453.jpg 172,202,231,246,12 226,205,273,247,12 325,209,370,241,12 306,209,341,235,12 437,210,458,245,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008455.jpg 61,125,327,312,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008461.jpg 149,71,303,364,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008462.jpg 310,228,413,285,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008464.jpg 33,43,436,190,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008466.jpg 217,186,275,270,13 221,138,279,244,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008467.jpg 57,66,166,101,0 130,105,235,138,0 198,144,301,177,0 261,186,362,216,0 319,227,415,258,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008469.jpg 1,1,352,397,5 72,180,231,457,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008470.jpg 1,241,375,375,17 113,199,391,321,17 62,173,119,263,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008471.jpg 241,295,288,314,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008474.jpg 1,271,114,375,10 41,240,137,330,10 352,126,474,321,14 427,171,468,214,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008476.jpg 249,141,428,297,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008479.jpg 23,1,500,375,0 200,199,307,375,14 61,355,86,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008480.jpg 111,195,139,222,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008482.jpg 251,215,292,243,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008487.jpg 71,167,235,328,12 307,109,371,340,14 309,125,347,217,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008488.jpg 57,74,411,315,12 145,14,220,244,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008490.jpg 132,51,232,127,2 181,126,304,212,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008496.jpg 88,116,423,217,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008497.jpg 42,35,424,353,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008500.jpg 216,88,462,331,12 180,83,219,130,14 119,63,184,149,14 59,103,101,161,14 93,96,124,136,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008501.jpg 154,160,275,232,6 12,30,500,174,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008506.jpg 82,219,287,318,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008507.jpg 60,22,474,160,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008508.jpg 209,87,478,322,0 13,152,137,203,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008511.jpg 49,130,284,305,13 244,183,390,307,13 284,206,440,305,13 71,40,211,302,14 214,117,325,303,14 299,156,386,259,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008512.jpg 160,94,266,288,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008517.jpg 8,135,500,375,17 1,70,76,193,15 61,81,295,375,14 174,45,412,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008519.jpg 17,119,487,250,0 20,179,59,304,14 46,172,115,303,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008521.jpg 41,151,323,262,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008522.jpg 1,111,405,347,17 151,1,292,395,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008523.jpg 1,40,447,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008524.jpg 429,124,500,246,19 348,62,393,145,14 385,48,462,212,14 314,67,368,187,14 276,73,319,199,14 231,63,281,173,14 200,71,240,189,14 171,79,207,176,14 118,114,173,159,14 117,131,160,185,14 185,143,230,257,14 228,157,305,258,14 286,169,353,274,14 330,198,418,315,14 263,195,352,322,14 205,160,301,296,14 133,158,213,310,14 29,126,142,321,14 81,132,154,227,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008525.jpg 48,80,378,330,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008526.jpg 1,152,500,375,17 162,232,197,338,4 66,138,352,375,14 234,141,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008527.jpg 298,84,477,255,18 23,154,110,212,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008528.jpg 234,173,352,251,1 69,193,209,270,1 11,214,129,270,1 1,154,36,200,1 20,131,122,270,14 119,115,182,270,14 254,124,319,232,14 320,133,345,196,14 3,124,41,192,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008530.jpg 123,112,310,250,1 98,58,202,225,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008531.jpg 79,94,190,192,15 270,108,382,195,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008533.jpg 80,5,435,376,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008536.jpg 219,124,379,306,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008537.jpg 214,172,281,240,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008538.jpg 286,191,383,271,8 55,181,277,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008541.jpg 17,86,282,445,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008544.jpg 72,29,500,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008545.jpg 1,137,448,342,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008546.jpg 237,145,286,173,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008547.jpg 93,81,179,365,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008549.jpg 35,159,369,300,5 364,185,423,254,5 420,212,495,246,5 312,271,348,347,14 472,270,499,333,14 91,296,123,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008550.jpg 48,153,175,500,14 51,69,304,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008552.jpg 67,108,448,337,13 169,36,340,266,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008554.jpg 1,160,162,375,17 117,129,212,245,8 229,126,331,239,8 325,139,447,256,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008560.jpg 159,189,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008564.jpg 194,99,336,268,1 192,29,314,205,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008567.jpg 1,20,500,483,17 132,13,482,483,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008570.jpg 57,121,488,320,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008572.jpg 152,161,224,262,1 142,111,207,228,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008574.jpg 1,32,500,207,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008578.jpg 132,32,500,238,17 22,184,284,307,11 331,49,468,144,11 216,80,332,142,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008579.jpg 147,139,284,235,1 325,121,436,205,1 283,141,365,333,14 182,168,288,333,14 86,170,211,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008583.jpg 1,107,454,268,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008585.jpg 205,98,473,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008588.jpg 1,133,500,375,17 281,1,500,375,14 59,80,236,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008589.jpg 56,52,297,448,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008590.jpg 387,95,500,197,19 180,203,233,287,7 43,151,285,323,17 1,228,171,359,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008591.jpg 187,145,328,316,1 133,37,282,286,14 438,75,500,199,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008593.jpg 194,53,366,241,8 93,18,241,238,14 48,154,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008595.jpg 84,53,274,234,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008598.jpg 455,131,500,197,5 1,12,456,287,5 48,100,190,375,14 134,125,160,165,14 226,141,268,269,14 303,130,350,268,14 232,138,317,373,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008600.jpg 25,156,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008601.jpg 1,98,288,333,16 1,1,500,333,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008606.jpg 186,90,491,310,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008607.jpg 27,36,361,162,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008608.jpg 211,212,500,375,17 224,61,322,244,15 122,128,205,199,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008611.jpg 105,110,374,282,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008613.jpg 235,200,286,268,16 143,190,194,267,16 186,186,222,253,16 41,167,77,224,16 9,212,40,266,16 240,166,281,204,16 76,180,150,240,16 365,204,415,258,16 283,192,341,248,16 84,215,131,267,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008615.jpg 1,1,500,410,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008616.jpg 80,70,435,280,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008617.jpg 29,73,438,368,9 79,115,369,368,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008618.jpg 1,54,500,232,18 228,162,264,262,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008619.jpg 261,199,500,333,1 17,25,181,333,14 303,29,445,333,14 121,244,254,333,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008621.jpg 1,122,332,361,17 218,229,305,290,15 437,191,500,328,8 315,105,500,332,8 65,211,166,328,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008622.jpg 193,1,500,267,17 223,59,386,136,11 69,254,168,358,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008623.jpg 57,42,450,322,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008624.jpg 273,139,424,376,14 64,160,358,376,14 64,31,500,376,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008627.jpg 67,1,325,267,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008628.jpg 35,229,189,310,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008629.jpg 33,55,209,187,1 111,90,371,313,1 161,109,469,375,1 108,1,152,113,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008632.jpg 241,422,352,482,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008635.jpg 11,174,67,209,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008636.jpg 33,45,414,401,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008637.jpg 1,90,500,174,18 222,125,335,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008641.jpg 1,147,333,459,18 95,296,240,500,14 83,241,171,390,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008642.jpg 1,47,477,332,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008649.jpg 223,79,291,143,19 347,15,396,93,14 296,192,500,375,17 141,117,219,210,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008652.jpg 5,104,336,287,1 57,1,196,237,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008654.jpg 52,161,375,475,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008658.jpg 4,137,313,295,17 294,171,448,342,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008659.jpg 280,258,352,297,1 293,233,334,288,14 144,248,198,275,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008662.jpg 1,64,466,264,18 1,94,216,283,18 34,29,92,56,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008665.jpg 1,57,392,375,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008666.jpg 171,197,293,272,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008668.jpg 249,72,285,122,16 180,83,208,108,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008671.jpg 56,46,420,375,1 196,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008673.jpg 105,1,375,500,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008674.jpg 272,140,473,323,5 131,97,184,125,6 214,91,264,115,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008675.jpg 1,1,500,323,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008676.jpg 1,160,309,329,18 283,189,307,265,14 305,190,329,266,14 364,63,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008679.jpg 406,243,500,365,6 350,256,436,318,6 295,261,327,284,6 1,243,116,321,6 111,256,160,297,6 244,242,273,279,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008681.jpg 29,25,500,303,18 250,228,500,357,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008682.jpg 234,194,405,354,5 137,222,253,337,5 58,218,166,321,5 1,213,89,317,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008683.jpg 112,113,236,322,5 1,147,115,287,5 251,225,283,298,14 284,230,308,301,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008684.jpg 213,171,295,260,5 287,170,359,239,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008685.jpg 144,149,341,313,9 151,110,382,281,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008689.jpg 35,27,362,456,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008690.jpg 22,16,401,340,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008691.jpg 388,201,500,299,1 141,258,382,375,1 1,224,120,320,1 114,146,183,375,14 181,145,256,375,14 248,149,321,375,14 268,153,357,373,14 1,227,113,315,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008694.jpg 21,16,276,318,8 369,119,479,333,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008695.jpg 267,100,391,210,1 191,98,330,213,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008696.jpg 1,117,262,183,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008697.jpg 35,1,375,500,18 196,88,307,407,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008700.jpg 114,1,249,500,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008701.jpg 250,161,336,255,5 207,235,239,307,14 337,218,448,288,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008705.jpg 240,114,484,286,5 7,149,209,246,5 5,206,42,305,14 208,218,224,253,14 37,217,55,291,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008706.jpg 156,360,238,460,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008707.jpg 1,184,65,265,1 64,178,173,258,1 163,182,268,257,1 293,182,370,254,1 369,184,455,252,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008708.jpg 158,210,263,430,1 148,151,270,365,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008711.jpg 14,31,486,343,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008713.jpg 184,148,291,201,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008714.jpg 183,157,207,202,11 262,173,376,285,16 187,189,286,275,16 298,175,416,267,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008717.jpg 89,39,258,337,14 98,158,232,404,1 268,127,302,198,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008718.jpg 262,270,478,433,1 10,340,109,437,1 277,184,485,431,14 16,284,105,439,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008719.jpg 26,91,500,375,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008724.jpg 1,79,137,375,1 62,22,441,375,1 130,1,396,285,1 314,1,500,227,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008725.jpg 347,178,399,245,1 347,144,395,225,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008726.jpg 55,150,492,258,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008732.jpg 108,104,399,315,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008735.jpg 99,85,297,290,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008739.jpg 1,45,210,273,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008744.jpg 1,125,288,338,16 262,77,401,313,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008745.jpg 384,145,500,260,1 328,272,500,371,1 292,18,405,274,14 213,86,320,246,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008746.jpg 68,93,335,377,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008748.jpg 51,17,431,318,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008749.jpg 31,52,416,289,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008751.jpg 1,226,411,316,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008753.jpg 80,1,489,312,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008755.jpg 116,242,151,346,14 149,229,179,347,14 138,283,170,347,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008757.jpg 282,1,500,375,18 148,116,176,184,14 172,105,225,228,14 229,99,274,202,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008758.jpg 216,218,284,311,1 220,158,283,289,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008765.jpg 111,114,441,239,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008767.jpg 1,29,150,182,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008770.jpg 1,1,333,500,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008772.jpg 131,161,446,297,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2008_008773.jpg 27,254,285,376,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000001.jpg 149,87,338,238,12 33,107,184,251,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000002.jpg 66,199,306,356,7 109,66,229,221,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000006.jpg 38,9,286,330,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000009.jpg 203,159,227,197,3 265,178,289,189,3 13,182,25,204,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000010.jpg 36,153,124,241,19 72,205,164,286,8 157,57,346,267,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000011.jpg 139,167,428,291,18 444,209,469,241,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000012.jpg 89,61,321,204,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000013.jpg 85,116,247,273,7 233,122,485,281,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000014.jpg 342,105,448,209,19 106,174,214,298,8 1,262,82,373,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000015.jpg 96,174,203,345,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000016.jpg 1,14,500,375,17 2,102,469,324,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000017.jpg 92,168,357,334,12 202,100,252,272,14 263,97,323,186,14 179,145,443,334,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000021.jpg 39,152,215,308,6 216,172,311,279,6 1,153,47,244,6 260,138,315,295,14 297,165,318,309,14 260,150,280,183,14 207,156,228,213,14 180,150,204,210,14 13,133,35,171,14 32,138,53,195,14 54,149,69,195,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000022.jpg 62,142,367,208,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000026.jpg 115,117,383,362,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000027.jpg 449,172,484,189,6 441,180,488,230,6 15,64,451,292,5 1,141,19,316,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000028.jpg 399,154,468,226,8 312,150,382,222,8 227,152,295,221,8 147,150,213,220,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000029.jpg 1,132,375,497,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000030.jpg 72,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000032.jpg 59,95,491,216,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000035.jpg 80,182,237,252,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000037.jpg 162,125,310,303,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000039.jpg 191,134,328,280,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000040.jpg 102,16,433,274,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000041.jpg 192,28,452,235,19 25,95,214,326,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000042.jpg 243,130,390,184,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000045.jpg 47,1,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000051.jpg 92,89,390,217,18 436,155,477,183,18 403,153,435,185,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000052.jpg 103,101,414,220,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000054.jpg 58,164,333,347,5 181,216,206,266,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000055.jpg 322,148,457,355,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000056.jpg 317,357,363,482,14 265,371,302,477,14 197,362,235,487,14 246,367,272,441,14 98,391,141,472,14 121,423,162,474,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000058.jpg 1,331,375,500,10 348,191,372,286,4 324,220,347,285,4 174,234,218,393,4 1,69,73,398,14 27,85,180,334,14 200,70,340,347,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000059.jpg 122,72,357,302,14 1,12,500,335,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000060.jpg 98,23,476,329,5 479,184,500,233,6 189,107,242,153,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000063.jpg 1,91,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000066.jpg 284,161,339,225,9 102,155,191,227,9 1,158,90,265,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000067.jpg 184,180,220,307,14 225,140,270,308,14 246,187,291,305,14 289,186,325,301,14 333,143,381,304,14 406,183,453,307,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000068.jpg 46,62,310,423,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000072.jpg 39,43,170,404,14 143,95,274,446,14 212,48,356,391,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000073.jpg 97,141,333,387,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000074.jpg 73,21,397,320,13 143,25,334,224,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000078.jpg 95,117,404,225,6 208,123,241,152,14 231,1,261,32,14 193,1,226,32,14 57,1,93,47,14 77,9,115,41,14 5,1,41,50,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000080.jpg 96,38,328,297,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000082.jpg 315,80,469,315,8 164,86,299,314,8 27,73,165,316,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000084.jpg 1,38,500,334,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000085.jpg 143,183,172,239,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000087.jpg 215,262,450,371,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000088.jpg 169,52,382,335,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000089.jpg 59,59,462,287,5 1,202,85,300,6 460,189,500,227,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000090.jpg 93,115,261,235,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000091.jpg 54,1,500,330,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000093.jpg 1,27,450,282,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000096.jpg 1,145,169,319,17 255,138,448,221,17 109,113,158,161,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000097.jpg 185,128,408,215,5 36,162,135,199,6 411,152,467,179,6 462,156,492,179,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000100.jpg 100,86,277,449,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000102.jpg 6,87,40,168,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000103.jpg 152,87,275,457,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000104.jpg 57,49,439,219,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000105.jpg 199,135,369,210,18 465,178,500,212,1 475,181,500,216,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000109.jpg 39,35,448,375,10 38,88,147,344,8 187,186,397,375,8 319,123,500,374,8 115,30,215,60,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000119.jpg 208,174,354,348,13 371,202,441,289,13 245,161,326,313,14 380,173,436,273,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000120.jpg 6,48,293,441,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000121.jpg 86,1,181,210,4 212,1,332,202,4 313,1,375,190,4 130,17,278,481,4 162,356,254,419,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000122.jpg 25,95,476,220,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000124.jpg 314,137,419,185,2 249,261,319,291,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000128.jpg 124,407,183,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000130.jpg 140,6,275,493,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000131.jpg 365,90,500,274,13 14,37,490,388,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000132.jpg 1,16,500,500,7 2,1,499,426,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000133.jpg 111,144,383,234,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000135.jpg 36,145,468,275,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000136.jpg 1,109,88,240,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000137.jpg 20,53,476,363,18 441,85,500,297,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000140.jpg 479,192,489,203,6 464,191,480,205,6 441,192,464,208,6 431,190,440,207,6 88,64,431,317,5 289,152,324,192,14 3,201,97,256,6 1,209,23,265,6 151,134,202,185,14 190,141,223,195,14 448,239,476,320,14 474,206,500,324,14 493,191,500,228,14 429,205,439,237,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000141.jpg 1,91,364,278,10 322,6,500,278,14 172,41,270,185,14 68,13,167,153,14 21,3,99,132,14 1,3,31,103,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000142.jpg 12,184,275,352,11 117,101,379,243,11 199,50,473,228,11 1,1,493,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000145.jpg 118,73,241,279,14 318,189,443,274,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000146.jpg 107,92,243,401,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000149.jpg 241,165,333,291,14 16,158,259,460,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000150.jpg 145,11,344,231,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000151.jpg 231,189,333,248,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000156.jpg 152,123,267,242,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000157.jpg 60,256,129,323,19 286,258,333,337,19 112,148,247,314,14 66,322,121,366,8 105,226,251,400,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000158.jpg 22,1,455,375,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000159.jpg 259,103,349,136,0 13,103,473,203,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000160.jpg 1,307,251,391,6 1,311,56,336,6 158,304,246,329,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000161.jpg 47,118,211,370,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000164.jpg 188,166,310,361,14 133,89,351,375,14 224,213,447,375,8 2,91,108,218,10 57,76,113,193,8 2,113,44,204,8 1,73,16,95,8 88,67,106,89,8 36,71,67,108,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000165.jpg 139,139,262,218,6 483,103,500,155,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000168.jpg 235,118,347,233,16 82,34,238,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000169.jpg 12,54,459,316,12 1,228,55,319,14 383,103,419,188,14 399,40,443,177,14 404,1,446,62,14 332,36,480,150,12 239,53,315,79,6 167,60,218,75,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000171.jpg 293,323,315,401,4 42,149,311,497,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000176.jpg 309,109,500,237,5 1,135,72,202,5 43,145,385,256,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000177.jpg 41,120,500,285,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000181.jpg 39,30,444,433,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000182.jpg 1,179,18,212,8 46,154,85,207,8 138,149,168,193,8 188,149,207,190,8 215,148,244,186,8 206,146,231,186,8 31,196,375,500,8 103,203,375,476,14 276,144,298,182,8 257,143,273,169,8 245,153,261,169,8 332,163,375,216,8 301,151,355,193,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000183.jpg 1,25,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000184.jpg 29,33,483,328,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000188.jpg 89,261,367,500,10 192,270,357,497,8 89,241,242,469,8 116,226,184,273,8 231,231,329,442,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000189.jpg 52,150,288,436,11 1,87,334,500,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000192.jpg 174,62,306,250,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000195.jpg 123,1,370,370,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000197.jpg 401,121,423,178,14 418,155,465,171,1 376,162,431,183,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000198.jpg 236,100,346,290,8 15,107,180,339,8 402,105,500,313,15 452,203,500,340,15 316,175,439,294,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000199.jpg 103,117,454,284,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000201.jpg 156,76,245,411,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000203.jpg 221,105,340,245,5 354,197,407,236,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000205.jpg 1,103,362,216,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000206.jpg 138,87,286,367,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000209.jpg 115,209,315,475,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000212.jpg 217,221,298,414,8 159,215,219,385,8 72,222,153,411,8 141,238,226,452,8 88,226,291,435,10 194,192,268,226,6 190,177,227,205,6 254,172,298,197,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000214.jpg 179,109,228,173,19 230,179,348,333,8 257,148,291,197,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000216.jpg 8,12,280,265,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000217.jpg 1,223,165,375,17 14,171,32,193,15 13,102,30,125,15 21,64,40,86,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000218.jpg 77,176,431,417,2 6,13,481,206,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000219.jpg 42,147,389,404,9 374,23,500,404,14 203,115,413,274,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000223.jpg 37,196,62,243,14 242,141,333,269,16 360,197,418,253,16 187,211,276,247,13 104,201,191,244,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000225.jpg 28,152,421,238,0 1,230,59,266,6 48,237,110,268,6 87,235,156,271,6 143,246,200,273,6 173,245,228,275,6 234,254,252,273,6 330,258,370,281,6 295,261,307,275,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000227.jpg 1,1,492,361,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000229.jpg 260,174,377,264,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000232.jpg 42,37,281,500,11 1,101,53,276,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000233.jpg 17,34,429,369,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000237.jpg 207,202,471,375,1 210,20,386,373,14 85,174,137,272,1 84,115,144,249,14 127,119,157,209,14 131,159,157,228,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000239.jpg 13,51,486,330,5 452,138,500,232,5 266,138,304,217,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000242.jpg 54,218,476,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000244.jpg 54,113,414,219,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000247.jpg 181,113,218,148,4 355,96,374,171,4 405,98,430,159,4 181,135,218,251,4 55,113,75,170,4 66,136,103,207,4 74,8,250,365,14 264,2,425,171,14 226,1,500,375,14 1,157,116,375,14 23,138,425,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000248.jpg 123,117,421,315,12 230,42,295,239,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000249.jpg 1,55,396,333,7 1,1,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000250.jpg 1,81,325,313,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000251.jpg 231,200,479,375,17 29,162,171,295,8 382,72,448,121,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000253.jpg 244,206,347,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000254.jpg 58,28,429,294,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000257.jpg 1,176,500,333,10 223,80,500,179,14 446,48,500,173,4 1,61,134,183,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000260.jpg 1,133,485,226,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000268.jpg 116,138,235,413,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000276.jpg 1,1,500,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000277.jpg 1,98,222,500,4 119,35,374,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000280.jpg 263,132,347,184,6 477,144,500,174,13 125,141,165,186,13 126,134,166,179,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000281.jpg 64,21,444,314,1 1,34,186,200,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000282.jpg 177,213,303,427,11 161,123,339,397,14 148,129,176,150,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000283.jpg 115,80,340,351,18 1,74,33,100,6 231,107,244,131,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000284.jpg 60,30,249,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000285.jpg 99,182,333,500,9 215,433,255,466,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000286.jpg 1,1,375,500,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000287.jpg 220,63,437,180,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000288.jpg 119,29,390,301,6 403,52,429,119,14 417,58,452,145,14 467,32,500,178,14 1,94,99,132,6 447,65,475,149,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000289.jpg 104,203,287,296,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000290.jpg 201,161,266,201,5 357,174,366,199,14 368,171,376,197,14 130,181,141,190,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000291.jpg 1,1,456,366,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000293.jpg 1,34,397,334,12 78,1,387,334,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000297.jpg 48,1,500,333,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000298.jpg 1,267,167,500,8 190,116,331,353,8 90,105,217,290,8 16,94,144,264,8 1,92,83,238,8 1,254,68,356,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000300.jpg 1,78,500,333,10 94,1,500,209,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000303.jpg 1,1,453,379,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000304.jpg 77,150,365,329,7 1,1,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000305.jpg 211,55,396,258,14 1,232,500,332,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000308.jpg 126,112,170,163,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000309.jpg 6,7,333,289,9 203,110,339,219,9 154,3,396,227,9 316,78,495,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000312.jpg 175,36,500,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000316.jpg 243,133,500,352,17 183,156,247,218,8 47,232,83,293,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000317.jpg 32,5,500,379,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000318.jpg 199,124,294,225,2 1,1,109,165,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000320.jpg 270,7,364,63,0 306,44,402,104,0 209,88,304,146,0 341,82,439,146,0 241,131,335,187,0 263,175,359,231,0 166,220,258,276,0 178,262,273,320,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000321.jpg 48,57,333,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000322.jpg 54,26,375,426,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000327.jpg 1,1,500,319,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000328.jpg 203,276,220,321,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000330.jpg 105,49,500,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000335.jpg 112,47,384,269,5 411,184,500,254,6 1,113,145,259,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000336.jpg 4,31,268,284,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000337.jpg 99,226,172,334,14 295,51,466,334,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000339.jpg 47,7,454,357,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000340.jpg 16,356,71,500,14 260,332,375,500,14 43,250,101,395,4 147,63,185,165,4 35,157,326,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000341.jpg 1,15,500,278,13 465,48,500,90,6 352,50,383,85,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000342.jpg 1,89,319,375,7 115,130,491,375,7 1,1,339,165,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000343.jpg 396,100,434,196,14 365,106,395,194,14 391,99,406,118,14 289,131,352,194,13 259,147,325,239,13 186,140,271,224,13 187,116,236,154,14 3,138,154,339,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000344.jpg 64,4,440,348,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000347.jpg 84,15,433,308,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000350.jpg 1,35,500,461,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000351.jpg 40,242,371,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000354.jpg 1,1,500,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000356.jpg 268,35,481,375,16 16,64,263,333,16 442,84,494,168,16 91,44,158,99,16 1,55,43,169,16 179,28,222,67,16 235,48,269,136,16 279,44,313,73,16 262,56,284,136,16 157,44,182,67,16 39,53,91,110,16 453,167,500,252,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000366.jpg 134,145,329,342,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000367.jpg 27,181,71,224,0 12,128,479,276,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000370.jpg 31,73,388,332,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000375.jpg 1,383,200,500,17 1,187,178,447,14 230,47,332,452,14 1,144,129,260,14 30,1,159,228,14 150,1,222,192,14 189,1,271,149,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000377.jpg 96,1,275,500,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000378.jpg 1,30,500,375,3 110,32,232,375,14 233,108,266,145,14 128,105,156,179,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000379.jpg 1,1,500,375,17 62,111,430,256,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000385.jpg 119,141,379,261,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000387.jpg 51,128,487,273,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000389.jpg 350,30,421,66,2 233,58,303,111,2 134,60,208,96,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000390.jpg 112,7,500,285,6 27,132,123,182,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000391.jpg 80,18,249,202,19 1,82,68,283,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000393.jpg 82,194,232,301,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000397.jpg 172,207,446,290,6 297,220,337,303,14 52,205,71,273,14 75,200,94,276,14 41,92,465,227,0 188,191,216,249,14 231,200,250,223,14 91,208,103,274,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000398.jpg 89,338,275,500,19 182,307,225,325,19 142,324,231,349,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000399.jpg 115,104,454,256,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000400.jpg 1,43,228,459,11 55,262,156,332,11 56,303,144,376,11 53,334,128,413,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000402.jpg 46,22,468,323,13 3,1,500,237,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000405.jpg 19,1,300,374,5 383,1,446,38,6 367,12,435,197,14 438,53,471,278,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000408.jpg 25,64,459,294,5 299,127,336,172,14 451,155,468,218,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000409.jpg 40,209,119,274,12 147,203,243,263,12 121,201,217,275,12 237,205,294,307,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000410.jpg 1,79,244,397,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000411.jpg 229,113,361,375,14 78,195,149,253,14 230,208,256,254,4 352,193,417,374,14 138,81,261,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000412.jpg 9,61,218,282,12 174,47,428,313,12 301,76,500,282,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000414.jpg 111,207,283,433,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000416.jpg 1,1,500,492,17 1,45,478,487,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000417.jpg 1,21,492,197,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000418.jpg 1,209,350,429,17 27,130,334,429,14 451,242,500,429,17 357,146,409,344,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000419.jpg 1,13,400,500,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000420.jpg 41,126,425,271,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000421.jpg 243,145,360,225,3 117,111,153,172,14 300,102,376,185,14 190,104,249,185,14 256,100,297,150,14 274,163,347,201,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000422.jpg 337,228,408,331,8 247,225,296,309,8 145,220,221,283,17 1,231,29,303,8 50,201,101,238,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000426.jpg 1,68,241,250,5 231,95,453,242,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000430.jpg 264,197,303,286,11 125,1,232,186,14 207,19,297,224,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000435.jpg 61,49,194,446,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000438.jpg 88,105,500,305,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000439.jpg 330,161,360,194,15 259,170,341,279,8 57,195,108,288,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000440.jpg 6,115,499,226,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000443.jpg 394,74,500,157,18 201,50,423,168,18 1,54,211,167,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000444.jpg 36,19,204,199,19 198,3,280,147,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000445.jpg 68,17,458,315,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000446.jpg 44,39,271,327,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000449.jpg 1,1,333,500,17 1,141,161,299,11 1,1,333,483,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000452.jpg 34,43,333,491,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000453.jpg 4,103,500,375,8 96,1,500,375,14 349,1,500,285,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000454.jpg 135,192,195,318,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000455.jpg 212,120,353,280,5 233,207,252,226,14 414,202,424,225,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000456.jpg 1,10,459,325,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000457.jpg 4,144,267,321,1 332,128,500,209,6 58,72,168,296,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000461.jpg 123,22,374,453,14 16,204,444,481,1 375,144,458,176,6 134,147,220,178,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000463.jpg 304,82,352,252,4 1,1,273,334,14 303,68,344,149,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000464.jpg 195,1,500,375,14 31,263,200,375,14 153,218,187,290,14 95,211,134,276,14 173,256,186,307,4 67,275,116,375,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000466.jpg 74,23,330,179,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000469.jpg 55,35,349,293,3 1,53,239,291,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000471.jpg 52,201,284,317,9 49,39,362,325,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000472.jpg 25,169,174,500,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000474.jpg 273,100,484,333,14 86,90,375,333,14 2,117,500,333,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000476.jpg 1,235,488,324,18 232,248,251,271,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000477.jpg 25,56,70,67,3 99,61,370,112,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000483.jpg 47,8,422,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000486.jpg 32,62,58,78,2 35,55,70,70,2 103,88,131,105,2 174,87,207,108,2 222,123,251,139,2 234,115,264,135,2 312,117,341,143,2 383,78,414,99,2 343,57,378,75,2 307,93,341,109,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000487.jpg 14,146,207,215,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000488.jpg 21,1,193,95,19 224,159,287,229,7 341,100,500,306,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000491.jpg 187,199,267,241,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000493.jpg 1,75,476,380,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000494.jpg 151,32,303,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000496.jpg 80,70,408,348,11 262,1,500,344,14 41,1,172,57,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000499.jpg 353,247,409,300,11 324,249,357,303,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000500.jpg 1,101,500,264,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000501.jpg 101,101,347,234,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000502.jpg 1,40,500,375,10 239,4,296,187,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000503.jpg 126,112,235,265,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000504.jpg 31,23,480,375,7 330,1,500,176,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000505.jpg 329,1,410,51,15 279,25,477,273,14 158,43,351,256,14 1,119,500,333,14 2,28,500,333,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000511.jpg 221,1,500,179,14 105,114,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000512.jpg 59,45,374,293,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000513.jpg 11,123,490,222,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000515.jpg 181,308,300,482,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000516.jpg 155,41,351,232,3 135,77,169,105,3 17,71,58,99,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000519.jpg 414,181,500,249,5 134,169,394,273,5 84,184,137,240,5 71,208,80,241,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000522.jpg 90,112,370,228,6 232,127,256,148,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000523.jpg 10,177,375,480,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000525.jpg 139,23,349,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000526.jpg 38,1,333,500,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000527.jpg 207,26,338,243,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000529.jpg 263,92,370,316,12 401,1,500,333,14 325,292,431,333,14 223,255,323,333,14 371,176,448,333,14 8,30,168,333,14 134,117,246,333,14 195,214,246,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000532.jpg 128,100,373,274,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000535.jpg 1,61,500,208,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000536.jpg 272,180,390,251,2 49,168,226,232,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000539.jpg 162,52,322,333,11 128,1,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000542.jpg 72,182,82,212,14 53,200,200,256,6 57,208,392,362,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000544.jpg 138,1,375,210,19 40,161,135,400,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000545.jpg 129,137,356,240,0 349,180,500,230,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000546.jpg 166,159,210,317,4 123,143,144,225,4 261,61,500,333,14 232,89,357,246,14 2,35,140,333,14 43,229,334,333,10 76,181,171,237,10 184,84,261,233,14 163,159,182,299,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000547.jpg 186,140,407,343,12 53,153,230,335,12 64,48,403,336,12 1,26,264,293,6 334,27,453,312,14 237,54,315,326,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000549.jpg 392,85,482,215,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000550.jpg 140,77,411,321,11 76,1,371,297,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000552.jpg 28,64,269,410,14 144,128,188,169,4 80,168,300,494,8 1,1,72,109,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000553.jpg 82,91,306,294,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000557.jpg 21,70,489,325,5 363,137,500,297,5 1,214,23,234,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000558.jpg 6,109,375,429,5 279,142,375,356,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000559.jpg 86,64,261,282,9 181,134,404,282,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000560.jpg 10,33,492,207,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000562.jpg 73,2,172,188,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000563.jpg 1,77,500,305,17 339,17,477,354,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000565.jpg 3,188,82,334,14 204,23,482,347,12 29,21,273,349,12 237,113,272,234,14 380,123,469,292,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000566.jpg 234,10,500,499,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000567.jpg 1,5,333,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000568.jpg 24,44,471,227,5 471,139,500,153,6 470,129,495,145,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000573.jpg 56,89,450,336,1 228,180,278,236,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000574.jpg 1,190,77,362,9 213,255,269,300,9 289,192,424,254,9 342,220,500,290,9 241,227,375,308,9 327,263,411,301,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000575.jpg 1,2,320,240,10 272,1,314,69,4 51,2,159,64,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000576.jpg 9,36,351,323,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000577.jpg 173,129,419,230,17 289,172,355,210,11 236,183,420,367,14 172,295,418,375,8 1,302,141,375,8 41,216,150,329,11 222,118,292,215,14 227,186,242,216,4 137,117,183,216,8 1,207,60,316,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000579.jpg 110,28,492,333,2 35,168,230,333,2 14,1,99,245,2 354,1,417,112,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000585.jpg 74,20,469,375,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000586.jpg 39,53,297,472,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000590.jpg 146,111,232,283,15 62,131,224,421,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000591.jpg 21,28,500,326,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000592.jpg 144,177,400,295,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000593.jpg 49,146,184,270,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000595.jpg 199,84,361,376,14 344,81,491,377,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000597.jpg 294,140,451,275,18 146,196,188,259,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000599.jpg 130,116,401,308,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000600.jpg 179,37,472,333,11 40,1,309,166,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000602.jpg 22,14,487,260,13 50,9,116,133,13 436,1,500,123,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000603.jpg 108,62,322,277,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000604.jpg 11,1,168,168,8 1,125,202,367,8 254,114,476,264,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000606.jpg 131,46,304,498,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000608.jpg 217,251,270,293,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000611.jpg 19,1,468,342,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000614.jpg 41,1,468,222,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000615.jpg 8,34,333,482,14 1,50,375,500,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000617.jpg 1,135,192,375,14 108,151,216,375,14 345,154,500,375,14 81,1,500,372,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000619.jpg 141,127,301,328,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000624.jpg 1,95,237,375,8 297,136,500,359,15 37,1,205,204,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000625.jpg 280,157,300,185,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000626.jpg 224,129,459,282,9 207,140,295,240,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000628.jpg 92,142,420,315,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000629.jpg 19,66,83,120,19 179,121,272,245,19 140,113,219,222,19 263,81,288,163,19 286,90,342,171,19 339,159,470,358,8 231,239,383,375,8 78,171,178,300,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000631.jpg 32,1,500,242,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000632.jpg 1,14,449,375,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000634.jpg 65,74,468,318,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000635.jpg 195,178,285,275,15 305,194,385,267,15 117,193,188,273,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000636.jpg 76,1,367,294,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000637.jpg 34,114,290,326,13 208,126,393,294,13 152,69,294,216,14 53,35,206,246,14 148,371,285,500,14 1,386,104,500,14 332,376,356,429,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000638.jpg 1,1,500,303,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000641.jpg 23,183,233,274,9 32,93,355,262,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000642.jpg 76,132,364,343,12 183,45,269,233,14 187,236,216,305,14 251,251,283,300,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000647.jpg 58,22,345,408,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000648.jpg 121,101,389,231,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000651.jpg 17,31,484,337,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000653.jpg 83,1,459,314,14 32,107,477,285,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000655.jpg 75,221,209,407,8 194,213,329,386,8 215,201,295,329,8 100,207,209,360,8 84,216,310,405,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000658.jpg 24,72,439,312,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000661.jpg 125,31,190,53,0 186,56,252,75,0 1,181,500,377,0 366,329,454,377,14 164,281,272,377,14 24,319,88,377,14 99,319,153,377,14 146,314,172,377,14 250,324,297,377,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000662.jpg 74,67,213,132,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000663.jpg 43,97,376,243,18 1,146,36,209,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000664.jpg 175,71,307,373,2 32,147,183,492,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000670.jpg 209,315,276,421,16 82,283,175,422,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000672.jpg 359,118,500,184,17 1,200,58,235,8 1,224,126,375,8 12,135,495,321,17 337,316,487,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000674.jpg 1,102,331,500,17 38,63,331,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000675.jpg 128,134,288,246,16 358,89,490,345,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000676.jpg 1,1,461,288,13 13,1,345,128,13 414,1,500,133,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000677.jpg 125,1,500,333,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000679.jpg 67,1,436,353,19 1,1,48,272,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000681.jpg 1,42,385,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000683.jpg 201,95,435,256,6 323,111,377,151,14 252,114,303,150,14 74,194,141,235,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000684.jpg 201,1,409,328,7 1,127,363,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000686.jpg 9,105,437,200,3 35,78,119,146,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000689.jpg 1,152,411,237,18 390,172,500,193,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000690.jpg 5,65,495,230,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000691.jpg 1,6,313,500,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000692.jpg 175,79,466,271,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000694.jpg 29,281,71,299,9 75,244,184,349,9 235,241,351,343,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000695.jpg 1,14,500,332,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000696.jpg 1,1,375,500,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000702.jpg 1,1,500,304,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000704.jpg 1,162,60,227,19 308,162,358,212,19 304,32,433,249,14 186,34,333,243,14 85,116,167,209,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000705.jpg 191,133,389,261,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000708.jpg 49,167,106,191,6 466,174,482,199,6 422,152,467,219,5 102,88,427,298,5 23,171,47,190,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000709.jpg 35,215,246,467,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000712.jpg 1,95,333,302,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000716.jpg 65,69,468,332,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000718.jpg 243,125,283,173,4 186,86,249,204,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000719.jpg 234,25,347,255,14 144,56,235,173,14 101,140,432,318,13 31,133,154,286,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000720.jpg 94,87,271,159,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000722.jpg 125,186,178,232,19 68,257,140,365,8 337,236,375,283,15 179,199,219,241,15 235,232,251,252,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000723.jpg 73,2,465,244,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000724.jpg 139,32,297,327,14 122,171,353,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000725.jpg 313,167,449,278,16 41,159,200,263,16 35,210,127,244,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000726.jpg 55,89,380,267,6 382,169,435,231,13 1,129,102,245,6 430,137,500,227,6 288,101,326,175,14 347,101,382,169,14 5,100,31,137,14 65,105,88,129,14 413,94,447,171,14 440,105,456,165,14 450,100,478,158,14 483,99,500,140,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000727.jpg 180,91,391,290,12 228,82,292,188,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000730.jpg 72,75,362,227,13 105,53,251,201,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000731.jpg 52,1,500,333,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000732.jpg 45,27,325,343,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000734.jpg 8,55,484,221,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000737.jpg 1,91,386,289,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000741.jpg 413,56,500,133,6 6,38,500,375,6 127,91,229,164,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000742.jpg 127,100,188,344,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000744.jpg 54,45,244,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000745.jpg 1,1,500,280,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000746.jpg 235,176,304,252,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000748.jpg 31,140,116,173,2 211,122,309,156,2 193,183,260,201,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000750.jpg 44,190,316,469,16 22,2,158,412,14 113,23,188,62,16 182,17,268,60,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000752.jpg 60,56,494,308,3 350,61,500,232,3 16,129,65,165,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000755.jpg 171,149,327,500,6 80,64,250,417,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000756.jpg 12,27,489,313,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000757.jpg 85,49,229,270,14 14,112,263,278,1 49,57,100,146,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000758.jpg 182,44,409,369,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000759.jpg 352,110,400,165,14 277,85,350,187,14 327,96,358,166,14 227,69,297,197,14 178,53,296,196,14 97,46,210,234,14 1,27,118,257,14 401,78,497,219,14 401,97,455,201,14 359,65,500,333,14 1,171,443,333,10 174,135,213,204,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000760.jpg 151,203,396,328,10 66,169,140,279,8 256,172,312,296,8 194,172,263,298,8 332,85,391,251,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000762.jpg 146,62,407,459,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000763.jpg 186,191,278,415,4 60,83,269,406,14 1,1,317,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000768.jpg 119,29,282,275,9 209,137,281,277,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000770.jpg 154,50,338,283,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000771.jpg 237,34,471,333,9 19,98,259,332,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000774.jpg 1,113,438,304,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000777.jpg 5,32,478,369,6 1,101,83,165,6 66,98,176,172,6 473,119,481,153,14 486,124,500,141,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000778.jpg 95,11,362,441,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000779.jpg 1,57,500,375,11 1,1,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000782.jpg 18,66,321,399,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000783.jpg 419,6,500,159,4 423,258,500,375,4 1,49,125,249,4 80,1,141,74,4 168,1,311,64,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000789.jpg 60,78,500,311,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000790.jpg 161,91,350,300,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000791.jpg 82,1,322,198,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000793.jpg 205,206,398,339,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000794.jpg 42,49,319,482,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000796.jpg 23,99,476,247,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000797.jpg 1,201,176,500,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000801.jpg 25,116,484,276,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000804.jpg 164,100,291,300,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000805.jpg 1,1,482,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000811.jpg 103,67,401,375,10 306,124,486,350,8 29,137,200,354,8 299,87,432,267,8 336,58,397,143,8 58,92,135,193,8 81,62,148,147,8 1,21,55,101,8 33,11,69,75,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000812.jpg 244,152,280,196,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000815.jpg 133,189,334,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000816.jpg 191,164,247,259,8 98,182,182,295,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000817.jpg 46,80,478,230,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000820.jpg 157,158,372,299,1 163,82,317,277,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000821.jpg 350,3,500,375,14 1,1,500,306,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000823.jpg 88,5,344,336,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000824.jpg 19,178,414,311,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000825.jpg 265,79,297,124,14 193,95,228,130,14 400,78,422,171,14 294,146,392,303,14 113,168,202,333,14 232,207,473,333,13 27,219,281,333,13 115,127,386,254,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000828.jpg 174,109,441,272,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000829.jpg 179,222,416,293,3 410,236,470,266,3 436,103,500,256,3 3,234,75,258,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000830.jpg 101,23,387,299,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000831.jpg 138,311,375,500,10 174,92,319,337,14 25,96,222,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000833.jpg 232,44,478,375,14 56,70,263,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000834.jpg 1,239,500,333,10 184,97,316,248,14 450,1,500,207,14 1,196,123,247,8 141,196,325,238,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000837.jpg 95,89,470,326,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000839.jpg 1,34,333,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000840.jpg 149,113,226,387,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000843.jpg 165,1,287,260,14 71,130,388,420,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000845.jpg 192,160,427,250,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000846.jpg 1,1,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000848.jpg 172,137,209,249,4 32,23,190,173,19 182,15,369,141,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000849.jpg 13,111,459,304,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000851.jpg 52,1,407,336,8 355,1,500,330,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000852.jpg 7,159,101,207,12 157,88,454,284,12 222,143,370,289,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000854.jpg 53,65,392,299,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000856.jpg 158,163,398,311,11 225,68,305,306,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000858.jpg 94,115,484,375,13 54,74,320,283,13 1,81,57,177,13 365,1,427,147,14 438,1,496,162,14 463,3,500,220,14 227,1,269,74,14 315,8,344,44,13 274,4,314,38,13 12,23,51,68,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000862.jpg 110,71,456,312,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000865.jpg 19,36,414,355,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000867.jpg 1,97,500,375,10 320,1,373,148,4 367,1,409,103,4 181,1,330,107,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000869.jpg 143,99,408,243,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000871.jpg 167,59,331,279,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000874.jpg 21,15,500,306,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000879.jpg 119,121,237,291,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000882.jpg 19,73,477,335,13 386,163,490,234,1 460,173,500,232,6 392,145,500,203,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000886.jpg 379,193,450,255,6 438,212,500,271,6 85,171,105,191,6 66,170,88,187,6 100,110,380,257,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000887.jpg 13,37,500,301,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000889.jpg 9,26,460,313,6 74,2,122,92,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000890.jpg 1,1,267,333,18 379,110,500,333,14 386,144,410,198,14 407,129,436,164,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000892.jpg 233,77,392,271,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000894.jpg 121,74,482,319,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000895.jpg 94,45,253,251,19 259,24,398,203,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000896.jpg 385,92,415,118,14 298,121,313,160,1 114,90,176,256,14 117,166,175,286,1 180,55,303,325,14 173,182,325,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000897.jpg 152,105,336,420,13 157,48,345,351,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000898.jpg 152,252,270,497,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000899.jpg 32,259,299,466,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000901.jpg 107,123,198,334,14 254,129,327,333,14 361,155,442,334,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000902.jpg 255,1,500,333,14 1,1,404,441,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000904.jpg 275,185,300,200,6 45,217,117,400,2 213,195,286,399,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000906.jpg 363,184,500,330,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000909.jpg 1,1,339,332,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000910.jpg 22,62,500,291,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000915.jpg 78,16,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000919.jpg 105,189,223,221,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000920.jpg 212,130,446,268,18 1,128,189,272,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000923.jpg 124,143,333,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000924.jpg 182,95,422,375,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000925.jpg 1,1,500,311,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000926.jpg 372,216,500,375,17 246,206,305,248,15 258,111,319,181,15 427,165,483,209,15 354,165,379,195,15 380,120,437,168,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000927.jpg 275,159,308,270,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000928.jpg 1,78,370,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000930.jpg 134,228,201,402,2 96,43,334,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000931.jpg 365,88,500,197,12 174,70,316,192,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000932.jpg 78,84,333,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000934.jpg 296,168,450,287,12 177,172,317,288,12 59,160,174,286,12 227,153,261,232,14 360,136,416,235,14 108,140,149,226,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000935.jpg 234,11,344,248,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000937.jpg 221,79,491,226,17 10,82,210,210,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000938.jpg 78,82,317,318,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000939.jpg 201,158,254,198,19 82,180,120,242,8 1,229,91,333,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000945.jpg 13,67,442,294,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000948.jpg 133,124,448,237,6 273,97,323,124,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000953.jpg 140,26,500,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000954.jpg 260,289,296,333,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000955.jpg 79,1,435,334,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000958.jpg 238,97,439,270,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000960.jpg 103,57,499,322,5 256,144,276,169,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000961.jpg 121,233,261,354,2 137,208,194,246,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000962.jpg 32,65,272,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000964.jpg 110,158,299,267,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000966.jpg 224,62,393,364,7 144,53,289,325,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000967.jpg 1,68,459,260,0 453,127,500,166,6 378,127,441,144,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000969.jpg 64,174,78,196,8 12,175,28,194,8 1,360,333,500,10 14,70,263,384,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000970.jpg 220,127,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000971.jpg 32,170,219,247,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000973.jpg 153,77,402,316,17 158,14,264,114,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000974.jpg 24,111,479,311,18 423,270,454,352,14 1,198,409,375,18 61,74,402,159,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000975.jpg 332,232,441,301,1 260,227,313,304,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000979.jpg 75,189,211,331,11 273,220,412,347,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000980.jpg 1,211,103,375,8 79,196,157,375,8 181,195,275,357,8 250,205,365,324,8 249,234,387,375,8 144,273,280,375,8 1,234,316,362,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000981.jpg 186,40,453,255,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000985.jpg 37,15,469,272,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000987.jpg 195,34,319,492,14 1,86,124,226,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000989.jpg 256,118,312,194,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000990.jpg 76,66,440,349,5 229,173,306,244,14 344,186,388,216,14 1,229,36,349,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000991.jpg 83,36,392,335,2 109,231,229,326,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000992.jpg 157,1,331,246,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000995.jpg 36,270,333,432,17 104,196,161,292,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000996.jpg 124,93,245,243,3 235,190,451,245,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_000998.jpg 136,70,301,305,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001000.jpg 6,1,54,121,14 28,75,46,117,8 49,64,79,83,15 84,39,124,69,19 105,36,183,121,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001002.jpg 1,119,202,375,14 138,35,500,375,14 310,113,500,325,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001006.jpg 65,1,256,223,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001007.jpg 124,218,344,330,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001008.jpg 43,59,328,394,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001009.jpg 463,200,500,260,8 362,144,417,236,8 438,144,498,232,8 375,160,500,263,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001011.jpg 89,48,232,211,14 187,110,225,235,4 106,77,144,270,4 59,74,107,273,4 4,92,52,268,4 2,209,373,500,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001012.jpg 1,1,377,419,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001013.jpg 144,24,243,258,14 35,88,377,362,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001016.jpg 1,101,444,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001019.jpg 145,48,182,59,6 49,1,104,51,3 1,45,116,109,3 97,77,448,169,3 325,80,335,91,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001021.jpg 272,196,303,234,15 62,320,145,470,8 1,342,93,500,8 216,275,375,500,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001024.jpg 140,107,327,375,14 207,154,297,217,4 449,316,492,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001026.jpg 240,51,299,144,14 285,85,314,139,14 311,102,344,139,14 334,73,445,334,14 56,49,190,342,14 176,65,309,327,14 3,271,93,367,11 89,253,177,351,11 176,245,265,349,11 246,186,333,353,11 312,250,398,361,11 474,121,500,145,6 407,125,433,144,6 45,115,78,135,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001027.jpg 13,118,500,247,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001028.jpg 302,246,441,434,8 26,244,169,434,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001030.jpg 263,107,373,370,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001036.jpg 51,98,429,257,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001037.jpg 69,63,483,241,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001038.jpg 79,75,318,434,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001040.jpg 64,17,302,491,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001042.jpg 98,182,106,209,14 108,178,130,255,14 137,176,179,294,14 1,184,39,265,14 43,181,59,198,14 38,175,82,310,14 58,187,113,331,14 120,45,397,308,18 381,134,498,213,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001044.jpg 75,107,463,295,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001052.jpg 163,75,431,233,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001054.jpg 1,1,375,500,10 1,1,81,80,4 143,1,375,106,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001055.jpg 199,98,478,315,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001056.jpg 14,71,483,220,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001057.jpg 1,40,315,334,7 1,65,500,334,10 293,70,500,324,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001059.jpg 75,1,500,257,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001061.jpg 1,1,500,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001066.jpg 254,141,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001068.jpg 93,85,306,482,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001069.jpg 142,25,403,265,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001070.jpg 93,71,318,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001074.jpg 1,1,500,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001075.jpg 177,58,500,251,11 57,88,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001078.jpg 111,54,394,271,18 56,87,102,112,6 180,59,212,75,6 278,55,286,62,6 285,56,298,62,6 242,62,257,70,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001079.jpg 1,99,405,308,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001081.jpg 1,1,500,375,17 121,59,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001082.jpg 261,85,500,354,5 9,13,294,339,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001083.jpg 129,127,162,163,14 319,163,361,214,6 347,169,379,213,6 27,124,92,202,5 381,112,500,216,5 92,72,320,294,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001084.jpg 82,120,240,422,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001085.jpg 53,58,248,306,8 90,53,208,246,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001090.jpg 61,92,389,205,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001091.jpg 1,1,254,251,5 1,128,74,375,14 63,146,126,350,14 120,126,185,344,14 171,122,221,283,14 189,143,251,369,14 188,120,280,306,14 217,123,355,344,14 305,117,378,352,14 370,112,440,363,14 420,113,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001094.jpg 1,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001095.jpg 1,174,39,238,8 33,149,97,219,8 184,134,259,187,8 265,140,345,194,8 1,353,214,500,8 337,179,375,372,8 265,213,364,500,8 1,172,365,500,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001096.jpg 11,27,270,371,14 1,200,326,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001097.jpg 227,1,312,30,6 56,13,219,68,6 85,51,426,241,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001098.jpg 1,1,325,300,5 305,37,472,265,5 1,131,65,225,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001100.jpg 57,241,136,377,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001102.jpg 465,172,483,176,3 381,170,439,182,3 274,169,295,175,3 192,168,227,178,3 130,168,157,177,3 55,167,69,175,3 27,163,41,167,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001103.jpg 1,176,160,375,19 137,71,354,331,14 272,276,310,375,4 371,226,401,328,4 486,272,500,375,4 399,180,500,324,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001104.jpg 389,55,434,112,9 297,42,338,82,9 143,106,258,323,9 69,88,114,162,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001105.jpg 81,48,243,109,8 288,46,443,104,8 1,112,500,335,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001106.jpg 206,228,282,328,19 158,230,204,330,19 1,38,329,375,14 431,232,452,285,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001107.jpg 154,83,375,453,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001108.jpg 316,242,426,355,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001110.jpg 258,61,333,500,12 203,1,333,336,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001111.jpg 150,38,297,198,19 14,62,50,176,19 265,12,416,330,14 459,174,490,264,14 14,157,92,254,14 67,266,158,293,6 201,271,287,330,19 178,214,254,330,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001113.jpg 25,27,401,266,5 401,132,420,147,6 466,132,479,142,6 488,132,500,147,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001117.jpg 30,31,326,293,7 141,203,364,470,7 303,120,431,353,7 303,59,470,295,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001118.jpg 1,80,69,327,18 22,52,500,353,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001120.jpg 122,14,148,62,14 178,9,196,83,14 154,28,383,375,14 303,310,400,374,4 341,1,363,25,14 336,27,355,57,14 384,15,417,232,14 410,1,500,375,14 329,9,413,262,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001121.jpg 245,146,345,200,13 262,124,313,173,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001124.jpg 178,147,259,256,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001126.jpg 285,123,458,303,7 114,19,181,165,7 9,83,22,101,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001128.jpg 112,136,489,404,2 32,27,229,404,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001129.jpg 11,61,500,335,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001133.jpg 1,14,350,500,11 1,93,115,334,14 173,1,378,60,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001134.jpg 88,154,373,346,9 137,225,323,350,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001135.jpg 20,25,468,322,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001137.jpg 187,121,355,334,14 376,1,500,261,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001138.jpg 31,98,362,231,5 438,182,471,205,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001139.jpg 142,33,364,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001140.jpg 64,73,486,294,13 178,46,360,204,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001145.jpg 84,68,333,270,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001146.jpg 33,94,470,291,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001147.jpg 103,107,238,269,12 290,101,415,266,12 456,156,500,278,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001148.jpg 39,31,460,323,5 403,32,500,278,5 352,130,378,157,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001151.jpg 79,100,443,317,13 182,51,358,237,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001152.jpg 1,77,484,294,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001153.jpg 1,1,500,334,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001154.jpg 159,289,199,411,4 2,42,296,411,14 2,187,81,370,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001155.jpg 1,74,163,333,19 165,5,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001159.jpg 46,28,475,316,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001160.jpg 35,120,161,446,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001163.jpg 70,90,239,373,9 241,73,421,373,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001164.jpg 79,55,425,316,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001166.jpg 17,51,391,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001172.jpg 87,119,486,500,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001177.jpg 231,103,462,280,16 168,165,315,300,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001180.jpg 1,1,324,451,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001181.jpg 238,293,255,333,4 309,85,431,298,14 280,108,368,332,14 415,225,500,328,1 1,134,45,333,14 20,119,111,333,14 84,106,178,333,14 163,136,181,175,14 134,129,241,333,14 249,266,334,333,14 333,250,437,333,14 410,273,498,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001184.jpg 274,165,387,264,12 89,172,188,246,12 274,169,298,184,9 455,167,467,181,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001188.jpg 257,82,380,198,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001190.jpg 1,145,500,375,17 1,65,436,375,14 196,38,471,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001192.jpg 81,94,341,234,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001194.jpg 43,32,500,334,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001195.jpg 1,1,500,270,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001196.jpg 114,84,338,262,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001197.jpg 130,101,467,353,5 107,180,169,253,5 7,229,110,270,6 117,250,133,302,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001198.jpg 11,1,500,260,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001199.jpg 355,190,384,217,14 1,60,453,196,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001201.jpg 108,97,304,242,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001203.jpg 74,45,379,303,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001205.jpg 118,32,381,296,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001206.jpg 131,1,453,500,13 1,1,453,448,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001207.jpg 139,72,198,333,4 175,95,367,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001208.jpg 251,163,378,313,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001212.jpg 1,26,500,375,17 133,63,311,299,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001215.jpg 1,1,500,375,10 1,1,195,60,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001216.jpg 153,40,316,133,6 1,91,333,500,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001217.jpg 2,82,500,334,10 382,264,500,334,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001221.jpg 68,104,373,273,2 415,1,500,149,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001224.jpg 160,216,393,282,4 78,20,242,263,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001225.jpg 145,74,366,284,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001227.jpg 300,24,500,312,7 1,163,386,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001229.jpg 310,85,416,339,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001230.jpg 167,168,184,193,14 215,163,234,217,14 256,169,275,226,14 229,167,241,217,14 361,124,371,133,14 341,116,400,147,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001236.jpg 36,212,276,469,16 1,69,312,410,16 282,94,333,391,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001237.jpg 419,245,500,320,6 89,64,403,305,5 120,191,152,219,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001238.jpg 1,61,181,334,14 147,51,456,334,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001240.jpg 1,225,205,341,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001241.jpg 4,212,250,375,17 221,237,266,290,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001242.jpg 83,79,483,286,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001243.jpg 83,16,424,375,8 342,1,500,192,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001245.jpg 79,143,407,274,18 35,209,45,221,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001249.jpg 332,177,407,259,8 318,176,383,247,8 218,196,288,279,8 101,181,178,259,8 115,176,182,245,8 304,162,371,208,15 143,165,208,230,15 209,169,305,235,17 284,152,316,166,15 199,151,225,170,15 309,110,385,170,15 114,107,235,176,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001251.jpg 1,101,288,436,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001252.jpg 56,237,123,259,2 348,244,383,260,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001253.jpg 84,105,291,454,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001254.jpg 77,18,245,307,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001255.jpg 122,50,487,297,1 55,23,427,242,1 19,1,500,172,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001257.jpg 270,53,431,333,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001259.jpg 1,71,472,292,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001260.jpg 228,152,298,256,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001263.jpg 357,234,440,291,16 409,262,500,375,16 150,271,290,375,16 28,206,108,259,16 1,281,155,375,16 1,249,70,296,16 444,233,500,277,16 190,216,251,281,16 1,220,48,257,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001264.jpg 180,151,280,263,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001266.jpg 194,110,313,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001268.jpg 1,182,256,308,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001270.jpg 81,150,438,436,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001271.jpg 101,148,330,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001278.jpg 205,143,247,296,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001279.jpg 159,1,500,334,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001282.jpg 387,38,455,194,3 394,157,417,189,14 38,203,83,239,14 59,25,141,255,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001283.jpg 220,58,303,256,2 294,118,359,179,2 187,73,249,125,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001285.jpg 27,24,484,346,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001286.jpg 150,1,409,375,11 1,58,240,274,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001288.jpg 115,1,500,339,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001289.jpg 125,52,206,370,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001291.jpg 96,100,317,389,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001299.jpg 37,43,223,307,14 32,95,197,295,8 194,98,331,287,8 330,96,480,291,8 476,95,500,290,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001300.jpg 185,146,390,286,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001301.jpg 1,92,329,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001303.jpg 272,193,302,227,10 249,183,279,229,8 293,185,317,226,8 254,201,382,333,8 65,200,193,304,8 18,207,76,284,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001305.jpg 20,39,500,358,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001306.jpg 324,287,500,349,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001308.jpg 217,29,254,85,8 122,16,198,86,8 282,23,341,81,8 43,29,96,82,8 87,83,278,420,8 2,133,109,261,8 2,81,89,172,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001309.jpg 9,216,244,500,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001311.jpg 173,137,300,290,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001312.jpg 19,74,471,270,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001313.jpg 33,176,142,289,8 366,156,486,265,8 162,151,367,246,17 183,132,236,254,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001314.jpg 105,131,290,318,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001316.jpg 5,30,483,297,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001319.jpg 63,167,328,333,10 119,78,216,301,14 15,85,152,318,14 306,168,441,293,10 1,158,74,277,10 1,94,45,154,14 63,116,80,160,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001320.jpg 1,1,482,375,13 372,1,500,346,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001321.jpg 1,1,500,333,0 287,267,372,284,0 47,271,63,282,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001322.jpg 107,195,145,251,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001323.jpg 179,133,298,313,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001326.jpg 72,70,437,307,5 347,141,479,231,5 59,168,75,233,5 39,191,53,232,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001327.jpg 105,211,313,333,10 108,136,190,333,8 181,3,353,333,8 234,163,283,219,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001328.jpg 102,1,240,253,4 35,1,106,122,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001329.jpg 1,27,481,270,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001332.jpg 13,78,489,219,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001333.jpg 29,111,467,315,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001339.jpg 154,191,256,375,4 204,194,244,339,4 219,56,500,284,14 27,11,199,278,14 1,275,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001343.jpg 229,70,275,112,19 319,105,435,247,17 34,171,232,312,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001344.jpg 63,87,477,244,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001345.jpg 75,35,500,375,0 84,252,113,296,14 55,243,71,292,14 2,240,20,298,14 18,244,40,299,14 46,257,59,290,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001348.jpg 86,16,374,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001349.jpg 26,35,282,375,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001350.jpg 60,65,403,409,18 239,415,247,459,14 233,402,242,452,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001354.jpg 168,124,500,316,5 28,184,45,225,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001355.jpg 197,288,334,399,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001357.jpg 274,155,338,239,19 1,178,100,260,17 94,183,210,294,8 126,209,239,390,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001359.jpg 158,104,462,265,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001360.jpg 144,1,344,334,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001361.jpg 32,38,497,293,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001363.jpg 180,6,342,97,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001364.jpg 1,1,500,325,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001366.jpg 14,44,496,334,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001367.jpg 12,137,433,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001368.jpg 124,78,381,333,11 21,81,211,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001369.jpg 17,9,434,461,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001370.jpg 129,226,161,272,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001371.jpg 365,63,467,259,8 161,66,284,269,8 26,77,137,293,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001372.jpg 66,46,486,199,0 1,101,115,165,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001374.jpg 1,78,463,294,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001375.jpg 63,103,341,236,2 393,104,443,139,2 355,92,380,135,2 274,112,311,137,2 253,115,264,137,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001376.jpg 116,107,500,282,14 1,15,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001384.jpg 1,222,283,500,14 39,122,352,500,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001385.jpg 79,41,135,179,2 291,173,410,224,2 412,210,500,251,2 253,258,428,317,2 135,52,319,266,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001387.jpg 1,66,479,235,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001388.jpg 250,164,328,217,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001389.jpg 5,3,206,333,14 205,23,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001390.jpg 8,107,478,223,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001391.jpg 11,98,266,404,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001393.jpg 86,1,467,375,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001395.jpg 114,211,206,325,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001397.jpg 78,79,180,384,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001398.jpg 80,282,143,308,8 190,295,211,329,8 201,313,218,359,8 3,383,128,464,8 157,301,183,397,4 5,304,38,386,4 1,307,221,444,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001403.jpg 129,131,277,441,16 1,1,158,438,16 124,1,335,399,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001406.jpg 1,130,208,240,3 174,190,194,215,14 42,183,56,213,14 16,192,28,209,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001407.jpg 41,18,304,415,3 262,325,342,378,14 258,310,313,372,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001409.jpg 267,76,320,146,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001411.jpg 1,37,192,368,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001412.jpg 1,143,82,182,5 1,174,29,199,6 92,96,429,231,18 118,208,135,223,15 153,211,173,226,15 197,215,217,232,15 247,220,270,237,15 298,223,323,242,15 409,226,431,244,15 378,187,404,242,14 361,170,374,187,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001413.jpg 329,62,494,260,9 111,157,144,195,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001414.jpg 206,1,391,154,14 391,96,442,262,4 99,90,141,214,4 125,81,152,176,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001417.jpg 340,88,500,281,15 1,1,465,281,15 173,1,461,281,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001419.jpg 150,16,384,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001422.jpg 63,37,282,472,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001424.jpg 5,1,355,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001426.jpg 209,236,500,375,10 383,182,479,254,8 157,191,238,375,8 249,137,278,198,8 68,127,139,193,8 1,171,54,254,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001427.jpg 282,89,489,315,13 342,38,459,237,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001431.jpg 38,40,307,473,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001433.jpg 111,240,283,375,12 185,134,331,367,14 254,203,340,294,12 239,138,289,216,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001434.jpg 1,277,41,326,10 3,265,66,366,8 445,322,500,366,8 454,272,500,328,8 402,253,499,351,10 364,245,417,350,8 289,246,325,274,8 302,261,371,366,8 208,253,248,361,8 233,272,306,366,8 230,254,361,366,10 106,190,129,229,8 135,195,172,246,8 145,171,181,232,14 162,171,180,200,14 300,154,324,183,14 343,162,369,182,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001435.jpg 9,93,494,264,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001437.jpg 230,141,500,333,17 294,107,500,333,14 224,143,361,235,14 78,167,188,273,8 230,149,266,185,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001440.jpg 50,72,494,329,17 1,1,93,143,15 1,131,48,263,8 1,292,67,375,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001443.jpg 388,139,464,251,14 255,208,392,297,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001444.jpg 1,1,344,388,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001446.jpg 1,124,411,332,17 178,82,313,321,11 113,1,160,45,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001447.jpg 247,274,500,375,10 1,238,203,375,8 435,211,484,280,8 210,191,255,217,10 20,89,79,224,14 294,104,303,119,15 275,95,293,119,15 216,93,254,120,15 270,209,442,279,8 134,144,163,170,14 375,143,394,164,14 243,137,272,183,14 232,122,312,258,14 292,94,414,279,14 41,113,250,375,14 68,152,100,206,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001448.jpg 197,102,306,375,12 304,101,500,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001449.jpg 55,14,478,480,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001450.jpg 127,160,320,500,7 87,26,412,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001452.jpg 29,6,463,318,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001453.jpg 318,106,500,253,2 146,118,325,316,2 38,41,173,261,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001456.jpg 39,39,483,323,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001457.jpg 82,1,375,500,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001462.jpg 249,230,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001463.jpg 333,157,500,333,6 15,85,89,324,14 153,78,228,307,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001466.jpg 132,59,226,234,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001468.jpg 48,151,247,334,18 277,256,335,437,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001470.jpg 1,70,500,375,17 168,135,336,225,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001472.jpg 30,48,460,331,5 448,208,496,240,6 1,162,37,221,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001474.jpg 84,53,352,446,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001475.jpg 33,25,497,332,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001476.jpg 169,48,371,218,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001479.jpg 31,80,324,432,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001480.jpg 1,261,362,500,1 213,369,259,456,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001481.jpg 37,70,356,296,1 415,192,500,256,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001484.jpg 123,53,500,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001490.jpg 4,56,418,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001493.jpg 136,61,474,229,18 1,143,75,333,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001494.jpg 73,7,347,500,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001498.jpg 95,1,500,317,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001500.jpg 121,89,364,294,12 382,87,423,118,12 1,93,46,238,12 115,79,171,115,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001501.jpg 22,88,482,262,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001502.jpg 164,1,448,249,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001505.jpg 1,45,41,161,16 170,168,344,368,16 297,92,500,351,16 466,230,500,310,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001507.jpg 109,54,488,236,11 1,1,500,274,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001508.jpg 31,37,151,203,14 142,45,252,203,14 351,51,486,204,14 251,48,337,153,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001509.jpg 386,34,396,59,14 370,45,379,70,14 324,54,335,83,14 279,64,288,85,14 265,65,274,83,14 86,22,101,65,14 1,66,486,261,0 119,1,343,48,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001514.jpg 240,347,325,452,15 121,351,219,473,15 15,111,263,428,15 176,12,488,423,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001516.jpg 48,139,500,289,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001517.jpg 1,54,497,375,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001518.jpg 144,133,194,217,9 353,126,488,280,9 129,51,427,335,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001519.jpg 366,231,394,245,6 403,220,411,244,6 1,189,132,333,6 1,90,345,262,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001521.jpg 270,169,374,428,14 125,123,284,475,14 1,47,207,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001522.jpg 135,31,444,302,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001526.jpg 122,2,478,203,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001534.jpg 16,157,497,241,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001535.jpg 190,45,500,334,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001536.jpg 61,55,397,261,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001537.jpg 90,190,215,282,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001538.jpg 74,73,375,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001539.jpg 223,73,300,285,14 389,85,441,255,14 129,95,184,155,14 73,152,405,375,12 301,137,495,300,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001541.jpg 1,82,154,110,0 1,142,156,223,0 55,57,500,283,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001542.jpg 16,11,271,482,13 1,6,123,241,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001544.jpg 73,194,500,322,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001546.jpg 414,283,500,361,6 430,293,449,311,14 304,296,437,357,6 1,216,343,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001549.jpg 1,86,489,245,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001550.jpg 32,28,485,374,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001553.jpg 435,192,500,268,19 137,100,325,333,14 44,152,236,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001554.jpg 213,132,347,230,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001555.jpg 300,88,500,241,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001558.jpg 96,1,311,500,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001562.jpg 119,47,359,318,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001565.jpg 58,70,451,233,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001566.jpg 246,173,308,264,13 248,146,307,244,14 236,126,255,187,14 227,130,243,187,14 130,135,144,165,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001567.jpg 18,1,286,284,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001568.jpg 21,32,389,276,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001570.jpg 90,96,358,423,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001575.jpg 1,231,375,500,10 21,163,276,380,14 242,271,368,397,8 296,94,375,123,10 244,78,275,93,10 291,15,338,58,14 232,37,251,49,14 248,32,271,51,14 91,21,116,100,14 127,19,154,97,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001577.jpg 1,1,445,332,17 1,51,249,332,11 184,2,477,133,11 116,19,500,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001581.jpg 1,1,404,300,17 69,1,354,330,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001585.jpg 4,103,329,497,14 4,127,330,497,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001587.jpg 176,91,346,191,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001589.jpg 163,24,500,250,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001590.jpg 43,107,428,274,5 446,182,476,250,14 428,186,460,249,14 363,168,378,201,14 311,174,353,208,14 425,185,439,203,14 34,200,40,220,14 150,164,169,200,14 234,177,260,207,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001591.jpg 14,285,327,446,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001593.jpg 103,39,250,461,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001594.jpg 213,173,260,209,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001595.jpg 18,11,480,167,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001598.jpg 46,313,177,461,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001602.jpg 1,1,359,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001605.jpg 68,59,500,269,17 153,140,270,267,11 27,1,152,259,14 84,42,487,154,14 1,133,94,359,14 1,1,34,68,19 369,279,423,324,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001606.jpg 1,64,500,336,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001607.jpg 53,58,230,350,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001608.jpg 6,151,198,243,10 239,147,285,221,8 42,163,104,254,8 106,163,156,253,8 161,147,217,239,8 1,157,51,241,8 1,360,274,500,17 285,148,330,229,19 89,77,121,104,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001611.jpg 64,188,270,375,8 24,86,236,375,14 277,76,500,375,14 297,154,498,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001612.jpg 51,81,461,308,6 1,64,231,127,6 1,71,231,244,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001614.jpg 106,85,345,275,5 413,194,433,249,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001615.jpg 27,200,180,336,19 200,100,338,347,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001617.jpg 359,75,468,330,14 38,95,114,224,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001618.jpg 406,103,467,146,16 12,70,45,87,16 89,66,125,82,16 92,87,144,124,16 126,106,183,149,16 143,97,208,130,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001621.jpg 111,122,240,262,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001623.jpg 324,122,387,267,7 298,138,424,207,7 159,1,222,158,8 49,1,175,226,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001625.jpg 120,95,238,463,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001627.jpg 1,49,375,500,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001631.jpg 1,152,176,269,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001633.jpg 20,16,346,497,5 304,153,375,386,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001635.jpg 1,135,294,500,12 168,64,231,172,14 56,23,282,428,14 107,151,333,478,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001636.jpg 85,52,341,333,12 258,13,463,333,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001638.jpg 21,1,500,297,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001640.jpg 122,1,261,500,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001642.jpg 7,134,417,378,1 160,11,308,359,14 277,146,455,280,1 348,61,432,273,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001643.jpg 318,100,391,157,16 182,194,249,239,16 80,201,191,241,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001644.jpg 288,131,386,193,19 459,109,500,202,15 112,153,288,220,17 1,158,68,255,17 4,80,89,182,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001645.jpg 7,28,269,497,13 1,45,95,258,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001646.jpg 57,35,488,296,13 321,1,398,125,14 1,2,211,125,13 425,1,500,48,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001648.jpg 237,100,404,221,18 473,134,500,194,18 2,44,189,269,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001651.jpg 1,1,264,206,18 408,119,500,184,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001653.jpg 1,1,333,500,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001657.jpg 366,158,500,328,14 410,220,500,333,13 1,47,98,176,14 96,39,124,88,14 118,41,182,92,14 167,39,218,99,14 268,63,321,102,14 437,71,492,130,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001660.jpg 190,40,308,191,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001663.jpg 134,107,226,233,14 109,205,223,330,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001664.jpg 129,1,455,301,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001667.jpg 98,48,500,375,15 1,1,228,311,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001670.jpg 17,105,458,375,10 322,32,426,128,8 58,38,155,153,8 361,121,500,375,8 1,229,140,375,8 26,43,72,102,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001671.jpg 1,12,423,375,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001673.jpg 23,84,148,263,9 381,100,489,237,9 315,94,438,251,9 181,96,319,277,9 127,94,245,269,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001674.jpg 60,87,432,292,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001675.jpg 63,27,456,374,5 1,165,74,331,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001676.jpg 22,55,307,469,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001677.jpg 1,52,28,84,6 15,51,69,85,6 59,45,132,89,6 114,30,169,77,6 123,36,136,85,14 134,37,153,85,14 164,36,208,63,6 207,36,229,59,6 222,29,255,61,6 291,37,349,71,6 339,38,426,76,6 416,29,500,79,6 80,103,390,358,13 180,16,335,348,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001678.jpg 117,43,500,334,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001682.jpg 165,126,352,250,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001683.jpg 136,68,343,416,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001684.jpg 150,61,454,268,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001687.jpg 44,95,318,375,11 207,193,375,463,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001689.jpg 55,1,362,300,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001690.jpg 223,1,500,281,14 1,15,226,281,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001693.jpg 78,1,261,161,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001695.jpg 1,295,331,500,1 257,196,273,258,4 274,197,282,245,4 286,200,301,261,4 228,222,248,260,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001696.jpg 407,130,418,141,14 190,128,202,148,14 1,42,483,146,0 151,42,409,84,0 1,92,36,112,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001699.jpg 211,124,293,198,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001704.jpg 13,51,89,193,15 38,45,500,367,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001705.jpg 179,178,281,324,4 1,10,415,375,14 451,92,500,211,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001706.jpg 97,1,450,350,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001707.jpg 116,30,472,352,5 184,120,255,193,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001709.jpg 183,182,348,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001713.jpg 38,91,380,216,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001715.jpg 163,48,374,191,3 1,114,489,375,3 381,185,440,233,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001718.jpg 41,140,286,500,14 40,310,264,500,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001719.jpg 318,10,469,75,7 1,39,500,317,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001720.jpg 263,1,387,115,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001723.jpg 146,171,215,214,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001724.jpg 74,76,231,321,12 181,82,438,311,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001731.jpg 190,199,347,265,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001732.jpg 163,147,249,292,16 229,135,297,270,16 407,118,458,198,16 323,105,369,179,16 286,122,336,222,16 179,94,233,148,16 134,118,195,213,16 246,115,286,150,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001733.jpg 61,81,280,402,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001734.jpg 100,154,419,269,5 52,196,79,271,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001735.jpg 112,179,326,357,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001738.jpg 137,1,199,39,16 82,21,429,301,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001740.jpg 1,1,331,329,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001741.jpg 161,151,213,184,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001743.jpg 57,2,455,375,14 73,173,268,375,14 1,12,500,375,17 156,227,255,289,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001744.jpg 79,80,423,276,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001746.jpg 17,200,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001747.jpg 1,3,500,223,18 255,46,399,130,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001749.jpg 337,104,443,375,12 422,128,478,233,12 150,104,353,375,12 81,104,189,375,12 225,99,316,181,12 1,158,132,357,12 441,159,500,374,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001750.jpg 89,161,386,357,13 120,72,235,323,14 51,168,79,193,13 54,154,73,184,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001751.jpg 136,168,279,284,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001752.jpg 77,70,382,223,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001754.jpg 115,218,383,375,10 262,259,412,375,8 304,216,407,321,8 259,204,294,236,8 122,233,243,375,8 94,215,192,361,8 145,194,198,224,8 1,207,81,303,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001755.jpg 344,123,485,265,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001758.jpg 153,103,286,249,1 53,140,254,381,1 76,142,286,476,1 118,24,172,174,14 217,3,276,234,14 280,1,375,270,14 339,36,375,353,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001759.jpg 367,111,500,235,14 308,106,347,221,14 41,91,212,338,14 246,104,274,203,14 219,101,237,128,14 190,98,216,137,14 25,134,212,375,13 371,117,500,273,13 263,129,370,229,13 206,119,282,201,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001764.jpg 129,164,265,385,13 118,81,283,348,14 173,58,200,135,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001765.jpg 178,93,344,246,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001767.jpg 143,112,322,213,6 342,109,406,280,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001768.jpg 166,1,316,70,14 71,42,197,384,16 155,31,281,373,16 244,58,458,326,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001770.jpg 161,171,250,237,3 441,126,500,301,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001774.jpg 198,43,349,315,11 1,1,500,333,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001775.jpg 1,170,193,415,8 218,193,500,372,17 150,81,261,228,15 40,294,150,401,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001778.jpg 1,151,285,355,11 286,1,369,188,14 357,4,424,183,14 440,113,488,139,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001779.jpg 79,86,200,233,19 185,90,313,219,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001780.jpg 28,17,437,342,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001781.jpg 14,88,488,311,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001782.jpg 19,80,448,275,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001783.jpg 207,120,444,294,16 152,49,449,292,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001784.jpg 20,1,375,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001792.jpg 3,62,334,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001794.jpg 23,104,171,307,3 234,109,368,331,3 232,59,392,100,3 355,49,375,87,14 1,135,40,209,3 461,120,500,254,3 464,118,487,144,14 368,120,483,360,3 366,192,412,258,14 439,205,487,268,14 435,155,470,205,14 440,181,479,229,14 364,179,405,228,14 363,168,395,212,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001798.jpg 113,122,343,277,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001799.jpg 377,55,500,358,14 376,234,456,375,4 272,238,353,375,4 255,238,300,375,4 181,180,221,375,4 133,234,210,375,4 9,227,127,375,4 198,107,396,331,14 17,111,143,266,14 1,193,29,324,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001800.jpg 1,1,500,333,10 20,1,164,168,8 214,1,310,30,8 17,1,130,95,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001801.jpg 171,60,321,375,14 222,51,325,186,2 146,104,173,192,14 4,98,25,162,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001802.jpg 196,173,306,320,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001804.jpg 84,98,454,312,5 37,159,63,200,5 155,161,188,191,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001805.jpg 1,188,412,336,13 460,86,500,231,14 270,65,442,336,14 196,77,290,233,14 209,149,278,241,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001806.jpg 1,71,229,375,8 273,1,500,375,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001807.jpg 1,85,334,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001809.jpg 337,11,412,87,19 440,164,500,375,14 257,180,422,375,14 99,178,276,375,14 40,34,151,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001810.jpg 1,46,375,500,14 50,245,238,485,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001811.jpg 152,122,394,268,5 1,271,42,364,6 1,187,102,282,6 1,172,97,231,6 94,178,120,195,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001812.jpg 66,63,356,340,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001816.jpg 16,66,411,295,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001817.jpg 121,298,181,411,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001818.jpg 144,13,265,455,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001820.jpg 199,160,303,189,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001822.jpg 93,180,133,224,14 180,182,230,375,14 32,1,444,333,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001823.jpg 116,16,369,309,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001825.jpg 211,112,265,145,8 208,329,332,500,8 9,159,209,473,8 84,134,131,242,8 116,116,151,205,8 104,143,332,460,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001826.jpg 221,200,251,220,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001827.jpg 13,109,288,261,13 83,36,210,201,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001828.jpg 146,172,248,441,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001830.jpg 239,118,369,385,1 197,153,243,299,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001831.jpg 36,188,483,295,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001833.jpg 104,115,325,264,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001835.jpg 92,1,375,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001837.jpg 47,82,461,365,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001839.jpg 90,105,245,231,19 368,102,461,222,19 482,102,500,215,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001840.jpg 53,33,485,342,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001846.jpg 26,35,467,375,8 61,105,232,375,14 78,43,421,375,14 237,97,411,348,14 196,138,323,347,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001847.jpg 49,95,445,288,5 461,172,487,249,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001848.jpg 132,8,250,479,4 316,216,375,315,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001850.jpg 50,73,493,170,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001851.jpg 38,107,465,264,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001852.jpg 100,100,262,258,14 12,58,450,350,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001853.jpg 242,127,408,232,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001854.jpg 83,20,386,310,5 1,68,92,275,5 1,189,34,302,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001856.jpg 161,339,247,468,14 34,375,112,485,8 146,378,214,459,8 83,392,171,474,8 1,380,67,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001858.jpg 171,95,227,181,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001861.jpg 37,32,474,288,6 216,80,298,152,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001864.jpg 89,122,211,213,19 1,93,55,314,15 294,216,353,326,8 293,187,344,317,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001865.jpg 391,207,423,291,14 370,224,390,296,14 1,150,500,255,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001867.jpg 1,1,500,369,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001868.jpg 264,110,404,201,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001869.jpg 1,1,365,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001871.jpg 1,65,292,263,17 371,176,500,373,8 118,98,288,342,8 369,45,454,114,8 144,83,500,350,10 411,146,500,305,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001873.jpg 60,22,500,396,9 52,120,224,396,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001874.jpg 1,158,75,319,8 158,251,500,375,17 400,89,497,165,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001875.jpg 197,9,378,165,19 1,120,500,333,14 396,23,500,139,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001881.jpg 25,118,375,450,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001884.jpg 115,95,332,186,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001885.jpg 247,26,500,333,11 6,3,264,333,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001888.jpg 1,251,164,384,17 253,281,500,384,17 298,124,460,327,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001890.jpg 108,106,276,225,12 191,86,229,182,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001894.jpg 1,18,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001897.jpg 51,7,359,302,5 356,104,500,279,5 426,213,463,300,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001898.jpg 260,29,458,92,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001902.jpg 17,56,427,437,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001904.jpg 1,50,294,500,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001905.jpg 241,148,344,180,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001906.jpg 141,80,415,300,7 1,1,500,375,17 1,1,204,186,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001907.jpg 172,12,287,309,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001908.jpg 1,31,500,333,17 84,208,433,333,14 98,1,422,333,14 309,151,362,220,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001909.jpg 4,126,283,500,14 1,252,40,289,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001910.jpg 82,27,444,318,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001911.jpg 27,81,128,327,12 153,91,322,229,12 348,78,500,322,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001915.jpg 1,1,500,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001916.jpg 51,28,332,484,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001917.jpg 1,96,413,289,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001922.jpg 1,329,333,500,10 26,239,156,398,15 139,284,249,345,8 1,429,95,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001926.jpg 1,22,500,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001927.jpg 244,113,292,192,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001929.jpg 21,30,455,250,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001931.jpg 1,1,333,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001933.jpg 203,69,500,375,7 1,1,238,213,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001934.jpg 31,69,164,279,15 227,134,303,263,15 305,150,417,191,15 335,101,389,154,15 217,293,319,375,15 269,57,379,375,14 132,81,263,375,14 386,253,426,285,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001937.jpg 299,85,356,274,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001940.jpg 52,101,484,257,0 205,124,220,140,14 254,154,500,375,14 1,189,185,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001941.jpg 234,76,500,236,3 102,74,381,271,3 1,83,162,294,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001945.jpg 20,156,332,500,6 52,134,143,179,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001948.jpg 19,19,312,423,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001949.jpg 7,210,488,273,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001952.jpg 259,116,456,338,14 44,1,300,338,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001959.jpg 9,89,309,325,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001960.jpg 120,25,451,269,11 2,31,500,375,8 304,8,331,66,4 329,5,348,68,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001961.jpg 96,20,357,211,19 377,87,500,331,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001962.jpg 191,41,415,239,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001964.jpg 309,1,500,152,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001965.jpg 19,24,436,336,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001967.jpg 40,36,404,301,5 324,178,349,222,14 407,222,433,283,14 476,202,500,287,14 461,222,470,286,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001971.jpg 279,206,342,250,11 241,129,287,250,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001972.jpg 34,215,238,433,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001973.jpg 15,11,474,446,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001975.jpg 1,21,374,481,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001976.jpg 212,175,311,334,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001977.jpg 67,242,129,310,18 130,243,190,315,18 187,244,277,311,18 343,246,405,305,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001979.jpg 1,41,237,375,14 351,59,500,375,14 195,1,385,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001980.jpg 1,1,451,318,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001984.jpg 21,17,485,311,13 367,1,500,168,6 68,1,369,101,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001988.jpg 21,120,474,299,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001990.jpg 158,158,324,237,13 238,161,254,176,12 282,164,300,178,12 314,164,325,180,12 473,172,500,231,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001991.jpg 71,41,447,495,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001994.jpg 91,31,417,295,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001997.jpg 356,193,368,201,6 297,168,311,183,5 173,203,177,217,14 213,201,223,221,14 12,212,26,247,14 14,227,26,247,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_001999.jpg 20,49,236,226,2 292,21,500,242,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002000.jpg 1,1,375,500,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002001.jpg 235,448,346,500,0 147,227,170,285,14 110,229,135,299,14 68,226,93,306,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002002.jpg 107,119,413,298,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002003.jpg 166,42,321,264,10 116,30,255,246,8 291,25,406,252,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002008.jpg 5,59,500,342,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002009.jpg 216,142,396,251,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002010.jpg 21,76,478,267,6 313,97,359,141,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002011.jpg 1,17,491,300,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002012.jpg 33,78,350,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002018.jpg 323,182,472,233,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002019.jpg 289,124,342,156,9 148,143,258,206,9 116,166,208,245,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002024.jpg 1,13,500,356,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002031.jpg 9,101,251,270,11 229,69,500,331,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002035.jpg 201,103,363,228,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002037.jpg 15,3,472,332,12 284,1,407,269,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002039.jpg 44,9,377,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002040.jpg 1,1,500,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002042.jpg 167,152,263,334,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002044.jpg 399,20,422,39,6 348,73,397,105,8 242,78,274,136,8 199,86,241,162,8 154,104,195,196,8 80,129,146,223,8 3,164,51,296,8 394,92,484,187,8 394,111,490,211,8 370,132,484,275,8 330,171,483,367,8 279,248,472,374,8 2,105,423,373,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002046.jpg 12,8,190,468,12 126,91,266,481,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002047.jpg 55,82,483,236,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002052.jpg 63,115,422,221,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002053.jpg 1,1,500,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002054.jpg 223,70,348,375,14 35,11,258,375,14 421,214,438,273,4 411,207,426,246,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002055.jpg 69,242,340,375,10 240,228,341,375,8 114,237,227,375,8 85,210,129,367,8 234,212,274,256,8 4,205,46,316,8 1,222,61,309,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002056.jpg 140,81,378,446,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002057.jpg 78,240,114,321,14 124,238,134,255,14 420,258,500,364,6 167,164,368,291,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002058.jpg 81,390,375,500,1 224,103,375,500,14 1,181,142,484,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002060.jpg 185,1,320,365,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002061.jpg 126,1,478,307,7 1,99,125,348,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002064.jpg 45,80,240,236,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002066.jpg 27,104,420,310,5 90,177,112,199,14 116,176,137,202,14 140,177,157,199,14 163,170,182,197,14 194,174,215,195,14 248,152,286,216,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002072.jpg 99,88,342,241,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002073.jpg 28,80,477,232,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002077.jpg 17,1,483,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002078.jpg 268,68,319,194,8 169,63,213,106,8 127,79,168,118,8 87,85,145,225,8 35,96,118,253,8 100,129,251,338,8 377,65,439,176,8 369,83,421,167,8 315,92,429,257,8 297,101,430,307,8 71,100,389,277,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002082.jpg 59,123,268,269,16 253,217,443,285,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002083.jpg 74,134,304,355,17 129,104,231,160,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002086.jpg 267,90,355,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002087.jpg 19,6,484,305,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002088.jpg 169,152,379,375,10 336,217,463,375,14 456,318,500,375,8 75,255,105,375,8 115,158,192,274,14 42,115,103,309,14 162,153,220,264,14 293,175,399,324,14 288,162,361,238,14 312,143,337,203,14 192,144,226,203,14 296,148,322,213,14 187,117,217,155,14 297,134,315,151,14 287,126,305,175,14 277,124,287,158,14 445,260,485,375,8 228,136,238,152,14 213,136,230,148,14 101,200,252,375,14 31,142,112,266,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002089.jpg 120,225,230,500,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002093.jpg 59,58,414,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002094.jpg 259,1,439,112,19 51,1,161,67,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002096.jpg 88,133,390,284,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002097.jpg 264,171,474,279,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002098.jpg 285,202,342,262,10 264,203,300,261,8 325,206,358,264,8 264,198,297,246,8 99,196,222,245,10 159,204,200,255,8 120,200,156,242,8 194,193,219,246,8 150,193,174,202,8 114,191,135,197,8 350,177,379,205,14 334,177,373,201,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002099.jpg 1,36,500,290,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002103.jpg 315,200,497,259,6 1,188,45,280,6 25,201,63,234,6 175,191,262,219,6 7,197,385,382,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002104.jpg 6,38,370,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002105.jpg 247,145,428,273,5 28,222,119,258,6 161,225,177,242,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002107.jpg 330,336,500,375,10 3,67,335,375,14 333,268,445,340,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002110.jpg 1,1,258,375,19 227,94,289,190,19 415,248,500,375,14 270,94,391,356,14 281,78,311,144,19 349,142,462,303,14 373,142,487,361,14 394,157,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002111.jpg 1,235,368,476,8 1,1,368,414,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002112.jpg 81,109,284,263,12 328,89,397,194,14 406,95,460,201,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002116.jpg 29,31,333,389,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002117.jpg 48,85,426,242,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002118.jpg 298,189,500,360,9 179,197,332,316,9 110,188,337,335,9 33,215,198,327,9 54,208,126,253,9 12,226,59,310,9 1,221,14,305,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002119.jpg 37,29,451,268,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002120.jpg 1,1,500,332,6 431,1,500,99,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002122.jpg 184,91,407,248,9 43,62,248,158,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002123.jpg 145,106,437,375,14 1,138,147,375,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002126.jpg 97,32,335,277,5 1,189,96,278,6 365,192,387,253,14 405,198,415,248,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002127.jpg 13,30,334,472,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002128.jpg 151,52,421,287,5 453,228,479,319,6 106,182,162,293,14 207,190,238,232,14 238,199,270,226,14 70,184,154,243,6 25,201,54,248,6 47,188,85,239,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002129.jpg 59,191,435,394,13 170,61,362,344,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002131.jpg 176,104,461,282,13 239,67,384,205,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002133.jpg 136,98,313,275,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002136.jpg 327,236,446,298,9 356,225,444,253,9 98,192,168,216,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002137.jpg 184,163,248,280,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002139.jpg 145,147,267,241,19 1,305,455,375,10 375,174,500,375,14 399,220,463,335,8 70,220,184,330,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002141.jpg 65,1,500,355,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002144.jpg 74,92,467,300,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002145.jpg 217,224,383,375,1 1,80,124,375,14 118,100,221,375,14 358,220,500,375,14 202,338,239,365,6 154,347,200,371,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002146.jpg 80,39,394,457,3 28,235,184,449,3 205,388,219,430,14 319,413,333,436,14 346,411,360,439,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002147.jpg 32,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002149.jpg 204,100,333,192,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002150.jpg 87,30,401,375,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002151.jpg 53,55,366,500,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002152.jpg 29,97,467,313,5 8,216,23,264,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002153.jpg 64,107,201,375,2 202,126,344,375,2 292,70,460,361,2 144,26,364,132,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002155.jpg 44,57,330,354,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002164.jpg 130,115,414,278,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002165.jpg 143,110,377,251,12 109,134,339,293,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002169.jpg 318,46,370,130,8 15,45,68,135,8 1,91,34,207,8 39,333,351,500,8 142,21,236,45,8 1,43,375,322,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002171.jpg 119,115,243,311,9 212,181,244,219,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002173.jpg 6,6,500,152,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002175.jpg 14,159,382,333,18 177,170,207,208,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002176.jpg 1,30,323,397,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002177.jpg 340,91,500,269,11 171,125,303,226,11 1,1,201,228,14 154,1,315,215,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002180.jpg 375,1,500,129,13 266,4,393,94,13 137,1,167,44,13 157,1,190,42,13 183,1,215,45,13 201,1,238,34,13 236,1,256,57,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002182.jpg 93,27,465,287,12 27,85,138,208,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002185.jpg 1,33,313,500,14 225,76,276,272,4 12,53,35,99,4 24,56,45,102,4 37,55,54,106,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002191.jpg 19,129,469,250,0 390,219,402,247,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002192.jpg 117,83,500,301,17 170,88,273,329,14 306,143,451,216,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002193.jpg 73,47,383,476,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002194.jpg 17,1,490,452,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002197.jpg 194,29,397,188,18 157,47,183,63,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002198.jpg 71,236,345,313,11 40,51,437,279,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002199.jpg 219,30,452,104,0 33,236,260,322,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002202.jpg 1,99,436,221,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002203.jpg 113,134,320,264,5 102,181,112,229,5 26,172,100,237,5 372,213,395,243,1 372,196,397,234,14 476,204,497,221,6 416,209,437,225,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002204.jpg 192,18,321,483,4 44,17,174,483,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002205.jpg 201,90,296,159,2 69,327,107,375,2 456,218,500,251,3 386,222,472,253,3 354,223,393,253,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002208.jpg 128,159,500,306,17 283,184,389,339,8 18,174,136,315,8 106,163,183,283,8 141,201,253,329,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002211.jpg 1,53,476,241,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002212.jpg 120,60,166,94,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002214.jpg 2,97,335,353,18 305,108,500,360,18 10,185,22,219,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002215.jpg 1,64,375,478,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002216.jpg 126,125,388,280,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002219.jpg 285,77,500,298,18 1,17,334,334,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002221.jpg 1,61,357,375,9 299,94,500,375,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002222.jpg 5,62,400,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002225.jpg 201,134,296,246,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002226.jpg 101,65,332,217,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002228.jpg 61,36,273,474,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002229.jpg 129,1,417,286,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002230.jpg 150,101,307,326,12 197,29,268,214,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002231.jpg 104,81,390,500,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002232.jpg 23,10,461,375,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002235.jpg 179,152,206,249,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002236.jpg 253,231,421,375,8 361,289,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002238.jpg 1,12,403,409,5 390,194,500,268,6 442,188,453,197,14 388,187,398,205,14 393,192,403,204,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002239.jpg 159,51,453,500,13 131,209,200,391,14 1,261,141,367,6 179,232,212,378,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002240.jpg 144,91,500,298,13 178,17,383,186,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002242.jpg 248,238,375,500,14 51,105,241,500,14 1,346,72,481,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002245.jpg 142,65,500,333,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002252.jpg 55,32,290,457,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002253.jpg 63,87,497,332,17 1,230,135,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002254.jpg 9,111,494,274,0 313,156,402,179,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002256.jpg 42,51,356,306,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002257.jpg 1,224,399,500,8 3,13,379,489,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002258.jpg 20,102,482,214,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002259.jpg 1,1,440,353,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002262.jpg 112,87,364,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002264.jpg 179,150,370,319,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002265.jpg 31,36,366,288,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002267.jpg 241,146,274,216,7 1,1,472,202,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002268.jpg 30,242,333,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002271.jpg 93,174,300,310,1 303,1,500,204,5 1,120,264,242,6 184,125,263,156,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002272.jpg 52,68,431,223,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002273.jpg 1,74,97,297,14 187,113,374,291,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002274.jpg 60,155,487,285,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002281.jpg 53,85,500,214,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002282.jpg 9,2,487,335,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002285.jpg 78,202,178,333,11 29,136,147,316,11 121,34,479,279,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002286.jpg 169,105,348,211,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002289.jpg 197,279,212,299,14 137,292,164,323,14 173,327,237,354,3 160,332,314,395,3 235,325,275,351,3 68,469,144,500,3 319,330,375,363,3 272,325,347,372,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002291.jpg 1,103,500,284,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002295.jpg 27,281,349,476,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002297.jpg 113,13,248,463,14 189,117,252,212,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002298.jpg 14,40,471,266,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002299.jpg 50,51,500,285,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002301.jpg 79,13,303,432,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002302.jpg 12,1,423,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002305.jpg 391,150,429,252,14 316,144,341,223,14 294,150,328,223,14 260,131,274,159,14 249,136,311,220,12 206,140,258,259,12 154,155,203,215,12 156,131,187,189,14 85,133,124,188,14 22,154,34,169,14 28,149,41,169,14 1,148,15,172,14 86,148,119,213,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002306.jpg 35,195,444,293,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002308.jpg 174,144,323,430,14 1,268,357,500,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002311.jpg 1,42,407,394,7 39,1,500,312,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002312.jpg 137,205,148,226,14 318,227,422,280,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002314.jpg 69,57,375,242,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002317.jpg 82,71,351,264,13 195,55,403,263,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002319.jpg 1,93,398,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002320.jpg 192,74,355,186,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002324.jpg 131,97,399,265,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002325.jpg 8,185,139,337,17 128,171,333,250,17 385,191,500,294,8 338,179,434,259,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002326.jpg 31,16,445,334,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002328.jpg 1,18,116,143,8 128,15,190,144,4 1,55,500,333,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002331.jpg 14,154,34,180,19 55,152,82,178,19 57,180,104,244,8 114,174,156,229,8 107,144,130,179,14 113,145,154,196,14 168,149,218,185,14 168,159,223,258,14 163,195,217,279,8 266,163,299,192,19 245,158,261,190,19 341,160,380,195,19 337,163,409,285,14 360,200,436,318,8 409,151,476,273,14 439,192,493,277,8 374,143,397,169,14 57,150,86,224,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002333.jpg 1,52,343,333,11 82,1,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002335.jpg 26,179,308,466,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002338.jpg 1,123,54,334,14 249,97,366,334,14 85,116,292,334,14 128,116,184,212,14 376,97,436,249,14 446,147,500,276,14 430,95,500,280,14 1,250,146,334,1 90,225,369,334,1 194,258,493,334,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002339.jpg 1,1,362,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002343.jpg 463,137,500,164,6 332,125,480,204,3 25,131,148,175,6 3,115,18,166,14 1,110,367,315,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002346.jpg 161,14,394,375,14 1,1,142,65,17 141,1,490,173,17 373,112,500,375,8 257,124,308,261,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002348.jpg 479,48,500,231,5 113,95,453,191,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002349.jpg 106,45,344,475,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002350.jpg 229,222,325,500,14 59,321,185,500,1 1,332,136,441,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002352.jpg 83,1,497,372,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002358.jpg 349,195,391,202,3 249,178,267,202,14 276,183,294,204,14 386,170,423,214,14 1,1,499,375,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002360.jpg 176,294,333,441,9 17,287,105,350,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002362.jpg 190,356,296,500,15 233,317,375,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002363.jpg 65,10,500,261,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002366.jpg 196,1,408,191,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002370.jpg 72,45,434,326,11 1,1,500,333,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002371.jpg 58,53,438,317,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002372.jpg 75,65,112,140,4 36,55,191,327,14 157,149,179,229,4 122,89,302,327,14 172,28,273,190,14 326,38,452,327,14 267,48,372,327,14 269,145,292,208,4 284,116,337,188,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002373.jpg 1,1,473,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002374.jpg 1,1,375,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002376.jpg 1,183,165,415,14 151,217,205,442,14 17,235,103,448,14 1,243,11,331,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002377.jpg 384,93,398,135,14 404,71,491,149,18 366,116,380,133,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002380.jpg 48,44,375,417,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002381.jpg 71,25,265,475,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002382.jpg 7,170,313,478,13 146,85,286,260,14 324,183,355,269,14 285,184,322,254,14 327,269,375,343,13 1,199,53,269,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002386.jpg 288,282,375,473,15 13,34,293,479,15 1,344,122,500,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002387.jpg 76,117,438,264,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002388.jpg 137,43,458,175,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002390.jpg 1,132,281,451,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002391.jpg 1,156,281,375,16 123,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002393.jpg 219,87,345,136,0 303,5,329,19,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002397.jpg 145,114,434,280,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002398.jpg 11,12,477,340,5 209,181,232,292,14 1,126,60,251,5 1,195,19,253,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002399.jpg 1,1,240,212,13 29,1,500,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002400.jpg 52,29,282,316,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002401.jpg 43,7,500,375,1 405,1,473,40,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002404.jpg 276,30,396,148,1 227,48,351,171,14 267,288,324,333,14 297,295,393,333,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002406.jpg 1,209,273,500,1 128,89,266,479,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002407.jpg 152,44,266,270,14 84,87,409,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002408.jpg 101,69,475,342,11 1,1,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002409.jpg 311,16,495,213,19 2,151,58,313,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002414.jpg 150,114,336,259,2 228,207,338,284,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002415.jpg 1,1,375,351,10 70,25,346,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002416.jpg 254,123,421,299,12 112,6,269,305,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002419.jpg 91,54,318,480,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002420.jpg 143,174,321,270,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002422.jpg 228,6,500,233,9 53,83,227,210,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002423.jpg 293,142,433,214,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002424.jpg 105,93,342,266,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002425.jpg 41,67,97,184,14 173,46,244,183,14 365,70,417,159,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002429.jpg 5,2,500,364,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002431.jpg 186,75,388,218,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002432.jpg 10,60,489,215,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002433.jpg 305,194,340,201,8 384,201,417,228,8 390,224,412,311,8 333,231,392,320,8 287,247,376,333,8 198,283,288,333,8 70,254,178,333,8 253,134,270,169,14 265,122,316,203,14 243,164,282,209,14 320,181,329,201,4 296,194,309,227,4 238,198,250,234,4 182,164,227,226,14 123,173,194,312,14 80,184,195,333,14 450,116,470,129,14 407,88,500,333,14 416,10,500,333,15 139,200,399,333,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002434.jpg 131,45,500,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002436.jpg 31,12,447,301,5 473,189,493,210,6 442,193,462,209,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002438.jpg 26,41,480,359,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002439.jpg 254,95,500,375,7 1,98,262,367,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002441.jpg 119,108,396,295,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002443.jpg 1,23,421,333,10 369,220,500,333,8 357,84,446,184,8 252,1,343,73,8 134,1,260,48,8 1,115,45,263,8 410,88,500,203,14 314,1,479,110,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002444.jpg 163,366,375,500,10 65,335,128,500,8 91,324,236,500,8 228,304,328,369,8 134,322,224,400,8 283,167,375,422,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002445.jpg 162,103,303,300,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002448.jpg 18,101,333,383,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002449.jpg 231,120,280,163,3 99,44,315,285,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002452.jpg 109,220,233,445,8 49,244,289,422,10 249,221,283,407,8 42,221,90,408,8 66,221,92,253,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002453.jpg 140,235,200,247,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002456.jpg 33,49,407,419,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002457.jpg 30,31,434,305,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002460.jpg 103,191,276,283,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002464.jpg 204,136,500,375,4 1,44,458,375,11 1,1,173,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002465.jpg 442,52,461,83,2 266,21,283,48,2 119,201,147,216,2 29,43,48,67,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002470.jpg 103,60,472,339,7 41,91,290,212,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002471.jpg 306,82,447,247,14 15,96,187,375,14 1,248,169,375,8 184,291,316,375,8 1,201,32,249,8 123,165,171,193,8 183,144,226,203,8 421,143,447,168,8 301,133,332,153,8 171,141,499,301,10 171,142,241,195,8 1,173,433,375,10 212,87,327,220,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002472.jpg 31,37,368,333,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002474.jpg 39,73,500,358,14 1,32,245,358,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002475.jpg 50,10,163,311,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002476.jpg 72,47,197,285,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002477.jpg 75,24,275,440,12 275,149,346,347,14 274,159,309,318,14 1,93,97,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002487.jpg 157,179,333,333,10 172,150,242,284,8 255,151,338,291,8 279,171,382,333,8 102,160,193,319,8 1,1,99,262,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002488.jpg 1,1,500,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002499.jpg 160,19,436,344,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002500.jpg 71,179,236,333,11 66,1,349,294,11 259,1,442,166,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002504.jpg 55,92,428,375,7 1,40,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002505.jpg 481,127,500,178,5 444,158,471,178,6 83,41,438,279,5 102,126,182,177,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002506.jpg 1,16,500,247,3 367,107,397,141,14 181,47,203,94,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002510.jpg 432,28,450,55,9 179,40,221,70,9 117,49,149,72,9 156,36,198,69,9 339,84,500,333,9 80,88,214,329,9 199,114,384,345,9 1,127,103,283,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002512.jpg 403,114,500,242,5 138,23,407,304,5 176,179,223,216,14 162,75,195,108,14 192,74,226,107,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002514.jpg 91,82,298,500,14 114,1,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002515.jpg 119,93,422,301,12 443,98,491,232,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002517.jpg 20,73,457,289,5 415,194,500,296,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002518.jpg 14,16,484,258,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002519.jpg 372,168,455,300,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002521.jpg 94,61,186,430,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002522.jpg 144,77,489,375,14 225,19,457,176,11 183,102,500,323,17 475,107,500,195,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002523.jpg 318,217,451,366,8 252,199,279,265,8 231,190,292,276,8 142,193,184,211,8 63,208,283,375,17 101,169,134,214,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002524.jpg 124,235,169,272,10 76,237,139,368,14 153,230,198,282,14 163,241,250,372,14 215,233,238,262,14 230,236,284,332,14 117,282,196,309,10 229,216,258,241,10 277,200,301,244,14 258,208,307,321,14 301,205,331,312,14 328,207,375,310,14 281,244,323,317,10 486,162,500,193,14 391,208,414,227,14 366,207,402,264,14 404,211,434,256,14 462,194,492,224,14 462,203,500,250,14 443,209,496,255,14 365,183,500,222,6 391,225,458,252,10 397,255,500,286,10 363,287,500,372,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002525.jpg 187,132,260,273,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002527.jpg 57,94,312,463,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002530.jpg 70,111,460,201,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002531.jpg 48,88,499,193,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002532.jpg 47,249,70,272,6 70,118,357,317,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002535.jpg 107,73,390,280,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002536.jpg 209,144,259,203,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002537.jpg 406,211,500,375,19 300,256,367,359,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002539.jpg 42,120,329,251,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002542.jpg 101,114,378,287,9 55,96,122,287,14 350,105,458,310,14 374,115,489,205,9 1,152,54,217,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002543.jpg 54,58,118,268,3 121,72,176,250,3 393,51,483,256,3 425,102,494,237,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002546.jpg 68,299,468,375,10 213,262,279,320,8 102,274,189,344,8 451,332,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002549.jpg 306,100,467,228,9 34,123,240,264,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002552.jpg 172,86,370,333,14 90,106,162,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002553.jpg 42,120,444,423,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002556.jpg 252,50,373,375,14 136,59,249,375,14 88,235,152,346,8 43,243,99,348,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002557.jpg 202,114,369,352,18 227,199,259,236,14 277,201,314,231,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002558.jpg 133,203,207,295,8 216,204,421,331,17 390,253,500,334,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002559.jpg 246,140,306,184,2 66,108,122,142,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002561.jpg 1,2,410,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002562.jpg 1,115,375,415,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002563.jpg 192,128,299,249,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002565.jpg 1,31,334,500,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002566.jpg 109,39,429,269,5 144,125,193,168,14 28,48,113,189,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002567.jpg 1,1,90,288,4 64,1,221,297,4 215,1,349,284,4 349,1,500,279,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002568.jpg 65,64,475,304,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002569.jpg 170,137,385,315,14 213,153,376,315,13 130,20,253,143,13 132,1,279,142,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002570.jpg 439,168,500,246,6 1,64,89,224,5 86,100,191,222,5 198,98,280,206,5 285,106,351,206,5 359,110,429,213,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002571.jpg 1,46,196,191,17 228,29,329,195,8 352,1,478,205,8 274,9,311,116,15 127,1,292,189,15 293,37,472,198,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002573.jpg 160,194,272,294,19 74,71,91,112,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002577.jpg 135,247,338,475,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002579.jpg 112,151,270,376,14 1,316,375,500,10 35,196,119,500,4 131,205,199,472,4 195,279,240,423,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002580.jpg 87,6,376,295,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002584.jpg 31,256,375,500,14 115,32,237,98,15 43,133,296,284,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002585.jpg 32,71,276,436,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002586.jpg 74,72,369,357,11 357,63,486,265,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002588.jpg 269,95,292,115,9 165,90,186,106,9 123,107,149,128,9 341,213,466,301,9 54,103,65,130,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002591.jpg 313,236,403,293,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002592.jpg 49,50,287,449,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002594.jpg 190,118,267,258,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002595.jpg 278,125,500,315,13 231,36,327,302,14 78,34,216,296,14 12,137,228,312,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002597.jpg 41,245,157,314,9 119,49,424,292,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002599.jpg 48,116,500,257,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002604.jpg 179,177,277,275,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002605.jpg 81,1,417,480,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002607.jpg 39,86,170,500,14 157,73,307,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002608.jpg 77,89,345,343,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002609.jpg 172,12,500,376,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002611.jpg 1,152,182,370,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002612.jpg 217,202,434,362,17 1,408,163,500,17 74,213,178,325,10 162,198,229,327,8 44,206,141,328,8 110,190,175,305,8 46,193,129,309,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002613.jpg 50,49,440,357,10 42,15,145,175,8 9,58,167,321,8 79,81,255,380,8 200,8,307,214,8 275,17,389,267,8 312,74,493,380,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002614.jpg 8,82,416,278,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002615.jpg 30,1,292,202,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002616.jpg 26,4,266,232,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002618.jpg 1,110,193,333,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002620.jpg 185,147,249,324,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002621.jpg 10,44,393,281,5 1,177,53,272,6 418,169,445,247,14 474,163,500,237,14 458,179,477,237,14 435,155,462,240,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002624.jpg 50,54,392,297,18 15,200,305,275,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002625.jpg 30,81,389,232,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002626.jpg 1,171,73,275,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002628.jpg 186,75,320,327,7 183,1,396,259,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002629.jpg 54,134,257,369,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002632.jpg 142,52,417,254,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002634.jpg 456,285,500,375,14 427,328,470,375,8 402,308,439,366,8 356,299,421,348,8 352,351,420,375,8 346,328,383,375,8 309,312,339,351,8 283,303,312,338,8 204,344,274,375,8 189,328,243,369,8 171,311,223,368,8 85,321,136,373,8 48,337,121,375,8 390,297,459,325,10 208,319,279,335,10 227,331,311,355,10 257,347,354,373,10 15,333,85,355,10 1,353,48,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002635.jpg 229,225,348,315,9 138,186,224,241,9 1,190,42,287,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002638.jpg 40,76,494,321,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002645.jpg 1,21,338,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002648.jpg 1,1,500,334,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002649.jpg 103,14,251,489,4 203,1,375,219,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002651.jpg 176,123,403,297,13 220,72,362,237,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002652.jpg 120,37,355,227,19 71,294,330,333,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002659.jpg 108,82,337,322,13 66,1,243,260,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002662.jpg 71,38,480,183,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002663.jpg 1,182,444,375,10 182,270,357,375,8 340,221,459,375,8 377,182,475,375,8 236,1,310,86,19 402,114,500,201,17 104,142,176,214,8 1,152,53,242,8 301,144,376,204,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002665.jpg 9,1,500,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002667.jpg 147,188,319,397,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002668.jpg 120,226,222,332,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002669.jpg 1,94,248,182,18 198,98,311,187,18 28,84,61,137,15 287,106,500,149,18 469,98,486,125,15 89,124,117,193,14 59,130,77,172,14 447,117,470,165,14 388,118,400,144,14 417,116,428,144,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002670.jpg 102,355,176,427,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002671.jpg 248,119,418,199,1 96,54,215,268,14 202,144,223,189,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002672.jpg 102,174,379,344,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002673.jpg 49,133,387,321,17 126,207,182,242,7 283,167,334,198,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002674.jpg 11,51,493,231,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002675.jpg 1,1,123,375,4 78,1,402,375,4 343,1,499,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002676.jpg 95,38,500,322,18 163,42,184,53,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002680.jpg 1,61,500,244,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002681.jpg 376,1,500,94,17 68,1,479,309,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002683.jpg 235,250,445,400,17 128,229,257,355,8 1,339,143,400,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002684.jpg 45,72,333,500,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002685.jpg 72,52,454,275,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002687.jpg 1,60,287,330,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002688.jpg 471,66,500,136,15 220,78,261,130,15 139,202,208,236,4 421,241,500,376,8 300,186,393,249,8 211,179,292,235,8 54,216,182,376,8 175,231,330,376,8 46,223,460,376,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002689.jpg 108,86,478,297,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002695.jpg 1,151,500,261,18 475,224,500,303,6 360,242,470,307,6 207,242,352,316,6 72,244,238,317,6 1,231,30,275,6 1,246,123,312,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002697.jpg 57,34,453,307,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002698.jpg 187,123,307,500,14 93,167,209,485,14 274,267,361,413,8 33,251,71,341,15 1,191,39,339,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002703.jpg 202,210,222,242,4 117,82,238,375,14 224,98,297,360,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002704.jpg 1,27,380,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002705.jpg 1,47,118,375,14 130,30,500,314,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002708.jpg 13,12,500,363,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002710.jpg 408,52,473,102,8 76,81,169,146,8 130,70,208,132,8 5,69,231,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002711.jpg 1,1,447,291,6 123,1,147,37,14 454,14,500,142,6 48,1,72,41,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002712.jpg 1,111,445,309,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002713.jpg 1,108,388,379,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002714.jpg 84,146,317,236,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002715.jpg 114,218,208,445,14 245,427,334,500,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002717.jpg 1,69,500,375,17 76,51,486,296,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002719.jpg 1,175,44,246,16 45,171,113,240,16 193,163,238,231,16 241,155,307,231,16 243,147,358,234,16 126,173,201,249,16 367,171,413,227,16 373,147,491,231,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002725.jpg 97,7,500,321,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002727.jpg 354,192,462,241,3 278,187,416,237,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002728.jpg 145,228,309,415,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002732.jpg 1,1,500,333,17 65,135,430,333,14 147,1,461,333,14 208,204,320,274,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002733.jpg 8,27,237,294,19 226,12,395,225,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002734.jpg 81,59,397,305,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002739.jpg 1,1,500,450,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002741.jpg 117,22,500,375,15 1,1,158,251,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002743.jpg 64,186,356,375,10 337,117,434,302,14 189,114,283,191,14 1,198,97,375,8 316,197,456,375,8 351,150,441,235,8 287,97,351,181,8 401,95,431,133,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002744.jpg 42,36,84,151,14 76,37,126,186,14 117,1,167,90,14 75,20,390,375,14 403,51,497,106,6 298,59,490,226,6 16,107,81,218,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002746.jpg 1,1,334,500,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002749.jpg 16,37,93,432,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002750.jpg 84,88,344,314,12 1,91,292,323,12 134,62,213,141,14 177,78,263,183,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002752.jpg 1,59,322,162,0 59,125,463,254,0 1,161,9,183,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002753.jpg 13,116,364,385,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002754.jpg 205,98,370,303,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002755.jpg 131,40,361,374,8 327,3,479,83,19 90,35,131,121,15 27,20,82,127,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002758.jpg 209,22,362,194,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002759.jpg 201,204,348,244,3 71,144,130,197,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002762.jpg 106,58,480,340,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002763.jpg 58,54,419,297,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002764.jpg 39,45,483,307,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002765.jpg 125,112,211,197,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002770.jpg 1,9,500,339,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002771.jpg 192,101,341,467,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002772.jpg 100,130,334,500,14 281,216,334,415,14 75,272,151,322,9 1,286,105,397,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002774.jpg 298,157,499,268,18 1,169,315,249,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002777.jpg 69,139,130,339,14 198,134,246,257,14 230,166,461,345,6 126,235,405,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002778.jpg 133,172,291,214,3 199,79,293,111,3 355,101,362,119,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002779.jpg 18,38,480,318,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002780.jpg 60,37,480,333,1 140,1,255,146,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002784.jpg 141,82,376,285,13 239,53,282,158,11 204,11,324,242,14 301,34,500,164,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002785.jpg 352,8,463,104,1 18,130,135,299,8 1,32,182,144,1 1,9,112,123,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002789.jpg 225,40,379,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002790.jpg 1,147,396,331,10 274,105,433,309,14 157,81,267,192,14 312,116,323,165,4 324,114,338,163,4 123,117,217,203,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002791.jpg 111,83,268,392,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002792.jpg 406,203,432,241,14 427,109,449,148,14 398,1,500,333,14 347,54,432,333,14 272,51,348,333,14 229,119,311,287,14 166,115,320,333,14 121,112,208,333,14 94,101,169,269,14 86,83,136,211,14 52,96,74,123,14 60,108,92,265,14 26,96,75,273,14 1,99,35,276,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002798.jpg 24,84,433,265,0 4,178,85,213,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002799.jpg 431,9,499,78,2 367,189,447,292,2 304,89,439,235,2 236,124,365,238,2 173,161,280,279,2 97,112,175,190,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002800.jpg 33,11,333,500,14 73,1,333,216,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002803.jpg 153,1,500,334,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002806.jpg 303,72,451,341,14 145,74,302,258,14 16,187,209,341,13 179,187,500,341,13 262,119,500,252,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002807.jpg 341,134,500,322,11 287,27,423,90,11 1,10,313,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002808.jpg 2,16,333,457,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002809.jpg 18,29,335,408,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002813.jpg 4,9,486,315,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002814.jpg 14,132,69,274,4 23,36,276,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002816.jpg 4,314,174,500,8 159,301,305,500,8 268,308,375,500,8 1,305,316,500,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002817.jpg 1,1,375,488,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002820.jpg 144,54,369,331,2 51,1,496,125,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002824.jpg 1,86,33,109,6 1,82,208,178,6 177,72,199,92,6 183,71,206,100,6 205,70,242,98,6 255,47,334,92,6 361,54,500,108,6 211,31,282,320,14 11,87,245,352,13 221,74,460,395,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002827.jpg 155,154,336,375,14 411,155,472,322,19 66,209,172,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002830.jpg 30,64,451,238,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002831.jpg 135,101,399,250,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002833.jpg 25,21,480,307,1 382,31,500,272,1 289,28,386,270,1 160,49,276,264,1 1,28,142,278,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002835.jpg 12,30,500,356,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002836.jpg 208,84,353,347,7 145,18,377,178,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002837.jpg 68,1,500,361,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002838.jpg 79,51,477,335,18 48,150,59,168,14 7,149,15,169,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002841.jpg 212,395,229,433,8 182,366,193,399,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002842.jpg 1,28,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002843.jpg 69,16,466,349,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002844.jpg 71,74,190,188,8 145,117,213,174,8 341,188,477,374,8 1,290,161,374,8 25,142,467,374,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002845.jpg 173,98,428,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002847.jpg 77,1,417,345,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002849.jpg 318,82,470,213,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002850.jpg 369,160,470,333,4 354,74,407,319,4 238,78,293,287,4 169,78,229,282,4 98,70,163,285,4 140,45,189,241,4 291,67,356,172,14 279,68,315,127,14 74,81,102,113,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002851.jpg 284,381,306,445,14 238,339,312,354,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002853.jpg 92,158,354,307,5 414,238,463,273,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002855.jpg 1,1,500,330,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002856.jpg 107,104,213,434,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002862.jpg 303,155,408,214,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002865.jpg 39,52,375,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002867.jpg 19,75,371,465,18 355,289,377,347,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002869.jpg 33,34,162,224,9 390,119,445,163,9 218,96,258,122,9 1,59,68,109,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002872.jpg 47,162,141,257,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002876.jpg 40,63,463,356,5 446,93,500,236,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002877.jpg 24,165,319,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002879.jpg 163,46,199,110,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002882.jpg 1,1,500,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002883.jpg 65,65,235,330,12 213,112,320,330,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002885.jpg 1,155,80,285,14 71,63,224,252,14 217,58,393,257,14 437,98,500,318,14 1,241,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002887.jpg 218,3,498,182,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002888.jpg 2,142,213,248,0 89,96,305,211,0 183,52,498,186,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002890.jpg 134,76,342,185,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002893.jpg 1,1,471,375,17 1,136,376,346,14 128,136,261,228,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002894.jpg 1,98,252,500,13 145,40,299,500,14 272,245,334,403,6 1,259,40,382,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002897.jpg 14,88,489,209,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002898.jpg 27,44,477,312,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002901.jpg 180,106,369,341,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002902.jpg 63,57,448,357,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002908.jpg 1,58,372,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002910.jpg 25,119,487,225,0 455,136,498,151,0 357,140,400,161,0 1,140,82,178,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002912.jpg 91,147,181,197,9 208,148,306,194,9 303,147,415,197,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002914.jpg 111,53,422,256,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002917.jpg 49,127,489,306,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002918.jpg 1,5,310,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002920.jpg 77,109,405,254,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002921.jpg 1,5,235,314,16 205,121,481,359,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002925.jpg 90,94,380,314,11 66,1,187,120,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002928.jpg 45,85,441,350,1 357,70,431,142,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002932.jpg 178,103,278,358,14 273,88,367,355,14 35,196,104,267,19 343,228,399,330,8 241,221,290,327,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002933.jpg 357,79,500,321,5 61,45,421,375,5 1,221,67,291,6 31,197,58,221,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002935.jpg 1,367,133,500,15 1,109,307,495,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002936.jpg 188,72,319,341,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002937.jpg 179,132,262,186,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002938.jpg 106,204,318,344,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002940.jpg 112,112,184,332,4 184,105,246,313,4 240,96,302,296,4 294,78,342,265,4 320,88,405,274,4 92,85,146,296,4 158,75,211,152,4 223,71,266,135,4 341,67,388,114,4 1,1,22,158,4 12,1,93,149,4 15,146,85,276,4 1,161,24,288,4 1,299,27,375,4 19,274,84,375,4 121,332,176,375,4 179,324,233,375,4 235,317,282,375,4 286,299,330,375,4 321,291,375,375,4 371,275,417,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002941.jpg 14,46,483,221,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002946.jpg 143,33,298,303,3 157,247,179,278,14 202,261,215,279,14 284,161,302,206,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002947.jpg 84,155,282,234,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002952.jpg 246,186,308,305,8 1,257,105,375,10 1,284,76,375,8 33,241,105,372,8 330,96,363,207,15 453,170,477,235,15 434,132,461,229,15 346,171,395,236,15 395,163,411,221,15 411,187,434,225,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002954.jpg 107,217,229,298,14 298,102,404,217,14 356,4,500,215,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002955.jpg 124,167,266,313,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002957.jpg 115,23,427,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002958.jpg 434,5,500,47,11 1,126,334,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002960.jpg 2,25,315,320,6 349,45,461,323,14 439,93,500,261,6 445,77,476,97,14 475,75,495,98,14 484,67,500,97,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002961.jpg 40,1,480,321,7 1,43,480,321,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002962.jpg 73,28,395,279,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002967.jpg 96,5,372,329,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002970.jpg 179,70,234,143,19 150,170,227,251,19 98,226,142,273,19 84,297,135,333,19 259,291,317,333,19 137,278,180,329,19 301,293,412,333,19 385,22,486,112,19 378,233,471,312,19 469,233,500,316,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002971.jpg 110,70,459,228,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002972.jpg 91,124,467,311,7 3,3,498,372,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002975.jpg 41,32,375,304,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002976.jpg 433,1,500,251,14 346,5,419,154,14 149,27,408,329,14 1,186,166,375,14 1,132,121,299,14 1,97,102,191,14 83,93,247,228,14 300,290,395,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002977.jpg 486,172,500,229,2 459,167,489,243,2 326,170,350,241,2 236,155,267,252,2 215,153,252,252,2 200,202,227,248,2 183,174,222,249,2 108,181,164,262,2 122,161,144,225,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002978.jpg 257,276,429,375,8 319,227,391,307,8 244,205,313,278,8 98,211,165,273,8 35,252,194,375,8 10,230,148,365,8 96,239,361,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002980.jpg 174,15,301,462,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002982.jpg 84,102,418,309,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002983.jpg 146,196,226,375,14 48,186,136,366,14 11,263,171,366,1 95,177,162,256,1 100,123,160,240,14 153,60,174,89,14 146,74,180,93,1 100,62,121,94,14 93,75,132,97,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002984.jpg 131,84,291,268,19 320,100,475,216,19 363,205,404,313,4 388,89,500,196,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002985.jpg 1,33,500,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002986.jpg 190,202,290,270,9 339,223,424,264,9 34,223,115,261,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002988.jpg 282,182,368,250,16 70,113,198,228,16 220,111,302,233,16 186,109,314,210,16 303,123,380,239,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002990.jpg 28,89,465,258,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002993.jpg 6,48,146,440,14 119,32,255,443,14 213,24,356,444,14 338,19,489,444,14 14,141,171,374,13 152,210,295,368,13 330,151,397,363,13 461,141,500,366,13 476,108,500,181,14 1,122,26,247,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002995.jpg 44,1,358,280,19 301,54,430,277,8 1,88,66,266,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002998.jpg 1,364,375,500,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_002999.jpg 16,74,493,291,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003000.jpg 340,104,500,252,14 271,116,356,280,14 145,99,284,277,14 70,121,183,313,14 1,120,100,302,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003002.jpg 120,94,326,204,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003003.jpg 1,226,375,500,10 6,1,73,173,14 282,1,353,96,14 328,2,375,359,14 13,20,356,255,6 204,47,345,500,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003005.jpg 17,78,482,225,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003006.jpg 1,272,46,375,10 126,31,290,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003007.jpg 113,47,222,474,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003010.jpg 127,1,309,281,3 317,92,385,243,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003012.jpg 212,112,320,222,14 179,126,387,238,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003013.jpg 29,51,362,355,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003018.jpg 26,61,449,280,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003019.jpg 111,14,493,377,3 9,159,164,372,3 346,337,364,355,14 363,331,379,356,14 392,341,408,358,14 439,336,459,349,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003020.jpg 337,196,405,241,13 294,184,316,242,14 191,216,237,274,14 276,180,295,242,14 146,162,276,256,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003022.jpg 62,46,443,333,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003023.jpg 169,46,363,304,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003031.jpg 24,70,475,307,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003032.jpg 1,23,500,214,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003033.jpg 106,116,433,209,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003034.jpg 297,1,374,333,4 210,10,292,324,4 106,31,198,333,4 1,75,78,332,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003035.jpg 43,140,285,375,14 215,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003039.jpg 261,62,495,333,15 7,87,252,333,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003042.jpg 195,174,259,243,1 84,180,139,249,1 203,124,257,227,14 85,134,140,235,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003043.jpg 208,188,230,271,3 47,55,231,331,3 43,200,74,263,3 198,283,211,310,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003044.jpg 39,38,500,372,0 107,63,489,372,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003052.jpg 198,194,311,288,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003053.jpg 22,29,441,268,5 322,23,460,174,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003054.jpg 129,175,500,233,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003056.jpg 16,21,296,219,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003058.jpg 82,146,333,365,6 295,180,324,207,14 160,170,198,207,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003059.jpg 232,15,500,333,9 1,73,284,333,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003063.jpg 18,136,222,277,11 269,207,355,268,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003064.jpg 93,10,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003065.jpg 178,197,288,349,1 179,104,285,311,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003066.jpg 17,58,490,229,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003067.jpg 115,151,308,289,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003068.jpg 1,1,500,374,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003070.jpg 1,8,479,339,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003071.jpg 17,118,158,330,8 387,110,500,190,8 82,147,500,333,10 99,86,259,248,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003074.jpg 1,105,453,375,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003075.jpg 287,120,434,270,1 69,124,299,323,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003076.jpg 40,64,263,249,14 169,62,417,228,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003077.jpg 167,206,349,327,7 181,1,392,253,15 454,1,500,244,15 48,1,227,189,15 1,1,50,193,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003078.jpg 15,111,119,192,19 153,149,318,375,8 314,132,467,367,8 259,109,328,168,8 83,119,222,310,8 139,165,387,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003080.jpg 112,177,323,378,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003082.jpg 99,113,331,298,12 1,179,63,319,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003083.jpg 1,66,335,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003084.jpg 172,60,308,261,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003087.jpg 1,1,500,332,17 64,1,434,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003088.jpg 133,105,305,324,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003089.jpg 58,60,469,314,9 364,43,443,93,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003090.jpg 33,79,462,260,13 157,63,365,271,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003091.jpg 2,92,436,350,6 280,95,500,199,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003093.jpg 141,40,360,193,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003095.jpg 1,57,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003097.jpg 194,92,413,167,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003098.jpg 247,97,416,219,11 1,17,299,203,11 1,1,129,106,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003105.jpg 1,75,402,282,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003107.jpg 13,112,493,243,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003108.jpg 100,108,281,150,0 16,106,220,157,0 12,90,482,232,0 303,115,399,150,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003109.jpg 35,33,397,310,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003110.jpg 300,43,481,297,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003114.jpg 3,1,176,500,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003115.jpg 28,302,337,500,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003116.jpg 130,161,475,465,8 142,21,376,463,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003118.jpg 20,1,457,334,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003122.jpg 118,13,341,262,11 370,62,465,176,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003123.jpg 1,285,149,375,10 1,230,78,286,8 59,188,414,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003125.jpg 1,42,274,333,14 186,1,500,333,14 110,1,414,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003126.jpg 46,153,425,360,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003127.jpg 241,195,335,248,12 364,199,437,244,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003128.jpg 52,65,458,333,12 197,146,294,333,14 198,25,329,251,14 11,145,117,319,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003129.jpg 110,58,429,318,7 2,2,478,333,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003130.jpg 18,38,486,312,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003132.jpg 58,346,253,431,6 219,347,256,360,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003136.jpg 1,39,489,282,3 47,297,236,350,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003138.jpg 466,137,500,176,6 395,141,481,189,6 117,119,398,301,6 40,160,202,268,6 38,158,142,196,6 145,147,203,161,6 93,149,153,165,6 52,149,111,181,6 198,143,248,170,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003140.jpg 99,32,261,206,19 247,205,409,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003142.jpg 151,297,206,444,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003143.jpg 1,12,419,482,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003144.jpg 169,270,200,375,4 259,255,288,365,4 290,258,314,341,4 454,243,474,293,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003146.jpg 85,111,372,253,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003147.jpg 167,73,499,203,0 101,78,293,197,0 43,81,208,191,0 1,87,162,186,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003150.jpg 1,1,500,331,3 399,230,495,327,8 315,248,413,331,8 213,258,308,331,8 152,191,216,299,8 480,121,500,174,14 453,116,500,178,14 416,142,481,225,14 404,162,493,283,14 340,136,395,199,14 308,182,403,321,14 315,128,341,169,14 286,129,333,196,14 235,145,288,210,14 222,181,312,320,14 178,155,230,302,14 227,187,419,251,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003151.jpg 225,81,372,130,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003153.jpg 15,80,489,247,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003154.jpg 77,214,403,371,10 3,101,130,375,14 80,90,199,263,14 315,118,500,375,14 308,139,404,295,14 205,190,232,240,4 229,184,244,232,4 203,180,213,233,4 216,175,227,188,4 206,175,218,189,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003155.jpg 1,84,356,500,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003156.jpg 70,162,304,487,11 1,206,114,265,17 1,108,334,500,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003157.jpg 18,197,124,318,8 1,331,105,500,8 152,156,187,188,19 254,176,327,256,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003164.jpg 220,115,489,295,1 69,122,222,255,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003165.jpg 1,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003166.jpg 1,129,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003168.jpg 108,141,305,468,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003172.jpg 65,64,378,324,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003173.jpg 238,220,317,269,9 80,216,126,266,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003175.jpg 1,84,281,313,1 4,96,246,262,1 264,78,432,274,1 302,91,500,249,1 437,86,499,150,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003181.jpg 247,290,262,320,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003183.jpg 89,293,192,373,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003185.jpg 1,58,500,324,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003187.jpg 57,5,423,371,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003189.jpg 63,150,216,414,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003191.jpg 145,223,235,496,4 53,133,343,493,14 1,261,40,493,4 29,194,101,264,19 313,305,351,483,8 1,397,375,500,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003193.jpg 69,60,435,285,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003194.jpg 1,23,440,327,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003196.jpg 197,199,420,323,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003198.jpg 1,217,322,375,10 220,227,385,375,8 16,248,198,375,8 1,240,75,375,8 91,168,144,222,8 154,183,214,232,8 225,186,296,245,8 1,187,65,249,8 208,196,228,219,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003199.jpg 5,96,499,255,0 373,193,500,240,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003200.jpg 80,163,336,293,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003201.jpg 28,49,333,402,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003204.jpg 86,19,230,154,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003208.jpg 204,121,456,300,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003209.jpg 95,91,293,279,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003212.jpg 24,203,68,241,6 40,206,103,256,6 71,209,197,279,6 168,209,469,351,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003214.jpg 217,84,383,225,19 36,74,219,228,19 290,242,371,280,4 257,167,280,197,14 89,173,115,202,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003217.jpg 86,83,496,299,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003218.jpg 106,333,215,401,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003219.jpg 18,76,496,300,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003222.jpg 1,27,500,474,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003224.jpg 33,27,404,365,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003225.jpg 1,77,443,380,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003229.jpg 294,241,364,294,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003230.jpg 130,1,500,281,18 1,111,99,179,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003232.jpg 61,88,319,360,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003233.jpg 111,103,441,214,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003234.jpg 129,10,476,220,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003238.jpg 114,137,355,263,13 181,81,285,269,14 281,97,500,240,6 427,113,497,149,14 113,139,168,190,15 457,75,477,101,14 127,56,193,114,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003241.jpg 1,24,333,340,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003247.jpg 373,189,492,209,3 181,129,367,209,3 275,103,352,148,3 20,156,200,214,3 394,161,414,196,14 118,157,141,187,14 76,154,99,187,14 17,137,58,149,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003249.jpg 110,158,383,288,16 1,156,32,236,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003251.jpg 97,141,442,375,10 205,66,235,98,15 180,74,211,105,15 282,122,341,148,8 416,111,500,350,8 1,259,187,375,8 55,91,105,197,8 3,120,127,345,14 423,100,491,314,14 81,33,212,199,14 328,36,353,85,1 313,38,329,84,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003253.jpg 11,139,211,487,8 212,109,339,353,8 187,184,375,487,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003254.jpg 187,281,243,327,16 280,312,322,338,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003255.jpg 32,21,481,306,6 261,15,500,191,6 35,19,328,84,6 312,1,342,51,14 234,3,309,49,6 128,9,224,48,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003257.jpg 249,42,500,263,14 17,149,64,223,2 137,39,148,54,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003259.jpg 213,124,288,260,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003261.jpg 307,84,500,290,12 114,86,263,375,14 1,18,215,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003262.jpg 33,11,336,240,11 130,1,294,75,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003265.jpg 140,202,357,333,10 118,251,256,333,8 441,262,500,333,8 443,199,471,279,8 253,169,271,233,4 222,33,421,217,14 222,109,301,164,19 287,127,449,333,14 26,59,173,333,14 133,107,227,222,14 225,173,243,201,4 5,193,31,297,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003266.jpg 313,31,491,332,14 152,55,317,332,14 25,60,188,332,14 14,84,69,332,14 453,98,484,147,14 430,95,454,127,14 165,96,207,144,14 256,64,344,148,14 1,86,17,216,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003267.jpg 176,343,325,435,6 1,341,97,437,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003269.jpg 122,78,500,375,14 114,166,225,313,4 207,189,267,273,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003271.jpg 248,188,500,361,16 355,146,500,300,16 289,188,500,238,16 93,166,149,239,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003272.jpg 60,265,334,500,8 317,205,375,500,8 153,338,270,450,7 26,63,334,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003273.jpg 34,52,376,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003276.jpg 56,157,327,281,5 330,214,350,274,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003277.jpg 24,1,500,298,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003278.jpg 22,76,500,266,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003282.jpg 1,319,375,500,10 21,1,345,430,14 25,1,118,115,14 1,60,30,92,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003284.jpg 81,6,452,307,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003285.jpg 99,63,481,330,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003288.jpg 100,35,283,500,15 293,289,375,421,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003290.jpg 5,48,288,463,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003294.jpg 207,38,393,310,12 213,27,313,182,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003297.jpg 64,107,318,283,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003299.jpg 84,52,409,262,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003300.jpg 236,46,396,338,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003301.jpg 87,48,266,279,11 263,100,423,259,11 1,1,74,188,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003304.jpg 47,52,454,292,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003305.jpg 272,139,356,324,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003309.jpg 3,24,500,314,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003310.jpg 177,57,356,375,14 1,1,162,375,6 94,1,500,319,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003311.jpg 343,122,500,264,18 1,117,417,267,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003312.jpg 283,79,500,277,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003315.jpg 242,141,269,175,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003316.jpg 218,46,408,239,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003317.jpg 312,106,461,315,8 289,129,495,326,8 59,103,188,318,8 7,125,215,326,8 96,96,402,326,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003320.jpg 1,220,305,500,8 126,163,229,415,14 141,71,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003323.jpg 158,184,225,372,14 197,154,339,478,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003326.jpg 112,227,171,304,8 265,139,298,191,15 294,160,322,189,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003327.jpg 44,50,432,482,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003333.jpg 1,26,483,339,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003338.jpg 131,150,200,332,14 168,153,259,332,14 277,122,365,332,14 1,34,273,332,12 232,113,500,332,12 382,141,403,159,14 459,135,468,144,14 478,130,500,170,14 357,136,375,151,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003340.jpg 171,25,471,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003343.jpg 20,185,299,500,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003345.jpg 133,24,351,334,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003346.jpg 1,206,161,459,13 180,199,334,464,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003347.jpg 210,110,283,315,4 46,1,464,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003348.jpg 1,149,323,220,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003349.jpg 229,15,500,273,14 168,237,500,333,10 153,18,245,182,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003350.jpg 1,6,489,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003351.jpg 231,250,266,295,14 233,267,273,344,14 272,285,298,332,8 49,240,65,282,14 64,245,77,278,14 47,276,69,318,15 15,288,41,340,15 70,270,165,330,13 157,332,234,374,15 418,322,480,375,15 24,81,500,317,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003352.jpg 1,106,79,237,8 72,106,179,241,8 174,104,272,240,8 346,105,450,241,8 452,101,500,239,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003353.jpg 1,238,239,375,1 189,202,418,375,1 247,87,376,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003360.jpg 42,95,454,260,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003361.jpg 1,30,53,180,14 1,75,161,207,14 93,84,271,270,14 213,62,360,270,14 1,202,168,270,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003363.jpg 358,103,500,320,14 334,141,454,375,14 269,141,358,375,14 210,148,278,342,14 94,128,224,347,14 155,264,174,324,4 1,133,105,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003365.jpg 1,22,130,371,14 111,195,333,500,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003367.jpg 71,1,422,275,19 43,230,385,457,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003369.jpg 183,174,313,363,11 80,271,183,381,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003372.jpg 9,62,500,229,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003373.jpg 108,182,403,375,17 1,203,104,332,17 196,110,225,179,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003375.jpg 82,155,475,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003376.jpg 13,35,495,316,6 279,45,500,206,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003377.jpg 1,35,48,144,15 1,125,500,442,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003378.jpg 220,34,424,456,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003379.jpg 464,156,490,220,14 323,132,364,221,14 298,153,326,219,14 154,94,248,249,14 126,78,186,247,14 195,100,230,235,14 103,138,127,219,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003380.jpg 1,1,416,417,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003381.jpg 19,24,472,316,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003383.jpg 25,22,465,315,5 441,167,465,263,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003384.jpg 1,99,59,270,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003385.jpg 1,11,490,500,5 432,210,475,268,14 486,221,500,293,14 460,223,500,297,14 316,136,350,224,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003386.jpg 1,212,60,234,6 243,208,314,236,6 303,213,338,228,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003387.jpg 1,114,500,332,6 2,96,94,188,6 114,54,164,91,19 37,57,90,91,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003394.jpg 1,56,470,337,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003395.jpg 9,44,337,375,11 153,1,480,209,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003396.jpg 1,105,500,271,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003399.jpg 104,127,347,313,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003400.jpg 256,78,356,207,3 327,94,422,197,3 90,63,266,223,3 3,79,191,228,3 1,73,98,199,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003402.jpg 25,12,396,294,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003406.jpg 20,96,414,250,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003407.jpg 72,117,421,244,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003409.jpg 37,58,275,335,14 1,198,476,335,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003411.jpg 64,118,324,482,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003415.jpg 164,79,333,281,7 101,16,399,222,8 1,1,130,186,8 106,1,500,281,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003416.jpg 89,124,323,283,13 1,114,227,228,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003417.jpg 73,104,122,266,2 270,179,304,210,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003419.jpg 1,1,500,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003422.jpg 28,12,482,303,5 325,64,356,94,14 378,58,425,91,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003425.jpg 278,2,500,264,16 1,1,266,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003430.jpg 38,36,375,500,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003431.jpg 190,133,235,234,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003433.jpg 1,114,500,242,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003436.jpg 96,31,500,375,18 1,148,97,334,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003440.jpg 233,310,442,374,10 171,359,232,374,8 206,280,266,374,8 274,155,467,307,15 92,179,144,300,15 166,213,228,286,8 245,214,306,285,8 188,179,275,220,17 212,179,239,223,15 274,180,294,193,15 93,200,160,268,8 116,192,171,250,8 129,153,181,212,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003441.jpg 53,133,500,375,17 315,137,473,375,14 67,82,238,375,14 78,69,294,375,14 483,165,500,313,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003443.jpg 203,126,244,159,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003445.jpg 125,158,187,180,12 56,182,171,236,12 278,186,320,231,12 344,155,382,174,12 338,183,358,222,12 342,170,419,215,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003446.jpg 161,256,198,315,13 163,236,199,296,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003447.jpg 71,69,428,308,5 437,185,469,218,6 425,184,441,219,6 1,175,59,231,6 56,189,71,218,6 329,161,370,201,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003450.jpg 60,264,347,427,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003453.jpg 133,119,500,309,18 53,218,132,334,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003454.jpg 127,144,211,435,14 83,203,119,311,14 50,175,94,364,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003455.jpg 2,284,297,435,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003456.jpg 1,35,500,270,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003457.jpg 49,247,231,346,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003458.jpg 72,38,398,328,5 397,112,431,171,5 1,76,150,241,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003459.jpg 204,245,333,383,17 1,292,38,500,15 1,161,42,265,15 68,310,174,457,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003460.jpg 51,309,63,325,16 84,316,107,325,16 124,311,146,320,16 148,314,174,327,16 218,313,239,327,16 247,314,276,334,16 254,313,279,323,16 305,309,330,320,16 252,308,274,315,16 359,317,383,325,16 413,318,427,325,16 278,323,323,358,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003461.jpg 19,62,447,304,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003462.jpg 16,193,101,215,3 481,217,494,247,14 101,206,132,219,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003466.jpg 152,76,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003467.jpg 74,33,325,461,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003468.jpg 178,21,500,375,14 1,304,280,375,10 1,20,109,314,14 1,246,90,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003469.jpg 33,10,459,311,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003476.jpg 357,235,402,344,15 371,216,409,303,15 288,222,343,319,15 301,202,358,284,15 237,229,286,307,15 163,190,250,338,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003481.jpg 111,169,390,320,12 64,100,171,256,12 158,111,364,186,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003482.jpg 387,128,452,246,14 339,81,411,281,14 289,140,309,173,14 126,80,218,164,14 10,83,172,370,14 2,1,500,375,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003487.jpg 189,65,333,184,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003488.jpg 1,144,333,387,0 57,164,203,405,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003489.jpg 90,73,500,315,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003490.jpg 60,85,222,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003491.jpg 30,39,367,250,5 365,87,451,172,5 449,97,497,150,5 480,123,495,159,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003492.jpg 67,74,179,128,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003494.jpg 135,4,291,411,14 137,287,301,500,8 1,313,103,477,8 176,307,273,444,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003497.jpg 1,187,429,457,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003498.jpg 116,64,377,302,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003499.jpg 234,207,430,328,11 105,42,206,316,14 153,45,213,171,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003500.jpg 45,2,415,333,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003504.jpg 1,209,112,267,3 60,149,406,298,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003507.jpg 224,259,245,290,15 321,282,334,310,15 252,308,334,468,8 136,308,249,500,8 118,340,281,500,8 139,330,333,500,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003508.jpg 358,127,387,166,8 362,156,390,191,8 456,255,500,320,8 413,226,455,280,8 413,194,448,245,8 344,172,378,217,8 355,237,390,289,8 312,165,340,214,8 324,265,359,318,8 286,292,327,346,8 238,314,274,370,8 198,314,236,375,8 258,237,292,293,8 220,180,249,230,8 230,136,261,181,8 174,125,199,164,8 144,143,169,195,8 154,212,188,266,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003509.jpg 274,180,307,209,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003510.jpg 62,30,412,452,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003511.jpg 184,216,295,269,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003513.jpg 1,19,375,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003517.jpg 115,37,240,489,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003519.jpg 74,66,422,375,1 421,23,500,182,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003520.jpg 179,177,364,333,10 153,172,247,326,8 205,160,249,179,8 282,164,313,190,8 281,170,344,304,8 370,172,451,276,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003521.jpg 187,41,386,295,9 131,104,192,194,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003522.jpg 300,52,465,356,13 193,100,267,155,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003523.jpg 111,108,448,350,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003524.jpg 8,79,494,238,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003528.jpg 244,118,313,220,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003530.jpg 71,52,371,299,12 1,70,66,304,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003531.jpg 1,57,483,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003533.jpg 61,37,425,354,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003534.jpg 62,53,440,282,18 2,62,101,263,18 419,137,440,202,14 471,142,493,211,14 450,140,473,201,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003537.jpg 47,111,195,244,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003538.jpg 243,13,500,303,11 1,95,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003539.jpg 112,48,386,392,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003540.jpg 248,72,472,334,14 44,137,201,334,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003541.jpg 35,47,439,492,16 282,1,430,116,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003542.jpg 189,36,500,333,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003543.jpg 12,125,480,247,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003544.jpg 78,130,258,440,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003545.jpg 126,198,500,375,10 356,274,500,375,8 136,228,303,375,8 156,186,237,222,8 247,177,311,216,8 425,185,500,230,8 432,164,500,198,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003546.jpg 14,92,488,199,0 473,173,500,214,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003549.jpg 45,50,469,238,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003551.jpg 187,155,481,439,19 1,1,166,500,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003554.jpg 134,122,216,202,19 386,166,470,253,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003555.jpg 82,38,301,279,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003560.jpg 264,150,305,178,6 271,172,290,202,13 273,159,291,183,13 213,258,244,294,13 200,238,227,266,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003562.jpg 52,5,258,486,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003563.jpg 21,186,166,500,14 103,59,197,260,14 197,110,333,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003564.jpg 1,196,315,375,17 301,126,433,246,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003565.jpg 39,99,353,345,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003566.jpg 73,139,407,298,5 23,197,56,207,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003569.jpg 198,182,364,295,9 107,181,163,280,9 192,164,318,272,9 143,176,208,258,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003571.jpg 9,85,490,214,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003572.jpg 185,82,385,288,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003576.jpg 134,108,231,299,13 228,126,389,334,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003577.jpg 1,231,429,375,10 91,62,261,257,14 263,72,457,314,14 79,149,273,242,8 394,166,461,375,8 459,142,500,194,8 432,60,500,169,14 454,94,500,169,14 369,98,390,118,14 344,89,361,130,14 364,131,395,163,10 397,125,410,159,10 402,119,415,148,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003581.jpg 1,237,311,472,17 65,138,280,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003583.jpg 147,101,309,263,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003588.jpg 1,1,195,500,4 232,158,391,500,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003589.jpg 31,92,469,312,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003592.jpg 5,126,466,288,5 468,206,500,239,6 63,187,87,206,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003594.jpg 1,73,375,500,14 147,243,275,500,14 1,407,53,500,14 90,346,155,476,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003598.jpg 34,44,474,300,13 148,42,320,199,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003600.jpg 115,27,499,337,3 79,46,192,164,3 31,38,54,60,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003601.jpg 1,1,453,313,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003605.jpg 120,36,500,332,7 1,1,500,332,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003606.jpg 247,18,437,292,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003607.jpg 194,149,500,375,17 1,77,285,297,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003608.jpg 134,74,460,224,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003609.jpg 1,1,334,500,14 253,277,334,500,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003612.jpg 35,20,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003613.jpg 60,289,228,360,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003614.jpg 54,115,411,298,5 423,204,447,289,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003618.jpg 13,198,248,467,16 114,112,315,329,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003624.jpg 428,12,492,90,16 141,34,237,126,16 1,65,195,375,16 21,62,448,375,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003626.jpg 16,106,292,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003627.jpg 120,65,420,351,11 146,1,402,324,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003629.jpg 40,1,314,333,4 306,1,492,333,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003633.jpg 393,84,500,136,6 294,61,421,375,14 88,88,229,281,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003634.jpg 84,179,384,300,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003635.jpg 9,59,496,274,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003636.jpg 73,36,425,342,5 301,99,365,142,14 67,168,82,200,6 1,158,12,208,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003637.jpg 92,11,248,381,12 104,33,283,273,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003638.jpg 26,92,455,237,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003639.jpg 1,1,375,500,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003640.jpg 91,96,360,315,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003642.jpg 159,241,375,356,17 181,324,270,383,15 1,246,137,425,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003644.jpg 28,1,500,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003646.jpg 109,119,313,292,19 17,139,108,230,19 45,278,376,375,17 291,45,431,375,14 1,224,104,375,17 320,1,500,281,14 274,220,358,338,1 335,337,500,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003647.jpg 92,22,500,332,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003650.jpg 49,147,500,304,18 413,182,435,207,14 486,170,500,241,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003652.jpg 231,133,459,281,3 193,225,232,243,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003654.jpg 1,31,293,372,10 166,85,377,221,7 159,1,475,375,8 283,1,489,352,8 1,158,67,291,8 144,110,219,204,15 444,96,465,132,15 466,107,490,147,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003655.jpg 31,91,327,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003656.jpg 246,58,362,109,17 92,304,183,375,14 312,336,362,375,14 441,296,478,375,14 474,277,500,375,14 140,316,161,344,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003657.jpg 26,36,74,74,6 65,40,82,69,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003660.jpg 1,97,225,375,7 177,110,448,359,7 171,4,372,117,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003663.jpg 1,34,376,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003664.jpg 314,210,363,342,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003666.jpg 408,133,500,287,16 237,139,326,305,16 83,125,227,294,16 1,101,136,243,16 278,114,363,189,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003667.jpg 23,43,491,298,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003668.jpg 67,31,280,482,14 68,149,314,490,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003669.jpg 116,157,270,313,5 269,193,425,303,5 334,222,500,316,5 24,250,79,361,14 100,259,113,291,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003671.jpg 8,90,281,268,17 312,199,500,312,8 411,114,500,221,8 418,72,441,98,15 94,85,208,149,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003677.jpg 134,238,227,405,11 77,161,313,500,8 243,293,261,318,2 1,115,80,320,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003679.jpg 26,54,375,466,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003683.jpg 2,119,194,375,14 202,79,358,375,14 400,89,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003685.jpg 75,49,296,473,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003686.jpg 1,50,297,500,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003688.jpg 44,201,119,236,18 163,201,234,219,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003689.jpg 184,262,294,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003690.jpg 1,79,500,400,10 206,1,414,92,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003694.jpg 47,38,286,434,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003695.jpg 340,256,464,375,8 383,214,444,281,19 79,164,366,294,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003696.jpg 13,49,500,224,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003697.jpg 1,203,124,397,7 1,2,264,364,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003698.jpg 157,11,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003702.jpg 14,77,437,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003703.jpg 75,80,496,324,5 37,133,117,278,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003704.jpg 50,100,473,229,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003705.jpg 1,18,375,237,0 77,174,97,230,14 144,174,171,234,14 255,184,269,216,14 301,145,360,333,14 366,160,419,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003707.jpg 1,187,116,252,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003708.jpg 35,1,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003709.jpg 1,88,493,254,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003710.jpg 64,39,373,310,5 220,187,253,228,14 301,192,321,232,14 373,202,393,302,14 392,209,418,309,14 414,211,445,313,14 448,200,472,309,14 466,210,497,250,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003711.jpg 36,1,333,328,17 80,258,312,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003713.jpg 177,104,355,247,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003714.jpg 95,12,323,232,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003717.jpg 233,148,381,421,11 61,32,165,209,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003718.jpg 2,1,319,347,7 93,5,485,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003720.jpg 283,96,357,177,19 274,86,447,321,14 186,214,232,333,4 25,187,180,303,8 42,85,172,303,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003722.jpg 215,46,376,363,14 33,71,458,340,13 280,41,303,70,8 1,1,292,181,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003725.jpg 396,191,436,288,12 335,206,388,288,12 385,142,435,193,14 336,158,382,205,14 183,254,211,293,14 89,242,120,295,14 33,246,64,297,14 130,262,266,293,6 241,255,387,290,6 368,240,469,289,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003726.jpg 1,282,13,316,8 7,280,30,315,8 26,281,46,314,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003732.jpg 272,166,353,182,3 400,168,462,185,3 217,166,271,183,3 128,161,220,195,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003734.jpg 221,143,397,256,12 260,86,334,200,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003735.jpg 98,127,217,300,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003736.jpg 304,64,470,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003738.jpg 1,5,273,375,14 253,51,500,364,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003739.jpg 393,85,500,301,14 154,76,214,246,14 75,169,322,303,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003743.jpg 35,96,474,345,13 2,65,148,295,6 152,72,354,285,6 435,88,500,249,6 413,133,440,148,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003747.jpg 1,1,500,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003751.jpg 53,78,174,333,14 111,133,284,333,14 225,70,364,333,14 315,32,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003752.jpg 47,108,69,187,14 31,112,49,183,14 323,111,346,198,14 53,191,193,416,8 66,187,161,329,8 76,182,146,235,8 124,187,348,493,10 305,171,319,197,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003753.jpg 1,104,426,375,19 193,123,395,346,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003756.jpg 1,1,307,360,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003757.jpg 25,116,97,222,5 95,112,176,226,5 117,108,235,240,5 285,27,465,277,5 270,90,284,239,5 259,165,269,226,5 176,118,242,228,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003758.jpg 68,179,221,293,18 419,210,459,253,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003759.jpg 113,182,279,322,10 91,181,131,289,8 119,195,199,316,8 180,208,270,331,8 225,180,289,294,8 219,172,253,206,8 125,163,171,188,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003760.jpg 36,89,470,249,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003765.jpg 201,143,398,228,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003768.jpg 20,158,324,426,12 143,84,236,324,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003771.jpg 100,112,275,478,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003773.jpg 151,4,500,334,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003775.jpg 1,81,454,470,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003776.jpg 2,2,98,39,18 86,1,194,162,14 334,1,422,134,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003781.jpg 75,79,380,269,5 378,170,429,196,6 429,170,500,200,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003783.jpg 1,1,375,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003784.jpg 2,26,474,412,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003785.jpg 1,140,377,375,17 1,98,323,338,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003786.jpg 172,161,252,258,11 1,145,151,191,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003790.jpg 1,128,389,304,18 241,144,472,293,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003793.jpg 126,174,184,286,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003795.jpg 390,36,458,144,14 398,138,481,274,14 426,173,500,375,14 339,119,417,237,14 248,134,344,233,14 159,132,299,324,14 64,127,199,282,14 156,222,179,304,4 386,247,409,345,4 250,230,451,375,10 84,246,315,375,10 26,146,300,296,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003799.jpg 14,84,500,234,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003800.jpg 348,101,421,230,14 89,101,150,232,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003801.jpg 27,20,465,322,6 1,98,138,252,6 262,44,500,182,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003802.jpg 83,17,334,357,13 401,57,500,375,6 87,7,193,87,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003804.jpg 125,96,335,442,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003805.jpg 113,153,374,228,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003806.jpg 29,86,486,214,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003808.jpg 267,227,305,303,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003810.jpg 77,84,488,346,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003813.jpg 39,50,324,456,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003814.jpg 49,37,428,223,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003815.jpg 13,1,500,374,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003816.jpg 294,69,439,275,11 113,32,265,272,11 1,1,105,269,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003818.jpg 172,1,325,375,4 14,314,500,375,10 320,219,390,326,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003819.jpg 157,213,490,375,17 111,246,149,287,15 215,185,228,204,15 136,177,150,191,15 171,182,184,206,15 99,185,120,204,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003820.jpg 40,27,448,368,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003821.jpg 1,193,211,375,18 223,286,246,308,5 184,293,194,312,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003822.jpg 8,7,457,400,12 465,93,500,144,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003825.jpg 27,115,191,315,9 179,114,323,333,9 279,71,459,333,9 411,248,500,310,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003827.jpg 240,84,412,180,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003829.jpg 47,122,223,334,14 255,106,356,293,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003832.jpg 71,1,417,333,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003835.jpg 320,213,396,316,8 248,201,313,304,8 252,205,429,303,10 178,178,347,278,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003836.jpg 79,77,275,436,1 325,173,370,241,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003837.jpg 115,62,402,220,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003838.jpg 342,243,377,276,6 322,266,364,299,6 1,261,25,296,6 403,314,500,334,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003840.jpg 9,185,201,375,14 162,187,264,349,14 56,322,213,375,8 2,267,214,375,10 204,244,296,375,8 20,232,94,277,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003843.jpg 39,21,463,325,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003846.jpg 28,65,500,317,13 458,56,500,219,14 432,116,457,176,14 1,100,56,174,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003847.jpg 112,36,500,370,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003848.jpg 6,4,493,217,17 76,208,426,405,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003849.jpg 125,63,354,375,14 355,191,498,375,8 338,181,437,267,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003852.jpg 207,70,381,217,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003855.jpg 311,33,500,333,12 202,128,291,333,14 1,28,200,333,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003857.jpg 136,82,282,187,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003858.jpg 135,87,318,261,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003860.jpg 1,1,500,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003863.jpg 1,142,470,210,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003865.jpg 271,164,418,251,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003867.jpg 1,1,375,345,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003870.jpg 152,120,284,474,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003873.jpg 1,76,75,312,13 24,18,365,497,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003874.jpg 1,30,386,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003879.jpg 1,1,162,60,6 195,122,449,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003883.jpg 5,136,459,266,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003884.jpg 89,197,303,488,8 1,171,127,381,8 127,156,219,272,8 119,148,189,239,8 3,142,155,282,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003888.jpg 189,199,379,375,10 447,153,500,335,14 239,94,379,375,14 236,162,418,375,8 1,90,253,375,14 209,1,268,114,15 91,37,121,136,4 71,55,100,139,4 26,61,52,148,4 17,27,49,105,4 64,54,73,83,4 64,36,78,77,4 75,34,90,72,4 100,29,124,120,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003892.jpg 1,1,375,498,18 2,84,161,500,14 78,108,258,500,14 244,52,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003895.jpg 8,111,163,255,19 157,115,336,289,19 151,1,264,38,19 364,36,500,149,17 128,149,138,169,14 119,151,134,171,14 1,63,115,131,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003896.jpg 130,216,242,296,0 229,275,345,500,14 38,284,138,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003897.jpg 234,30,415,375,14 61,114,500,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003899.jpg 84,31,208,372,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003900.jpg 130,141,176,284,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003901.jpg 1,48,317,339,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003902.jpg 1,1,294,293,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003903.jpg 7,185,36,217,12 77,135,427,356,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003904.jpg 9,180,324,436,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003905.jpg 32,37,333,439,1 249,126,333,178,6 129,159,153,171,6 190,266,256,330,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003908.jpg 1,1,414,375,1 338,1,500,246,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003911.jpg 117,169,181,278,2 317,151,376,171,2 443,120,465,154,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003912.jpg 105,94,500,225,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003913.jpg 27,83,461,312,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003914.jpg 1,1,500,375,10 5,1,123,162,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003916.jpg 10,28,488,326,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003920.jpg 71,1,266,177,19 1,33,500,333,8 76,130,313,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003921.jpg 110,132,375,470,7 143,1,317,192,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003922.jpg 211,81,367,208,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003928.jpg 119,213,327,410,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003929.jpg 1,1,334,500,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003933.jpg 7,73,355,442,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003936.jpg 149,133,309,252,3 227,152,249,184,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003938.jpg 79,71,500,230,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003942.jpg 43,211,331,275,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003944.jpg 1,1,500,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003947.jpg 13,110,497,225,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003950.jpg 14,110,495,224,0 303,203,315,223,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003951.jpg 106,89,426,247,18 100,141,113,171,14 1,147,25,181,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003955.jpg 1,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003956.jpg 7,135,51,202,9 57,153,79,198,9 70,150,91,184,9 87,153,119,211,9 186,135,407,331,9 135,144,197,233,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003958.jpg 11,2,131,498,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003961.jpg 96,277,255,421,10 82,274,171,402,8 154,279,251,416,8 133,188,187,259,15 118,263,196,392,8 182,268,260,395,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003962.jpg 1,64,260,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003965.jpg 1,63,500,323,17 1,24,201,323,14 9,15,470,323,14 308,2,500,323,14 355,87,375,158,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003966.jpg 1,157,369,375,17 73,82,304,218,17 17,53,140,120,10 86,50,135,114,8 26,51,71,128,8 5,40,30,90,8 124,46,155,86,8 96,41,121,58,8 46,20,79,52,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003969.jpg 89,114,166,176,5 164,116,320,180,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003971.jpg 56,52,364,500,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003973.jpg 398,176,480,303,8 290,175,333,269,8 191,182,274,302,8 119,186,227,325,8 74,212,227,372,8 302,185,388,325,8 252,193,365,372,8 127,187,346,372,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003974.jpg 33,99,456,281,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003975.jpg 266,211,334,453,9 79,135,264,476,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003976.jpg 1,1,297,333,12 1,73,391,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003977.jpg 106,67,429,319,6 375,163,479,223,6 437,168,499,207,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003982.jpg 26,3,421,500,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003985.jpg 75,74,500,170,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003986.jpg 67,42,353,475,11 297,1,388,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003991.jpg 207,120,329,342,8 165,57,298,327,14 1,74,142,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003992.jpg 80,1,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003993.jpg 60,81,474,390,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003994.jpg 38,92,456,268,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_003995.jpg 23,166,142,225,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004001.jpg 61,11,435,333,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004002.jpg 55,127,240,380,8 267,163,489,411,8 300,94,486,317,8 127,78,262,226,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004004.jpg 164,116,381,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004005.jpg 90,74,282,304,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004007.jpg 340,103,500,375,14 110,108,330,375,14 1,156,500,375,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004012.jpg 139,197,240,416,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004016.jpg 78,10,441,323,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004018.jpg 153,155,291,237,5 296,189,317,236,14 26,198,91,244,6 309,184,318,220,14 342,226,500,375,6 86,193,130,227,6 14,194,45,214,6 53,179,97,216,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004019.jpg 35,131,462,261,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004020.jpg 1,1,210,500,14 44,76,380,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004021.jpg 59,102,296,196,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004022.jpg 1,11,322,281,7 271,42,500,256,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004023.jpg 110,126,297,395,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004025.jpg 189,146,299,285,8 397,143,500,302,8 26,237,146,334,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004031.jpg 73,1,497,333,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004032.jpg 27,219,459,375,10 342,51,500,372,14 8,92,114,310,14 216,85,341,233,14 277,2,300,31,15 160,1,190,31,15 91,81,131,145,8 123,82,136,149,8 23,56,69,93,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004033.jpg 145,208,204,297,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004034.jpg 133,135,197,191,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004037.jpg 345,196,354,206,6 319,196,331,209,6 333,197,352,213,6 58,122,324,285,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004038.jpg 75,129,333,435,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004040.jpg 426,116,500,203,5 350,116,439,197,5 280,115,362,188,5 1,34,22,266,5 23,122,33,204,5 42,129,59,192,5 59,36,441,327,5 214,107,264,188,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004042.jpg 389,1,468,154,14 373,1,410,93,14 309,92,394,153,8 375,201,500,371,8 94,174,309,375,8 1,161,130,375,8 103,2,163,141,14 91,1,116,50,14 1,18,50,156,14 174,85,245,145,8 1,141,490,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004043.jpg 92,91,470,282,13 173,52,358,241,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004044.jpg 39,31,260,288,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004050.jpg 173,162,323,326,14 259,3,370,151,15 461,255,498,297,15 388,357,413,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004051.jpg 109,57,418,358,7 30,239,89,288,14 1,87,78,269,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004052.jpg 49,36,440,302,5 45,176,72,268,14 69,168,98,282,14 144,154,170,213,14 173,143,216,199,14 227,167,273,211,14 12,171,24,194,14 21,167,35,206,14 34,168,47,208,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004055.jpg 4,2,500,325,5 396,107,495,336,14 80,113,156,184,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004058.jpg 101,74,378,363,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004062.jpg 1,74,59,153,19 45,74,117,146,19 112,82,184,151,19 181,71,254,145,19 253,85,316,147,19 319,67,401,142,19 399,62,478,135,19 483,65,500,145,19 1,138,52,198,19 46,143,118,213,19 116,149,182,202,19 181,139,254,203,19 252,147,315,213,19 311,139,387,212,19 387,134,459,201,19 472,143,500,215,19 1,190,36,258,19 34,195,106,264,19 108,200,174,272,19 170,194,245,265,19 244,200,318,266,19 319,198,398,272,19 396,189,464,264,19 478,199,500,277,19 1,260,55,333,19 47,260,138,325,19 152,242,237,325,19 236,255,305,326,19 313,262,384,331,19 382,262,464,317,19 465,270,500,330,19 1,329,42,351,19 42,318,128,358,19 134,321,219,362,19 226,324,311,375,19 310,337,403,375,19 322,323,387,367,19 403,339,464,375,19 468,328,500,343,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004069.jpg 1,1,500,320,1 30,1,500,170,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004070.jpg 268,269,327,313,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004072.jpg 59,30,500,375,5 200,156,266,242,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004073.jpg 62,257,247,401,11 80,181,281,289,7 2,60,375,499,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004074.jpg 136,200,397,355,11 19,1,284,154,14 304,1,500,212,14 68,21,316,231,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004075.jpg 283,115,293,124,14 1,1,500,333,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004076.jpg 115,23,412,320,11 1,1,500,333,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004078.jpg 15,127,500,275,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004082.jpg 173,127,288,259,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004083.jpg 1,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004084.jpg 51,117,225,441,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004085.jpg 1,381,333,500,10 116,236,155,370,4 30,73,280,435,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004088.jpg 81,61,341,347,8 330,48,500,251,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004091.jpg 76,101,376,333,17 339,71,422,207,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004092.jpg 230,177,452,375,8 231,31,451,375,14 68,88,199,222,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004093.jpg 15,102,494,339,13 374,9,500,174,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004094.jpg 68,141,187,333,14 210,2,366,225,14 1,77,136,325,8 243,18,322,98,8 1,24,262,212,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004095.jpg 317,166,407,248,11 174,78,229,250,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004096.jpg 1,80,479,315,6 327,1,500,192,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004099.jpg 182,88,261,195,7 262,1,500,333,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004100.jpg 1,14,300,450,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004102.jpg 51,66,444,296,6 21,102,154,183,6 1,55,47,216,14 414,73,462,211,14 457,44,500,195,14 150,53,188,133,14 144,85,243,136,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004103.jpg 131,51,401,333,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004105.jpg 80,40,412,374,12 1,1,207,228,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004108.jpg 26,85,465,221,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004109.jpg 27,112,500,228,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004111.jpg 1,150,333,374,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004112.jpg 44,72,120,335,4 117,1,467,335,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004113.jpg 137,221,254,500,14 314,239,361,349,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004117.jpg 47,117,311,312,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004118.jpg 209,68,479,300,12 292,44,390,155,14 106,106,237,300,12 43,55,127,162,14 1,66,60,291,12 103,66,173,137,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004121.jpg 83,31,407,272,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004122.jpg 63,1,309,500,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004124.jpg 1,70,500,323,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004125.jpg 42,143,307,263,3 93,187,107,203,14 85,191,98,204,14 140,180,166,203,14 169,190,189,203,14 210,190,225,202,14 249,187,263,200,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004126.jpg 123,13,358,353,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004128.jpg 180,48,300,306,7 60,209,186,346,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004129.jpg 170,123,322,328,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004131.jpg 119,112,149,172,2 244,82,425,375,14 58,48,259,287,14 143,204,390,372,8 77,157,252,375,8 391,142,495,335,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004133.jpg 112,80,273,333,14 340,66,456,333,14 22,202,358,333,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004134.jpg 108,60,344,346,12 99,22,452,352,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004138.jpg 50,137,164,210,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004139.jpg 11,65,383,367,11 190,31,500,358,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004140.jpg 398,169,500,251,17 189,167,251,237,8 99,180,211,327,8 305,185,390,340,8 106,234,427,375,10 60,206,248,375,8 285,218,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004141.jpg 95,61,246,164,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004142.jpg 43,1,500,281,14 148,65,236,160,14 1,28,116,164,14 1,108,69,281,14 205,76,242,174,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004148.jpg 1,285,334,429,3 70,147,259,455,14 101,269,212,462,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004150.jpg 223,182,500,375,7 1,1,328,187,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004152.jpg 128,144,144,204,8 321,152,343,239,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004153.jpg 217,172,273,227,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004154.jpg 9,88,26,124,4 12,135,81,285,8 1,99,123,150,10 205,10,265,179,14 397,82,426,152,8 423,101,484,202,8 414,23,470,126,14 426,31,500,165,14 222,303,259,375,4 434,157,489,230,8 49,217,500,375,10 36,49,230,301,14 244,58,399,264,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004157.jpg 123,25,500,331,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004159.jpg 169,22,484,313,18 259,102,287,157,14 26,201,43,232,15 147,172,173,203,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004161.jpg 1,1,495,375,17 127,156,415,267,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004162.jpg 1,27,500,375,10 189,1,241,158,4 241,12,306,169,4 370,1,440,138,4 427,1,476,112,4 65,1,371,83,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004163.jpg 1,22,352,476,18 305,243,356,306,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004164.jpg 254,9,299,85,16 295,8,399,91,16 366,55,449,126,16 214,187,361,320,16 211,203,272,323,16 109,186,222,341,16 12,192,138,312,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004165.jpg 36,218,267,334,17 325,208,421,330,8 281,202,360,267,8 357,189,381,236,8 339,157,371,183,19 277,212,309,234,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004166.jpg 25,1,442,292,3 265,215,281,244,14 13,153,44,162,3 42,152,59,161,3 291,156,343,169,3 211,150,282,168,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004168.jpg 346,121,368,145,8 368,120,390,147,8 216,213,270,252,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004169.jpg 39,188,115,340,9 182,115,476,356,9 384,93,500,306,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004170.jpg 66,101,460,262,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004171.jpg 369,171,449,269,16 145,159,255,260,16 171,90,281,178,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004173.jpg 1,1,500,375,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004174.jpg 258,201,392,250,2 180,104,300,156,2 86,76,159,111,2 80,215,136,281,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004175.jpg 339,168,387,247,14 346,216,376,264,13 250,157,330,208,6 325,170,344,203,13 132,154,147,176,14 77,142,92,166,14 78,157,95,170,13 128,162,149,177,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004176.jpg 322,59,500,340,7 1,1,416,340,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004177.jpg 168,166,249,230,17 170,228,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004178.jpg 78,224,333,332,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004179.jpg 204,65,423,283,11 95,25,240,284,14 1,1,48,192,14 462,89,500,204,11 382,71,454,161,8 293,92,356,142,11 226,41,262,75,14 10,14,126,119,6 190,1,345,121,6 344,30,500,134,6 125,22,150,52,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004180.jpg 161,261,500,389,17 1,277,115,412,8 387,375,500,500,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004181.jpg 1,1,71,95,16 82,1,222,56,16 36,1,355,213,16 206,146,422,375,14 420,1,500,197,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004183.jpg 84,62,476,302,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004186.jpg 85,89,402,342,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004187.jpg 79,41,446,276,5 438,84,486,195,5 41,130,87,155,6 1,133,41,157,6 35,150,51,209,14 6,143,23,200,14 20,153,36,210,14 95,129,137,150,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004188.jpg 1,101,500,372,17 63,57,356,351,14 128,81,377,351,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004191.jpg 133,6,356,500,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004193.jpg 1,22,379,318,11 1,2,500,333,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004197.jpg 68,194,336,283,5 333,209,451,262,5 477,228,500,248,6 1,205,75,259,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004199.jpg 361,354,375,387,4 342,337,375,384,4 326,337,362,379,4 310,334,347,376,4 292,336,333,373,4 353,402,375,444,4 337,400,372,442,4 321,397,358,437,4 302,394,343,434,4 289,393,328,429,4 295,450,336,490,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004200.jpg 102,25,441,322,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004201.jpg 243,169,273,223,16 99,183,131,232,16 40,191,82,242,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004202.jpg 55,55,469,324,13 200,16,362,319,14 365,87,500,247,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004203.jpg 23,113,483,222,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004205.jpg 142,5,408,393,14 408,229,500,393,14 327,282,407,393,14 1,263,117,393,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004207.jpg 1,1,500,361,13 166,1,278,58,13 270,1,337,55,13 321,1,360,41,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004210.jpg 105,114,261,286,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004211.jpg 27,105,500,254,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004212.jpg 202,133,247,215,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004213.jpg 132,84,352,286,18 437,200,466,233,18 492,211,500,239,14 115,170,133,265,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004217.jpg 115,251,215,415,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004218.jpg 244,173,284,217,14 69,111,145,236,14 1,102,108,375,14 140,179,173,219,14 154,155,184,180,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004221.jpg 213,55,347,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004222.jpg 214,108,378,257,16 135,101,261,252,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004224.jpg 29,85,62,102,3 405,83,465,107,3 360,136,500,271,6 111,119,354,245,6 1,138,63,224,6 66,81,87,157,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004225.jpg 1,1,313,375,7 222,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004227.jpg 34,224,191,500,11 6,36,320,382,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004228.jpg 1,235,424,375,10 395,234,472,375,8 135,78,329,246,14 253,5,302,50,15 271,266,297,333,4 300,252,326,316,4 163,220,248,251,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004229.jpg 97,67,242,196,11 180,137,410,265,11 320,1,500,192,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004231.jpg 1,1,427,375,5 425,141,500,264,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004232.jpg 1,48,213,243,6 23,1,499,368,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004233.jpg 148,49,325,349,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004234.jpg 128,6,330,275,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004241.jpg 270,1,500,207,13 106,1,475,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004242.jpg 1,14,204,334,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004243.jpg 67,169,191,333,8 218,120,267,160,19 153,141,192,167,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004244.jpg 209,291,285,413,8 88,304,188,434,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004247.jpg 84,191,317,247,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004248.jpg 116,41,488,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004249.jpg 1,1,111,60,6 77,17,376,400,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004255.jpg 53,96,349,439,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004258.jpg 67,46,465,285,5 2,173,57,195,6 11,189,37,213,1 46,188,69,210,1 102,118,148,166,14 166,109,214,160,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004261.jpg 102,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004262.jpg 202,1,500,333,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004263.jpg 1,197,128,458,8 356,197,500,458,8 293,211,373,298,8 116,211,181,301,8 171,70,294,327,15 120,291,369,427,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004264.jpg 219,196,396,271,11 431,226,500,333,17 38,186,437,329,17 387,54,425,181,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004271.jpg 208,203,259,245,6 250,204,265,230,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004272.jpg 161,68,389,208,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004273.jpg 6,26,500,306,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004274.jpg 4,1,439,375,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004276.jpg 1,194,53,375,14 29,219,64,360,14 166,224,227,344,14 314,215,359,350,14 267,203,323,344,14 447,193,490,262,14 1,1,447,310,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004277.jpg 22,43,375,464,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004278.jpg 256,119,365,259,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004279.jpg 86,35,224,256,12 67,116,322,334,14 186,57,496,334,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004283.jpg 1,214,274,500,17 237,391,306,481,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004284.jpg 218,154,425,262,9 40,154,189,243,9 182,161,270,242,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004285.jpg 1,39,322,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004289.jpg 158,176,251,235,9 158,109,331,233,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004290.jpg 136,38,356,277,5 1,147,60,266,14 7,140,61,281,14 475,190,500,222,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004291.jpg 1,1,500,334,17 168,81,429,334,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004295.jpg 7,88,490,332,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004298.jpg 8,181,487,373,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004300.jpg 64,11,365,500,14 1,1,320,290,14 320,1,375,138,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004301.jpg 219,74,333,304,14 53,227,337,375,14 129,150,254,269,19 255,119,483,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004303.jpg 422,4,493,28,6 266,1,379,60,6 82,1,385,235,6 244,71,373,283,14 167,168,465,366,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004307.jpg 134,64,435,329,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004308.jpg 47,34,495,252,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004309.jpg 1,197,500,375,10 2,19,240,367,14 124,65,323,311,14 249,87,373,232,14 418,169,452,239,4 281,54,417,170,14 440,68,500,169,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004312.jpg 295,150,454,345,8 125,140,275,336,8 1,136,134,307,8 389,163,500,323,8 129,91,151,154,4 297,76,310,120,4 22,147,500,312,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004315.jpg 219,51,461,327,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004316.jpg 244,152,425,258,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004317.jpg 8,101,491,286,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004319.jpg 150,68,341,311,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004322.jpg 71,119,375,500,17 129,127,375,439,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004323.jpg 333,5,497,375,14 215,72,358,301,14 5,98,197,343,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004324.jpg 139,107,448,219,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004327.jpg 40,71,459,278,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004328.jpg 1,224,92,296,5 90,138,402,331,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004329.jpg 13,140,456,275,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004332.jpg 197,195,354,500,4 1,2,375,499,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004334.jpg 125,73,210,104,2 192,85,424,261,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004336.jpg 12,127,150,243,18 138,102,480,298,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004338.jpg 254,52,500,235,13 1,64,384,304,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004340.jpg 85,45,413,286,6 64,58,146,210,13 1,96,53,207,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004341.jpg 53,1,500,291,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004346.jpg 216,134,324,222,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004347.jpg 318,131,443,333,14 323,135,370,328,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004350.jpg 70,141,382,321,5 74,115,91,147,14 128,89,145,110,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004351.jpg 102,188,189,249,9 13,186,78,237,9 78,185,130,215,9 392,175,478,269,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004357.jpg 148,204,212,247,19 189,260,271,309,19 345,246,416,294,19 464,220,500,237,19 393,157,420,177,19 130,178,179,208,19 213,177,259,204,19 261,201,315,237,19 188,162,211,186,19 134,92,157,110,19 227,85,246,100,19 15,80,40,98,19 170,148,201,170,19 364,195,410,225,19 287,164,330,195,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004358.jpg 37,20,468,285,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004359.jpg 309,14,500,253,19 85,132,344,375,14 55,45,220,345,14 1,57,106,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004361.jpg 1,48,375,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004364.jpg 4,1,499,374,1 420,58,500,147,6 455,27,500,75,6 305,55,403,96,6 255,56,322,89,6 191,63,224,85,6 129,61,211,111,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004366.jpg 88,63,392,287,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004368.jpg 217,57,418,295,14 62,39,455,271,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004369.jpg 64,132,466,297,5 1,200,8,252,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004370.jpg 1,48,500,204,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004371.jpg 97,176,365,464,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004374.jpg 1,63,453,200,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004375.jpg 169,144,286,219,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004377.jpg 3,79,366,375,14 61,122,353,374,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004382.jpg 50,1,264,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004383.jpg 40,122,482,284,5 476,174,500,217,5 1,150,116,273,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004390.jpg 36,87,299,181,11 214,130,464,253,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004392.jpg 121,1,500,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004394.jpg 98,42,125,145,4 107,134,423,336,7 280,93,341,145,15 177,10,318,144,15 1,268,500,401,10 346,220,487,273,15 1,1,90,321,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004397.jpg 77,130,414,193,3 412,176,458,192,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004399.jpg 1,1,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004402.jpg 109,94,258,334,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004403.jpg 194,112,269,298,11 70,149,201,230,11 445,1,485,49,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004404.jpg 81,140,235,252,15 180,268,294,431,15 155,330,213,441,15 102,251,214,367,15 238,369,333,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004406.jpg 42,128,360,218,18 336,176,357,209,14 433,167,456,194,14 66,203,100,235,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004409.jpg 1,84,452,271,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004410.jpg 1,102,81,221,14 467,72,500,159,14 1,89,500,375,14 208,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004411.jpg 49,1,500,335,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004414.jpg 14,98,478,205,0 33,147,94,227,0 1,149,91,187,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004417.jpg 222,187,411,304,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004419.jpg 74,232,370,375,8 311,191,500,365,17 105,164,173,215,8 49,192,106,293,8 90,204,249,292,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004424.jpg 1,1,301,489,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004425.jpg 249,50,479,197,11 105,130,243,241,11 236,146,297,222,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004426.jpg 1,183,337,375,10 1,165,57,375,8 309,108,346,341,8 242,115,290,186,8 86,108,144,221,8 1,111,79,250,8 350,131,458,230,17 296,121,393,180,17 200,121,243,178,8 401,97,467,206,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004429.jpg 109,200,500,375,10 1,259,197,375,8 1,211,187,375,8 39,120,218,375,14 105,93,208,225,14 264,110,361,226,14 349,160,384,193,8 433,173,500,375,8 357,109,453,252,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004432.jpg 102,103,142,233,4 111,63,396,333,14 170,1,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004434.jpg 131,1,421,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004435.jpg 35,79,382,300,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004436.jpg 1,85,491,374,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004438.jpg 86,58,207,275,15 91,159,125,239,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004440.jpg 300,59,481,270,5 20,92,159,261,5 13,173,25,212,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004442.jpg 41,26,355,272,7 8,156,333,463,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004444.jpg 26,220,399,440,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004445.jpg 124,84,500,375,11 1,1,232,356,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004446.jpg 403,9,500,42,0 409,33,500,75,0 146,12,418,96,0 3,102,500,252,0 160,141,199,194,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004448.jpg 4,4,335,458,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004449.jpg 34,99,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004451.jpg 13,28,58,89,9 69,36,217,111,9 158,66,349,198,9 443,24,473,50,9 375,22,412,43,9 301,29,371,67,9 254,29,296,69,9 179,16,198,36,9 100,20,123,38,9 141,20,170,37,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004452.jpg 390,162,500,229,17 298,170,402,332,8 336,209,486,332,8 277,170,348,233,8 207,202,262,300,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004453.jpg 1,1,220,375,18 71,165,95,216,14 71,116,95,175,14 85,78,103,126,14 102,95,110,121,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004454.jpg 162,134,337,304,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004455.jpg 1,74,90,146,6 60,67,153,114,6 97,68,292,306,13 279,67,388,217,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004456.jpg 42,34,483,336,7 1,1,500,336,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004457.jpg 22,110,500,281,17 343,55,450,281,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004464.jpg 95,89,450,336,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004465.jpg 51,1,452,356,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004468.jpg 56,89,433,284,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004471.jpg 41,109,463,286,6 398,135,500,174,6 441,141,500,224,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004475.jpg 155,137,395,221,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004477.jpg 133,24,330,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004478.jpg 18,4,340,370,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004479.jpg 125,55,461,247,11 44,13,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004483.jpg 1,3,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004486.jpg 39,22,449,246,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004492.jpg 1,58,500,277,0 396,1,456,58,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004494.jpg 262,1,323,66,6 395,6,474,37,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004496.jpg 1,35,467,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004497.jpg 1,15,390,375,12 360,148,500,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004499.jpg 290,54,339,126,8 185,64,305,308,8 1,113,38,266,8 19,73,186,359,8 216,80,374,354,8 363,67,471,308,8 57,123,484,336,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004501.jpg 179,162,317,307,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004502.jpg 51,106,415,292,13 161,54,342,220,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004503.jpg 350,104,481,264,19 171,93,351,228,19 25,93,170,253,19 50,127,150,181,14 192,118,327,190,14 368,136,456,185,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004504.jpg 59,120,253,469,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004507.jpg 87,29,408,329,11 359,1,472,259,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004508.jpg 270,186,338,314,1 270,93,334,294,14 195,85,255,263,14 200,163,256,280,1 182,103,215,223,14 183,165,208,248,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004509.jpg 198,159,281,319,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004511.jpg 22,126,298,291,18 262,175,282,190,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004513.jpg 201,137,282,197,6 84,168,262,398,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004514.jpg 105,222,372,375,10 230,253,315,375,8 49,247,174,375,8 352,160,480,375,14 339,165,406,237,14 281,153,345,228,14 197,161,257,225,14 104,169,180,230,14 39,172,140,363,14 81,132,123,188,8 74,178,107,223,8 24,289,81,375,8 1,200,37,281,8 1,208,45,375,14 314,75,435,206,15 34,130,51,156,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004518.jpg 325,57,340,68,6 290,56,306,65,6 127,61,153,71,6 53,94,103,129,6 341,107,350,119,1 40,87,76,170,14 341,95,348,106,14 81,78,155,296,14 333,90,340,125,14 161,77,208,142,14 322,86,335,124,14 182,54,260,333,14 239,40,337,328,14 285,61,351,280,14 322,185,345,225,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004519.jpg 245,41,384,205,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004524.jpg 44,85,500,334,3 350,86,393,117,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004525.jpg 7,28,285,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004527.jpg 203,209,410,290,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004529.jpg 67,15,482,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004530.jpg 9,116,254,495,12 275,305,314,401,14 313,293,330,399,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004532.jpg 1,182,500,375,10 360,215,500,375,8 3,139,137,261,8 139,126,236,200,8 385,121,485,209,8 385,81,459,124,6 380,90,429,129,6 127,169,235,294,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004535.jpg 72,166,382,257,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004536.jpg 19,17,307,479,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004537.jpg 236,209,381,305,15 35,297,171,490,8 19,304,381,472,10 148,264,167,311,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004539.jpg 75,128,297,436,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004540.jpg 230,18,378,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004542.jpg 100,64,217,461,4 121,11,176,205,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004543.jpg 162,119,276,292,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004545.jpg 22,26,222,224,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004547.jpg 1,3,337,471,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004548.jpg 65,158,431,250,0 4,210,21,256,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004551.jpg 53,93,463,364,1 203,189,249,239,4 254,191,285,244,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004552.jpg 170,72,325,325,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004554.jpg 1,1,333,500,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004556.jpg 2,93,500,296,6 423,89,457,138,14 359,83,396,132,14 62,93,92,122,14 1,81,55,132,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004557.jpg 196,75,267,156,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004559.jpg 161,89,492,314,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004560.jpg 1,1,500,375,17 75,23,490,319,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004561.jpg 176,150,488,345,1 109,180,168,291,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004562.jpg 145,194,267,375,8 24,211,170,375,8 54,173,111,220,8 1,192,37,253,8 444,91,493,145,15 1,217,219,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004565.jpg 76,86,225,407,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004567.jpg 1,184,30,215,6 28,191,47,210,6 120,185,145,208,6 91,138,420,256,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004568.jpg 93,88,159,148,2 205,102,262,167,2 168,93,241,221,2 161,199,198,259,2 231,241,294,312,2 380,219,450,292,2 392,181,492,239,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004570.jpg 1,1,430,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004571.jpg 4,44,373,497,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004572.jpg 49,57,448,265,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004579.jpg 31,14,153,493,4 190,14,314,495,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004580.jpg 97,110,154,290,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004581.jpg 125,112,339,215,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004582.jpg 1,1,500,375,17 14,19,500,308,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004587.jpg 244,250,400,500,14 1,17,325,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004588.jpg 1,126,500,337,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004590.jpg 1,84,65,210,5 122,37,399,263,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004592.jpg 75,234,232,374,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004593.jpg 1,1,500,317,17 291,111,483,239,11 19,71,403,278,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004594.jpg 91,30,393,301,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004598.jpg 57,21,397,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004601.jpg 9,86,492,221,0 161,125,231,152,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004606.jpg 1,59,305,500,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004607.jpg 71,1,405,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004614.jpg 1,1,500,332,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004616.jpg 1,93,484,375,10 473,126,500,196,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004619.jpg 1,1,500,276,18 151,147,209,325,14 345,65,403,185,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004620.jpg 10,69,486,313,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004623.jpg 150,1,403,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004624.jpg 43,102,220,227,18 113,57,500,349,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004625.jpg 161,99,294,336,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004626.jpg 164,14,331,141,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004628.jpg 1,37,294,225,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004629.jpg 100,1,462,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004630.jpg 48,252,179,302,6 16,253,100,294,6 2,262,22,288,6 1,249,39,268,6 187,253,227,276,6 211,245,276,279,6 236,253,305,280,6 278,248,316,265,6 302,254,334,269,6 310,250,370,283,6 363,253,398,264,6 483,253,500,274,6 417,252,456,263,6 444,247,471,265,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004631.jpg 218,124,437,332,8 339,34,437,288,15 1,85,56,209,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004634.jpg 1,41,486,306,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004635.jpg 37,183,70,199,3 255,219,349,241,3 361,173,431,203,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004639.jpg 7,44,467,482,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004642.jpg 34,109,348,435,1 261,82,359,227,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004643.jpg 1,13,474,334,13 54,35,237,131,13 72,27,191,91,13 8,1,66,131,14 37,1,72,83,14 101,1,132,26,14 177,1,200,35,14 147,1,172,36,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004645.jpg 230,43,282,95,15 231,91,279,144,15 204,124,234,154,15 279,80,317,132,15 331,51,355,124,15 262,289,309,433,14 148,408,180,437,11 305,59,335,119,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004647.jpg 259,142,270,169,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004648.jpg 44,95,375,353,11 273,351,375,450,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004651.jpg 1,1,333,500,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004652.jpg 42,110,164,253,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004653.jpg 20,159,221,215,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004655.jpg 1,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004656.jpg 1,221,31,346,4 16,215,62,337,4 45,205,95,329,4 85,203,129,319,4 121,188,167,314,4 149,185,203,308,4 188,175,237,300,4 230,168,273,293,4 266,158,317,284,4 305,149,357,279,4 345,129,393,268,4 390,121,439,260,4 432,112,481,253,4 477,91,500,244,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004661.jpg 141,61,321,383,2 9,116,196,405,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004662.jpg 1,86,133,220,12 32,121,249,289,12 32,72,367,283,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004664.jpg 161,24,344,352,14 121,162,370,357,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004667.jpg 236,131,445,251,5 214,110,251,140,6 420,140,431,169,14 435,138,442,166,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004669.jpg 1,137,465,279,18 234,161,253,188,14 204,171,217,217,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004670.jpg 20,60,478,276,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004671.jpg 2,36,438,333,18 450,196,474,239,14 420,197,434,235,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004674.jpg 1,105,310,314,17 325,84,450,245,8 302,59,415,283,14 132,71,315,288,14 44,78,144,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004677.jpg 1,92,472,336,18 488,155,500,210,14 475,161,487,203,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004679.jpg 256,82,500,186,9 72,44,198,324,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004681.jpg 96,54,395,302,5 264,190,292,232,14 3,162,96,248,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004683.jpg 7,1,492,295,11 239,3,500,204,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004684.jpg 422,276,464,314,6 467,294,488,309,6 388,270,405,275,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004686.jpg 1,58,357,334,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004687.jpg 1,160,195,372,17 403,197,500,300,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004688.jpg 1,12,398,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004694.jpg 118,82,241,356,14 210,54,387,356,14 230,205,264,256,4 428,231,486,306,14 60,157,139,219,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004697.jpg 52,95,219,345,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004701.jpg 229,180,500,368,17 239,200,251,233,4 247,198,258,230,4 377,69,427,136,14 330,95,373,152,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004705.jpg 120,1,500,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004706.jpg 94,88,391,312,16 8,96,83,223,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004708.jpg 24,69,479,360,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004709.jpg 257,254,364,289,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004710.jpg 124,229,165,339,14 134,279,159,364,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004713.jpg 227,106,375,272,2 116,147,231,267,2 178,231,197,247,2 191,195,209,208,2 102,140,114,157,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004716.jpg 113,133,346,293,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004718.jpg 1,10,500,375,17 156,65,312,303,14 88,70,395,372,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004719.jpg 46,62,455,346,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004720.jpg 7,81,500,375,10 3,293,185,375,8 270,19,349,94,8 390,19,470,141,8 343,29,500,157,10 99,21,177,107,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004721.jpg 42,25,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004723.jpg 41,122,332,471,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004728.jpg 184,3,421,302,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004730.jpg 16,119,467,181,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004731.jpg 33,126,315,264,1 1,62,97,113,6 133,47,206,96,6 89,13,232,264,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004732.jpg 70,65,416,296,5 370,96,449,272,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004734.jpg 84,112,500,334,10 58,150,144,334,8 43,104,108,334,8 390,292,500,334,8 416,117,500,247,8 340,83,427,190,8 121,30,221,132,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004737.jpg 72,1,397,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004738.jpg 210,64,493,231,13 326,24,447,193,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004744.jpg 1,1,500,331,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004745.jpg 123,67,352,375,15 102,1,225,323,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004746.jpg 30,46,225,382,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004748.jpg 57,106,475,316,6 1,165,61,191,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004749.jpg 369,1,485,348,4 164,1,331,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004754.jpg 35,77,324,475,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004756.jpg 107,12,376,459,14 3,207,483,459,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004758.jpg 8,192,164,288,1 306,162,400,238,1 226,131,273,275,14 198,187,229,258,14 211,139,239,217,14 485,123,500,206,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004759.jpg 19,48,488,326,13 64,103,166,191,13 33,89,62,181,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004760.jpg 346,137,405,191,19 401,146,450,209,19 345,223,471,375,8 423,217,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004761.jpg 1,23,483,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004763.jpg 219,164,299,261,11 188,87,352,280,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004764.jpg 183,1,300,360,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004765.jpg 82,37,261,365,2 187,177,470,282,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004766.jpg 47,65,425,275,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004768.jpg 86,98,500,426,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004769.jpg 1,326,375,500,10 90,415,249,500,8 275,395,375,500,8 33,328,125,357,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004771.jpg 60,25,401,328,18 108,219,183,336,14 106,223,126,327,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004772.jpg 1,51,282,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004779.jpg 139,75,418,323,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004780.jpg 256,144,388,179,3 375,149,490,183,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004781.jpg 190,85,354,343,1 190,1,345,275,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004782.jpg 1,90,500,375,17 1,219,256,366,11 1,19,441,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004784.jpg 21,24,225,273,14 2,184,173,332,14 152,218,264,332,8 306,276,371,332,8 397,257,474,332,14 343,48,463,198,14 435,85,500,164,8 288,105,500,269,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004786.jpg 195,69,436,274,3 1,1,500,375,3 85,70,113,119,14 222,223,245,277,14 182,208,195,255,14 199,191,219,249,14 247,305,279,366,14 192,204,203,248,14 62,59,74,91,14 81,62,97,102,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004787.jpg 1,1,460,375,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004789.jpg 77,73,500,347,5 12,78,232,323,5 1,75,88,313,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004790.jpg 128,16,426,500,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004794.jpg 11,258,359,374,10 325,1,440,137,15 354,141,500,374,14 184,96,356,363,14 1,205,163,374,14 12,99,153,267,14 188,285,237,374,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004796.jpg 1,28,409,358,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004797.jpg 50,15,473,369,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004798.jpg 1,6,95,375,14 62,34,500,362,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004799.jpg 1,117,319,333,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004801.jpg 277,145,361,220,13 254,134,323,220,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004804.jpg 65,107,447,201,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004805.jpg 183,118,357,216,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004806.jpg 99,67,220,319,14 213,70,337,318,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004812.jpg 35,106,472,272,0 236,145,259,171,14 165,141,190,169,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004813.jpg 1,1,143,197,7 292,1,403,76,7 138,16,352,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004815.jpg 68,16,333,467,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004817.jpg 35,164,417,247,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004820.jpg 1,2,500,290,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004822.jpg 1,1,144,89,6 166,1,500,70,6 179,6,366,330,14 95,141,448,358,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004823.jpg 331,270,500,375,17 110,211,236,343,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004824.jpg 1,33,492,303,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004828.jpg 126,1,381,388,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004829.jpg 86,37,392,341,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004830.jpg 1,229,102,500,14 59,236,144,500,14 338,275,355,286,6 299,274,320,285,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004831.jpg 137,267,337,500,1 103,59,340,500,14 289,162,320,206,1 121,142,143,196,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004834.jpg 1,1,173,321,16 133,7,384,366,16 357,1,500,325,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004836.jpg 9,52,492,274,5 172,117,193,171,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004839.jpg 85,176,458,338,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004841.jpg 248,145,362,238,7 1,142,276,244,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004845.jpg 21,24,440,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004846.jpg 10,66,500,286,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004847.jpg 38,91,375,500,10 213,1,375,155,14 1,93,111,381,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004848.jpg 164,166,341,366,1 191,38,316,328,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004849.jpg 168,45,433,180,13 83,33,244,327,14 294,78,439,292,14 101,158,219,318,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004855.jpg 3,1,492,372,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004856.jpg 23,1,243,333,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004857.jpg 1,45,108,314,13 45,30,408,500,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004858.jpg 99,155,208,188,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004859.jpg 196,121,500,375,10 104,24,255,348,14 2,25,129,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004865.jpg 240,99,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004867.jpg 53,59,461,321,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004868.jpg 462,214,500,320,14 388,221,480,319,14 283,81,394,238,14 298,101,421,324,13 116,15,245,223,14 89,101,250,297,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004869.jpg 212,150,281,281,15 45,60,99,126,14 111,18,473,333,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004871.jpg 29,87,449,311,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004872.jpg 176,166,252,197,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004874.jpg 434,54,500,344,8 120,1,369,375,8 4,1,169,246,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004876.jpg 1,1,375,481,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004877.jpg 14,16,481,317,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004880.jpg 51,126,259,243,18 369,221,387,264,14 389,218,401,259,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004882.jpg 11,220,374,469,1 149,298,268,385,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004885.jpg 278,187,438,352,15 148,148,310,332,15 37,147,178,312,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004886.jpg 126,58,339,313,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004887.jpg 100,102,465,273,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004888.jpg 235,254,300,293,3 283,124,306,193,3 236,239,258,275,14 271,242,294,276,14 281,240,294,257,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004889.jpg 1,6,351,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004890.jpg 1,244,111,375,14 106,125,190,375,14 190,119,279,375,14 269,121,371,375,14 403,284,500,375,8 330,283,383,375,8 263,251,456,328,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004895.jpg 1,75,315,269,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004897.jpg 1,22,432,333,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004898.jpg 42,72,437,363,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004899.jpg 1,83,339,375,14 181,125,425,375,14 389,139,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004901.jpg 73,150,344,212,17 224,152,326,210,15 428,227,464,304,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004902.jpg 88,1,423,166,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004903.jpg 1,23,117,142,6 19,43,471,304,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004904.jpg 168,145,363,202,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004905.jpg 127,70,242,166,19 1,155,186,375,1 293,171,498,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004907.jpg 265,60,296,129,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004913.jpg 9,186,493,316,6 448,130,479,227,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004914.jpg 1,1,500,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004917.jpg 1,93,496,269,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004919.jpg 364,66,459,273,14 1,196,68,306,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004921.jpg 2,9,277,360,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004922.jpg 278,99,339,184,19 81,123,261,334,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004926.jpg 142,224,223,441,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004929.jpg 3,16,437,332,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004930.jpg 381,181,460,260,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004933.jpg 1,1,106,117,6 92,1,264,120,6 285,25,397,124,6 160,31,293,261,14 175,169,282,284,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004934.jpg 54,11,383,373,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004939.jpg 38,61,332,406,14 1,124,332,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004940.jpg 113,56,430,238,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004942.jpg 97,60,436,423,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004943.jpg 38,341,155,420,16 97,313,152,346,16 201,299,249,331,16 267,292,309,332,16 308,282,361,315,16 248,291,286,318,16 235,293,250,315,16 275,268,291,277,16 140,287,147,297,16 8,311,21,320,16 178,289,192,295,16 195,277,205,288,16 212,276,228,287,16 161,275,174,285,16 114,283,122,293,16 57,287,67,295,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004944.jpg 9,82,494,273,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004945.jpg 5,27,452,402,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004946.jpg 1,60,224,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004947.jpg 43,55,353,283,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004953.jpg 1,65,360,398,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004956.jpg 20,117,500,291,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004958.jpg 124,1,500,333,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004959.jpg 134,84,357,422,2 86,60,350,300,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004961.jpg 276,81,357,226,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004962.jpg 57,79,468,294,5 29,168,58,201,6 82,156,96,174,14 150,156,162,173,14 195,155,207,171,14 309,126,343,173,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004965.jpg 79,103,219,207,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004969.jpg 54,121,400,279,0 362,104,414,142,0 231,108,276,124,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004971.jpg 17,63,412,307,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004972.jpg 54,39,471,336,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004974.jpg 1,168,281,500,10 123,88,267,168,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004975.jpg 25,15,435,371,8 11,1,500,371,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004977.jpg 1,177,341,239,18 354,180,435,215,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004979.jpg 14,1,38,37,15 1,162,375,500,10 249,6,322,143,8 115,4,183,70,8 1,19,120,130,10 93,1,153,37,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004980.jpg 23,66,492,222,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004982.jpg 251,113,327,243,14 313,107,369,230,14 405,94,446,198,14 366,96,415,210,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004983.jpg 127,1,375,500,17 170,59,328,377,7 1,1,188,212,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004984.jpg 46,52,462,329,1 197,160,250,220,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004986.jpg 171,107,415,216,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004987.jpg 107,152,369,301,13 51,39,225,165,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004988.jpg 40,26,446,375,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004990.jpg 141,1,318,81,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004993.jpg 113,145,407,373,17 1,152,122,353,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004994.jpg 220,94,389,332,14 105,136,248,332,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004996.jpg 272,190,347,244,2 121,71,171,92,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_004999.jpg 1,20,265,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005000.jpg 37,48,275,500,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005001.jpg 1,70,48,289,14 19,44,148,253,14 193,11,316,318,14 158,112,287,240,14 421,33,500,120,14 424,10,500,223,14 322,55,448,277,14 233,167,429,375,14 426,39,500,375,14 1,231,304,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005005.jpg 369,216,500,281,16 323,203,454,280,16 7,146,124,199,16 90,96,181,212,16 185,141,249,186,16 251,86,360,196,16 307,104,403,196,16 392,118,435,172,16 393,166,483,208,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005006.jpg 150,198,236,277,3 46,185,191,227,3 173,85,247,178,3 80,96,128,160,15 168,96,237,177,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005008.jpg 1,1,477,375,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005015.jpg 162,18,439,91,3 65,68,95,88,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005016.jpg 298,127,500,375,10 171,75,340,373,14 327,55,456,128,8 1,70,51,252,8 60,153,295,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005019.jpg 7,97,488,210,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005024.jpg 107,180,241,317,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005025.jpg 12,94,230,207,6 82,106,112,130,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005030.jpg 135,119,286,262,19 11,327,294,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005031.jpg 7,94,495,236,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005033.jpg 1,16,357,486,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005035.jpg 138,81,232,230,14 157,123,218,317,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005036.jpg 6,159,489,299,0 368,191,488,238,6 50,189,87,211,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005037.jpg 221,61,440,242,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005038.jpg 1,367,375,500,10 92,270,166,500,4 56,63,375,416,14 64,190,125,262,15 297,155,315,194,4 335,152,375,215,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005040.jpg 250,71,389,243,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005042.jpg 350,24,500,162,19 134,7,240,116,19 52,1,136,53,19 1,1,55,65,19 210,247,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005044.jpg 82,53,262,361,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005045.jpg 8,130,271,375,14 248,141,393,355,14 372,159,500,375,14 241,42,374,257,14 89,46,229,251,14 23,149,85,277,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005051.jpg 44,27,500,262,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005055.jpg 79,50,173,173,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005056.jpg 1,35,469,333,14 405,123,491,238,14 352,113,431,190,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005057.jpg 21,132,166,500,14 66,159,84,193,4 185,138,288,443,14 253,176,272,216,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005060.jpg 84,52,492,285,5 29,189,106,225,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005061.jpg 26,164,343,456,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005062.jpg 83,46,183,137,19 39,172,186,399,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005064.jpg 42,51,468,308,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005068.jpg 100,121,410,291,9 244,78,312,152,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005069.jpg 1,139,375,500,10 1,1,123,150,15 163,104,257,170,8 1,130,92,272,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005070.jpg 1,242,83,333,19 123,159,239,314,15 393,250,500,333,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005073.jpg 133,129,249,223,11 242,148,388,239,11 230,136,343,237,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005075.jpg 3,23,500,333,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005076.jpg 257,158,395,305,2 362,125,468,250,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005078.jpg 121,125,368,264,13 185,99,336,194,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005079.jpg 21,1,342,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005080.jpg 287,164,370,278,8 1,163,61,217,8 98,231,232,375,8 80,207,185,375,8 1,212,148,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005081.jpg 3,7,430,333,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005082.jpg 249,17,500,375,14 333,124,399,179,4 308,292,500,375,1 12,304,221,375,1 1,13,233,375,14 136,153,216,375,14 428,245,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005083.jpg 210,137,283,187,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005084.jpg 43,142,500,266,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005085.jpg 117,114,442,333,6 257,151,299,190,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005086.jpg 241,179,466,333,13 385,163,500,242,6 324,122,350,178,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005087.jpg 63,143,245,278,1 72,94,214,322,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005089.jpg 121,271,201,324,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005094.jpg 121,344,148,428,14 1,356,39,384,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005095.jpg 102,63,407,335,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005098.jpg 118,1,454,188,1 38,2,91,119,14 372,1,434,112,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005102.jpg 32,68,279,397,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005103.jpg 65,45,413,375,1 217,68,355,320,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005104.jpg 66,35,455,311,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005107.jpg 75,64,329,298,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005111.jpg 17,69,485,230,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005114.jpg 80,148,315,258,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005118.jpg 19,166,358,443,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005119.jpg 135,177,288,324,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005120.jpg 15,97,487,230,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005126.jpg 27,115,500,264,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005127.jpg 10,162,261,257,0 305,211,391,248,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005128.jpg 1,173,360,365,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005129.jpg 1,1,412,239,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005130.jpg 1,65,351,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005131.jpg 23,84,320,333,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005133.jpg 445,196,500,235,6 390,191,468,215,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005137.jpg 248,70,415,283,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005140.jpg 1,1,500,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005141.jpg 97,12,316,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005142.jpg 1,25,500,321,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005144.jpg 1,1,499,334,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005145.jpg 6,340,500,500,10 184,224,353,341,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005147.jpg 68,129,329,279,13 259,100,418,205,13 52,48,108,228,14 56,83,68,114,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005148.jpg 1,72,320,191,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005149.jpg 1,108,500,219,18 1,1,500,57,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005150.jpg 9,8,247,497,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005152.jpg 231,160,297,213,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005153.jpg 74,133,357,319,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005154.jpg 29,4,433,322,1 200,38,474,213,6 459,92,500,170,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005155.jpg 26,136,477,368,13 133,110,346,267,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005156.jpg 43,29,422,248,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005158.jpg 90,91,260,404,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005160.jpg 2,10,297,370,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005161.jpg 20,19,437,416,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005162.jpg 1,73,356,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005163.jpg 25,60,315,486,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005165.jpg 250,293,375,500,8 1,99,106,323,8 203,31,325,309,15 15,119,375,474,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005168.jpg 483,160,500,186,6 359,154,404,181,6 332,155,347,188,14 111,103,313,195,5 34,139,54,197,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005170.jpg 1,1,500,375,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005171.jpg 211,265,500,375,10 291,293,477,375,8 434,216,500,281,8 267,217,327,303,8 149,174,260,375,8 4,181,145,375,8 172,158,182,180,4 2,159,12,201,4 120,166,138,184,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005172.jpg 112,54,500,375,1 1,143,157,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005177.jpg 239,167,474,334,7 11,137,256,329,7 159,76,415,193,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005178.jpg 39,33,457,396,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005181.jpg 149,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005183.jpg 79,68,122,163,14 110,60,183,341,14 173,64,201,132,14 26,86,45,122,14 238,63,265,97,14 470,71,489,97,14 327,236,349,285,4 241,164,304,205,8 180,159,233,207,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005185.jpg 1,49,440,277,14 257,224,384,270,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005189.jpg 21,91,487,214,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005190.jpg 124,113,187,356,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005191.jpg 265,1,500,333,14 127,56,377,333,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005193.jpg 94,27,417,330,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005194.jpg 133,219,163,290,13 116,218,139,268,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005198.jpg 116,85,433,241,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005201.jpg 18,68,486,295,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005202.jpg 1,90,371,375,10 322,227,500,375,8 30,168,250,375,8 250,53,321,102,8 278,102,430,291,8 28,69,111,160,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005203.jpg 233,116,334,259,1 236,16,342,233,14 411,132,441,185,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005204.jpg 1,133,332,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005205.jpg 114,139,308,218,10 119,145,143,169,8 276,147,299,174,8 282,170,318,246,8 98,165,132,245,8 53,215,111,320,8 298,220,359,323,8 6,265,194,500,8 204,298,375,500,8 49,211,359,500,10 313,12,375,337,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005210.jpg 1,93,500,231,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005211.jpg 1,103,369,339,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005215.jpg 371,206,426,219,6 35,78,464,219,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005216.jpg 26,72,91,264,14 36,121,141,363,14 126,102,213,410,14 199,92,329,408,14 1,16,333,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005217.jpg 59,77,407,375,12 225,1,365,262,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005218.jpg 57,86,453,260,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005219.jpg 71,1,308,301,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005220.jpg 37,48,454,285,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005221.jpg 89,47,273,248,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005222.jpg 271,42,450,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005225.jpg 273,190,288,218,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005229.jpg 8,27,32,153,9 292,37,468,319,14 27,14,68,159,9 32,3,97,173,9 202,1,500,280,9 148,1,230,248,9 87,1,157,210,9 72,1,121,175,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005231.jpg 92,170,273,244,5 1,181,97,226,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005232.jpg 14,72,455,324,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005234.jpg 162,158,237,270,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005236.jpg 15,15,259,327,7 105,159,334,377,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005239.jpg 357,95,463,280,3 412,244,441,264,14 29,55,146,282,3 87,237,118,264,14 90,105,177,265,3 130,228,152,251,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005240.jpg 142,87,204,141,19 217,169,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005242.jpg 23,34,500,333,6 223,76,286,134,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005246.jpg 131,122,364,239,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005247.jpg 149,28,230,203,14 120,80,342,225,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005251.jpg 1,1,333,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005256.jpg 1,1,308,274,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005257.jpg 39,141,253,285,14 295,214,440,374,8 50,199,177,324,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005260.jpg 202,93,322,253,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005262.jpg 79,152,364,407,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005263.jpg 45,142,314,416,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005265.jpg 131,180,375,354,1 187,70,289,329,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005267.jpg 205,193,314,230,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005268.jpg 48,412,86,457,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005269.jpg 40,30,184,429,12 131,105,316,441,12 243,86,337,179,14 103,56,148,153,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005272.jpg 94,59,343,477,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005278.jpg 34,219,334,375,10 209,220,338,375,8 276,189,327,245,8 205,187,244,232,8 67,194,117,236,8 16,217,127,375,8 52,227,190,375,8 27,182,55,222,8 1,189,14,229,8 346,1,408,35,15 204,16,286,88,15 361,189,430,257,15 347,51,363,92,4 340,53,353,91,4 333,55,345,93,4 376,45,422,80,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005279.jpg 215,149,362,285,5 455,219,478,282,14 425,247,500,278,6 126,178,218,366,14 32,180,96,366,14 6,126,202,300,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005282.jpg 42,124,307,493,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005286.jpg 387,99,485,230,15 368,185,432,235,15 244,168,273,197,15 255,110,333,182,15 267,141,350,215,8 247,53,282,145,14 310,141,431,226,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005287.jpg 9,124,496,294,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005288.jpg 361,140,419,231,19 1,208,78,336,8 127,225,159,316,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005292.jpg 44,113,369,284,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005293.jpg 452,229,486,248,6 390,229,442,260,6 382,201,429,253,5 241,184,384,277,5 130,239,250,299,6 27,177,247,278,5 464,225,493,244,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005294.jpg 77,210,187,266,6 318,220,444,296,6 36,212,328,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005297.jpg 291,72,431,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005299.jpg 27,56,500,289,7 1,1,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005300.jpg 222,263,339,461,8 239,237,344,421,14 70,140,220,252,1 263,149,375,255,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005302.jpg 36,103,87,274,4 108,107,156,279,4 161,108,211,284,4 213,112,261,291,4 276,110,325,294,4 336,106,391,296,4 389,111,444,297,4 451,113,500,293,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005303.jpg 39,21,500,296,18 1,89,54,159,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005307.jpg 90,93,455,239,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005308.jpg 177,218,207,321,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005309.jpg 211,137,320,243,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005310.jpg 124,214,192,279,19 50,87,151,233,15 181,204,238,243,15 136,165,180,222,15 232,204,274,248,15 301,214,334,253,15 400,147,475,243,15 379,252,464,364,15 326,198,366,257,15 310,324,393,390,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2009_005311.jpg 161,200,364,301,10 176,300,298,375,8 273,205,432,339,14 297,268,413,375,8 412,177,465,273,14 427,225,463,329,8 85,250,186,374,8 74,175,232,307,14 233,148,273,200,14 313,165,369,235,14 94,166,151,244,14 156,157,204,210,14 299,157,350,216,14 215,196,225,230,4 170,184,180,210,4 110,160,179,244,14 66,192,87,270,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000001.jpg 123,13,341,313,7 1,219,500,333,10 1,1,234,188,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000002.jpg 102,46,411,400,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000003.jpg 160,156,344,307,11 17,52,455,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000009.jpg 160,30,345,312,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000014.jpg 74,25,394,359,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000015.jpg 284,121,430,301,15 207,235,316,345,15 106,215,211,318,15 91,43,263,195,15 342,32,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000018.jpg 137,147,500,375,17 1,154,132,374,8 147,163,394,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000020.jpg 85,207,211,489,11 58,1,333,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000023.jpg 168,66,322,341,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000024.jpg 168,72,461,234,3 1,160,169,235,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000026.jpg 119,12,425,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000027.jpg 3,68,351,474,13 298,153,375,245,15 162,137,242,184,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000031.jpg 131,2,230,56,6 18,34,240,194,6 4,230,276,500,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000033.jpg 83,9,377,306,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000035.jpg 14,6,486,317,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000036.jpg 33,93,450,318,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000038.jpg 49,124,466,380,12 161,47,287,216,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000043.jpg 125,101,407,251,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000045.jpg 1,1,374,499,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000048.jpg 1,60,375,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000050.jpg 138,51,374,483,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000052.jpg 92,125,348,308,16 197,59,324,220,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000053.jpg 61,57,498,320,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000054.jpg 1,19,466,353,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000055.jpg 21,68,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000056.jpg 50,73,457,268,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000061.jpg 45,145,164,361,11 87,40,186,209,11 309,125,459,361,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000063.jpg 214,70,500,299,9 42,60,297,265,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000065.jpg 185,194,285,403,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000067.jpg 161,218,301,293,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000069.jpg 47,6,463,341,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000071.jpg 1,207,149,428,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000072.jpg 117,58,437,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000073.jpg 10,34,500,333,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000074.jpg 207,135,460,244,11 1,54,432,202,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000075.jpg 55,41,432,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000076.jpg 470,64,500,99,6 210,138,285,195,13 230,115,280,175,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000079.jpg 195,89,420,324,11 117,225,232,347,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000080.jpg 1,162,203,327,18 163,162,422,333,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000082.jpg 66,21,410,349,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000083.jpg 43,212,127,310,1 81,154,137,301,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000084.jpg 101,116,347,235,3 166,131,201,183,14 256,85,318,133,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000085.jpg 1,77,500,237,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000087.jpg 1,58,465,323,13 432,83,448,131,14 467,90,500,176,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000088.jpg 1,131,500,374,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000089.jpg 199,111,399,252,16 147,97,205,137,4 1,1,220,331,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000090.jpg 139,34,380,360,11 11,1,464,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000091.jpg 167,132,288,229,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000095.jpg 163,127,301,327,12 225,159,324,348,14 10,156,89,324,14 57,149,88,297,14 88,149,124,289,14 115,189,145,284,14 170,192,195,285,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000097.jpg 1,90,396,344,17 72,59,255,351,14 221,45,361,350,14 351,104,500,341,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000098.jpg 146,154,419,353,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000099.jpg 46,55,465,394,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000103.jpg 180,172,223,282,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000109.jpg 71,40,384,464,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000110.jpg 95,59,333,420,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000111.jpg 28,57,432,212,0 403,181,484,199,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000113.jpg 107,7,466,317,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000114.jpg 29,99,484,294,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000117.jpg 204,165,269,259,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000118.jpg 68,20,225,312,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000120.jpg 9,10,393,481,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000124.jpg 1,2,308,374,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000127.jpg 51,28,359,386,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000131.jpg 147,128,259,262,4 112,1,500,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000132.jpg 151,130,320,500,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000133.jpg 256,95,372,307,14 23,92,100,286,14 31,98,145,297,14 160,106,209,301,14 113,110,194,301,14 188,83,285,306,14 345,168,368,225,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000136.jpg 51,1,500,333,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000137.jpg 32,116,228,500,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000138.jpg 432,183,475,229,12 205,178,264,237,12 9,175,93,233,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000139.jpg 254,204,355,278,16 1,75,166,308,12 195,131,247,287,14 234,92,297,269,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000140.jpg 81,224,273,375,11 1,88,352,375,14 263,45,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000141.jpg 99,97,286,238,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000145.jpg 10,220,357,283,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000148.jpg 80,87,355,219,5 422,133,500,176,6 55,115,153,375,14 222,172,242,228,14 5,119,77,308,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000151.jpg 96,235,236,376,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000152.jpg 2,12,500,433,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000157.jpg 1,53,500,374,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000159.jpg 224,38,500,332,11 1,1,276,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000160.jpg 17,24,482,368,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000162.jpg 259,52,500,437,11 1,1,500,437,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000163.jpg 1,1,335,426,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000165.jpg 28,179,256,283,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000169.jpg 335,46,459,214,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000170.jpg 16,39,375,448,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000172.jpg 336,103,420,263,7 153,128,287,217,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000174.jpg 1,310,452,374,10 55,111,214,322,14 136,13,384,328,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000175.jpg 133,1,500,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000177.jpg 1,254,324,375,10 318,186,477,375,8 106,78,398,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000178.jpg 389,220,423,248,19 151,208,222,283,14 321,237,430,338,8 153,296,215,364,8 191,250,306,372,8 1,320,208,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000182.jpg 98,1,409,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000183.jpg 79,133,374,483,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000184.jpg 121,74,309,408,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000187.jpg 80,17,425,348,5 274,51,499,308,5 17,121,88,260,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000189.jpg 102,27,418,395,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000190.jpg 270,102,448,290,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000193.jpg 1,40,499,293,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000194.jpg 355,117,413,155,6 192,117,229,146,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000195.jpg 280,105,449,251,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000196.jpg 230,103,262,145,14 25,1,500,335,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000197.jpg 13,326,231,500,2 41,28,250,169,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000198.jpg 3,35,500,374,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000199.jpg 35,128,465,276,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000202.jpg 1,1,374,499,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000203.jpg 76,75,362,210,11 236,201,463,354,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000204.jpg 1,80,196,374,14 139,72,337,371,14 309,94,479,371,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000209.jpg 61,59,473,313,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000211.jpg 9,12,500,323,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000213.jpg 22,1,488,404,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000216.jpg 59,71,266,174,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000218.jpg 1,38,500,332,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000222.jpg 66,52,265,354,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000224.jpg 110,265,333,497,7 1,5,333,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000227.jpg 77,15,394,374,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000229.jpg 198,187,275,213,0 326,176,402,201,0 277,208,366,232,0 394,176,467,202,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000233.jpg 2,215,465,321,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000234.jpg 1,1,131,258,14 167,109,310,340,14 367,1,500,333,14 410,171,500,290,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000238.jpg 166,140,213,266,14 233,144,280,235,14 258,15,500,280,0 1,154,22,197,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000241.jpg 144,58,424,290,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000244.jpg 140,21,410,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000245.jpg 249,201,277,253,11 152,42,224,267,14 119,67,142,144,14 411,65,433,130,14 138,72,156,148,14 216,62,246,144,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000246.jpg 251,38,500,290,6 24,33,369,235,6 1,1,261,187,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000247.jpg 77,1,416,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000248.jpg 3,105,500,315,6 1,5,182,163,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000249.jpg 153,133,326,186,18 11,177,68,235,6 1,175,36,254,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000250.jpg 5,62,495,230,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000254.jpg 130,136,339,290,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000255.jpg 5,22,500,335,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000256.jpg 54,44,420,239,17 247,128,270,204,4 241,30,354,185,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000260.jpg 1,28,500,375,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000261.jpg 116,97,500,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000262.jpg 69,262,134,327,11 26,84,100,191,13 221,99,283,251,14 86,28,210,371,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000263.jpg 135,51,500,221,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000264.jpg 37,34,332,500,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000266.jpg 19,82,466,313,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000269.jpg 1,70,472,352,7 363,1,500,228,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000270.jpg 16,22,465,299,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000272.jpg 40,46,468,158,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000273.jpg 180,104,305,235,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000276.jpg 178,64,393,384,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000279.jpg 32,1,500,439,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000283.jpg 142,72,476,332,12 70,121,162,332,12 1,109,95,201,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000284.jpg 247,207,498,351,17 15,172,169,321,17 53,50,76,99,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000285.jpg 140,110,317,243,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000286.jpg 138,54,445,289,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000291.jpg 300,56,494,344,7 227,1,500,277,19 1,1,229,308,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000293.jpg 185,72,500,277,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000295.jpg 137,131,326,210,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000296.jpg 163,46,450,333,12 240,1,452,320,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000299.jpg 200,205,277,244,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000302.jpg 72,65,417,288,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000303.jpg 49,19,268,222,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000307.jpg 208,59,390,225,16 66,114,380,249,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000308.jpg 2,60,500,290,0 346,201,404,353,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000309.jpg 171,161,243,219,16 171,160,250,223,16 141,189,188,226,16 115,187,148,224,16 315,107,363,139,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000310.jpg 29,1,303,308,4 195,130,500,308,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000312.jpg 10,36,500,309,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000313.jpg 82,83,132,207,14 36,172,118,369,14 28,1,499,374,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000317.jpg 133,80,443,280,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000318.jpg 336,64,500,249,19 1,99,142,245,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000320.jpg 1,1,403,315,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000321.jpg 58,177,104,231,18 111,134,365,244,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000323.jpg 1,102,500,369,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000324.jpg 29,1,255,324,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000325.jpg 22,170,100,400,4 312,96,332,161,4 1,245,375,500,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000327.jpg 1,235,21,301,16 95,240,137,285,16 284,272,339,330,16 329,277,361,328,16 349,266,397,322,16 430,315,499,371,16 383,285,425,323,16 419,255,462,313,16 378,246,439,288,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000329.jpg 68,89,443,306,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000330.jpg 1,1,299,339,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000335.jpg 243,144,305,176,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000336.jpg 1,1,500,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000337.jpg 245,208,315,341,8 183,223,271,369,8 310,215,394,354,8 225,235,377,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000342.jpg 55,37,354,360,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000344.jpg 139,103,347,245,17 146,35,358,232,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000347.jpg 1,58,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000349.jpg 72,198,112,278,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000351.jpg 44,96,176,353,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000352.jpg 1,102,93,253,14 79,105,200,273,14 272,84,480,326,14 91,240,123,360,4 1,240,480,360,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000356.jpg 133,1,500,371,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000358.jpg 1,98,317,375,14 274,142,399,375,14 153,113,311,375,14 349,142,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000361.jpg 407,49,500,244,8 144,99,340,375,14 1,172,229,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000362.jpg 1,1,474,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000370.jpg 116,28,359,352,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000371.jpg 296,1,324,81,14 205,15,225,63,14 373,1,458,115,14 26,67,473,256,13 1,19,235,196,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000372.jpg 306,133,432,205,6 18,126,432,303,6 301,108,432,157,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000374.jpg 234,30,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000375.jpg 324,164,402,236,19 6,115,164,326,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000376.jpg 50,108,387,281,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000377.jpg 1,9,295,362,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000379.jpg 232,37,411,305,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000381.jpg 13,101,490,273,6 307,98,500,186,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000382.jpg 1,95,342,291,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000384.jpg 23,1,421,333,8 107,26,459,313,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000386.jpg 391,122,454,272,8 326,137,441,267,8 158,65,218,117,19 327,132,426,180,4 104,87,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000388.jpg 133,49,412,333,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000389.jpg 101,17,267,197,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000390.jpg 1,1,380,343,16 117,36,500,375,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000392.jpg 228,145,438,223,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000393.jpg 195,2,473,88,2 6,122,473,250,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000394.jpg 62,118,329,265,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000395.jpg 9,45,354,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000399.jpg 1,42,500,384,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000401.jpg 116,115,424,315,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000404.jpg 90,43,315,485,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000406.jpg 1,123,432,328,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000409.jpg 1,1,475,320,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000413.jpg 311,60,485,187,12 165,55,321,180,12 42,50,163,171,12 1,63,20,149,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000415.jpg 1,159,241,331,11 210,87,384,332,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000418.jpg 11,100,489,217,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000419.jpg 2,274,500,333,10 1,1,218,333,14 173,121,377,312,14 256,13,500,312,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000420.jpg 204,67,500,318,14 147,25,298,217,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000422.jpg 5,55,312,479,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000426.jpg 71,1,428,333,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000427.jpg 34,57,454,346,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000431.jpg 3,243,146,490,8 128,56,279,480,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000432.jpg 171,32,294,311,14 293,149,355,292,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000433.jpg 31,32,257,324,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000435.jpg 164,205,311,363,8 379,183,500,307,8 259,95,323,153,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000436.jpg 92,36,285,184,16 174,56,397,242,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000437.jpg 59,107,476,287,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000439.jpg 171,122,419,361,7 203,1,456,135,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000442.jpg 84,2,372,371,7 31,165,354,375,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000444.jpg 73,163,279,306,1 135,110,185,281,14 15,124,62,199,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000446.jpg 15,182,216,331,12 203,82,359,331,12 286,1,500,333,14 59,126,191,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000447.jpg 89,36,188,179,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000448.jpg 277,163,318,233,4 345,54,500,230,14 186,56,349,254,14 18,32,185,292,14 344,88,415,219,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000449.jpg 57,139,120,221,19 192,136,203,162,4 170,38,231,202,14 219,50,310,334,14 262,15,414,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000453.jpg 128,233,263,472,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000456.jpg 122,136,342,356,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000458.jpg 98,47,411,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000459.jpg 233,181,282,223,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000461.jpg 149,109,500,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000462.jpg 157,142,257,328,14 158,228,257,385,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000463.jpg 116,236,370,375,10 127,242,241,375,8 234,232,326,375,8 316,208,401,365,8 112,196,146,328,8 170,199,216,235,8 252,196,301,240,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000465.jpg 227,129,283,208,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000466.jpg 15,92,382,235,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000468.jpg 17,72,198,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000469.jpg 1,28,490,370,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000470.jpg 248,13,375,291,8 1,93,139,274,15 367,158,443,265,15 430,186,500,258,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000473.jpg 105,229,166,249,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000474.jpg 18,89,222,333,14 269,64,468,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000475.jpg 231,4,481,282,11 4,7,348,280,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000477.jpg 11,18,488,228,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000480.jpg 128,79,414,293,5 426,166,500,254,5 1,228,96,274,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000483.jpg 367,166,420,233,16 216,195,322,271,16 198,156,243,215,16 187,215,237,268,16 309,153,349,171,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000484.jpg 66,98,267,449,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000485.jpg 47,168,292,488,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000488.jpg 103,1,500,374,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000490.jpg 106,20,210,327,14 180,14,296,190,14 47,82,464,335,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000492.jpg 103,136,324,364,8 328,184,500,375,8 63,280,135,341,4 73,79,494,316,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000493.jpg 279,156,357,214,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000495.jpg 13,32,482,328,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000497.jpg 198,39,447,331,7 40,1,234,221,8 4,1,141,219,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000498.jpg 133,104,393,363,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000500.jpg 1,150,429,286,7 13,20,441,312,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000502.jpg 206,89,257,143,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000503.jpg 320,178,488,241,6 125,154,196,375,14 245,144,326,375,14 198,168,255,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000506.jpg 1,1,365,438,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000508.jpg 295,132,500,238,6 1,86,231,246,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000510.jpg 61,180,294,393,13 124,103,252,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000511.jpg 36,6,500,375,8 143,122,389,310,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000513.jpg 1,155,418,250,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000515.jpg 51,9,372,434,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000519.jpg 191,174,343,398,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000522.jpg 40,32,419,305,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000524.jpg 65,72,412,290,5 1,183,51,227,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000526.jpg 1,1,500,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000527.jpg 201,144,395,333,16 7,154,163,257,16 27,140,65,172,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000530.jpg 157,242,376,349,6 168,203,237,230,6 1,183,132,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000534.jpg 256,83,295,132,18 61,156,97,208,14 130,117,149,155,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000536.jpg 211,45,334,175,7 238,183,365,434,7 3,206,144,346,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000537.jpg 136,206,299,255,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000538.jpg 47,25,470,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000541.jpg 37,17,394,323,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000545.jpg 147,40,375,387,9 28,53,257,418,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000547.jpg 133,245,168,276,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000548.jpg 20,108,194,374,9 143,106,285,390,14 126,80,366,390,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000549.jpg 181,110,391,205,0 232,229,322,265,0 57,75,172,112,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000552.jpg 110,119,500,375,7 1,60,298,305,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000553.jpg 37,3,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000556.jpg 198,138,293,219,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000557.jpg 37,24,470,315,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000559.jpg 167,35,273,281,14 2,1,283,281,14 1,179,296,281,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000561.jpg 126,104,500,374,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000562.jpg 106,109,363,415,16 51,123,138,272,16 161,1,258,119,16 1,1,146,125,16 340,7,375,43,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000564.jpg 102,12,481,374,14 1,195,153,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000567.jpg 28,43,466,478,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000568.jpg 27,93,481,240,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000571.jpg 13,2,500,375,6 154,31,359,170,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000572.jpg 59,159,434,235,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000573.jpg 101,61,448,346,5 450,254,471,303,14 463,259,482,309,14 305,225,326,272,14 203,175,221,251,4 150,251,168,269,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000574.jpg 173,102,412,334,11 1,1,252,290,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000576.jpg 23,33,460,423,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000577.jpg 180,236,480,375,11 358,1,437,176,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000578.jpg 1,128,78,258,19 299,193,429,375,19 75,103,301,365,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000581.jpg 201,1,500,375,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000582.jpg 1,41,459,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000583.jpg 44,14,427,363,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000586.jpg 13,79,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000588.jpg 236,201,252,242,4 11,112,153,235,8 223,100,360,223,8 279,98,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000590.jpg 59,102,239,290,6 246,180,290,205,6 227,182,258,211,6 1,183,38,270,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000591.jpg 1,205,500,375,10 406,16,471,233,4 238,1,317,58,19 180,125,354,207,8 1,163,84,322,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000601.jpg 176,151,239,218,8 164,165,241,274,8 205,149,265,219,10 212,161,288,245,10 228,172,315,273,10 74,150,127,217,10 69,158,127,235,10 1,219,99,375,10 1,291,65,375,10 345,292,500,375,10 296,233,500,375,10 261,202,408,352,10 176,249,330,375,8 309,67,370,128,15 62,66,135,208,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000602.jpg 300,127,343,184,8 287,190,315,224,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000603.jpg 103,65,432,295,5 81,174,105,218,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000604.jpg 14,28,109,125,6 35,84,454,279,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000608.jpg 31,11,458,412,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000613.jpg 112,37,364,307,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000616.jpg 51,98,391,322,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000617.jpg 157,61,445,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000621.jpg 101,136,361,334,2 3,49,240,241,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000622.jpg 9,132,360,254,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000624.jpg 1,1,500,368,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000626.jpg 58,34,361,318,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000628.jpg 148,213,312,293,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000630.jpg 148,117,266,239,3 422,174,500,275,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000632.jpg 142,83,218,207,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000633.jpg 1,45,396,172,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000635.jpg 1,1,368,330,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000639.jpg 236,77,423,357,15 119,161,230,344,11 1,1,113,304,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000641.jpg 78,23,405,321,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000644.jpg 172,113,368,285,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000645.jpg 402,200,490,375,14 1,203,60,283,6 28,212,137,253,6 273,211,334,232,6 302,221,321,261,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000646.jpg 1,272,123,375,8 124,178,197,282,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000647.jpg 29,174,281,334,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000648.jpg 161,232,328,363,11 170,14,499,426,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000651.jpg 38,59,484,223,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000655.jpg 3,11,304,277,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000658.jpg 117,19,209,113,19 119,127,245,358,8 244,123,368,356,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000661.jpg 169,66,446,250,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000664.jpg 25,133,461,300,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000665.jpg 46,128,475,304,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000666.jpg 17,72,384,296,12 190,30,285,165,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000667.jpg 338,166,472,264,16 137,157,276,260,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000669.jpg 1,301,230,373,10 53,267,122,316,8 1,314,111,374,8 200,124,271,176,19 309,73,384,178,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000671.jpg 65,443,92,500,4 45,317,350,471,17 90,325,347,401,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000674.jpg 278,235,364,357,8 210,206,245,282,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000675.jpg 5,63,287,469,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000678.jpg 72,29,331,476,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000679.jpg 344,83,367,146,14 301,117,326,152,14 79,113,161,169,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000681.jpg 209,88,280,201,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000682.jpg 94,35,339,211,5 442,110,458,139,14 41,116,86,137,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000683.jpg 1,126,361,334,7 273,58,500,266,7 1,23,336,201,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000685.jpg 89,47,456,339,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000687.jpg 145,62,479,254,7 67,11,132,42,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000688.jpg 27,240,73,299,13 77,241,126,289,13 104,210,133,283,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000689.jpg 38,1,168,76,6 1,89,63,181,6 109,1,395,223,5 245,1,500,333,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000690.jpg 88,162,283,294,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000691.jpg 391,183,500,301,17 41,118,246,299,14 215,143,324,292,14 294,128,416,301,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000692.jpg 74,11,355,371,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000694.jpg 317,143,439,227,7 52,155,176,222,7 266,11,500,355,8 1,34,193,360,8 1,1,214,165,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000695.jpg 162,128,345,232,13 199,88,287,250,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000697.jpg 12,150,132,281,14 158,124,305,275,14 299,54,409,288,14 401,177,500,333,14 427,155,494,212,14 45,239,81,333,4 3,273,410,333,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000702.jpg 1,106,285,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000705.jpg 115,190,202,250,19 317,207,448,307,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000707.jpg 225,160,301,331,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000710.jpg 144,109,275,230,3 265,114,492,250,3 425,103,500,161,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000711.jpg 46,1,500,172,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000712.jpg 95,36,500,374,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000715.jpg 15,61,500,265,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000716.jpg 15,9,329,236,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000717.jpg 401,76,489,211,14 177,74,259,206,14 30,70,84,191,14 414,152,472,300,12 192,113,257,269,12 1,108,106,251,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000721.jpg 201,33,290,311,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000722.jpg 21,102,486,389,6 190,10,311,155,14 288,26,433,246,14 401,1,488,146,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000723.jpg 433,139,454,199,14 46,86,421,270,6 422,132,500,176,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000724.jpg 94,49,265,269,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000726.jpg 52,44,376,440,5 391,38,454,442,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000727.jpg 183,204,307,262,16 135,117,293,228,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000729.jpg 279,163,359,233,3 245,222,287,247,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000731.jpg 11,47,195,288,11 166,73,425,290,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000735.jpg 122,65,382,357,16 1,87,119,342,16 155,204,269,344,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000737.jpg 49,174,223,396,15 183,251,375,428,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000738.jpg 91,84,387,375,14 367,119,434,189,19 307,120,368,170,19 60,147,77,190,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000739.jpg 174,44,304,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000740.jpg 1,1,315,375,18 376,171,405,247,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000743.jpg 147,136,393,263,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000744.jpg 24,41,469,318,13 270,1,438,235,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000746.jpg 14,47,365,462,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000747.jpg 5,133,205,312,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000748.jpg 55,38,391,272,3 134,220,149,249,14 154,223,167,252,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000749.jpg 63,135,307,307,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000750.jpg 1,5,348,409,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000754.jpg 53,206,396,333,10 13,233,139,333,8 185,234,335,333,8 284,216,406,333,8 284,194,382,333,8 81,205,155,236,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000759.jpg 222,122,271,290,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000760.jpg 195,120,401,320,11 2,1,325,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000761.jpg 157,43,266,187,11 230,222,331,331,11 78,8,356,288,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000764.jpg 1,90,500,334,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000765.jpg 341,71,463,271,8 104,156,216,274,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000769.jpg 167,137,301,251,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000770.jpg 120,261,348,370,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000771.jpg 49,46,442,470,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000772.jpg 112,86,308,320,14 95,107,350,320,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000773.jpg 167,40,227,133,15 232,77,275,128,14 129,204,247,317,19 10,97,34,144,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000778.jpg 95,25,363,332,14 174,63,401,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000782.jpg 1,80,49,104,4 4,136,48,163,4 75,110,180,217,8 240,145,350,220,8 351,178,479,276,8 27,193,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000785.jpg 124,1,486,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000786.jpg 350,259,376,323,14 316,259,343,325,14 1,180,500,274,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000787.jpg 313,122,412,234,8 213,169,321,298,19 342,156,461,306,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000788.jpg 73,77,398,251,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000791.jpg 56,85,343,374,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000792.jpg 95,190,374,375,14 379,238,500,375,14 351,201,464,375,14 262,178,395,318,14 111,187,197,289,14 259,195,293,260,14 296,132,407,224,14 348,211,384,241,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000797.jpg 374,180,500,232,5 58,169,250,234,5 384,246,443,318,14 34,190,54,264,14 360,226,380,249,14 174,226,190,259,14 150,224,170,257,14 446,203,464,237,14 484,204,500,235,14 467,199,483,234,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000799.jpg 26,28,421,322,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000800.jpg 288,1,369,64,15 382,131,482,338,8 50,134,85,175,15 1,70,36,250,15 39,169,126,235,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000802.jpg 255,127,436,246,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000803.jpg 1,190,24,250,14 33,1,500,359,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000805.jpg 215,57,479,374,11 74,105,255,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000806.jpg 118,109,338,267,13 190,69,293,234,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000807.jpg 46,221,319,464,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000808.jpg 182,126,333,280,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000810.jpg 89,148,158,211,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000811.jpg 58,78,357,303,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000814.jpg 1,62,273,500,2 210,176,375,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000815.jpg 1,37,465,272,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000821.jpg 1,203,258,371,17 249,202,340,375,8 399,195,459,255,8 335,239,453,375,8 275,242,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000822.jpg 69,39,473,375,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000827.jpg 104,126,374,357,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000828.jpg 179,113,357,353,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000829.jpg 32,14,496,357,1 4,83,80,130,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000830.jpg 67,146,396,294,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000831.jpg 18,200,185,317,16 189,133,426,303,16 216,219,324,289,16 242,218,373,303,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000836.jpg 208,110,290,255,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000837.jpg 60,1,500,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000838.jpg 8,4,407,454,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000842.jpg 262,43,451,276,11 44,26,304,310,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000846.jpg 1,10,333,464,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000847.jpg 170,147,244,204,16 208,137,322,212,16 289,156,360,208,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000849.jpg 236,71,434,375,12 56,95,237,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000855.jpg 150,14,378,319,5 1,131,155,303,5 443,108,500,325,5 424,198,444,241,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000857.jpg 52,43,213,348,11 26,79,321,480,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000860.jpg 1,1,169,500,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000862.jpg 44,86,459,293,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000863.jpg 2,162,287,499,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000865.jpg 62,92,500,257,18 21,164,37,205,14 1,172,16,208,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000866.jpg 78,127,353,349,16 256,1,388,307,14 459,56,474,114,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000870.jpg 251,50,445,320,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000871.jpg 186,96,375,372,15 10,1,366,500,15 342,338,375,429,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000872.jpg 109,86,486,374,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000874.jpg 8,130,176,452,12 94,96,315,490,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000875.jpg 165,101,326,325,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000876.jpg 2,38,491,360,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000879.jpg 1,102,472,478,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000883.jpg 93,269,500,468,11 42,40,397,468,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000885.jpg 96,3,466,123,0 105,165,292,199,0 146,214,240,234,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000887.jpg 218,85,424,245,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000889.jpg 83,91,255,429,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000891.jpg 181,263,271,322,4 1,1,404,375,14 255,226,354,307,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000893.jpg 365,1,428,41,15 286,47,317,106,15 111,22,344,254,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000897.jpg 259,135,350,311,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000898.jpg 12,41,495,324,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000899.jpg 201,13,402,328,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000904.jpg 59,1,500,400,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000906.jpg 159,99,364,263,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000907.jpg 218,150,482,356,9 22,269,179,353,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000908.jpg 108,115,372,330,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000910.jpg 61,167,239,483,9 233,203,375,373,1 256,99,355,349,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000912.jpg 1,26,267,361,14 1,169,267,400,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000914.jpg 26,58,277,499,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000915.jpg 116,387,374,498,10 188,283,242,433,4 1,221,139,451,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000918.jpg 80,50,147,117,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000920.jpg 315,134,360,214,16 348,130,376,197,16 250,144,321,185,16 239,178,284,231,16 182,170,241,259,16 124,173,187,250,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000922.jpg 125,89,314,360,14 1,134,430,401,17 112,45,330,142,6 9,67,139,149,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000923.jpg 23,30,473,329,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000926.jpg 1,1,403,309,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000927.jpg 17,9,477,340,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000928.jpg 204,175,333,225,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000929.jpg 95,279,156,327,13 103,261,129,309,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000931.jpg 237,70,340,176,19 128,63,239,170,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000938.jpg 1,82,384,288,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000939.jpg 183,157,399,230,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000941.jpg 1,133,276,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000942.jpg 280,44,396,203,14 275,144,386,265,14 171,138,265,256,14 43,122,161,265,14 1,35,96,224,14 82,30,172,167,14 195,58,283,202,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000944.jpg 218,105,351,221,19 386,195,411,267,4 111,199,132,272,4 23,86,342,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000945.jpg 113,84,370,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000947.jpg 288,78,463,294,5 56,144,293,285,5 460,221,500,257,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000948.jpg 1,10,258,196,7 198,75,338,209,7 324,57,499,212,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000952.jpg 46,57,479,309,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000954.jpg 105,203,196,239,9 327,82,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000955.jpg 101,189,500,287,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000956.jpg 172,26,198,47,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000959.jpg 405,92,465,277,14 200,1,500,331,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000961.jpg 130,132,258,320,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000968.jpg 307,217,434,303,11 25,138,233,355,8 145,74,400,211,17 195,63,341,150,14 457,80,489,147,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000970.jpg 1,131,143,374,16 83,14,364,375,14 138,101,173,163,14 68,119,82,160,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000971.jpg 7,58,434,374,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000973.jpg 163,202,418,347,11 53,71,200,314,11 425,229,490,370,15 452,113,500,359,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000974.jpg 156,196,271,319,7 109,97,272,500,14 44,255,122,330,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000975.jpg 6,11,357,490,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000978.jpg 228,178,319,289,16 143,54,313,276,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000979.jpg 191,446,257,466,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000981.jpg 59,108,462,241,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000983.jpg 207,156,260,245,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000984.jpg 86,113,421,227,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000986.jpg 275,78,454,138,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000989.jpg 29,149,346,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000991.jpg 115,115,389,372,13 204,14,342,342,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000993.jpg 54,164,79,244,14 29,162,72,288,14 181,147,279,319,14 19,45,230,477,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000994.jpg 185,107,299,313,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000995.jpg 1,1,500,374,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_000996.jpg 21,14,295,477,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001000.jpg 41,3,500,334,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001002.jpg 102,1,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001006.jpg 203,77,299,168,11 114,40,231,234,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001008.jpg 265,76,380,310,14 45,78,177,233,14 144,69,292,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001009.jpg 119,1,381,329,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001010.jpg 46,20,234,328,9 261,213,322,271,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001011.jpg 164,241,329,348,16 30,190,256,328,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001012.jpg 132,61,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001013.jpg 13,4,171,344,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001016.jpg 180,57,372,252,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001017.jpg 114,130,342,306,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001020.jpg 150,91,414,275,0 378,195,396,229,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001021.jpg 1,1,448,324,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001023.jpg 57,47,404,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001024.jpg 2,101,500,332,0 333,51,374,163,14 221,18,269,138,14 176,70,217,145,14 89,40,136,152,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001025.jpg 1,6,500,382,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001030.jpg 83,43,310,492,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001032.jpg 140,59,463,253,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001036.jpg 249,163,283,223,14 162,169,363,279,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001039.jpg 25,57,500,270,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001042.jpg 102,103,333,254,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001043.jpg 324,69,466,172,6 72,88,413,245,6 1,99,67,168,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001044.jpg 1,32,499,367,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001049.jpg 226,159,409,270,1 45,149,218,264,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001051.jpg 191,51,499,265,17 1,61,229,320,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001052.jpg 1,170,324,214,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001054.jpg 73,15,492,340,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001057.jpg 246,85,383,230,7 68,56,315,309,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001061.jpg 115,48,303,277,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001063.jpg 75,66,367,258,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001066.jpg 155,289,288,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001069.jpg 64,92,338,461,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001070.jpg 128,159,268,315,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001074.jpg 46,81,183,216,11 210,37,350,192,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001076.jpg 250,227,318,266,16 179,207,269,250,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001077.jpg 109,86,371,302,12 230,44,317,231,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001079.jpg 160,59,205,101,16 142,90,212,158,16 167,120,285,202,16 161,224,290,316,16 335,112,406,157,16 326,134,428,210,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001080.jpg 44,121,490,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001082.jpg 196,67,500,374,16 73,118,278,374,16 229,1,324,89,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001085.jpg 1,110,375,423,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001087.jpg 36,13,404,316,5 339,82,500,253,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001089.jpg 1,1,500,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001092.jpg 94,130,230,282,11 301,1,500,249,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001094.jpg 155,89,298,234,11 137,147,185,204,4 268,20,347,160,8 138,13,305,220,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001098.jpg 362,104,384,143,2 250,77,276,110,2 211,109,233,141,2 149,145,169,178,2 92,149,109,195,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001099.jpg 226,7,470,336,11 7,60,500,336,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001100.jpg 84,46,499,321,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001103.jpg 79,30,308,221,7 14,97,366,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001104.jpg 6,254,226,339,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001105.jpg 1,226,500,278,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001106.jpg 344,1,448,152,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001107.jpg 247,24,487,375,14 24,140,161,375,14 137,125,179,147,9 110,130,134,146,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001109.jpg 110,264,160,291,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001110.jpg 32,1,487,333,6 275,1,499,188,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001111.jpg 1,1,84,285,15 39,110,394,347,17 119,91,345,375,14 352,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001112.jpg 250,169,300,210,11 93,198,184,330,14 175,106,274,326,14 262,191,317,321,14 306,125,332,204,14 267,124,292,195,14 251,106,267,140,14 255,103,286,172,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001113.jpg 52,213,179,375,14 180,230,288,374,14 259,230,349,370,14 362,218,489,374,14 141,109,243,367,14 231,130,313,300,14 276,108,326,190,14 286,159,378,324,14 409,235,487,287,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001117.jpg 339,55,500,122,6 58,74,411,276,6 1,55,45,88,6 102,64,155,91,6 63,60,119,91,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001118.jpg 165,232,454,489,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001119.jpg 1,258,423,375,1 6,99,79,141,1 84,45,241,375,14 95,33,389,375,14 8,69,37,163,14 206,69,231,108,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001120.jpg 146,7,342,137,2 1,205,159,500,14 142,203,251,415,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001121.jpg 380,85,500,321,6 43,84,383,253,6 1,83,168,200,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001123.jpg 219,3,375,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001124.jpg 4,6,498,326,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001125.jpg 1,1,374,499,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001126.jpg 182,167,258,249,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001127.jpg 1,52,42,142,19 367,78,500,181,17 43,168,453,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001130.jpg 1,27,256,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001131.jpg 1,336,375,500,10 1,1,296,357,14 256,205,352,496,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001134.jpg 38,244,186,333,15 260,169,497,333,15 417,1,500,82,15 300,26,467,193,15 158,94,323,260,15 1,91,159,250,15 78,1,260,101,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001139.jpg 3,30,500,315,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001140.jpg 53,45,408,214,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001142.jpg 264,210,282,244,4 315,103,371,220,14 283,171,379,342,14 156,180,216,260,14 218,155,280,234,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001143.jpg 337,132,359,186,14 356,132,376,185,14 94,85,304,251,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001147.jpg 31,83,500,277,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001148.jpg 86,208,464,375,17 208,33,320,207,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001149.jpg 255,180,500,329,17 253,262,288,307,7 168,108,199,141,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001151.jpg 98,180,119,237,14 1,157,412,226,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001152.jpg 357,91,446,129,6 431,112,500,199,6 31,115,90,157,6 142,104,207,122,6 107,112,450,332,6 471,90,500,128,6 101,109,150,134,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001154.jpg 84,13,393,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001158.jpg 294,138,321,167,11 139,236,194,309,11 287,57,313,156,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001159.jpg 244,55,356,330,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001160.jpg 252,336,317,438,16 124,439,309,500,16 105,301,139,370,16 99,258,141,313,16 289,373,375,498,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001163.jpg 208,154,500,376,6 1,280,259,376,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001164.jpg 427,167,500,218,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001172.jpg 123,24,403,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001174.jpg 13,92,495,241,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001175.jpg 15,67,482,479,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001177.jpg 16,27,333,467,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001179.jpg 98,104,130,134,16 273,101,311,124,16 317,133,352,160,16 367,129,398,151,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001181.jpg 3,20,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001183.jpg 89,11,449,322,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001184.jpg 26,142,375,500,12 43,56,194,335,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001185.jpg 75,58,161,176,11 1,1,250,176,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001188.jpg 1,290,160,374,8 10,113,35,213,4 36,150,57,212,4 70,156,86,214,4 95,157,112,216,4 114,156,131,215,4 181,166,198,216,4 161,162,176,217,4 139,161,152,216,4 220,19,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001189.jpg 191,184,471,339,17 52,174,166,300,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001192.jpg 53,107,438,375,14 1,19,288,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001193.jpg 24,189,462,327,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001195.jpg 241,98,414,250,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001199.jpg 64,146,372,374,10 244,148,349,354,8 111,158,232,360,8 129,142,224,284,8 236,140,323,307,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001201.jpg 212,102,332,323,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001204.jpg 8,150,121,332,5 225,254,261,309,14 295,260,327,350,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001205.jpg 135,64,276,191,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001206.jpg 64,83,410,248,5 49,141,67,182,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001210.jpg 365,152,481,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001211.jpg 162,120,269,232,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001212.jpg 378,229,398,256,14 301,178,351,262,3 457,204,500,276,3 131,193,174,283,3 178,175,240,286,3 249,274,317,290,3 277,6,462,293,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001214.jpg 330,145,381,163,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001215.jpg 108,19,446,150,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001216.jpg 181,103,393,280,11 358,1,500,265,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001218.jpg 273,174,410,244,11 30,188,175,276,11 309,1,498,268,14 141,1,325,274,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001219.jpg 127,68,234,357,4 44,1,247,500,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001220.jpg 1,1,500,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001224.jpg 80,1,394,374,14 18,1,448,374,8 205,169,332,330,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001225.jpg 85,1,373,283,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001229.jpg 188,168,283,361,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001234.jpg 1,1,422,269,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001237.jpg 1,20,367,322,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001240.jpg 1,1,500,407,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001241.jpg 91,264,130,318,14 222,250,264,345,14 99,219,254,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001242.jpg 179,24,422,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001245.jpg 180,202,367,348,16 1,70,113,361,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001246.jpg 418,218,458,247,6 1,125,45,236,1 29,128,71,230,1 182,165,250,229,15 287,162,324,220,15 405,204,417,226,15 388,198,405,228,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001247.jpg 170,32,240,108,7 200,69,273,161,7 167,100,230,195,7 165,163,246,246,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001250.jpg 167,1,477,293,18 129,136,240,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001251.jpg 1,15,428,374,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001253.jpg 1,48,319,457,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001254.jpg 291,169,389,245,1 228,55,309,277,14 204,101,245,247,14 138,69,196,267,14 71,71,135,263,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001256.jpg 97,95,406,309,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001257.jpg 267,312,312,374,16 199,308,261,395,16 81,297,184,379,16 1,332,83,438,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001261.jpg 1,362,375,500,10 170,268,259,368,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001263.jpg 70,96,104,188,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001264.jpg 121,1,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001270.jpg 241,47,351,171,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001271.jpg 194,202,370,354,10 238,210,326,364,8 287,199,368,337,8 182,203,264,342,8 279,196,343,320,8 187,198,255,256,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001272.jpg 125,10,500,303,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001273.jpg 49,18,245,307,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001274.jpg 228,264,272,301,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001275.jpg 228,112,432,195,6 43,105,246,193,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001277.jpg 17,164,304,307,17 33,289,370,375,8 468,109,500,216,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001279.jpg 280,179,452,321,11 150,135,243,325,11 135,104,309,289,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001282.jpg 253,92,500,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001286.jpg 228,1,500,333,16 1,1,278,333,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001287.jpg 172,44,500,227,17 1,49,221,332,17 271,19,426,213,14 60,30,254,332,14 198,191,420,332,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001288.jpg 1,1,361,229,5 130,119,176,239,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001289.jpg 182,118,297,297,14 55,54,425,401,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001291.jpg 44,105,336,386,7 1,249,267,467,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001292.jpg 3,35,339,412,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001293.jpg 142,91,500,257,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001294.jpg 7,63,487,217,0 129,189,191,210,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001299.jpg 22,3,253,457,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001301.jpg 199,81,338,304,11 71,114,218,295,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001305.jpg 168,41,358,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001310.jpg 231,433,321,500,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001311.jpg 50,33,458,335,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001312.jpg 184,134,284,223,1 185,99,207,205,14 202,85,262,214,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001313.jpg 18,158,146,330,13 62,155,142,287,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001315.jpg 99,79,424,215,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001317.jpg 130,74,369,371,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001320.jpg 122,245,325,326,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001321.jpg 417,190,500,244,6 310,192,424,252,6 184,183,343,258,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001325.jpg 159,119,372,325,12 215,22,299,205,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001326.jpg 102,7,466,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001327.jpg 32,34,500,374,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001328.jpg 3,15,432,376,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001329.jpg 258,73,396,253,12 298,72,371,186,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001331.jpg 23,97,306,343,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001333.jpg 277,6,436,115,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001337.jpg 94,315,138,359,11 93,84,141,264,14 83,208,163,339,14 207,198,333,387,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001338.jpg 240,226,500,374,1 354,237,500,374,1 14,277,362,375,1 1,212,149,375,1 68,96,287,375,14 354,270,378,301,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001339.jpg 1,1,337,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001343.jpg 54,172,142,243,8 266,207,333,297,8 1,222,117,456,8 11,266,174,500,8 34,232,333,500,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001344.jpg 44,71,491,327,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001347.jpg 1,95,499,279,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001351.jpg 253,36,500,249,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001355.jpg 167,298,228,367,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001356.jpg 6,1,500,333,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001357.jpg 378,184,401,229,14 249,196,422,236,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001360.jpg 5,81,253,183,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001361.jpg 1,34,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001363.jpg 285,261,486,443,19 1,251,65,464,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001364.jpg 1,62,306,354,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001366.jpg 138,197,330,332,10 309,181,395,332,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001367.jpg 142,89,433,389,1 298,271,400,356,4 268,1,500,411,14 1,50,144,283,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001370.jpg 1,51,305,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001372.jpg 116,133,395,209,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001374.jpg 1,237,500,336,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001376.jpg 5,6,130,229,11 78,102,215,226,11 181,48,297,237,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001382.jpg 104,111,314,325,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001383.jpg 1,1,500,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001385.jpg 154,49,397,282,7 1,111,123,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001386.jpg 44,9,394,276,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001390.jpg 75,103,290,254,11 263,65,367,168,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001394.jpg 2,16,496,318,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001395.jpg 1,56,304,258,18 1,23,500,259,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001397.jpg 42,82,324,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001399.jpg 171,164,267,267,11 299,176,396,268,11 258,72,285,150,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001401.jpg 1,19,500,374,7 11,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001402.jpg 133,50,404,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001403.jpg 96,1,488,325,5 1,204,111,304,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001405.jpg 240,97,500,346,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001406.jpg 7,219,105,268,9 47,232,193,306,9 216,189,315,241,9 349,174,436,236,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001407.jpg 171,198,376,427,11 326,45,419,209,11 322,28,483,125,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001408.jpg 123,262,144,319,14 62,259,105,377,14 1,177,226,375,18 319,246,375,306,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001410.jpg 18,73,486,302,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001411.jpg 180,135,234,304,14 215,143,281,314,14 336,136,391,334,14 306,118,354,315,14 8,167,18,198,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001412.jpg 232,1,486,222,12 165,90,278,270,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001413.jpg 34,114,471,228,0 486,195,500,217,6 470,186,481,217,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001417.jpg 28,42,329,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001418.jpg 1,48,323,375,7 179,1,228,78,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001421.jpg 117,52,463,392,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001422.jpg 1,232,178,376,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001425.jpg 185,83,500,278,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001426.jpg 28,47,480,234,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001430.jpg 289,149,323,214,15 113,92,236,302,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001431.jpg 36,242,367,437,1 1,113,46,141,6 45,118,65,140,6 152,117,204,164,6 178,64,280,491,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001432.jpg 10,3,310,494,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001433.jpg 221,193,257,217,2 15,183,50,226,2 30,248,69,291,2 161,204,190,244,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001434.jpg 39,245,398,374,17 295,184,421,309,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001435.jpg 9,80,322,300,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001439.jpg 209,273,238,315,1 213,246,234,289,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001441.jpg 79,91,276,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001448.jpg 136,17,440,330,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001449.jpg 2,119,391,354,6 202,138,257,202,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001450.jpg 78,105,279,413,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001451.jpg 37,1,314,384,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001452.jpg 173,80,477,343,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001453.jpg 102,66,360,252,5 1,182,38,210,6 401,202,438,257,14 45,179,58,216,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001455.jpg 115,305,224,442,8 15,301,122,464,8 1,315,190,457,10 97,305,151,434,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001456.jpg 92,415,375,456,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001457.jpg 125,30,384,236,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001458.jpg 63,67,453,318,5 1,162,73,248,5 455,223,470,288,14 469,231,489,282,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001461.jpg 92,1,373,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001463.jpg 210,120,314,464,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001464.jpg 4,5,459,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001465.jpg 31,39,500,267,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001468.jpg 1,10,472,336,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001472.jpg 93,1,175,43,13 95,40,363,290,13 289,7,371,92,13 332,33,500,278,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001473.jpg 36,1,500,299,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001478.jpg 37,104,334,251,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001479.jpg 160,217,374,481,14 1,34,138,360,14 182,1,319,247,14 1,255,56,452,15 64,127,160,325,15 310,165,375,289,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001480.jpg 98,117,146,189,14 137,123,167,181,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001481.jpg 233,305,322,397,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001486.jpg 1,11,271,357,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001487.jpg 60,53,456,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001489.jpg 20,140,404,251,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001497.jpg 158,142,392,397,11 128,203,166,251,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001499.jpg 131,33,500,352,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001501.jpg 59,210,335,461,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001502.jpg 67,69,144,335,14 1,1,500,148,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001503.jpg 132,115,352,427,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001505.jpg 1,41,500,306,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001511.jpg 441,249,500,372,8 341,267,438,375,8 378,263,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001514.jpg 2,17,479,391,1 171,1,414,244,8 1,1,266,133,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001515.jpg 1,74,341,480,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001516.jpg 1,18,422,263,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001518.jpg 246,160,278,195,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001520.jpg 104,165,236,334,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001522.jpg 47,133,424,327,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001525.jpg 312,87,470,222,3 282,126,383,194,3 52,193,229,274,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001528.jpg 248,127,397,295,14 2,88,324,375,14 388,228,493,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001529.jpg 3,44,259,473,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001533.jpg 68,67,172,211,19 1,70,101,253,19 348,111,500,400,8 183,15,438,400,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001534.jpg 13,49,500,374,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001535.jpg 108,295,405,374,10 367,97,500,251,8 307,116,490,303,8 53,274,126,375,4 1,1,453,352,14 351,82,430,120,3 421,133,500,172,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001536.jpg 309,268,490,322,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001537.jpg 162,1,467,299,11 108,106,337,277,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001539.jpg 1,28,500,309,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001540.jpg 1,1,375,500,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001543.jpg 48,95,307,282,11 91,7,474,283,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001544.jpg 81,156,375,500,7 1,1,168,500,15 249,117,294,178,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001547.jpg 189,178,319,316,17 17,172,92,256,8 65,165,169,229,17 164,139,218,228,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001548.jpg 102,130,296,318,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001550.jpg 48,14,467,330,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001551.jpg 148,113,308,156,3 316,188,344,276,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001552.jpg 1,7,132,335,14 122,1,189,206,14 132,47,393,335,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001553.jpg 47,1,358,191,6 1,34,294,500,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001555.jpg 1,23,459,340,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001557.jpg 76,169,211,396,16 149,124,245,285,16 80,76,170,189,16 216,89,323,234,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001560.jpg 146,37,499,310,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001561.jpg 13,59,488,350,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001562.jpg 413,120,500,252,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001563.jpg 229,314,302,380,11 182,298,238,341,11 215,127,286,351,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001569.jpg 182,6,306,305,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001571.jpg 126,53,417,294,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001572.jpg 216,141,478,250,6 49,140,309,265,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001574.jpg 54,119,134,219,8 125,124,214,250,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001576.jpg 1,49,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001577.jpg 109,1,368,375,16 296,260,500,375,16 1,1,115,82,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001579.jpg 1,244,500,373,10 53,3,283,253,14 305,1,500,261,14 83,92,157,135,14 12,54,104,189,14 291,177,336,245,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001580.jpg 346,166,474,288,19 14,163,243,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001583.jpg 21,85,482,212,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001584.jpg 347,71,422,186,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001586.jpg 196,210,295,381,14 279,258,337,381,14 317,252,391,383,14 381,222,460,390,14 323,142,420,289,14 2,80,499,311,18 261,283,454,384,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001587.jpg 97,3,397,334,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001590.jpg 17,18,481,292,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001592.jpg 16,10,489,303,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001594.jpg 138,184,203,216,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001595.jpg 26,141,314,329,12 294,186,464,284,12 185,78,447,260,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001596.jpg 125,30,301,379,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001599.jpg 95,172,147,242,2 165,181,203,240,2 239,197,263,243,2 311,184,337,214,2 315,195,372,240,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001601.jpg 183,65,352,362,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001602.jpg 158,74,347,323,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001603.jpg 97,2,472,468,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001606.jpg 72,291,266,497,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001607.jpg 63,70,276,245,16 142,64,416,260,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001608.jpg 245,211,311,261,8 458,223,500,270,8 221,247,305,375,8 253,278,335,375,8 237,240,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001614.jpg 70,98,271,463,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001618.jpg 269,183,299,195,16 177,179,200,191,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001619.jpg 1,177,55,368,14 147,179,204,320,14 78,207,151,374,14 233,187,265,323,14 291,184,346,328,14 192,181,267,377,14 419,146,488,362,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001625.jpg 27,120,483,207,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001626.jpg 1,1,375,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001630.jpg 89,43,299,295,5 371,126,431,211,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001633.jpg 19,1,472,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001635.jpg 205,285,269,342,11 10,57,278,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001636.jpg 1,105,500,375,17 1,95,204,375,14 211,51,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001637.jpg 124,1,500,453,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001638.jpg 57,70,454,317,6 404,71,440,129,14 375,80,403,139,14 380,66,408,103,14 106,52,131,88,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001640.jpg 1,64,210,246,5 92,84,368,237,5 358,99,470,230,5 298,121,500,220,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001644.jpg 9,57,401,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001645.jpg 84,135,117,197,14 104,87,160,249,14 145,72,213,219,14 205,70,276,216,14 243,115,336,299,14 215,119,374,332,14 361,160,478,332,14 414,126,490,242,14 165,213,370,332,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001646.jpg 269,49,496,265,5 142,110,258,230,5 11,77,144,244,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001647.jpg 10,62,500,289,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001649.jpg 86,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001650.jpg 54,26,394,370,5 1,236,29,257,6 193,210,246,264,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001652.jpg 77,96,475,231,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001656.jpg 47,95,314,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001659.jpg 165,102,232,247,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001660.jpg 59,40,500,360,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001665.jpg 160,48,349,340,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001668.jpg 66,176,445,301,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001669.jpg 22,150,77,202,6 89,178,231,324,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001671.jpg 124,120,378,335,9 141,204,313,329,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001674.jpg 69,90,374,500,8 20,53,339,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001675.jpg 1,1,500,333,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001676.jpg 43,51,419,313,12 73,48,480,323,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001679.jpg 1,17,500,335,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001680.jpg 12,38,485,375,10 233,145,282,250,4 1,1,146,133,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001682.jpg 384,124,472,296,8 165,121,230,199,8 114,182,154,250,4 151,129,215,197,14 228,108,336,301,14 240,180,391,375,14 1,190,258,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001685.jpg 18,22,485,333,6 340,1,500,114,6 227,1,298,20,6 130,1,219,30,6 1,1,134,55,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001687.jpg 1,1,280,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001689.jpg 26,60,387,357,11 1,1,500,347,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001690.jpg 1,1,489,418,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001691.jpg 145,97,174,200,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001692.jpg 173,120,450,337,9 124,53,268,338,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001694.jpg 188,131,299,301,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001697.jpg 74,141,429,313,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001698.jpg 35,2,200,500,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001699.jpg 270,91,420,375,14 258,84,421,358,8 456,100,500,169,15 199,18,410,158,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001700.jpg 131,178,312,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001705.jpg 93,36,365,344,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001706.jpg 235,1,500,374,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001709.jpg 137,38,437,301,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001710.jpg 50,162,122,183,3 1,165,25,184,3 113,146,195,172,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001712.jpg 94,158,335,375,7 22,236,93,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001715.jpg 1,25,337,377,11 251,165,489,354,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001717.jpg 59,44,319,292,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001718.jpg 335,144,412,248,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001719.jpg 1,127,500,250,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001720.jpg 190,113,375,194,11 1,1,341,346,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001726.jpg 68,200,302,390,11 37,201,194,416,11 145,56,335,287,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001729.jpg 140,223,164,256,14 263,199,288,258,14 44,206,256,285,3 377,209,402,233,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001731.jpg 109,37,385,469,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001732.jpg 172,79,354,261,5 14,80,127,209,5 271,73,289,88,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001734.jpg 188,161,336,322,18 135,269,157,330,14 3,274,44,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001737.jpg 323,73,411,315,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001739.jpg 50,26,189,478,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001743.jpg 375,154,456,247,8 278,140,340,207,8 2,160,97,256,15 80,145,309,291,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001744.jpg 3,78,500,357,7 1,102,265,254,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001746.jpg 1,18,481,333,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001747.jpg 19,11,215,490,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001748.jpg 466,187,492,272,14 28,216,42,244,14 75,19,480,305,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001749.jpg 159,99,283,294,14 1,124,500,375,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001752.jpg 128,25,371,191,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001753.jpg 118,28,393,490,1 243,225,279,270,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001754.jpg 23,144,261,292,11 225,51,500,283,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001756.jpg 32,144,470,375,11 1,1,473,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001757.jpg 163,172,500,375,6 48,56,161,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001759.jpg 262,137,459,295,12 1,125,218,309,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001760.jpg 30,44,386,441,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001762.jpg 148,114,312,375,14 361,26,466,173,14 124,75,218,217,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001763.jpg 7,40,464,310,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001767.jpg 1,34,215,142,6 1,142,423,375,17 212,102,383,375,14 168,12,281,159,14 1,122,143,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001768.jpg 132,161,181,205,11 23,159,105,223,11 402,97,435,183,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001770.jpg 113,182,155,197,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001771.jpg 45,95,375,224,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001773.jpg 295,17,432,189,15 17,70,386,302,15 1,69,93,224,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001776.jpg 94,146,416,374,11 38,17,385,225,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001777.jpg 2,154,375,500,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001780.jpg 148,147,324,299,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001783.jpg 1,52,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001784.jpg 60,30,148,68,2 141,85,300,171,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001785.jpg 64,181,440,375,10 314,132,342,204,4 248,184,294,260,4 228,207,253,251,4 400,109,500,375,14 1,107,183,375,14 34,59,215,227,14 46,1,61,32,4 32,1,47,32,4 301,133,376,204,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001787.jpg 16,6,250,493,7 218,176,396,479,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001788.jpg 207,96,401,265,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001794.jpg 1,1,448,393,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001795.jpg 119,274,251,435,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001796.jpg 34,9,500,375,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001797.jpg 102,164,307,318,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001801.jpg 38,120,486,293,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001803.jpg 371,200,474,276,9 305,203,398,274,9 189,202,312,276,9 258,195,369,273,9 11,214,49,244,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001806.jpg 86,90,349,273,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001807.jpg 83,18,284,453,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001808.jpg 24,68,488,283,5 1,162,40,226,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001810.jpg 61,46,378,242,13 188,48,293,228,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001814.jpg 61,157,160,375,14 153,147,245,375,14 239,156,320,375,14 320,151,413,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001817.jpg 223,103,278,331,14 122,94,226,333,14 123,96,186,347,14 191,128,265,344,14 271,103,347,345,14 263,130,334,352,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001819.jpg 362,79,395,248,4 278,85,317,249,4 193,67,225,247,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001820.jpg 242,151,302,261,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001821.jpg 284,275,439,363,6 439,279,483,300,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001823.jpg 127,333,235,500,8 239,366,333,500,8 179,340,333,408,10 317,328,327,356,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001827.jpg 4,3,342,366,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001828.jpg 1,46,492,281,6 25,119,500,339,13 142,28,436,339,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001829.jpg 1,46,216,332,12 183,43,458,333,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001830.jpg 1,11,143,500,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001836.jpg 257,157,348,180,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001837.jpg 135,218,247,369,11 197,2,332,377,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001838.jpg 1,10,492,444,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001841.jpg 1,92,224,364,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001842.jpg 112,77,474,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001843.jpg 361,236,500,375,15 182,221,396,375,15 17,209,201,355,15 200,114,326,312,11 51,147,195,288,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001845.jpg 184,52,325,229,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001846.jpg 37,156,128,295,8 393,145,474,242,8 124,192,381,243,10 36,34,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001849.jpg 323,221,459,375,8 378,7,452,135,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001850.jpg 112,172,210,282,11 67,191,150,318,11 398,10,500,375,14 3,84,367,375,6 248,133,410,250,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001851.jpg 142,216,273,350,10 37,211,131,355,8 218,199,309,337,8 244,60,282,154,15 230,148,291,220,15 391,109,471,177,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001852.jpg 297,26,500,323,12 1,1,215,259,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001853.jpg 271,154,336,298,8 159,154,220,195,8 1,166,95,322,8 110,186,219,360,8 291,186,398,358,8 400,168,500,320,8 44,193,456,322,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001856.jpg 1,80,165,341,12 201,78,355,365,14 386,43,494,206,14 349,103,415,218,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001857.jpg 57,210,258,414,8 63,71,330,476,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001858.jpg 320,198,388,260,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001860.jpg 159,1,375,122,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001862.jpg 1,112,88,235,19 46,1,482,375,14 202,95,456,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001863.jpg 1,85,340,433,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001864.jpg 61,1,500,328,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001868.jpg 202,109,358,239,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001869.jpg 167,39,421,271,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001870.jpg 110,72,325,375,14 57,73,490,327,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001877.jpg 124,203,218,292,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001881.jpg 94,43,500,375,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001884.jpg 82,135,279,270,7 447,23,500,133,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001885.jpg 116,1,437,426,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001891.jpg 142,139,286,371,11 106,1,295,360,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001892.jpg 1,1,408,249,5 225,129,286,259,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001893.jpg 96,119,410,241,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001896.jpg 1,1,500,263,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001899.jpg 1,17,274,375,3 87,27,500,375,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001904.jpg 150,90,316,317,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001907.jpg 322,149,500,331,10 1,1,497,331,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001908.jpg 233,69,459,357,11 21,58,43,114,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001911.jpg 153,72,306,298,11 198,1,368,133,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001913.jpg 306,74,500,224,7 13,187,61,259,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001916.jpg 160,102,242,172,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001918.jpg 45,46,244,235,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001919.jpg 204,30,350,192,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001921.jpg 293,152,401,260,1 1,150,55,231,1 306,112,384,236,14 1,91,40,215,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001922.jpg 114,48,412,289,1 180,62,418,289,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001923.jpg 28,44,467,288,13 137,1,201,125,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001924.jpg 1,33,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001927.jpg 116,26,439,208,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001929.jpg 71,35,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001931.jpg 2,59,494,265,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001933.jpg 41,19,418,312,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001934.jpg 96,78,298,178,7 124,229,233,370,7 223,280,368,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001937.jpg 1,68,401,374,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001938.jpg 1,1,448,336,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001939.jpg 3,140,230,257,7 345,136,438,217,19 1,209,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001940.jpg 122,106,225,375,14 211,15,499,375,14 1,46,134,207,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001941.jpg 61,145,232,477,14 182,70,375,283,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001944.jpg 155,61,399,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001948.jpg 44,7,495,356,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001950.jpg 58,77,446,230,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001951.jpg 403,166,433,237,14 80,111,397,258,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001954.jpg 131,41,415,234,6 1,72,19,191,14 16,77,31,186,14 24,86,48,189,14 41,84,59,188,14 55,92,74,188,14 69,80,100,188,14 97,96,111,148,14 113,100,129,187,14 119,96,139,186,14 135,101,147,163,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001956.jpg 1,37,306,435,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001957.jpg 1,31,495,379,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001960.jpg 1,59,500,375,14 249,30,473,251,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001962.jpg 17,82,500,334,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001966.jpg 58,245,96,275,6 145,239,162,273,14 165,241,179,273,14 344,258,358,283,14 83,244,102,265,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001967.jpg 248,1,456,319,3 45,274,122,312,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001968.jpg 55,54,447,285,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001970.jpg 72,323,280,488,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001973.jpg 19,32,326,491,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001974.jpg 307,158,362,214,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001976.jpg 166,95,358,314,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001978.jpg 40,1,432,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001979.jpg 123,88,395,265,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001980.jpg 321,404,358,500,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001981.jpg 1,24,420,366,6 1,1,193,162,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001982.jpg 35,266,333,384,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001986.jpg 237,161,280,211,13 249,159,274,195,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001987.jpg 129,202,162,227,16 229,94,271,134,16 178,112,217,154,16 222,32,253,76,16 58,105,96,144,16 164,176,240,218,16 121,256,152,278,16 24,245,52,268,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001988.jpg 67,1,340,235,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001992.jpg 205,81,364,210,2 180,184,321,282,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001993.jpg 92,106,448,233,6 304,104,354,150,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001994.jpg 81,9,277,408,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001995.jpg 1,170,375,498,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_001998.jpg 47,117,460,280,6 396,105,439,134,6 424,100,500,165,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002000.jpg 49,128,231,236,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002002.jpg 21,110,212,331,14 280,76,363,152,19 357,106,500,328,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002005.jpg 1,20,349,393,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002006.jpg 179,54,257,167,14 1,11,175,284,14 179,29,324,266,14 1,257,324,432,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002015.jpg 240,127,319,198,19 1,202,267,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002017.jpg 295,59,500,247,6 287,103,348,264,4 185,54,348,367,14 309,52,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002018.jpg 264,103,412,174,9 362,119,473,171,9 234,112,291,185,9 69,31,163,169,14 121,55,246,170,14 120,43,178,169,14 350,86,369,111,14 370,86,407,127,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002019.jpg 56,106,433,227,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002020.jpg 1,26,346,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002022.jpg 113,42,326,316,11 238,51,500,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002023.jpg 145,27,448,257,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002025.jpg 1,86,260,256,7 1,148,402,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002026.jpg 31,166,275,415,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002029.jpg 109,29,428,394,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002030.jpg 56,5,484,322,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002032.jpg 278,203,356,325,8 209,222,280,342,8 63,205,153,326,8 148,197,206,312,8 218,194,271,315,8 86,202,316,337,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002037.jpg 191,134,477,333,11 2,85,177,253,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002039.jpg 128,141,234,301,16 235,170,317,288,16 383,191,440,277,16 373,25,452,58,6 236,90,271,184,14 273,118,307,182,14 302,111,339,238,14 330,103,366,216,14 359,93,436,198,14 450,124,500,265,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002040.jpg 18,16,333,487,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002041.jpg 447,148,500,189,16 308,123,414,198,16 178,139,294,215,16 1,147,129,232,16 22,145,140,220,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002042.jpg 128,79,377,290,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002044.jpg 38,30,472,328,6 399,78,500,243,6 63,10,93,121,14 192,95,215,179,14 221,80,291,164,14 351,69,439,133,14 363,34,405,87,14 483,56,497,100,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002045.jpg 5,83,433,353,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002046.jpg 293,115,433,165,6 87,119,200,164,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002047.jpg 45,87,276,236,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002048.jpg 104,108,460,263,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002050.jpg 1,1,135,223,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002054.jpg 391,224,448,275,16 340,232,397,272,16 322,248,356,295,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002055.jpg 37,120,375,500,1 248,262,276,306,14 229,265,286,337,4 13,241,51,312,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002057.jpg 5,22,486,367,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002058.jpg 64,30,192,241,16 35,221,168,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002060.jpg 85,46,328,282,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002065.jpg 6,61,495,239,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002067.jpg 154,154,253,250,11 166,194,384,289,11 46,110,117,177,11 330,182,388,213,11 337,113,399,200,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002068.jpg 162,29,457,242,7 37,51,201,200,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002070.jpg 392,208,444,333,8 26,97,204,333,14 260,92,405,333,14 140,223,344,333,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002073.jpg 3,1,500,375,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002080.jpg 1,135,359,347,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002085.jpg 1,107,500,374,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002086.jpg 112,3,403,332,7 3,1,500,333,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002089.jpg 157,68,320,211,11 141,347,229,472,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002094.jpg 9,8,499,316,19 157,41,319,287,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002095.jpg 49,1,500,313,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002096.jpg 14,105,205,375,14 106,118,242,375,14 235,132,358,375,14 387,135,488,375,14 463,84,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002097.jpg 281,132,430,275,19 48,120,226,294,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002098.jpg 65,41,177,180,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002100.jpg 14,9,435,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002102.jpg 105,45,391,276,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002104.jpg 243,118,319,148,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002105.jpg 35,61,302,214,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002106.jpg 182,1,500,331,16 86,1,438,235,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002107.jpg 106,49,293,190,6 185,120,464,318,6 450,92,500,310,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002113.jpg 1,38,461,333,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002117.jpg 27,22,337,429,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002118.jpg 1,1,500,330,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002121.jpg 1,191,375,375,8 13,106,459,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002124.jpg 2,36,438,333,16 270,155,427,333,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002127.jpg 335,267,352,298,4 361,38,459,319,14 65,46,170,304,14 437,170,500,217,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002128.jpg 108,173,397,361,13 160,79,239,367,14 104,54,225,264,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002129.jpg 264,165,300,183,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002130.jpg 393,190,451,217,16 311,197,387,239,16 347,191,396,215,16 157,216,253,259,16 211,179,274,236,16 280,176,320,194,16 121,157,156,193,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002132.jpg 36,76,487,285,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002133.jpg 1,1,483,375,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002136.jpg 229,15,421,220,7 70,206,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002137.jpg 160,189,282,312,7 52,1,371,320,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002138.jpg 1,1,465,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002139.jpg 30,157,333,360,9 150,49,196,190,14 186,51,238,189,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002141.jpg 175,43,416,132,0 236,58,322,89,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002142.jpg 183,80,374,274,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002143.jpg 136,23,284,316,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002146.jpg 21,185,246,428,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002147.jpg 22,17,490,289,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002149.jpg 143,88,371,252,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002150.jpg 231,192,446,261,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002152.jpg 1,1,500,198,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002154.jpg 267,91,461,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002161.jpg 1,23,377,158,12 1,93,252,375,12 149,127,454,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002166.jpg 69,136,222,374,14 207,78,325,239,14 137,35,244,256,8 1,71,97,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002167.jpg 89,232,375,500,7 57,96,363,424,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002168.jpg 214,24,494,375,12 158,304,186,348,2 4,66,54,192,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002172.jpg 2,9,500,322,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002175.jpg 84,299,331,466,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002176.jpg 101,149,178,219,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002177.jpg 1,1,342,393,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002179.jpg 129,107,272,375,14 1,64,500,375,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002180.jpg 57,198,393,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002181.jpg 130,77,474,232,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002182.jpg 1,1,355,375,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002183.jpg 140,168,365,338,12 8,136,97,253,14 450,207,473,261,14 478,204,500,264,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002185.jpg 81,113,404,273,6 278,121,352,273,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002187.jpg 80,37,320,240,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002191.jpg 127,203,400,337,17 393,178,477,275,8 1,182,80,276,8 179,128,198,174,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002192.jpg 1,74,400,359,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002193.jpg 318,100,429,203,19 1,1,197,129,15 1,129,198,313,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002194.jpg 186,153,290,193,6 46,165,283,259,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002195.jpg 110,275,227,444,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002199.jpg 116,265,230,359,10 219,254,306,350,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002200.jpg 81,100,414,212,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002203.jpg 53,118,375,363,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002204.jpg 39,25,432,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002207.jpg 1,33,491,226,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002208.jpg 111,129,500,375,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002211.jpg 1,180,351,500,1 172,144,358,500,14 350,351,375,460,15 121,407,212,470,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002213.jpg 162,170,198,216,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002215.jpg 16,68,157,219,16 174,88,326,294,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002216.jpg 2,77,500,246,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002218.jpg 1,82,357,500,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002219.jpg 371,175,462,307,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002220.jpg 64,2,361,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002221.jpg 1,68,499,397,12 75,73,230,398,14 384,224,446,398,14 443,283,500,398,14 216,187,269,252,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002223.jpg 29,87,273,402,18 286,207,310,295,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002224.jpg 143,66,500,370,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002226.jpg 177,134,313,355,14 241,151,363,351,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002227.jpg 59,9,414,373,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002228.jpg 2,96,302,498,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002229.jpg 166,30,202,60,0 205,59,229,90,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002232.jpg 233,58,393,293,16 172,151,234,303,16 66,151,137,289,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002236.jpg 100,168,445,282,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002242.jpg 156,75,384,196,2 190,111,418,239,2 179,37,243,88,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002243.jpg 15,78,324,411,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002244.jpg 82,1,384,379,4 238,1,500,378,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002245.jpg 178,117,331,249,19 51,203,244,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002247.jpg 106,31,286,221,19 401,31,500,145,19 180,88,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002248.jpg 1,1,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002251.jpg 1,166,359,374,13 97,91,244,352,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002254.jpg 1,13,312,336,9 321,89,363,121,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002255.jpg 10,75,305,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002261.jpg 65,254,241,333,18 1,259,206,332,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002263.jpg 78,127,500,339,5 1,213,82,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002267.jpg 140,46,264,464,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002269.jpg 1,134,117,375,14 16,246,92,375,4 168,273,214,375,4 417,242,439,322,4 122,113,203,224,14 259,143,407,309,14 102,142,278,365,14 1,287,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002271.jpg 34,10,439,368,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002274.jpg 15,33,230,309,14 7,276,333,500,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002276.jpg 217,178,317,231,11 128,126,415,218,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002278.jpg 78,85,363,334,7 1,10,73,234,14 49,1,391,334,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002279.jpg 1,1,446,240,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002283.jpg 10,15,471,430,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002286.jpg 2,2,490,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002287.jpg 207,83,500,322,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002289.jpg 19,126,296,220,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002294.jpg 1,1,317,265,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002295.jpg 80,89,500,296,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002299.jpg 1,36,439,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002301.jpg 191,156,363,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002303.jpg 44,1,252,500,7 55,66,342,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002305.jpg 1,167,429,319,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002307.jpg 1,1,341,449,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002309.jpg 239,128,361,282,11 132,92,180,157,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002310.jpg 62,139,445,268,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002312.jpg 1,59,500,332,17 1,102,359,335,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002313.jpg 76,1,333,324,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002315.jpg 34,1,441,318,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002316.jpg 382,186,500,400,15 1,1,211,400,15 193,91,330,284,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002318.jpg 97,37,249,272,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002319.jpg 153,157,201,257,11 26,150,239,385,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002320.jpg 151,71,318,296,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002321.jpg 86,163,258,256,3 136,115,295,210,3 295,150,449,243,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002326.jpg 105,16,420,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002327.jpg 278,93,473,284,19 11,101,238,312,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002332.jpg 1,1,333,332,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002333.jpg 1,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002336.jpg 44,149,332,409,10 172,144,375,496,8 1,156,157,412,8 195,103,323,357,8 24,138,195,340,8 190,80,252,157,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002337.jpg 177,65,393,225,17 1,101,223,321,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002338.jpg 1,126,407,315,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002340.jpg 15,261,204,500,12 24,104,331,500,12 226,63,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002346.jpg 1,194,166,328,16 1,164,73,201,16 268,107,395,275,14 318,118,384,306,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002348.jpg 66,2,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002349.jpg 1,3,416,332,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002353.jpg 144,170,228,334,14 255,194,358,319,16 358,233,447,335,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002354.jpg 90,59,333,499,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002356.jpg 147,18,454,266,5 43,68,198,244,5 294,177,340,277,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002357.jpg 82,85,455,215,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002361.jpg 317,55,500,242,6 12,50,488,342,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002363.jpg 65,74,405,358,6 353,26,437,206,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002364.jpg 68,151,463,280,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002365.jpg 281,204,416,329,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002366.jpg 1,330,273,500,10 183,331,309,453,8 89,308,149,349,8 1,326,123,500,8 143,354,303,500,8 323,226,375,378,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002368.jpg 48,67,370,307,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002369.jpg 42,13,417,317,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002370.jpg 170,224,325,375,8 184,191,293,320,8 201,172,282,249,8 122,163,188,238,8 8,162,75,236,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002371.jpg 188,45,500,357,7 26,18,490,357,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002372.jpg 216,126,272,152,9 255,124,308,148,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002373.jpg 1,261,260,500,10 9,304,69,408,4 85,276,129,370,4 227,103,375,500,14 128,96,278,365,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002374.jpg 405,75,440,111,2 252,118,377,231,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002378.jpg 99,156,333,430,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002379.jpg 1,1,500,375,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002382.jpg 245,63,500,324,11 13,11,244,305,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002383.jpg 139,142,271,317,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002387.jpg 212,210,434,315,6 461,234,500,260,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002388.jpg 132,203,231,500,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002390.jpg 213,47,500,374,9 135,180,437,375,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002391.jpg 1,1,401,289,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002392.jpg 2,18,500,483,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002393.jpg 117,109,251,310,3 342,150,445,313,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002396.jpg 112,33,353,332,14 129,115,319,332,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002398.jpg 137,42,323,310,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002399.jpg 49,32,462,323,11 331,193,423,305,11 279,184,351,312,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002400.jpg 1,286,499,375,10 341,156,423,288,8 447,146,500,248,8 417,145,448,213,8 315,148,369,203,8 139,153,191,193,8 112,158,183,221,8 155,67,389,296,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002402.jpg 116,259,204,308,11 343,161,409,223,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002405.jpg 1,1,500,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002406.jpg 70,28,435,258,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002408.jpg 44,98,295,436,13 1,1,72,271,14 173,1,278,256,14 150,1,181,60,14 267,1,357,228,14 294,1,375,277,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002409.jpg 270,72,480,259,6 1,65,156,216,6 88,94,405,311,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002410.jpg 157,114,440,303,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002413.jpg 380,127,500,224,5 106,96,320,250,5 4,118,39,174,5 60,140,107,167,5 49,132,107,163,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002418.jpg 6,294,290,479,10 41,302,152,495,8 183,312,281,500,8 180,285,237,325,8 30,274,90,317,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002420.jpg 76,15,482,335,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002422.jpg 28,15,452,390,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002424.jpg 407,14,500,66,6 255,32,500,126,6 10,43,474,266,6 378,1,412,54,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002425.jpg 1,71,294,468,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002427.jpg 70,1,500,332,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002429.jpg 63,60,355,168,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002431.jpg 32,124,212,466,14 198,134,298,434,14 216,164,255,190,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002435.jpg 255,1,299,64,14 113,1,243,323,14 206,129,362,446,13 237,26,317,71,1 96,60,261,156,13 211,39,246,77,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002436.jpg 112,109,318,433,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002438.jpg 61,70,357,266,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002439.jpg 204,16,417,252,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002440.jpg 3,41,169,375,14 137,29,275,316,14 190,23,493,372,14 216,102,290,177,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002445.jpg 5,234,97,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002446.jpg 1,81,250,375,14 215,62,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002448.jpg 1,13,438,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002449.jpg 1,1,208,330,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002450.jpg 270,134,309,231,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002452.jpg 26,23,494,301,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002455.jpg 274,2,409,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002456.jpg 1,1,500,349,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002457.jpg 57,114,202,349,14 273,308,290,361,4 45,127,351,282,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002458.jpg 239,1,500,232,11 1,87,295,338,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002459.jpg 66,34,270,339,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002460.jpg 225,205,352,250,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002461.jpg 1,124,500,332,17 140,35,245,141,14 198,111,477,225,14 42,127,294,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002462.jpg 167,234,448,330,10 200,137,248,242,14 149,141,256,332,14 29,148,197,375,14 318,142,351,187,14 343,146,406,245,14 389,108,500,348,14 162,1,297,216,15 309,200,327,253,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002468.jpg 123,66,419,307,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002469.jpg 3,23,473,368,13 1,5,213,156,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002472.jpg 209,112,371,293,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002475.jpg 11,34,461,359,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002479.jpg 128,1,465,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002480.jpg 57,39,374,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002482.jpg 160,435,197,461,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002484.jpg 468,129,500,174,14 163,194,260,368,14 300,117,419,368,14 400,107,500,368,14 232,98,350,368,14 129,150,270,368,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002485.jpg 1,1,451,399,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002487.jpg 329,139,421,208,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002492.jpg 96,43,250,316,14 182,33,362,337,14 392,223,408,272,14 370,222,393,269,14 407,225,420,251,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002496.jpg 380,95,500,207,0 35,83,400,266,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002497.jpg 242,120,401,222,1 294,75,380,184,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002498.jpg 84,182,237,244,3 207,142,232,206,14 161,147,213,206,14 108,138,174,203,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002499.jpg 156,63,340,279,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002501.jpg 74,341,196,424,16 69,318,176,391,16 2,328,100,413,16 91,232,136,327,14 1,346,40,403,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002504.jpg 47,35,387,325,7 233,79,490,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002507.jpg 162,117,259,174,16 142,128,308,268,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002509.jpg 234,105,499,332,14 1,118,360,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002510.jpg 245,1,460,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002512.jpg 143,65,422,235,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002513.jpg 42,94,484,375,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002516.jpg 439,101,500,141,6 200,92,255,112,6 82,87,205,156,6 1,88,88,183,6 280,94,387,145,6 19,106,382,346,6 370,88,437,278,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002518.jpg 124,66,415,304,16 135,156,226,316,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002520.jpg 157,243,196,366,4 1,349,333,500,10 52,81,285,363,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002526.jpg 17,94,329,500,14 1,169,134,304,14 222,95,329,316,14 63,190,118,238,19 288,169,329,228,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002527.jpg 1,1,256,332,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002529.jpg 83,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002531.jpg 106,34,494,237,7 1,1,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002532.jpg 36,109,389,210,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002533.jpg 227,159,434,332,7 1,98,300,332,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002534.jpg 74,120,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002536.jpg 92,57,454,297,1 1,110,123,347,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002537.jpg 50,15,142,250,15 54,54,148,190,15 264,86,325,208,15 310,49,368,209,15 1,231,500,297,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002538.jpg 238,336,305,407,8 154,336,220,406,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002539.jpg 1,401,197,483,10 242,388,279,499,4 76,94,243,421,14 154,233,350,471,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002542.jpg 3,108,493,217,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002543.jpg 6,85,415,230,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002546.jpg 365,102,500,314,5 67,102,340,293,5 334,163,367,210,6 348,225,375,303,14 59,50,173,74,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002547.jpg 224,197,274,232,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002551.jpg 98,81,500,373,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002552.jpg 297,153,389,199,11 166,133,233,264,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002553.jpg 89,94,464,319,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002556.jpg 40,205,463,288,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002561.jpg 1,35,230,375,11 347,18,500,375,14 219,64,367,225,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002562.jpg 1,55,315,473,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002565.jpg 39,1,408,288,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002567.jpg 113,166,219,269,19 57,1,156,76,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002569.jpg 158,123,259,249,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002570.jpg 14,149,199,458,11 16,1,500,387,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002573.jpg 63,79,342,352,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002575.jpg 23,55,229,428,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002577.jpg 7,63,499,231,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002578.jpg 107,105,479,266,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002579.jpg 72,161,292,247,0 56,212,109,232,0 41,270,59,319,14 474,278,495,334,14 389,259,497,320,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002580.jpg 216,102,436,307,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002582.jpg 270,222,440,286,16 128,137,327,260,16 98,121,249,239,16 1,156,111,236,16 425,158,442,177,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002583.jpg 1,80,275,375,7 229,90,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002586.jpg 255,173,453,295,11 52,162,204,279,11 431,55,452,137,4 153,34,260,116,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002587.jpg 1,10,413,374,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002589.jpg 1,75,336,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002592.jpg 11,1,500,332,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002594.jpg 50,57,429,362,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002597.jpg 38,62,242,479,14 2,169,29,223,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002598.jpg 1,10,428,327,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002601.jpg 125,88,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002602.jpg 193,77,363,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002603.jpg 235,248,375,500,8 6,237,107,422,8 255,138,311,190,14 87,58,263,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002605.jpg 33,185,362,454,10 117,44,335,346,8 272,176,375,433,8 31,200,177,449,8 281,100,375,196,15 96,246,165,395,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002614.jpg 43,46,321,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002615.jpg 83,116,244,422,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002616.jpg 87,12,337,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002618.jpg 1,89,150,201,18 324,43,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002620.jpg 239,179,337,198,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002621.jpg 246,100,424,200,2 83,138,253,223,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002623.jpg 93,1,418,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002624.jpg 330,171,448,238,16 212,139,285,179,16 194,166,289,225,16 253,189,317,235,16 141,145,200,191,16 46,186,150,244,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002625.jpg 166,1,500,400,14 1,118,213,324,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002626.jpg 1,52,407,331,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002628.jpg 1,94,249,284,16 230,91,414,317,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002629.jpg 137,127,352,270,13 198,94,291,243,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002631.jpg 14,2,317,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002632.jpg 21,1,416,330,14 75,171,108,237,15 174,82,262,152,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002638.jpg 22,81,500,260,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002639.jpg 210,120,269,163,8 18,174,123,315,8 10,236,155,375,8 253,151,311,196,8 357,174,435,243,8 312,279,485,375,8 47,160,462,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002642.jpg 1,34,218,294,8 74,65,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002644.jpg 81,80,400,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002645.jpg 1,4,331,498,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002647.jpg 350,142,492,219,6 192,143,388,229,6 15,125,220,262,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002652.jpg 68,134,183,248,19 272,171,388,361,14 140,174,335,361,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002653.jpg 267,157,335,325,3 127,151,198,342,3 175,144,238,300,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002654.jpg 1,37,408,346,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002656.jpg 79,1,375,252,1 1,1,375,500,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002659.jpg 27,50,446,423,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002660.jpg 77,171,333,500,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002661.jpg 15,4,372,460,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002662.jpg 341,34,495,176,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002665.jpg 13,7,478,323,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002666.jpg 216,130,339,253,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002667.jpg 92,73,388,269,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002668.jpg 40,116,459,243,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002674.jpg 125,18,439,244,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002675.jpg 99,100,421,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002676.jpg 117,161,239,217,11 237,158,365,229,7 370,84,423,130,15 60,118,171,214,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002678.jpg 1,26,500,232,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002679.jpg 1,84,196,500,11 146,1,333,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002682.jpg 1,176,14,208,14 46,82,500,244,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002684.jpg 26,188,453,302,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002686.jpg 1,198,130,372,8 153,160,237,236,19 297,215,486,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002688.jpg 304,88,451,170,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002691.jpg 1,44,445,367,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002692.jpg 85,42,264,427,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002693.jpg 89,144,215,351,7 1,270,203,500,8 1,244,233,412,1 2,245,103,380,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002695.jpg 1,38,500,299,0 311,163,390,181,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002696.jpg 148,197,366,500,11 34,1,351,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002697.jpg 27,62,500,264,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002701.jpg 226,166,268,217,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002702.jpg 141,167,253,374,14 77,73,487,247,3 36,209,104,264,6 1,231,35,273,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002704.jpg 1,67,433,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002705.jpg 141,45,280,150,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002708.jpg 136,186,253,273,1 103,150,153,272,14 169,141,227,268,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002710.jpg 84,191,387,337,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002713.jpg 174,150,284,222,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002714.jpg 1,202,500,375,10 87,51,457,270,14 124,53,177,174,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002716.jpg 7,147,152,244,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002720.jpg 295,163,423,275,1 83,109,195,212,1 323,85,406,250,14 80,75,150,185,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002721.jpg 1,118,474,375,10 382,64,471,281,8 222,152,473,375,8 1,133,231,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002722.jpg 31,178,67,259,14 73,171,103,253,14 36,93,500,244,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002723.jpg 297,18,500,241,7 24,57,302,313,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002725.jpg 1,297,500,375,10 1,190,82,272,10 261,50,500,329,14 60,80,260,314,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002728.jpg 169,147,456,355,10 135,174,276,373,8 277,166,413,368,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002729.jpg 16,257,371,500,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002733.jpg 273,199,313,266,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002734.jpg 129,66,222,152,12 261,1,500,333,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002736.jpg 95,253,168,314,16 406,56,472,110,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002737.jpg 1,170,280,382,16 267,25,434,382,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002740.jpg 1,22,289,499,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002741.jpg 47,68,464,340,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002742.jpg 101,36,166,89,19 1,307,266,375,10 237,146,331,375,14 151,186,281,375,14 431,211,500,341,8 68,95,199,211,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002746.jpg 1,49,350,411,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002747.jpg 58,85,334,286,13 169,46,286,262,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002750.jpg 155,182,181,208,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002752.jpg 237,114,279,169,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002754.jpg 131,328,152,345,16 205,317,236,344,16 206,344,251,376,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002758.jpg 53,62,450,301,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002759.jpg 33,108,469,260,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002760.jpg 1,181,192,375,8 207,167,422,374,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002763.jpg 23,245,250,442,9 212,321,324,404,7 257,27,323,324,14 178,82,248,331,14 43,136,230,316,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002767.jpg 1,351,331,500,1 4,81,333,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002770.jpg 1,1,500,375,19 11,74,474,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002771.jpg 296,39,500,365,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002772.jpg 93,36,480,455,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002774.jpg 77,66,455,266,5 1,76,315,261,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002775.jpg 1,87,285,374,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002778.jpg 107,68,305,461,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002779.jpg 287,383,322,450,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002780.jpg 116,46,438,281,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002781.jpg 184,159,500,194,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002783.jpg 1,134,500,326,6 105,101,292,235,14 283,105,500,298,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002786.jpg 1,97,213,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002789.jpg 6,144,500,382,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002790.jpg 249,66,500,263,6 52,55,406,340,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002791.jpg 38,160,336,460,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002792.jpg 140,59,500,333,14 29,65,244,235,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002793.jpg 16,82,363,288,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002794.jpg 69,35,336,375,11 1,210,208,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002797.jpg 1,31,327,375,9 96,62,395,374,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002801.jpg 1,1,500,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002803.jpg 276,188,301,220,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002805.jpg 1,37,401,368,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002807.jpg 136,173,181,231,11 204,11,309,239,14 420,47,491,103,6 94,249,136,269,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002808.jpg 1,1,389,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002811.jpg 284,157,424,309,7 8,109,411,286,10 106,70,180,186,8 258,69,328,183,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002813.jpg 69,17,467,365,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002814.jpg 30,14,494,314,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002815.jpg 106,375,244,496,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002816.jpg 179,116,500,259,0 67,157,98,227,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002817.jpg 112,153,431,283,11 233,16,500,208,11 1,11,332,473,14 2,1,500,414,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002820.jpg 1,272,184,409,1 143,69,251,395,14 3,220,26,277,14 28,249,58,277,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002821.jpg 207,259,333,499,16 14,39,186,473,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002822.jpg 128,187,220,420,12 118,132,241,321,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002824.jpg 1,1,425,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002827.jpg 15,14,500,143,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002830.jpg 21,81,272,428,15 1,271,93,426,15 250,208,375,467,8 1,259,299,500,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002831.jpg 1,1,445,302,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002834.jpg 58,18,288,480,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002838.jpg 122,44,423,471,18 21,230,157,356,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002839.jpg 131,175,188,254,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002840.jpg 1,228,257,398,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002841.jpg 7,65,497,317,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002842.jpg 1,1,338,294,15 52,14,476,343,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002843.jpg 330,2,500,213,19 241,203,351,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002844.jpg 62,122,420,323,6 212,65,268,167,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002845.jpg 49,68,454,347,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002851.jpg 23,131,488,341,18 1,251,13,295,14 13,250,25,286,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002853.jpg 43,170,291,500,14 283,151,354,313,14 62,84,176,203,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002854.jpg 305,89,376,153,2 152,32,236,296,2 65,261,156,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002855.jpg 115,82,313,368,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002856.jpg 74,9,336,409,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002857.jpg 203,43,484,500,11 1,1,323,457,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002858.jpg 232,27,288,132,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002860.jpg 1,83,500,373,14 1,141,500,373,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002864.jpg 78,91,176,298,14 202,113,307,304,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002865.jpg 385,138,500,210,6 409,171,500,375,6 164,116,308,319,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002868.jpg 11,25,287,336,5 196,87,485,302,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002870.jpg 125,228,335,411,8 210,171,335,248,8 262,131,335,182,8 269,126,335,164,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002871.jpg 402,56,421,85,4 1,1,216,333,14 225,103,439,333,14 339,83,500,333,14 261,4,377,99,14 418,1,500,266,14 337,98,379,188,14 358,17,445,90,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002873.jpg 86,136,355,248,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002876.jpg 43,16,500,315,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002877.jpg 95,195,141,302,8 108,158,196,309,14 191,159,237,286,14 237,156,283,291,14 283,155,347,297,14 306,162,393,321,14 340,213,414,338,8 118,211,192,336,8 197,226,268,338,8 157,204,320,319,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002879.jpg 148,207,314,302,11 23,435,70,500,4 37,28,334,419,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002880.jpg 133,261,375,500,10 161,168,311,351,14 8,238,163,500,8 52,66,279,405,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002881.jpg 26,6,329,338,14 54,106,250,331,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002884.jpg 203,20,451,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002887.jpg 117,1,415,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002891.jpg 1,1,500,332,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002892.jpg 156,130,301,205,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002896.jpg 174,104,456,243,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002899.jpg 92,69,423,375,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002900.jpg 1,29,478,443,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002901.jpg 104,72,339,334,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002902.jpg 62,35,395,290,6 1,73,70,220,6 390,95,460,270,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002903.jpg 1,121,398,348,6 182,138,246,183,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002905.jpg 58,65,375,500,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002907.jpg 281,21,413,254,11 311,236,434,410,11 1,211,280,414,11 190,68,301,249,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002909.jpg 1,69,450,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002914.jpg 131,75,306,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002915.jpg 349,202,500,337,1 1,37,397,337,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002917.jpg 2,20,210,284,7 287,32,472,250,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002921.jpg 121,255,336,374,8 1,210,117,374,8 258,175,354,272,19 126,169,250,276,19 48,184,129,271,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002924.jpg 21,11,438,357,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002927.jpg 1,217,390,375,1 63,30,289,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002929.jpg 6,57,454,314,6 1,75,52,123,6 30,76,74,111,6 423,38,500,326,14 395,65,450,145,14 295,51,381,146,14 261,65,320,134,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002930.jpg 98,186,166,222,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002931.jpg 1,80,308,500,14 106,132,168,370,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002935.jpg 106,57,388,144,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002937.jpg 106,157,423,290,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002938.jpg 64,28,483,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002939.jpg 1,41,497,182,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002940.jpg 145,186,217,203,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002941.jpg 80,1,295,500,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002946.jpg 395,213,435,333,14 461,242,499,333,14 458,220,496,328,14 57,58,474,280,18 1,55,232,298,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002947.jpg 128,179,375,254,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002948.jpg 106,52,499,375,12 94,159,247,304,12 1,133,194,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002954.jpg 8,110,493,254,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002955.jpg 133,7,328,174,7 244,176,341,302,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002956.jpg 191,99,330,347,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002958.jpg 168,195,332,447,8 1,114,255,384,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002960.jpg 31,16,254,474,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002962.jpg 1,166,54,204,14 60,128,155,208,14 413,113,500,255,14 58,162,219,375,14 190,149,442,375,14 63,178,468,375,14 311,145,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002963.jpg 108,154,435,320,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002965.jpg 171,65,500,303,7 72,130,187,227,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002972.jpg 1,1,500,334,11 61,191,281,334,11 1,122,137,334,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002973.jpg 19,8,359,452,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002976.jpg 1,1,355,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002978.jpg 79,54,398,311,5 416,215,445,299,14 392,217,408,304,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002979.jpg 1,95,412,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002980.jpg 282,22,487,244,14 108,237,195,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002982.jpg 403,48,500,294,15 1,129,131,281,19 43,63,442,479,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002985.jpg 172,165,199,251,14 140,163,166,255,14 234,173,272,188,6 222,186,394,273,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002987.jpg 66,84,252,361,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002988.jpg 254,176,486,310,6 154,175,361,276,6 79,173,220,259,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002990.jpg 79,57,308,375,7 49,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002991.jpg 193,303,415,492,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002993.jpg 34,87,434,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_002995.jpg 204,54,423,280,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003002.jpg 255,221,313,279,8 74,241,127,311,8 1,263,56,332,8 1,259,357,500,10 1,381,83,500,8 10,213,82,322,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003003.jpg 1,276,319,500,14 71,1,319,319,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003007.jpg 62,5,469,360,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003010.jpg 319,161,430,298,11 61,147,183,303,11 159,1,247,199,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003011.jpg 1,34,470,375,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003013.jpg 217,110,292,162,16 84,113,147,161,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003014.jpg 250,170,418,387,14 279,212,500,387,14 259,9,427,301,14 119,123,258,387,14 1,133,148,340,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003015.jpg 131,49,488,128,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003016.jpg 50,123,303,372,9 165,150,382,375,9 63,42,133,180,14 358,209,411,335,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003017.jpg 156,98,254,319,4 371,191,480,375,4 170,138,390,375,14 123,154,149,255,15 71,172,123,262,15 42,211,66,238,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003019.jpg 22,32,500,380,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003024.jpg 79,1,407,271,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003025.jpg 24,75,496,198,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003027.jpg 1,171,156,296,17 48,267,352,375,8 10,85,107,176,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003028.jpg 182,118,429,293,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003032.jpg 313,81,500,375,11 1,148,226,373,11 191,65,339,243,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003034.jpg 1,72,132,375,14 100,19,199,151,14 171,1,282,169,14 385,76,500,375,14 228,14,460,375,14 89,114,308,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003035.jpg 191,26,250,101,19 30,5,168,165,14 5,39,53,83,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003037.jpg 92,1,211,241,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003040.jpg 60,16,458,266,5 40,128,87,249,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003043.jpg 1,54,236,333,11 301,55,475,215,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003044.jpg 43,68,357,444,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003047.jpg 1,1,485,327,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003050.jpg 1,1,395,374,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003051.jpg 84,127,492,257,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003053.jpg 284,245,500,339,0 9,144,490,303,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003054.jpg 162,47,342,116,0 155,194,273,375,14 259,210,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003055.jpg 60,58,393,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003056.jpg 110,45,278,263,11 1,1,350,263,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003057.jpg 183,102,447,363,5 1,249,34,305,6 14,237,113,296,6 77,232,149,283,6 141,225,181,276,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003060.jpg 78,1,319,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003062.jpg 79,149,401,337,1 180,42,283,307,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003067.jpg 181,92,327,259,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003071.jpg 59,43,290,320,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003072.jpg 191,165,229,196,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003074.jpg 220,163,453,337,16 59,132,244,272,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003077.jpg 135,37,409,329,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003078.jpg 20,165,131,216,10 2,213,172,372,10 80,34,469,375,14 42,213,157,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003081.jpg 180,127,382,286,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003082.jpg 274,36,346,140,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003084.jpg 355,207,395,266,8 420,122,473,204,14 355,113,450,268,14 148,24,339,267,14 1,263,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003086.jpg 1,1,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003088.jpg 87,117,397,213,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003091.jpg 245,125,296,203,14 136,105,250,266,14 2,107,151,334,14 325,89,500,339,14 1,236,403,375,10 183,206,218,338,4 304,176,322,242,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003092.jpg 242,150,390,340,4 393,11,459,184,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003093.jpg 133,283,434,374,1 189,138,337,375,14 297,340,319,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003094.jpg 304,252,370,403,16 1,331,124,460,16 81,128,346,481,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003097.jpg 212,172,289,344,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003098.jpg 4,1,500,297,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003101.jpg 27,35,367,333,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003102.jpg 65,59,500,334,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003103.jpg 332,168,437,253,19 6,229,230,450,8 118,194,189,298,15 124,68,201,130,15 285,72,337,120,15 189,1,283,120,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003106.jpg 99,110,269,277,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003107.jpg 109,104,174,218,14 1,1,368,283,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003108.jpg 1,269,61,500,10 59,12,257,270,14 58,266,375,500,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003112.jpg 197,131,449,375,14 20,139,216,375,14 36,7,367,260,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003114.jpg 201,92,393,353,11 96,89,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003115.jpg 282,236,365,348,8 60,188,252,356,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003117.jpg 350,187,369,234,14 53,20,322,242,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003119.jpg 132,130,384,185,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003120.jpg 367,106,495,200,6 14,63,312,296,6 234,97,475,240,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003122.jpg 48,63,148,205,14 117,51,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003123.jpg 213,6,271,59,6 291,1,346,50,6 1,183,375,500,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003127.jpg 13,133,227,208,0 299,167,403,205,0 398,165,495,201,0 242,169,321,203,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003129.jpg 6,234,83,295,6 135,231,228,280,6 42,241,189,333,6 258,193,500,288,6 164,236,500,375,6 9,157,486,265,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003132.jpg 2,63,500,298,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003133.jpg 87,30,453,370,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003135.jpg 200,107,241,203,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003137.jpg 24,266,92,327,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003138.jpg 143,43,453,334,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003139.jpg 42,66,426,258,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003143.jpg 1,158,188,268,17 183,153,289,277,8 140,236,240,375,8 215,204,292,301,8 195,169,254,290,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003146.jpg 150,118,270,200,11 37,53,220,246,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003147.jpg 25,69,462,272,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003148.jpg 227,180,276,212,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003149.jpg 1,76,317,357,17 391,91,500,259,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003151.jpg 39,12,468,313,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003153.jpg 180,165,415,297,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003154.jpg 147,288,271,375,8 289,270,402,375,8 144,246,240,375,8 273,239,330,348,8 121,253,363,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003156.jpg 425,193,447,234,14 342,217,419,233,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003157.jpg 198,161,337,369,8 54,160,196,381,8 95,142,333,419,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003159.jpg 1,1,500,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003160.jpg 117,148,146,231,14 1,105,500,306,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003162.jpg 93,1,406,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003168.jpg 74,51,284,176,2 171,193,258,253,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003169.jpg 1,34,484,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003170.jpg 192,282,399,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003173.jpg 80,61,475,336,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003174.jpg 71,107,355,431,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003176.jpg 1,1,330,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003179.jpg 49,33,415,327,5 410,72,500,286,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003183.jpg 177,174,408,275,9 46,226,94,270,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003185.jpg 276,23,500,339,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003186.jpg 93,135,374,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003187.jpg 1,1,500,224,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003190.jpg 101,50,446,280,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003191.jpg 88,188,412,287,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003192.jpg 36,9,287,268,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003197.jpg 122,58,421,343,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003199.jpg 31,199,470,313,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003200.jpg 25,65,459,304,13 39,86,63,105,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003201.jpg 128,157,500,299,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003203.jpg 1,299,111,341,17 324,68,500,240,3 138,185,209,368,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003204.jpg 154,64,493,305,11 18,47,233,322,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003206.jpg 1,50,154,155,6 18,60,488,348,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003207.jpg 24,96,226,359,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003212.jpg 111,225,347,268,6 432,249,500,375,14 344,272,413,375,14 273,299,335,375,14 154,282,226,375,14 48,268,159,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003214.jpg 207,63,322,257,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003218.jpg 195,288,250,333,15 150,236,220,346,15 125,271,176,354,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003219.jpg 9,175,368,437,6 219,59,337,444,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003220.jpg 119,128,285,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003222.jpg 153,59,482,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003223.jpg 58,48,337,468,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003227.jpg 1,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003230.jpg 213,112,432,230,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003231.jpg 182,286,360,443,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003232.jpg 112,168,210,390,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003233.jpg 43,35,500,289,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003236.jpg 66,14,351,279,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003238.jpg 1,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003239.jpg 65,131,277,374,9 230,97,347,345,9 1,158,83,324,9 276,124,347,362,9 1,16,186,214,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003240.jpg 125,15,500,350,7 1,67,396,361,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003241.jpg 48,14,124,86,19 201,13,500,375,14 1,48,272,375,14 48,96,91,165,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003244.jpg 111,74,315,266,11 272,69,419,240,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003248.jpg 237,127,468,359,14 1,140,233,363,14 1,127,82,222,14 77,132,127,178,14 2,89,20,121,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003249.jpg 156,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003250.jpg 34,1,436,375,14 295,36,443,293,14 405,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003251.jpg 19,52,478,344,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003252.jpg 238,159,293,212,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003253.jpg 159,65,488,366,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003255.jpg 234,20,473,193,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003256.jpg 1,59,500,292,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003257.jpg 205,161,287,310,11 180,27,438,301,14 36,31,194,168,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003259.jpg 151,134,192,152,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003260.jpg 309,157,373,243,3 104,316,327,500,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003263.jpg 36,328,157,434,10 73,183,239,432,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003264.jpg 314,254,410,331,1 328,214,393,314,14 1,235,166,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003269.jpg 224,167,390,234,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003270.jpg 184,145,304,295,12 245,73,344,253,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003274.jpg 1,63,375,283,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003275.jpg 97,64,372,433,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003276.jpg 30,46,441,327,6 89,45,134,60,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003278.jpg 70,217,462,374,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003279.jpg 21,71,482,184,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003280.jpg 10,132,500,375,12 40,50,259,188,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003283.jpg 174,184,222,231,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003285.jpg 19,14,270,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003287.jpg 363,163,500,300,19 70,106,331,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003290.jpg 34,166,88,188,6 116,165,158,190,6 156,164,186,194,6 183,54,500,307,6 67,168,111,190,6 18,143,43,209,14 92,165,157,189,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003291.jpg 120,40,364,311,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003293.jpg 86,52,398,293,5 432,186,469,236,1 225,138,272,189,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003297.jpg 163,118,349,286,12 76,153,206,231,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003299.jpg 196,7,480,361,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003300.jpg 366,91,450,253,11 55,146,251,371,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003301.jpg 41,15,500,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003302.jpg 184,212,366,375,8 31,206,157,375,8 386,187,500,374,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003303.jpg 209,107,494,302,13 48,119,272,354,13 95,70,219,185,14 269,75,340,265,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003304.jpg 101,249,163,368,4 258,1,500,375,14 151,70,378,372,14 11,124,206,375,14 44,181,92,268,14 34,152,179,334,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003305.jpg 1,1,437,333,17 2,30,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003309.jpg 6,1,486,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003314.jpg 18,256,158,372,1 104,221,287,356,13 226,213,365,348,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003316.jpg 1,1,500,333,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003321.jpg 129,112,246,272,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003325.jpg 164,1,500,344,8 90,301,500,375,10 214,41,477,317,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003326.jpg 9,21,427,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003329.jpg 58,2,238,451,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003331.jpg 127,116,327,307,11 1,16,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003332.jpg 2,115,129,375,14 74,114,151,176,14 156,117,249,295,14 460,119,500,231,14 120,159,343,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003333.jpg 177,30,362,289,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003335.jpg 66,99,459,289,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003337.jpg 242,99,350,288,11 452,1,500,65,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003341.jpg 1,1,500,324,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003342.jpg 1,43,430,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003343.jpg 68,122,264,232,16 325,129,500,298,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003344.jpg 219,218,260,267,2 178,214,217,269,2 187,105,290,224,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003345.jpg 158,147,372,261,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003350.jpg 11,18,481,276,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003351.jpg 156,1,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003353.jpg 20,58,500,247,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003355.jpg 269,113,500,352,14 3,84,181,374,14 86,54,186,164,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003358.jpg 143,2,467,334,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003361.jpg 220,121,261,264,14 1,55,500,273,0 249,136,289,185,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003362.jpg 112,82,500,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003365.jpg 1,36,500,248,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003366.jpg 119,34,319,240,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003367.jpg 112,17,409,328,1 1,1,140,154,6 332,1,460,36,6 285,1,499,206,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003368.jpg 355,98,386,205,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003370.jpg 247,133,417,375,14 157,82,291,371,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003371.jpg 1,52,468,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003372.jpg 1,33,423,334,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003374.jpg 126,106,143,152,4 104,49,197,148,14 259,62,349,172,14 282,76,413,204,14 372,76,500,247,14 1,1,159,375,14 77,130,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003375.jpg 150,297,294,433,11 10,72,134,390,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003376.jpg 269,136,362,231,16 89,158,265,270,16 89,165,202,286,16 273,186,313,219,16 327,153,376,222,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003379.jpg 1,37,500,367,1 351,242,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003380.jpg 1,39,355,500,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003381.jpg 1,93,500,342,6 160,125,272,219,14 427,146,487,212,14 350,7,445,151,14 195,44,243,96,14 71,34,136,174,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003383.jpg 234,1,499,311,9 58,1,314,294,9 1,5,159,266,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003384.jpg 1,44,383,324,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003385.jpg 1,1,488,314,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003390.jpg 2,1,500,500,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003391.jpg 37,93,423,308,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003395.jpg 99,201,177,336,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003397.jpg 1,20,483,374,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003398.jpg 107,45,298,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003400.jpg 39,71,466,254,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003401.jpg 72,198,500,333,17 112,211,275,333,8 1,112,279,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003402.jpg 1,55,443,359,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003405.jpg 81,9,280,477,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003406.jpg 242,104,320,270,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003409.jpg 425,218,457,271,8 234,169,287,338,14 147,185,223,295,14 271,232,320,312,8 215,226,243,310,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003411.jpg 87,35,286,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003415.jpg 1,169,336,461,6 143,211,263,279,14 166,213,224,270,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003418.jpg 158,32,322,267,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003419.jpg 1,9,500,334,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003421.jpg 63,111,331,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003427.jpg 54,1,457,269,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003429.jpg 93,21,418,332,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003432.jpg 1,29,64,134,13 56,23,278,207,13 195,1,320,39,6 14,1,99,19,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003435.jpg 1,1,499,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003436.jpg 293,47,475,270,11 123,33,312,313,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003437.jpg 115,101,353,316,19 173,171,214,250,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003439.jpg 212,21,480,331,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003446.jpg 187,111,274,232,14 160,164,345,261,1 16,105,121,182,6 96,103,243,173,6 203,104,277,161,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003450.jpg 1,1,500,240,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003451.jpg 116,165,365,373,7 136,19,266,94,7 1,15,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003453.jpg 30,42,470,318,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003458.jpg 64,60,467,358,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003461.jpg 226,117,401,299,19 21,26,494,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003465.jpg 173,157,341,283,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003467.jpg 1,1,314,432,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003468.jpg 178,83,283,485,4 37,60,209,397,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003469.jpg 133,10,289,257,14 56,91,433,315,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003470.jpg 428,122,466,212,14 272,79,500,235,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003473.jpg 125,28,345,324,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003474.jpg 13,124,483,246,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003477.jpg 132,201,311,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003478.jpg 38,66,476,337,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003479.jpg 1,1,210,500,11 201,215,339,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003481.jpg 327,192,500,332,7 9,1,500,285,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003482.jpg 174,118,383,245,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003483.jpg 24,63,436,354,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003488.jpg 39,23,470,449,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003490.jpg 189,145,314,240,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003491.jpg 143,276,286,358,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003493.jpg 83,1,473,373,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003495.jpg 80,10,441,289,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003496.jpg 1,105,278,194,0 1,27,500,332,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003497.jpg 231,113,387,331,7 137,108,271,246,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003503.jpg 188,78,363,236,2 1,64,499,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003506.jpg 124,116,471,386,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003507.jpg 383,118,489,242,9 9,125,65,213,9 114,123,186,225,9 294,113,358,217,9 215,123,300,237,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003508.jpg 351,219,371,270,14 306,234,347,270,14 121,109,309,271,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003509.jpg 2,1,500,332,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003512.jpg 103,140,496,250,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003513.jpg 72,18,295,477,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003514.jpg 1,7,336,245,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003520.jpg 88,399,294,500,10 281,447,375,500,8 21,392,127,500,8 103,372,186,491,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003522.jpg 150,100,450,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003526.jpg 2,156,284,375,14 115,130,339,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003527.jpg 107,22,379,304,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003529.jpg 1,1,432,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003531.jpg 44,237,500,374,10 298,268,401,375,8 164,251,302,374,8 88,245,176,374,8 64,221,118,375,8 223,218,277,259,8 297,221,352,271,8 385,227,458,277,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003532.jpg 66,41,432,364,12 10,19,147,211,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003534.jpg 58,76,450,258,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003535.jpg 78,141,263,261,11 1,1,500,375,8 165,1,500,285,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003537.jpg 10,34,458,333,6 292,52,401,321,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003538.jpg 29,41,224,500,14 160,49,334,500,14 1,165,172,460,8 180,128,216,233,4 1,305,57,454,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003539.jpg 81,24,448,487,7 442,191,464,268,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003540.jpg 437,196,470,245,8 452,196,495,264,8 348,162,408,220,14 280,163,345,220,14 226,166,273,219,14 175,160,227,222,14 118,162,175,220,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003541.jpg 1,56,314,338,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003546.jpg 122,128,333,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003547.jpg 163,161,500,259,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003549.jpg 34,171,93,214,14 412,217,447,276,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003551.jpg 186,99,364,213,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003554.jpg 106,47,390,350,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003556.jpg 1,108,328,401,17 191,1,342,287,14 28,93,162,428,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003559.jpg 99,148,461,266,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003560.jpg 90,98,313,311,11 26,147,470,317,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003561.jpg 30,119,331,391,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003562.jpg 66,65,472,279,5 3,171,36,197,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003563.jpg 32,174,271,500,8 84,111,297,474,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003567.jpg 96,150,500,375,16 284,286,474,375,16 1,240,63,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003568.jpg 59,184,374,451,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003569.jpg 46,64,422,309,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003573.jpg 46,95,335,472,12 50,101,133,229,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003574.jpg 131,79,229,155,6 172,77,476,295,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003576.jpg 295,87,456,334,12 68,95,312,288,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003579.jpg 172,34,309,132,7 1,296,157,500,7 1,1,375,419,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003582.jpg 132,91,370,367,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003585.jpg 4,39,151,102,6 139,58,279,107,6 138,134,241,292,14 245,93,348,290,14 340,229,500,301,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003588.jpg 112,24,322,187,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003592.jpg 198,119,284,172,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003594.jpg 1,30,500,373,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003597.jpg 51,221,322,375,10 447,201,500,309,10 1,180,442,375,17 181,233,201,290,4 123,139,201,231,14 292,151,373,315,14 251,124,376,256,14 196,137,257,234,14 1,39,88,197,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003598.jpg 118,250,339,423,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003599.jpg 132,162,230,274,14 174,182,244,276,14 218,147,322,271,14 90,203,453,317,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003601.jpg 179,207,486,233,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003603.jpg 38,344,227,500,1 145,414,176,450,4 42,160,224,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003604.jpg 74,1,375,498,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003605.jpg 49,5,457,333,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003608.jpg 119,138,499,375,13 1,75,285,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003609.jpg 32,91,403,303,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003610.jpg 78,87,137,150,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003612.jpg 27,81,478,282,6 49,91,75,156,14 70,95,100,152,14 94,106,107,148,14 1,89,30,190,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003613.jpg 1,1,500,265,17 67,45,455,226,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003618.jpg 60,1,257,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003625.jpg 1,358,340,500,10 215,142,340,500,4 66,166,272,371,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003628.jpg 459,25,500,295,14 362,79,419,260,14 261,77,329,252,14 76,79,125,247,14 57,64,438,236,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003629.jpg 131,1,365,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003630.jpg 327,139,341,171,14 239,116,316,350,14 186,153,248,340,14 1,1,328,284,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003632.jpg 454,254,500,300,8 444,310,500,375,8 78,38,235,375,14 189,31,363,375,14 186,34,456,375,14 16,213,79,290,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003634.jpg 86,223,230,420,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003635.jpg 38,32,440,273,13 1,27,162,151,6 150,1,478,123,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003640.jpg 14,49,332,473,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003641.jpg 5,1,342,327,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003643.jpg 203,98,405,332,11 62,1,421,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003644.jpg 176,106,306,162,3 1,46,207,166,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003645.jpg 196,166,287,254,12 224,140,258,214,14 63,163,206,217,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003648.jpg 196,81,378,293,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003649.jpg 247,131,407,375,14 141,139,268,375,14 204,149,271,315,14 1,191,29,292,14 6,176,17,204,14 83,179,95,206,14 98,184,106,208,14 15,180,31,238,14 412,308,427,341,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003651.jpg 28,21,314,458,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003653.jpg 24,108,292,460,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003655.jpg 1,1,500,236,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003656.jpg 69,343,226,459,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003659.jpg 97,245,205,290,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003664.jpg 365,36,435,63,6 198,44,344,96,6 52,81,500,262,6 186,108,225,144,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003665.jpg 62,92,467,309,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003667.jpg 154,41,262,193,15 380,40,498,183,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003670.jpg 175,161,231,224,16 228,192,301,232,11 88,124,133,230,14 107,96,184,296,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003671.jpg 61,275,190,418,1 91,179,210,407,14 14,232,51,318,14 88,222,116,322,14 190,223,225,333,14 237,233,279,309,14 210,221,240,329,14 40,238,56,301,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003672.jpg 74,125,419,338,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003673.jpg 27,204,375,500,11 1,65,219,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003674.jpg 55,69,127,122,15 186,70,257,117,15 333,233,486,340,19 332,60,484,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003675.jpg 9,61,500,374,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003677.jpg 1,1,375,500,8 38,94,271,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003679.jpg 260,132,473,229,3 220,139,334,226,3 25,109,285,207,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003680.jpg 150,34,365,281,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003686.jpg 27,76,481,246,0 2,198,88,232,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003687.jpg 226,172,374,268,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003688.jpg 125,4,399,202,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003689.jpg 143,323,294,418,1 5,296,23,335,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003690.jpg 225,135,375,285,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003695.jpg 34,91,480,281,13 166,42,369,279,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003696.jpg 18,1,500,144,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003701.jpg 262,191,373,314,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003703.jpg 26,163,102,327,14 47,203,157,352,14 107,321,236,427,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003708.jpg 304,130,352,163,18 323,135,356,171,18 237,136,274,168,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003709.jpg 102,39,500,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003714.jpg 61,6,199,236,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003716.jpg 1,102,500,229,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003717.jpg 34,1,498,242,17 432,305,500,332,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003719.jpg 383,153,500,368,8 1,164,140,373,8 300,51,360,108,19 147,41,218,119,19 150,14,312,338,14 1,32,162,350,14 357,31,500,298,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003721.jpg 207,38,451,386,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003723.jpg 64,52,462,259,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003724.jpg 1,94,419,500,14 210,89,370,310,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003725.jpg 33,1,439,333,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003728.jpg 197,95,288,179,19 162,87,311,265,15 267,197,423,310,15 351,208,473,303,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003729.jpg 169,21,486,314,6 3,121,156,240,1 72,73,124,218,14 375,252,463,375,15 438,251,491,375,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003730.jpg 29,94,448,266,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003731.jpg 3,115,186,375,14 72,151,228,375,14 236,158,457,375,14 256,185,500,375,14 236,204,260,277,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003734.jpg 229,105,326,311,11 1,1,500,375,6 48,121,132,155,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003735.jpg 91,49,492,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003736.jpg 1,13,459,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003737.jpg 68,135,487,251,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003742.jpg 73,1,453,231,16 160,131,239,303,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003743.jpg 80,14,362,358,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003744.jpg 283,265,401,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003745.jpg 69,57,472,325,13 71,10,315,199,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003746.jpg 33,73,375,500,11 1,85,143,179,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003747.jpg 38,1,408,282,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003752.jpg 194,90,500,298,7 1,1,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003754.jpg 305,164,389,294,16 206,164,318,278,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003755.jpg 11,73,375,500,14 124,191,367,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003757.jpg 46,2,500,333,3 178,67,253,92,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003758.jpg 149,33,351,223,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003761.jpg 401,37,500,202,16 118,19,357,202,16 117,95,323,328,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003762.jpg 1,142,500,359,10 101,24,161,205,4 163,33,222,201,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003764.jpg 149,33,500,256,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003768.jpg 152,163,334,208,6 1,76,40,100,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003770.jpg 384,139,468,207,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003771.jpg 175,84,365,332,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003772.jpg 36,138,326,277,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003773.jpg 1,1,374,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003774.jpg 298,84,482,295,16 283,39,495,147,16 192,6,316,111,16 146,62,306,290,16 2,93,172,325,16 1,1,65,96,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003779.jpg 84,1,217,488,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003781.jpg 11,95,259,264,7 211,24,289,109,15 272,57,359,133,15 346,1,454,149,15 8,18,62,166,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003784.jpg 297,77,422,319,11 46,82,184,276,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003788.jpg 63,147,334,292,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003789.jpg 1,1,497,373,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003791.jpg 1,75,338,465,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003792.jpg 33,115,125,174,16 66,150,178,222,16 64,166,186,242,16 330,170,441,250,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003798.jpg 6,118,494,313,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003799.jpg 111,13,442,365,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003800.jpg 213,123,500,341,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003801.jpg 1,103,464,304,0 167,1,500,203,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003804.jpg 172,213,347,320,17 218,17,281,201,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003805.jpg 1,187,340,500,7 1,15,340,249,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003806.jpg 45,122,244,303,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003807.jpg 12,154,333,472,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003811.jpg 416,45,448,140,14 382,56,421,90,14 40,33,431,283,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003813.jpg 33,130,480,336,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003815.jpg 29,134,469,241,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003816.jpg 4,27,498,155,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003818.jpg 110,52,500,374,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003820.jpg 95,110,200,172,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003821.jpg 133,1,500,298,9 1,166,129,280,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003822.jpg 138,336,228,374,11 73,257,150,355,8 93,252,262,375,10 321,209,408,260,17 174,245,238,336,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003823.jpg 63,121,466,246,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003825.jpg 182,203,202,235,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003826.jpg 163,36,401,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003828.jpg 17,262,35,315,4 47,138,347,330,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003837.jpg 49,40,500,291,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003844.jpg 147,9,415,200,19 248,54,391,181,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003845.jpg 308,204,392,285,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003847.jpg 1,73,500,238,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003848.jpg 254,252,322,301,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003852.jpg 68,76,217,345,11 244,52,425,358,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003854.jpg 1,33,403,333,6 341,6,374,94,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003855.jpg 3,163,335,440,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003856.jpg 12,130,55,213,14 68,125,101,218,14 180,170,460,336,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003857.jpg 40,21,470,360,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003859.jpg 207,201,321,240,11 282,55,339,238,14 114,137,207,237,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003860.jpg 1,1,235,202,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003861.jpg 429,183,497,219,7 357,111,500,302,8 38,159,375,226,14 1,119,361,316,17 380,64,405,122,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003863.jpg 116,1,466,374,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003864.jpg 25,131,199,279,17 291,103,359,170,19 178,111,210,156,15 94,98,218,155,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003865.jpg 13,1,467,375,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003871.jpg 410,70,500,375,14 140,111,425,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003874.jpg 1,1,130,296,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003875.jpg 44,36,453,339,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003877.jpg 204,178,303,282,5 134,188,166,270,6 314,176,335,237,14 326,173,344,236,14 121,190,148,289,14 145,180,165,217,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003878.jpg 12,229,406,303,3 81,192,140,270,14 152,214,210,267,14 255,180,319,260,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003879.jpg 44,15,428,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003884.jpg 7,208,375,500,11 1,12,277,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003887.jpg 194,195,486,317,7 33,43,209,253,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003890.jpg 54,62,410,331,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003891.jpg 2,1,329,396,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003892.jpg 226,97,245,130,14 347,100,377,135,14 389,30,483,91,14 192,46,233,84,19 27,52,174,164,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003893.jpg 1,139,448,314,5 1,247,126,348,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003894.jpg 185,273,355,403,11 72,76,230,287,11 39,28,197,403,14 252,3,469,403,14 308,137,496,403,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003897.jpg 1,129,500,333,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003898.jpg 1,78,364,342,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003899.jpg 96,24,450,306,3 303,293,407,329,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003900.jpg 29,139,366,236,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003906.jpg 89,175,181,298,1 192,171,293,282,1 197,89,293,239,14 86,95,171,265,14 98,77,147,132,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003910.jpg 1,1,483,375,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003911.jpg 101,231,145,289,3 145,228,188,290,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003912.jpg 70,39,312,416,1 189,154,215,208,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003914.jpg 216,273,346,500,1 43,173,206,500,14 48,229,74,301,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003915.jpg 215,134,382,282,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003919.jpg 254,146,321,254,16 143,198,288,255,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003920.jpg 1,6,417,488,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003925.jpg 141,121,419,272,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003928.jpg 1,65,448,288,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003929.jpg 200,100,321,190,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003931.jpg 1,149,500,277,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003933.jpg 4,67,500,284,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003936.jpg 50,26,404,284,5 397,151,444,280,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003937.jpg 191,74,313,271,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003938.jpg 63,87,500,232,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003939.jpg 241,137,299,245,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003942.jpg 165,37,457,237,19 1,44,160,229,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003943.jpg 156,15,289,238,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003944.jpg 414,117,469,248,14 448,113,500,344,14 1,1,436,375,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003945.jpg 39,119,493,252,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003947.jpg 11,48,490,301,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003949.jpg 334,95,492,500,14 1,59,118,500,14 101,101,253,495,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003950.jpg 73,1,363,288,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003954.jpg 23,81,289,307,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003955.jpg 19,175,231,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003956.jpg 221,124,405,290,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003957.jpg 70,52,353,374,14 220,1,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003958.jpg 28,73,343,388,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003961.jpg 271,1,500,372,11 1,1,311,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003966.jpg 1,1,489,366,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003970.jpg 1,7,391,375,9 115,175,452,374,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003971.jpg 93,107,276,299,7 9,141,286,500,8 136,223,411,500,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003974.jpg 52,1,489,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003976.jpg 133,45,366,375,7 351,138,500,276,8 1,220,500,374,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003980.jpg 109,3,407,344,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003981.jpg 1,41,152,187,6 52,15,446,314,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003982.jpg 55,220,315,398,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003983.jpg 1,12,473,375,0 122,163,198,375,14 237,123,329,375,14 340,209,420,297,14 423,209,469,259,14 399,203,430,252,14 403,221,453,281,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003987.jpg 106,54,397,355,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003988.jpg 173,98,421,257,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003994.jpg 373,70,458,332,4 209,66,302,333,4 28,59,131,333,4 163,76,220,293,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003995.jpg 60,1,407,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003996.jpg 254,142,478,324,16 160,79,372,292,16 49,31,167,143,14 52,43,167,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_003999.jpg 280,196,449,344,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004002.jpg 15,86,305,375,11 363,37,500,252,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004005.jpg 311,113,500,312,6 1,119,159,301,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004006.jpg 158,30,477,226,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004007.jpg 99,94,363,282,7 99,36,310,314,7 128,99,276,212,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004008.jpg 52,37,375,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004009.jpg 114,125,253,271,19 95,302,227,413,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004010.jpg 1,79,485,304,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004011.jpg 93,76,418,294,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004014.jpg 365,52,500,212,6 4,1,500,326,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004017.jpg 217,1,500,132,11 229,47,477,333,11 42,157,341,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004021.jpg 213,140,348,265,11 1,39,192,200,6 137,61,315,124,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004023.jpg 42,20,421,311,7 27,128,463,333,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004025.jpg 1,99,469,361,17 85,150,422,279,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004026.jpg 24,99,398,261,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004027.jpg 204,254,311,344,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004028.jpg 175,143,305,241,13 228,110,282,210,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004029.jpg 281,208,354,306,8 145,290,195,351,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004030.jpg 182,191,257,232,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004031.jpg 234,64,483,375,14 3,64,422,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004033.jpg 175,89,268,313,14 95,95,182,328,14 221,214,375,500,13 2,197,175,500,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004036.jpg 34,36,325,391,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004037.jpg 1,1,464,332,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004041.jpg 367,123,495,244,3 240,127,393,233,3 123,128,261,215,3 1,134,164,222,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004042.jpg 72,27,295,230,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004043.jpg 140,195,376,352,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004045.jpg 222,233,304,274,12 159,147,266,275,12 400,201,484,245,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004048.jpg 1,1,421,491,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004050.jpg 67,105,151,182,19 134,135,254,292,14 139,232,333,428,14 12,238,314,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004052.jpg 12,31,487,368,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004053.jpg 303,48,422,188,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004054.jpg 128,152,333,314,4 219,114,286,180,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004056.jpg 4,217,185,389,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004059.jpg 64,127,435,324,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004060.jpg 154,170,291,428,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004061.jpg 131,121,220,262,16 206,121,306,263,16 275,135,363,265,16 310,154,400,300,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004062.jpg 49,104,332,235,17 92,197,255,375,8 365,143,500,309,8 377,93,442,195,8 1,4,98,238,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004063.jpg 128,137,406,275,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004064.jpg 182,165,328,286,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004065.jpg 337,9,497,200,16 21,58,175,363,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004066.jpg 152,117,334,296,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004067.jpg 331,49,495,364,14 15,81,222,346,14 111,166,344,356,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004069.jpg 184,39,312,278,14 151,127,342,305,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004071.jpg 49,182,91,208,2 140,287,198,325,2 268,271,301,297,2 280,329,319,357,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004072.jpg 46,123,282,296,1 206,138,305,199,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004073.jpg 1,1,410,328,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004074.jpg 108,44,500,375,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004075.jpg 16,131,80,196,18 143,89,425,234,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004081.jpg 30,226,329,288,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004084.jpg 34,67,479,227,0 1,23,153,95,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004088.jpg 78,24,113,55,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004089.jpg 197,145,313,288,16 100,313,307,460,16 336,305,375,379,16 303,202,375,288,16 37,195,191,311,16 1,271,64,356,16 1,414,132,500,16 225,105,295,150,11 68,281,257,369,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004092.jpg 200,166,384,298,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004094.jpg 78,82,325,377,14 28,20,500,377,14 1,1,93,377,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004095.jpg 306,203,500,375,17 1,215,123,345,8 74,153,136,219,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004096.jpg 129,140,500,324,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004102.jpg 1,145,28,204,19 1,226,27,285,19 181,188,291,289,19 69,188,180,293,19 145,159,369,404,14 91,213,164,262,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004104.jpg 112,80,420,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004105.jpg 122,46,371,374,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004107.jpg 261,39,500,332,12 80,55,240,333,12 1,120,152,332,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004108.jpg 31,19,322,374,11 309,48,470,373,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004109.jpg 248,78,500,334,17 25,64,177,181,19 64,173,99,295,4 327,176,500,246,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004111.jpg 246,99,500,308,17 126,173,216,307,14 249,70,375,263,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004116.jpg 49,81,498,359,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004118.jpg 8,74,495,218,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004119.jpg 49,30,425,317,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004120.jpg 23,107,493,330,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004121.jpg 16,60,483,346,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004123.jpg 111,68,174,143,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004124.jpg 1,157,160,500,14 121,128,375,217,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004125.jpg 148,150,187,203,8 228,189,481,310,17 1,260,113,375,10 21,35,147,351,14 271,139,324,179,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004129.jpg 128,45,477,374,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004130.jpg 78,49,431,375,14 28,303,113,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004133.jpg 111,78,499,325,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004137.jpg 190,34,350,123,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004138.jpg 447,156,476,185,2 190,79,262,142,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004139.jpg 5,36,499,346,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004140.jpg 4,129,450,274,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004141.jpg 91,58,235,166,7 237,53,390,171,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004143.jpg 5,3,469,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004144.jpg 18,91,269,234,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004145.jpg 77,24,361,334,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004148.jpg 1,58,199,303,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004149.jpg 311,1,500,327,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004154.jpg 215,190,360,335,1 140,169,209,278,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004157.jpg 1,19,499,293,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004160.jpg 211,118,249,207,14 255,127,366,231,12 324,117,488,248,12 287,90,318,153,14 1,112,101,177,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004161.jpg 7,198,215,483,11 16,40,471,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004162.jpg 131,292,412,386,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004163.jpg 286,113,500,282,11 1,1,323,249,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004165.jpg 140,124,273,333,11 115,70,341,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004168.jpg 158,154,217,296,14 224,162,264,269,14 273,167,303,260,14 208,23,500,328,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004171.jpg 35,41,333,499,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004172.jpg 401,255,500,344,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004173.jpg 1,293,214,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004175.jpg 1,39,248,300,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004178.jpg 177,62,216,90,9 247,66,298,102,9 292,68,333,103,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004179.jpg 16,54,500,289,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004180.jpg 185,260,440,418,5 245,297,280,328,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004182.jpg 14,54,483,340,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004184.jpg 8,102,491,214,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004186.jpg 294,105,489,272,6 57,116,432,324,6 1,143,243,375,6 450,141,500,271,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004187.jpg 67,73,343,275,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004188.jpg 1,28,270,373,16 206,27,500,372,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004191.jpg 1,229,70,445,13 256,187,298,250,13 105,108,220,412,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004192.jpg 115,106,328,375,14 336,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004193.jpg 44,165,476,321,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004197.jpg 291,162,333,318,4 141,123,282,318,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004198.jpg 161,59,254,105,4 212,4,500,375,14 189,48,326,276,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004201.jpg 172,218,265,271,2 229,238,321,288,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004204.jpg 368,141,411,200,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004207.jpg 38,110,457,474,8 27,91,459,486,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004208.jpg 229,105,326,258,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004209.jpg 101,92,410,263,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004210.jpg 285,31,500,275,9 48,106,343,329,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004211.jpg 90,95,315,280,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004216.jpg 1,1,390,282,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004219.jpg 43,42,454,360,13 1,27,242,227,13 300,1,376,41,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004222.jpg 67,176,197,500,14 121,275,249,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004223.jpg 1,68,488,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004224.jpg 247,70,391,286,11 1,1,261,375,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004225.jpg 169,262,375,377,16 216,18,339,142,16 193,87,305,278,14 402,55,482,204,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004226.jpg 176,16,336,333,16 330,137,500,329,16 294,211,418,333,16 1,137,55,329,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004227.jpg 31,41,334,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004228.jpg 183,75,500,374,12 1,1,84,31,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004229.jpg 124,169,307,364,10 72,166,215,369,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004230.jpg 332,13,370,55,2 394,162,433,186,2 45,141,100,168,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004231.jpg 374,251,473,500,8 10,37,218,352,8 2,108,473,499,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004238.jpg 78,68,444,180,0 27,106,100,154,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004239.jpg 1,112,499,431,6 1,72,128,315,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004242.jpg 296,116,427,261,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004244.jpg 1,120,247,433,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004247.jpg 89,39,472,371,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004248.jpg 158,70,326,245,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004249.jpg 1,169,214,333,8 70,226,135,307,8 382,198,460,321,8 26,122,173,307,14 165,1,436,333,14 351,152,466,255,19 375,125,385,155,4 98,57,114,131,14 71,58,98,131,14 63,35,85,90,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004252.jpg 14,43,397,393,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004253.jpg 13,92,431,229,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004254.jpg 337,151,500,346,19 1,116,227,375,14 144,227,183,344,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004256.jpg 102,142,378,254,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004257.jpg 302,66,500,344,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004258.jpg 272,130,495,307,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004259.jpg 1,29,500,361,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004263.jpg 132,87,425,219,5 70,141,133,173,6 45,140,83,163,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004264.jpg 191,174,248,332,9 217,121,367,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004271.jpg 228,157,353,298,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004275.jpg 317,222,465,281,8 25,206,74,281,8 49,220,255,281,10 109,1,118,26,4 99,1,107,24,4 86,1,97,24,4 75,1,86,23,4 63,1,74,20,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004276.jpg 301,131,366,203,16 159,102,189,147,16 127,97,154,134,16 71,92,92,118,16 52,84,70,111,16 40,78,58,106,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004278.jpg 12,24,423,349,10 283,78,493,357,8 1,122,235,368,8 15,18,187,190,8 249,14,354,52,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004279.jpg 60,40,331,329,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004280.jpg 69,80,237,374,14 270,117,467,374,14 426,123,500,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004282.jpg 21,231,80,387,14 6,18,284,484,14 194,201,413,482,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004283.jpg 24,100,375,489,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004286.jpg 235,103,308,280,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004288.jpg 146,254,188,411,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004289.jpg 19,233,214,396,13 199,163,244,221,14 37,231,213,387,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004290.jpg 1,4,449,340,10 153,1,230,114,4 236,2,325,139,4 7,1,228,333,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004291.jpg 71,124,458,274,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004295.jpg 103,29,226,156,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004296.jpg 120,156,262,341,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004297.jpg 79,1,224,228,11 5,53,486,469,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004301.jpg 189,125,302,284,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004304.jpg 1,1,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004306.jpg 262,185,343,328,7 117,1,331,150,19 441,87,500,251,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004307.jpg 1,241,335,497,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004311.jpg 127,11,414,371,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004312.jpg 2,121,497,274,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004313.jpg 7,79,500,321,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004314.jpg 35,164,55,215,14 94,126,438,248,0 8,154,189,218,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004318.jpg 97,52,336,334,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004320.jpg 4,2,393,264,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004322.jpg 10,24,500,374,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004325.jpg 200,101,255,269,12 140,73,204,282,14 226,91,272,281,14 262,102,319,268,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004327.jpg 81,41,475,350,11 18,179,360,348,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004332.jpg 1,168,283,364,16 275,56,419,275,14 278,103,402,327,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004333.jpg 74,41,441,316,6 407,98,480,143,6 383,100,438,143,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004335.jpg 198,173,494,338,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004336.jpg 1,105,50,133,6 253,102,282,123,6 288,97,315,119,6 282,90,450,333,13 23,112,291,316,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004337.jpg 288,196,320,222,6 266,200,288,219,6 347,219,389,287,13 341,155,390,250,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004339.jpg 1,73,329,241,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004341.jpg 208,45,408,375,14 20,88,221,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004344.jpg 216,13,294,330,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004345.jpg 259,162,367,244,11 387,167,500,335,8 265,130,379,285,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004346.jpg 1,41,450,294,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004348.jpg 33,47,409,290,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004349.jpg 10,171,84,221,6 66,164,193,233,6 182,156,493,264,6 418,164,455,179,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004350.jpg 2,15,465,72,18 150,176,426,349,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004351.jpg 26,31,479,328,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004352.jpg 104,221,161,374,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004355.jpg 130,1,441,344,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004357.jpg 57,73,450,221,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004358.jpg 72,128,500,375,17 344,1,466,157,8 192,1,302,108,15 72,78,137,151,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004360.jpg 1,1,332,265,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004361.jpg 236,198,500,372,10 122,160,206,326,8 206,182,308,314,8 371,266,500,372,8 192,200,316,373,8 99,160,160,269,8 231,118,360,265,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004362.jpg 148,69,403,338,11 137,49,296,205,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004363.jpg 1,1,321,315,12 121,55,170,108,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004365.jpg 50,67,375,499,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004366.jpg 9,63,500,262,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004367.jpg 79,152,426,277,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004368.jpg 186,27,291,116,19 290,75,305,118,4 205,83,221,132,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004369.jpg 1,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004370.jpg 93,6,281,232,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004371.jpg 253,197,292,235,16 221,177,269,216,16 202,185,237,239,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004373.jpg 25,73,487,320,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004374.jpg 68,110,349,448,12 126,51,218,304,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004380.jpg 1,279,334,500,10 52,165,295,287,10 86,94,263,180,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004382.jpg 65,8,410,360,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004385.jpg 25,23,246,226,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004387.jpg 63,244,207,400,11 1,44,259,400,14 130,1,267,175,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004390.jpg 3,105,495,349,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004391.jpg 1,1,500,272,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004400.jpg 1,1,466,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004402.jpg 74,1,395,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004404.jpg 67,125,277,383,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004409.jpg 6,40,495,347,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004412.jpg 1,132,435,332,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004415.jpg 1,116,336,274,7 13,11,430,158,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004417.jpg 1,216,375,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004419.jpg 1,144,486,318,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004420.jpg 196,159,318,223,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004422.jpg 309,1,500,203,6 53,7,456,292,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004423.jpg 63,113,384,214,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004425.jpg 1,142,392,374,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004428.jpg 1,141,211,299,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004429.jpg 274,84,386,269,8 398,184,500,322,8 405,86,450,134,19 25,223,70,334,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004431.jpg 143,91,354,276,16 180,72,261,116,2 208,60,291,100,2 255,59,336,93,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004432.jpg 110,111,323,334,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004436.jpg 417,217,500,326,16 197,118,362,253,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004439.jpg 105,188,137,278,14 175,233,213,302,14 196,180,225,263,14 212,183,238,266,14 240,190,266,259,14 265,184,292,256,14 295,181,322,255,14 328,175,357,251,14 359,172,379,242,14 378,300,457,342,1 411,272,467,315,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004441.jpg 84,150,116,263,4 195,7,442,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004445.jpg 129,12,495,331,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004447.jpg 17,187,178,441,14 208,125,375,311,14 283,130,373,248,14 39,344,74,458,4 40,231,231,361,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004448.jpg 15,1,379,330,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004450.jpg 22,56,485,290,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004451.jpg 64,104,219,252,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004455.jpg 32,127,486,238,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004456.jpg 9,67,180,177,9 278,131,307,164,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004457.jpg 31,70,335,262,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004459.jpg 14,88,482,338,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004460.jpg 108,170,314,349,19 66,254,115,370,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004461.jpg 210,1,500,354,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004466.jpg 244,144,300,293,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004467.jpg 230,176,324,269,7 330,88,451,375,8 1,198,339,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004469.jpg 68,172,84,229,14 86,170,110,230,14 1,115,150,375,14 148,84,300,375,14 251,61,445,375,14 117,1,500,322,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004472.jpg 157,50,500,336,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004475.jpg 178,51,257,299,14 6,204,160,333,14 2,1,500,333,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004476.jpg 269,202,320,283,11 188,212,233,280,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004477.jpg 322,179,378,319,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004478.jpg 99,147,441,251,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004479.jpg 81,15,488,374,14 1,9,139,278,19 171,197,296,374,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004481.jpg 1,48,375,500,14 1,1,144,248,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004483.jpg 99,47,449,281,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004484.jpg 69,246,300,333,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004486.jpg 35,214,98,239,3 360,215,457,240,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004488.jpg 91,94,405,287,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004491.jpg 1,93,441,375,14 68,1,500,302,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004492.jpg 26,80,375,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004493.jpg 51,34,499,378,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004499.jpg 334,216,417,276,16 287,212,349,265,16 199,213,287,267,16 1,1,225,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004501.jpg 48,17,467,329,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004503.jpg 17,40,324,263,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004505.jpg 64,1,370,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004506.jpg 1,28,500,375,14 215,76,358,276,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004509.jpg 319,125,409,220,8 247,123,329,220,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004511.jpg 161,39,367,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004514.jpg 37,85,500,334,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004515.jpg 250,60,329,288,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004517.jpg 51,1,467,335,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004518.jpg 77,34,432,319,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004519.jpg 122,39,399,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004520.jpg 81,23,246,481,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004521.jpg 94,60,227,493,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004523.jpg 1,83,335,378,14 201,134,390,297,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004529.jpg 47,50,441,259,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004533.jpg 94,85,353,167,6 1,131,94,165,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004536.jpg 272,130,500,220,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004537.jpg 27,73,488,341,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004540.jpg 97,115,323,252,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004542.jpg 206,42,447,375,12 17,102,68,184,12 19,73,62,150,14 70,92,221,199,12 22,61,262,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004543.jpg 338,123,378,218,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004545.jpg 120,61,309,252,19 238,35,259,78,4 300,116,442,266,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004546.jpg 1,16,500,326,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004550.jpg 1,65,336,482,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004551.jpg 84,56,256,498,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004553.jpg 107,1,475,374,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004554.jpg 82,32,449,341,5 447,159,500,363,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004556.jpg 297,82,448,211,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004557.jpg 359,283,393,302,6 339,288,376,304,6 154,56,493,167,0 283,288,344,313,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004558.jpg 111,205,312,344,5 71,276,94,293,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004559.jpg 1,28,450,323,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004560.jpg 32,46,252,310,16 198,90,500,358,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004561.jpg 37,308,73,353,14 1,307,26,345,14 1,1,165,412,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004567.jpg 129,181,216,275,14 300,190,378,268,14 38,244,437,309,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004569.jpg 2,1,500,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004570.jpg 166,115,242,199,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004573.jpg 1,51,500,375,8 103,89,392,293,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004575.jpg 175,74,492,238,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004576.jpg 1,1,371,275,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004577.jpg 25,29,487,374,6 454,3,500,98,6 402,2,483,38,6 95,19,147,83,14 1,23,46,112,14 55,12,98,91,14 63,1,125,28,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004581.jpg 60,53,368,226,6 384,1,484,220,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004584.jpg 202,84,375,379,7 95,194,250,326,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004585.jpg 75,32,273,266,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004586.jpg 356,79,441,161,19 241,129,307,175,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004588.jpg 1,41,147,344,5 146,5,433,322,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004591.jpg 164,80,346,208,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004592.jpg 1,337,44,441,8 308,312,359,374,8 244,348,299,479,8 269,369,375,500,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004594.jpg 143,116,328,311,5 201,268,284,363,6 1,210,152,500,14 128,262,280,500,14 260,265,313,400,14 105,250,173,362,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004596.jpg 336,81,489,333,14 241,57,392,333,14 187,59,283,310,14 103,55,219,317,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004597.jpg 353,78,497,370,14 286,68,396,186,14 239,73,324,144,14 122,126,477,375,10 88,112,288,375,14 67,101,141,283,14 39,75,140,182,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004598.jpg 209,151,302,234,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004600.jpg 152,299,329,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004601.jpg 84,202,103,231,14 78,91,399,221,0 347,189,500,247,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004604.jpg 54,150,466,327,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004608.jpg 186,138,271,166,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004609.jpg 7,22,475,323,1 220,165,262,217,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004616.jpg 1,84,460,375,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004618.jpg 136,73,363,250,6 158,57,311,286,14 1,54,46,205,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004620.jpg 65,164,212,327,11 253,168,475,214,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004621.jpg 19,100,328,478,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004624.jpg 1,105,62,273,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004625.jpg 64,24,474,292,5 253,114,327,166,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004627.jpg 125,46,350,138,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004628.jpg 114,259,242,384,11 230,256,283,353,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004629.jpg 59,160,257,314,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004631.jpg 143,23,341,374,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004634.jpg 50,20,425,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004635.jpg 127,122,378,328,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004637.jpg 107,74,481,357,5 17,196,109,222,5 173,177,218,229,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004638.jpg 122,1,500,334,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004642.jpg 122,36,426,317,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004646.jpg 209,125,252,172,7 65,149,500,333,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004654.jpg 33,100,462,281,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004655.jpg 118,306,155,337,9 239,317,296,348,9 294,277,460,347,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004656.jpg 1,1,489,490,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004657.jpg 200,101,352,195,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004659.jpg 249,156,291,210,16 188,167,229,231,16 127,149,147,170,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004660.jpg 10,343,292,500,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004661.jpg 12,171,385,482,6 248,140,308,183,6 299,218,374,258,6 177,165,235,203,6 5,175,44,214,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004662.jpg 1,176,500,375,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004665.jpg 198,193,247,272,4 207,420,252,500,4 133,427,196,500,4 1,307,222,428,14 197,46,329,467,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004666.jpg 80,170,299,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004667.jpg 91,39,500,308,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004669.jpg 6,1,421,276,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004670.jpg 1,37,500,374,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004672.jpg 210,156,362,238,11 107,44,213,262,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004676.jpg 1,136,500,499,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004677.jpg 1,160,194,242,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004679.jpg 9,12,458,280,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004680.jpg 122,20,248,490,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004681.jpg 235,147,458,330,11 105,12,371,345,7 21,90,254,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004683.jpg 174,66,395,243,11 71,159,189,271,15 2,150,83,255,15 237,79,257,109,15 116,9,240,174,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004686.jpg 291,348,355,480,6 201,276,251,436,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004690.jpg 1,1,500,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004691.jpg 212,11,500,350,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004692.jpg 200,11,319,47,6 25,7,92,37,6 1,85,457,374,6 88,100,346,244,14 88,11,123,38,6 263,13,332,44,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004694.jpg 1,145,308,500,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004696.jpg 83,178,246,226,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004697.jpg 129,156,500,338,13 226,135,464,338,14 21,1,81,267,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004698.jpg 382,37,452,131,14 258,109,500,375,14 1,140,356,375,14 1,39,233,286,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004703.jpg 184,143,250,325,14 257,143,328,324,14 310,194,367,307,14 359,256,409,286,15 395,191,450,229,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004704.jpg 197,149,262,214,16 48,183,133,263,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004708.jpg 280,96,456,375,14 70,11,219,375,14 1,161,17,362,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004710.jpg 293,206,500,341,16 14,11,254,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004712.jpg 233,89,322,183,7 99,129,166,203,8 136,106,164,134,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004714.jpg 237,198,453,245,3 216,196,365,230,3 179,194,319,216,3 152,189,287,208,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004717.jpg 58,85,171,472,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004721.jpg 1,97,500,368,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004722.jpg 171,88,500,332,11 59,14,268,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004726.jpg 197,168,236,203,8 168,151,265,255,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004728.jpg 136,65,297,375,14 145,87,316,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004729.jpg 8,106,495,233,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004730.jpg 60,44,494,354,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004733.jpg 162,50,374,405,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004735.jpg 1,1,410,491,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004738.jpg 1,107,255,396,11 3,2,347,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004741.jpg 95,95,330,228,17 310,152,418,363,14 303,124,363,250,14 181,112,263,251,14 85,142,199,316,14 149,227,344,343,10 25,305,298,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004743.jpg 45,54,256,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004747.jpg 14,95,484,266,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004748.jpg 156,64,344,256,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004749.jpg 1,1,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004750.jpg 43,37,500,331,11 84,126,381,308,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004751.jpg 1,205,375,500,10 182,243,208,342,4 249,216,277,300,4 258,167,277,227,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004753.jpg 6,95,486,359,7 47,1,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004756.jpg 66,32,286,465,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004757.jpg 78,24,397,350,15 1,1,500,146,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004760.jpg 275,26,374,298,11 76,195,266,425,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004763.jpg 319,1,500,306,8 1,128,169,295,8 1,1,325,363,8 349,35,441,271,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004765.jpg 1,11,500,332,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004766.jpg 9,11,458,326,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004768.jpg 116,122,232,420,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004770.jpg 80,32,500,359,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004772.jpg 47,1,500,333,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004773.jpg 206,333,242,374,14 250,289,286,367,14 35,1,375,403,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004775.jpg 1,142,187,375,14 285,105,500,375,14 206,224,297,351,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004777.jpg 201,144,260,199,2 251,144,298,193,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004778.jpg 237,165,252,220,4 1,223,153,375,8 318,286,500,375,8 88,87,229,357,14 231,72,357,193,14 291,82,424,244,14 266,76,500,375,14 1,88,212,375,14 148,166,388,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004779.jpg 39,198,67,237,14 33,87,408,327,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004782.jpg 139,28,438,375,14 39,141,249,375,14 1,71,50,156,6 159,52,192,86,6 119,60,147,84,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004783.jpg 402,152,500,306,8 1,179,115,347,8 144,142,353,309,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004785.jpg 83,91,433,309,6 1,84,123,163,6 33,44,51,84,14 94,52,123,79,6 63,52,96,77,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004786.jpg 163,37,461,375,14 48,49,279,375,14 5,83,309,375,8 208,154,241,240,4 31,110,155,201,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004789.jpg 78,69,357,327,9 110,72,162,94,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004791.jpg 125,91,467,216,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004792.jpg 1,1,499,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004793.jpg 153,232,218,292,8 281,232,393,304,8 1,310,73,375,8 180,336,360,375,8 1,282,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004795.jpg 153,135,329,241,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004797.jpg 125,231,347,310,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004804.jpg 126,86,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004805.jpg 265,183,377,314,8 1,158,242,289,17 239,128,284,170,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004806.jpg 21,38,463,186,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004807.jpg 45,122,400,341,11 234,47,467,167,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004808.jpg 37,63,333,392,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004809.jpg 222,208,348,285,1 262,173,318,284,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004812.jpg 230,129,445,316,16 117,106,215,229,16 149,49,205,112,16 94,46,161,114,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004813.jpg 11,14,224,304,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004815.jpg 65,207,207,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004816.jpg 1,1,135,144,19 190,108,479,326,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004817.jpg 1,225,245,310,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004821.jpg 130,104,172,180,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004822.jpg 1,1,374,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004824.jpg 139,291,345,382,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004825.jpg 85,286,363,472,10 125,252,264,500,8 52,234,141,428,8 72,153,106,244,15 177,158,204,242,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004826.jpg 1,131,324,202,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004828.jpg 327,1,383,210,4 147,1,210,217,4 405,1,500,211,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004829.jpg 132,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004830.jpg 174,112,280,241,11 21,118,149,288,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004831.jpg 39,8,460,338,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004832.jpg 47,46,332,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004836.jpg 111,70,372,267,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004838.jpg 1,1,443,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004841.jpg 107,15,460,248,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004844.jpg 172,305,204,371,14 286,249,500,365,5 90,325,178,372,13 181,317,283,358,6 24,306,41,340,14 121,309,151,368,14 139,306,174,363,14 173,309,205,370,14 182,332,215,365,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004847.jpg 93,32,500,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004848.jpg 90,54,417,344,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004849.jpg 166,101,500,365,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004852.jpg 38,38,500,301,3 1,48,211,130,3 278,92,414,124,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004854.jpg 159,11,285,66,6 173,65,315,135,13 101,23,155,142,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004855.jpg 85,113,420,207,0 445,139,500,189,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004856.jpg 55,42,500,357,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004857.jpg 142,61,265,180,19 5,85,85,228,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004861.jpg 152,3,424,327,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004865.jpg 35,72,311,224,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004866.jpg 169,96,228,295,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004868.jpg 285,158,500,308,16 124,89,286,321,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004871.jpg 349,175,394,190,3 410,147,475,188,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004874.jpg 78,1,349,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004877.jpg 47,116,413,307,6 100,85,173,372,14 1,110,169,267,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004878.jpg 1,156,362,489,1 183,28,312,475,14 78,34,216,376,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004879.jpg 142,295,199,400,8 1,256,26,334,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004888.jpg 85,24,407,317,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004889.jpg 114,44,500,346,8 1,1,206,122,8 1,1,124,117,8 1,41,198,226,14 35,10,280,113,14 15,28,326,240,14 66,36,379,295,14 181,41,477,346,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004890.jpg 7,10,500,364,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004891.jpg 101,106,373,222,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004894.jpg 103,45,401,339,1 202,13,500,281,13 339,17,369,60,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004896.jpg 37,27,500,347,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004900.jpg 1,84,399,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004901.jpg 333,214,391,252,11 288,231,335,270,11 89,159,161,203,11 225,66,305,271,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004903.jpg 1,40,358,412,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004906.jpg 15,121,274,328,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004908.jpg 160,173,346,383,11 241,1,395,252,15 100,1,244,236,15 126,142,240,235,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004909.jpg 1,140,464,375,10 430,218,500,374,8 328,107,405,156,8 18,153,113,254,8 91,127,170,216,8 248,137,280,225,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004910.jpg 155,63,403,323,14 208,55,255,177,15 373,173,464,311,8 1,239,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004913.jpg 121,168,147,184,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004916.jpg 45,36,444,363,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004917.jpg 299,190,377,268,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004918.jpg 129,16,426,362,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004919.jpg 165,58,337,310,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004921.jpg 195,180,264,235,1 456,166,500,212,1 214,152,247,219,14 470,146,500,208,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004922.jpg 199,212,298,375,14 155,237,214,320,14 165,270,214,364,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004928.jpg 113,55,474,374,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004930.jpg 108,102,354,278,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004931.jpg 7,100,500,334,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004933.jpg 16,43,371,495,7 172,1,246,38,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004937.jpg 400,190,450,281,14 244,217,287,268,14 49,263,137,353,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004938.jpg 36,145,476,245,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004941.jpg 22,115,310,474,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004942.jpg 177,218,500,375,10 197,21,369,264,14 367,121,466,233,14 23,211,141,345,14 461,166,494,241,4 18,277,195,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004943.jpg 313,152,390,184,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004944.jpg 1,113,122,258,19 350,175,411,207,15 234,140,276,165,15 291,84,359,115,15 349,1,466,87,15 243,26,281,46,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004945.jpg 82,1,423,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004946.jpg 37,165,331,423,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004948.jpg 128,172,243,312,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004950.jpg 248,178,383,211,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004951.jpg 228,140,266,242,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004952.jpg 238,78,332,325,8 1,83,236,325,14 285,33,481,325,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004953.jpg 181,43,327,298,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004954.jpg 55,44,286,497,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004957.jpg 67,62,356,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004959.jpg 1,1,486,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004960.jpg 240,143,303,238,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004962.jpg 138,170,297,485,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004963.jpg 34,32,498,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004966.jpg 327,187,406,216,6 221,180,267,194,6 483,199,500,227,6 182,99,318,150,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004967.jpg 143,1,413,256,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004968.jpg 124,289,333,436,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004970.jpg 148,131,381,264,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004971.jpg 102,25,477,318,5 3,155,103,252,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004973.jpg 20,87,446,215,7 1,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004974.jpg 1,1,373,500,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004980.jpg 208,91,420,271,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004982.jpg 38,37,136,142,19 286,110,366,259,8 124,40,297,500,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004983.jpg 2,184,405,331,10 443,183,498,330,8 1,93,170,325,14 116,139,176,219,14 313,108,500,331,14 446,71,500,140,14 213,162,236,222,4 204,152,220,213,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004987.jpg 137,46,214,170,14 1,61,205,375,14 282,41,500,375,14 19,142,365,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004989.jpg 138,34,472,246,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004991.jpg 163,140,358,212,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004992.jpg 161,249,371,490,8 236,55,375,324,8 80,32,224,300,8 67,89,371,373,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004994.jpg 42,86,167,343,2 217,102,340,375,2 371,109,487,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004995.jpg 5,87,77,200,14 273,96,325,297,14 1,140,144,500,13 1,110,254,348,13 154,150,270,279,13 171,149,372,221,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004997.jpg 51,87,415,266,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_004998.jpg 32,123,444,269,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005000.jpg 1,18,295,500,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005002.jpg 217,158,325,257,16 51,140,99,205,16 19,131,65,178,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005005.jpg 1,59,246,374,14 218,55,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005006.jpg 16,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005008.jpg 253,74,361,209,11 151,1,295,98,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005011.jpg 1,252,332,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005013.jpg 342,10,493,70,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005016.jpg 7,85,496,355,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005017.jpg 1,1,374,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005018.jpg 26,76,234,375,11 40,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005019.jpg 78,107,452,350,12 212,40,288,240,14 424,152,500,188,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005021.jpg 1,82,482,375,7 100,1,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005022.jpg 11,63,491,235,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005023.jpg 146,145,263,214,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005026.jpg 1,50,500,374,16 426,1,471,39,14 393,1,435,41,14 263,1,303,47,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005028.jpg 216,138,268,183,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005031.jpg 240,193,407,463,9 1,165,191,313,9 15,129,127,364,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005033.jpg 316,1,500,292,11 31,206,289,369,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005035.jpg 87,103,371,332,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005041.jpg 146,100,355,252,5 425,201,499,258,6 348,204,422,250,6 75,195,111,261,14 93,200,110,263,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005042.jpg 2,1,499,318,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005044.jpg 84,60,303,483,14 90,127,327,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005046.jpg 1,303,467,398,10 23,66,238,362,14 38,49,447,372,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005048.jpg 209,71,396,169,7 188,217,329,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005049.jpg 169,97,395,364,11 49,18,300,375,14 1,103,276,375,17 431,48,500,144,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005052.jpg 25,4,325,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005053.jpg 87,87,256,223,2 61,100,448,219,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005054.jpg 86,34,121,70,19 318,42,427,111,17 1,70,98,111,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005055.jpg 51,49,500,293,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005059.jpg 167,148,315,243,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005060.jpg 1,1,500,395,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005061.jpg 240,401,299,443,9 190,401,249,435,9 185,399,218,448,9 99,394,163,433,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005062.jpg 1,102,295,303,9 416,168,499,311,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005063.jpg 404,147,500,221,5 358,141,405,216,5 223,136,363,224,5 180,147,231,209,5 86,139,182,226,5 1,142,82,232,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005064.jpg 227,82,352,274,11 18,74,205,270,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005066.jpg 187,60,318,264,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005068.jpg 13,89,425,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005071.jpg 1,1,267,275,14 268,1,437,117,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005072.jpg 184,143,292,197,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005075.jpg 1,87,307,352,6 109,66,500,300,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005079.jpg 1,109,382,375,14 182,200,223,259,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005080.jpg 243,143,369,280,5 43,125,232,277,5 380,173,448,248,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005082.jpg 1,1,500,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005083.jpg 17,23,430,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005087.jpg 1,1,500,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005090.jpg 89,17,435,329,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005093.jpg 20,3,490,323,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005094.jpg 1,17,249,328,8 331,1,500,272,8 175,31,439,369,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005096.jpg 1,53,321,290,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005098.jpg 60,126,412,375,16 83,34,484,305,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005099.jpg 55,8,375,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005100.jpg 11,6,468,333,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005101.jpg 94,145,386,231,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005106.jpg 80,148,500,281,0 1,181,22,250,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005107.jpg 145,76,328,427,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005108.jpg 1,41,414,325,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005109.jpg 8,11,193,415,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005110.jpg 219,160,500,375,14 1,20,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005111.jpg 90,144,349,338,1 273,57,361,294,14 237,207,267,245,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005115.jpg 63,86,479,281,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005116.jpg 32,84,498,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005118.jpg 40,85,420,339,5 155,182,210,365,14 141,188,190,345,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005119.jpg 64,60,435,224,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005120.jpg 261,153,393,278,16 186,174,334,297,16 17,184,200,311,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005123.jpg 117,194,218,244,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005127.jpg 149,28,369,323,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005128.jpg 76,123,396,282,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005129.jpg 167,173,227,313,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005130.jpg 34,83,383,232,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005133.jpg 447,91,477,197,4 414,85,451,196,4 99,115,376,332,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005134.jpg 72,10,500,429,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005136.jpg 20,1,499,333,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005138.jpg 285,180,412,318,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005141.jpg 324,122,457,375,14 1,144,236,375,14 33,126,323,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005143.jpg 1,1,374,473,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005147.jpg 1,119,500,333,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005148.jpg 233,103,336,285,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005149.jpg 22,57,325,492,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005152.jpg 1,1,500,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005155.jpg 1,142,71,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005158.jpg 59,103,420,333,19 414,128,500,332,15 419,313,441,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005159.jpg 39,20,424,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005160.jpg 253,162,350,242,16 98,147,306,334,13 322,141,496,343,13 45,111,115,273,13 1,1,212,90,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005161.jpg 2,19,316,301,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005164.jpg 456,198,500,263,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005166.jpg 193,129,354,242,9 442,1,500,162,14 116,21,209,210,14 164,27,253,129,14 253,35,325,164,14 314,42,387,153,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005167.jpg 36,133,260,258,0 1,323,118,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005169.jpg 182,94,296,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005170.jpg 335,260,441,375,8 71,226,181,341,8 43,308,381,375,10 201,170,259,302,14 2,173,175,247,17 126,143,178,182,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005174.jpg 17,28,409,369,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005180.jpg 344,220,500,375,17 157,168,221,218,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005182.jpg 27,1,500,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005183.jpg 172,161,268,247,16 177,162,274,233,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005184.jpg 53,120,350,242,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005185.jpg 54,31,374,483,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005187.jpg 377,87,480,203,15 260,99,369,205,15 136,94,245,208,15 18,96,125,209,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005188.jpg 159,147,324,364,8 164,85,442,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005190.jpg 31,186,165,326,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005192.jpg 18,128,500,306,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005193.jpg 1,23,354,369,17 116,150,271,211,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005198.jpg 1,194,500,333,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005199.jpg 164,98,443,327,13 260,74,329,285,14 300,83,371,294,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005201.jpg 1,33,450,374,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005202.jpg 181,125,500,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005206.jpg 1,100,343,374,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005208.jpg 1,34,334,223,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005211.jpg 31,40,482,322,1 431,1,500,51,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005213.jpg 52,113,403,215,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005215.jpg 1,1,430,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005216.jpg 33,74,256,371,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005217.jpg 47,96,467,286,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005222.jpg 323,149,462,362,8 120,132,223,270,8 87,9,195,254,14 284,209,346,287,7 109,40,275,269,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005223.jpg 288,132,450,267,9 187,143,295,269,9 61,138,204,267,9 27,147,97,260,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005224.jpg 135,24,188,61,0 31,241,275,325,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005226.jpg 83,150,144,184,6 210,141,230,159,6 376,188,435,300,1 380,128,436,273,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005229.jpg 62,83,282,400,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005230.jpg 1,103,352,278,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005232.jpg 14,45,481,269,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005236.jpg 1,74,374,500,6 88,102,214,189,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005238.jpg 1,49,395,472,8 102,202,293,278,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005239.jpg 217,119,310,211,7 100,324,297,456,19 121,192,309,330,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005241.jpg 53,75,399,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005242.jpg 91,129,363,338,11 268,115,410,235,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005243.jpg 88,94,152,252,12 175,241,322,333,8 397,91,456,140,19 333,58,400,189,14 411,203,500,333,14 339,136,367,190,14 279,136,359,333,14 179,180,307,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005245.jpg 145,233,201,339,11 155,160,213,312,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005246.jpg 47,1,472,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005250.jpg 117,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005252.jpg 371,170,447,250,14 282,170,388,276,14 1,145,258,277,13 352,187,495,353,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005253.jpg 134,189,327,301,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005257.jpg 38,225,183,339,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005258.jpg 1,1,371,375,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005260.jpg 38,133,339,269,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005261.jpg 3,91,210,199,6 25,28,477,311,6 14,47,31,94,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005264.jpg 1,1,374,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005266.jpg 116,29,500,374,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005268.jpg 36,34,455,275,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005270.jpg 179,175,261,315,12 159,169,323,299,12 277,212,339,295,12 107,251,150,293,11 227,139,264,228,14 280,150,310,249,14 165,146,247,269,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005272.jpg 40,1,499,331,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005273.jpg 1,238,500,375,10 85,66,194,259,14 206,195,275,277,8 229,142,354,305,14 320,96,482,350,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005274.jpg 42,89,446,398,11 1,1,136,310,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005275.jpg 54,20,290,483,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005276.jpg 188,56,249,230,9 192,72,372,281,14 188,1,344,207,14 353,1,366,28,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005277.jpg 32,67,439,253,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005279.jpg 1,1,346,411,15 1,1,217,169,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005284.jpg 87,25,411,268,5 423,163,464,203,6 207,114,260,160,14 456,156,480,220,14 59,142,81,203,14 40,143,61,205,14 14,146,38,209,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005285.jpg 38,73,318,386,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005287.jpg 1,1,364,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005292.jpg 1,1,500,334,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005293.jpg 296,208,500,375,14 60,233,233,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005297.jpg 336,105,397,140,9 218,173,255,219,9 77,183,139,218,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005299.jpg 79,1,495,345,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005301.jpg 20,79,493,221,0 104,60,196,100,0 161,75,255,111,0 250,76,340,104,0 328,74,406,97,0 396,70,463,97,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005303.jpg 1,247,375,500,14 118,1,375,384,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005305.jpg 1,1,199,76,19 460,1,500,107,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005306.jpg 166,7,347,222,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005308.jpg 377,98,500,237,8 300,233,474,375,8 60,246,212,375,8 1,107,133,238,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005309.jpg 148,46,336,246,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005310.jpg 301,93,474,347,16 80,77,201,199,16 49,156,98,184,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005312.jpg 117,135,305,235,11 263,200,422,300,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005314.jpg 219,312,258,375,14 8,283,49,375,14 406,242,468,328,14 336,229,373,309,14 301,231,342,317,14 263,240,294,314,14 196,234,233,316,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005317.jpg 70,1,500,460,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005318.jpg 55,111,445,252,6 247,126,278,161,14 90,62,128,148,14 144,101,179,146,14 236,85,278,136,14 311,74,340,135,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005320.jpg 56,23,300,337,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005323.jpg 9,190,490,326,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005327.jpg 30,54,190,375,14 296,28,474,375,14 185,68,310,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005330.jpg 67,105,360,266,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005331.jpg 144,34,360,259,11 1,13,223,242,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005332.jpg 1,1,121,267,3 100,1,372,415,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005338.jpg 6,32,461,306,12 200,78,497,236,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005340.jpg 1,1,386,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005344.jpg 33,164,444,374,7 39,14,338,230,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005345.jpg 86,40,358,297,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005346.jpg 437,45,500,174,14 50,102,117,172,14 141,20,289,324,14 46,58,383,296,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005349.jpg 117,208,344,313,10 231,129,455,334,14 11,122,232,334,14 133,78,237,210,14 248,92,329,219,14 256,175,277,233,4 274,181,290,250,4 432,248,500,334,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005350.jpg 256,206,319,337,14 275,201,366,341,14 49,287,116,327,2 162,262,201,345,2 140,286,169,330,2 201,298,246,340,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005352.jpg 132,143,164,218,14 154,136,190,229,14 181,138,222,226,14 211,134,248,228,14 238,132,278,223,14 271,129,302,219,14 285,132,336,228,14 332,111,402,318,14 290,204,356,310,14 248,191,315,302,14 207,195,267,300,14 188,203,229,297,14 151,200,202,298,14 137,201,171,295,14 90,204,148,307,14 84,132,141,300,14 415,13,424,34,14 492,166,500,210,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005353.jpg 248,183,322,305,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005359.jpg 56,1,500,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005361.jpg 30,53,300,499,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005364.jpg 56,166,259,281,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005365.jpg 78,141,322,212,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005366.jpg 44,108,493,343,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005369.jpg 265,106,277,149,4 1,79,142,375,14 179,81,327,283,14 369,93,500,345,14 1,274,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005371.jpg 161,117,217,168,19 207,165,297,304,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005372.jpg 66,311,225,500,8 157,236,242,318,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005374.jpg 21,1,500,375,1 168,1,456,342,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005375.jpg 1,1,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005376.jpg 51,128,414,332,12 1,97,181,333,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005377.jpg 14,96,479,331,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005379.jpg 37,413,375,499,10 123,372,162,499,4 150,386,192,500,4 179,369,226,500,4 227,370,278,500,4 288,376,330,500,4 322,370,364,500,4 318,368,342,442,4 110,52,262,425,14 237,364,279,500,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005382.jpg 38,53,485,190,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005384.jpg 7,175,316,498,11 18,10,322,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005385.jpg 1,1,337,449,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005386.jpg 1,35,331,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005388.jpg 205,166,413,284,17 422,159,488,328,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005389.jpg 153,176,268,220,5 29,204,50,254,14 48,201,73,257,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005391.jpg 28,69,494,341,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005393.jpg 227,193,371,313,13 194,157,354,302,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005394.jpg 70,23,404,336,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005398.jpg 1,225,323,375,17 313,153,357,186,8 250,155,297,186,8 173,163,243,238,8 397,158,464,284,8 280,177,340,313,8 330,173,420,312,8 217,184,427,299,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005401.jpg 1,1,499,263,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005402.jpg 1,1,500,333,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005403.jpg 99,103,184,333,14 174,78,361,333,14 257,80,373,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005405.jpg 1,76,248,375,14 234,43,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005406.jpg 1,1,333,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005408.jpg 99,65,448,307,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005409.jpg 190,269,296,375,4 1,135,151,265,4 437,181,500,235,6 1,34,453,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005410.jpg 375,133,437,182,19 329,63,401,166,14 259,50,330,179,14 197,61,261,137,14 158,66,202,139,14 73,46,131,290,14 77,64,174,325,14 307,145,411,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005414.jpg 111,63,439,294,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005415.jpg 31,121,493,197,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005416.jpg 169,137,357,297,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005417.jpg 1,37,432,374,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005419.jpg 160,88,275,277,11 283,149,301,165,4 313,147,330,162,4 340,146,358,162,4 340,162,363,205,4 308,164,334,206,4 279,167,306,208,4 402,16,434,57,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005421.jpg 21,157,201,339,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005424.jpg 203,157,300,233,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005425.jpg 1,1,444,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005426.jpg 89,129,486,351,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005428.jpg 17,85,75,124,2 66,30,255,248,2 219,15,438,248,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005429.jpg 2,4,495,315,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005432.jpg 36,71,487,319,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005433.jpg 84,48,370,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005434.jpg 103,18,500,374,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005437.jpg 1,27,500,374,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005441.jpg 267,165,397,290,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005442.jpg 1,1,499,491,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005448.jpg 227,140,340,278,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005450.jpg 238,31,489,204,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005452.jpg 99,73,447,342,12 155,45,230,144,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005455.jpg 298,107,431,361,15 125,186,418,375,15 52,94,218,375,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005456.jpg 1,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005457.jpg 52,1,452,370,5 469,162,500,229,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005458.jpg 1,78,313,500,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005462.jpg 189,1,472,267,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005463.jpg 274,244,424,297,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005466.jpg 391,140,500,220,16 248,185,330,255,16 193,119,267,242,14 250,31,292,132,14 218,35,249,135,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005467.jpg 108,182,170,303,14 368,206,422,288,12 251,198,294,284,12 316,192,361,280,12 291,193,331,274,12 189,197,231,283,12 137,178,193,272,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005468.jpg 154,158,348,287,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005471.jpg 41,228,332,500,12 84,8,319,457,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005472.jpg 93,126,212,187,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005474.jpg 217,187,346,255,6 259,163,289,185,6 156,152,199,173,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005475.jpg 66,137,299,450,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005480.jpg 54,16,416,218,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005482.jpg 1,75,199,322,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005483.jpg 1,1,500,317,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005484.jpg 1,2,324,500,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005489.jpg 239,75,462,285,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005491.jpg 207,89,320,332,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005492.jpg 7,15,460,393,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005493.jpg 16,94,326,461,8 10,1,227,229,8 22,1,307,174,14 226,35,375,432,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005494.jpg 243,120,319,183,13 254,116,326,180,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005496.jpg 112,57,327,338,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005497.jpg 84,325,240,452,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005498.jpg 93,1,500,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005500.jpg 129,193,193,251,11 203,124,266,238,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005501.jpg 137,1,500,206,6 107,117,353,289,13 185,79,361,231,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005502.jpg 109,133,215,217,5 211,164,273,214,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005505.jpg 95,35,394,368,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005506.jpg 74,195,435,293,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005508.jpg 2,6,440,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005511.jpg 132,357,213,477,2 2,133,307,490,2 200,46,297,493,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005512.jpg 288,67,399,219,8 52,229,121,350,4 60,158,92,233,4 242,118,276,210,4 274,232,306,311,4 1,75,25,159,4 316,186,500,375,14 8,102,320,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005513.jpg 10,258,134,392,7 132,280,306,378,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005514.jpg 276,30,500,328,16 67,72,341,284,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005515.jpg 434,169,451,209,14 78,175,111,239,14 1,133,500,241,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005516.jpg 81,31,149,119,2 254,139,431,233,2 363,262,500,334,2 59,184,177,268,2 31,219,135,265,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005518.jpg 109,113,380,296,6 79,86,113,160,14 119,92,152,154,14 130,91,145,144,14 1,109,86,140,6 187,104,252,119,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005519.jpg 372,193,474,326,16 158,152,258,254,16 226,142,273,195,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005522.jpg 245,110,384,321,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005527.jpg 127,119,343,257,5 1,193,19,255,14 20,175,41,225,14 39,184,61,226,14 473,184,500,274,14 458,175,480,263,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005531.jpg 151,166,263,382,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005532.jpg 23,71,234,245,11 213,82,401,341,14 1,137,445,360,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005534.jpg 168,107,477,231,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005535.jpg 1,1,457,334,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005536.jpg 62,256,213,375,15 286,17,380,101,15 216,204,349,353,15 300,153,437,323,15 353,133,478,241,15 331,57,396,125,15 351,85,439,145,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005538.jpg 90,62,129,243,14 93,60,387,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005540.jpg 1,158,112,500,8 263,94,281,151,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005542.jpg 1,154,94,291,1 95,146,183,284,1 212,180,399,283,14 462,168,500,285,1 302,131,343,199,14 368,130,412,198,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005543.jpg 13,62,333,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005546.jpg 65,86,489,251,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005548.jpg 12,22,418,490,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005551.jpg 41,20,500,462,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005556.jpg 70,1,443,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005557.jpg 40,83,452,243,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005559.jpg 459,177,494,204,18 40,22,390,265,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005561.jpg 161,16,348,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005562.jpg 121,124,500,375,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005565.jpg 201,58,500,330,18 105,100,252,286,18 32,11,137,267,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005566.jpg 377,67,486,245,16 241,84,336,232,16 173,86,234,225,16 112,90,208,246,16 1,97,82,235,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005567.jpg 374,107,416,192,16 312,111,370,174,16 221,76,266,116,16 6,123,58,233,16 103,132,209,251,16 181,148,336,298,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005570.jpg 219,189,288,362,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005571.jpg 1,268,67,374,6 231,208,264,316,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005572.jpg 53,13,298,477,13 277,3,336,138,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005573.jpg 74,27,451,332,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005575.jpg 1,120,288,247,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005576.jpg 1,1,500,374,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005578.jpg 327,99,500,334,14 152,142,360,350,14 4,79,186,356,14 1,114,36,186,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005582.jpg 53,101,138,158,4 34,90,289,452,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005584.jpg 1,130,352,299,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005585.jpg 103,204,286,500,11 1,1,350,500,14 271,320,323,389,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005586.jpg 14,7,404,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005587.jpg 43,107,399,347,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005588.jpg 129,98,241,171,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005591.jpg 210,214,253,261,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005592.jpg 262,27,432,310,7 87,13,283,344,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005593.jpg 213,1,500,367,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005594.jpg 175,122,364,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005595.jpg 103,190,281,311,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005596.jpg 306,117,446,225,5 462,178,486,242,14 366,177,387,250,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005597.jpg 1,1,99,114,3 92,93,462,272,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005601.jpg 110,35,488,365,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005603.jpg 147,75,330,368,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005604.jpg 1,32,500,374,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005606.jpg 181,169,464,374,7 197,68,500,375,14 121,39,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005608.jpg 89,1,500,285,2 289,183,500,331,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005610.jpg 1,156,500,446,17 35,35,442,473,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005612.jpg 43,1,451,322,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005614.jpg 1,84,500,375,17 49,178,347,315,11 334,195,494,286,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005615.jpg 22,48,369,300,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005616.jpg 8,1,375,471,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005619.jpg 135,90,382,266,13 178,34,422,253,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005620.jpg 2,237,135,344,8 384,57,411,101,13 25,122,236,344,14 95,101,205,344,14 147,89,240,237,14 230,85,304,231,14 343,109,500,344,14 366,100,422,197,14 314,111,398,269,14 279,107,364,242,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005625.jpg 30,59,143,270,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005626.jpg 283,135,500,375,14 10,100,219,375,14 156,109,278,248,14 104,226,459,375,10 256,176,333,231,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005627.jpg 16,46,310,297,7 270,61,465,298,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005628.jpg 352,210,436,322,11 23,2,258,375,14 182,101,246,180,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005629.jpg 8,145,202,369,11 1,1,500,369,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005632.jpg 50,120,402,237,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005635.jpg 224,149,293,191,16 226,163,275,192,16 166,123,189,150,16 266,143,302,181,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005636.jpg 84,45,488,310,5 170,144,216,185,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005637.jpg 37,371,200,500,11 106,112,202,210,11 255,65,315,144,11 1,47,309,366,8 165,15,384,240,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005640.jpg 100,219,253,398,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005643.jpg 92,126,376,184,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005644.jpg 72,41,362,334,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005646.jpg 306,189,419,333,14 391,190,438,333,14 335,151,376,268,14 117,178,162,189,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005647.jpg 1,1,268,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005651.jpg 152,107,332,327,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005652.jpg 77,166,224,363,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005654.jpg 196,241,367,375,10 264,268,382,374,8 85,258,142,374,8 125,126,210,375,14 76,116,146,375,14 176,130,291,365,14 268,191,359,375,14 338,102,423,375,14 344,133,404,199,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005657.jpg 104,183,363,375,11 22,1,416,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005658.jpg 1,19,360,295,1 404,103,500,265,1 309,149,474,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005663.jpg 76,29,232,465,4 38,232,266,289,6 248,220,369,283,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005664.jpg 93,67,425,294,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005665.jpg 1,72,377,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005666.jpg 1,1,144,270,10 128,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005668.jpg 24,14,479,412,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005669.jpg 202,151,253,311,11 219,98,264,183,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005670.jpg 80,121,340,483,1 1,66,91,353,1 34,1,258,112,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005671.jpg 1,1,333,499,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005672.jpg 1,30,500,373,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005676.jpg 241,170,362,289,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005678.jpg 20,15,500,359,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005681.jpg 290,215,407,292,11 33,1,492,375,14 1,1,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005683.jpg 7,99,414,374,0 7,133,84,165,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005684.jpg 115,85,466,326,13 200,12,332,272,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005688.jpg 1,27,337,333,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005692.jpg 42,151,453,374,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005696.jpg 135,64,399,374,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005697.jpg 23,192,313,499,7 116,210,167,262,7 51,3,338,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005700.jpg 110,1,353,358,14 108,163,401,375,6 1,185,156,246,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005705.jpg 74,197,190,373,3 154,189,258,375,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005706.jpg 110,155,486,235,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005709.jpg 62,168,253,311,7 48,20,360,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005712.jpg 1,83,382,316,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005715.jpg 62,130,443,236,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005716.jpg 1,48,320,300,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005718.jpg 19,197,79,233,6 1,212,20,251,6 80,128,498,246,0 81,197,146,224,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005719.jpg 1,109,381,332,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005721.jpg 1,2,135,152,13 30,18,438,295,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005723.jpg 141,32,500,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005725.jpg 168,100,423,376,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005727.jpg 1,150,410,297,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005731.jpg 38,33,463,316,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005732.jpg 181,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005733.jpg 254,73,396,347,12 136,6,229,193,14 1,114,131,216,6 409,132,443,228,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005734.jpg 1,169,195,300,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005735.jpg 130,2,238,206,11 153,1,500,372,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005736.jpg 219,205,269,253,16 154,217,227,266,16 141,195,199,228,16 70,186,106,229,16 165,204,200,227,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005738.jpg 1,1,486,277,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005740.jpg 165,123,277,284,16 166,198,237,306,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005744.jpg 146,101,300,252,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005746.jpg 66,22,243,283,8 248,10,433,300,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005747.jpg 81,97,308,500,11 288,20,300,68,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005748.jpg 175,39,269,273,12 187,23,266,171,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005750.jpg 65,85,394,249,6 145,236,500,333,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005752.jpg 2,116,359,466,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005753.jpg 92,120,291,398,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005754.jpg 72,244,262,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005755.jpg 1,245,500,335,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005756.jpg 2,44,476,246,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005758.jpg 171,90,247,177,14 123,101,219,252,14 270,103,369,261,14 175,167,475,374,14 1,150,149,374,14 122,150,317,374,14 332,133,389,201,15 422,73,475,135,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005761.jpg 204,135,327,185,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005762.jpg 1,1,238,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005763.jpg 16,85,272,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005764.jpg 384,66,500,269,8 99,1,397,303,14 1,261,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005767.jpg 170,46,400,238,16 227,147,341,265,16 64,229,139,287,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005768.jpg 341,108,390,229,14 368,181,397,300,14 429,167,461,303,14 1,58,500,375,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005770.jpg 53,83,478,359,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005775.jpg 170,138,339,271,11 1,84,179,362,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005776.jpg 1,72,440,219,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005777.jpg 37,1,423,455,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005780.jpg 181,142,444,277,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005782.jpg 11,76,459,331,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005784.jpg 13,31,271,260,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005785.jpg 88,118,434,257,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005788.jpg 348,106,439,193,16 441,109,500,217,16 195,112,366,247,16 22,131,224,276,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005791.jpg 221,65,377,243,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005794.jpg 281,214,450,375,11 42,190,192,375,14 27,1,453,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005796.jpg 1,74,270,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005800.jpg 29,102,315,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005804.jpg 45,1,500,333,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005805.jpg 51,27,375,163,7 1,143,375,500,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005806.jpg 2,99,300,437,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005807.jpg 13,77,482,400,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005810.jpg 324,104,483,220,1 316,40,419,226,14 426,93,454,162,14 425,51,450,118,14 1,1,420,217,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005815.jpg 1,1,324,272,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005816.jpg 271,174,500,246,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005817.jpg 45,115,473,264,6 230,134,276,162,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005820.jpg 198,192,247,249,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005821.jpg 48,11,240,243,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005823.jpg 27,87,455,290,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005824.jpg 212,105,500,336,9 163,62,479,288,9 114,109,253,208,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005825.jpg 1,100,375,500,10 1,45,29,145,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005826.jpg 1,1,500,375,14 187,19,377,347,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005827.jpg 1,1,500,286,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005830.jpg 109,232,381,452,17 355,327,500,498,8 336,82,400,164,14 1,157,115,443,14 104,205,254,482,14 123,221,183,319,14 1,219,69,329,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005833.jpg 13,91,267,411,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005835.jpg 179,102,407,363,14 57,1,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005836.jpg 1,26,458,374,6 323,60,487,188,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005837.jpg 67,55,227,218,2 173,50,360,238,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005838.jpg 1,48,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005840.jpg 99,211,260,375,1 185,221,358,375,1 235,116,351,375,14 138,133,247,359,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005841.jpg 149,131,344,263,19 371,113,500,275,19 1,128,116,280,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005843.jpg 70,237,155,388,8 128,246,328,500,8 1,329,59,455,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005845.jpg 1,59,484,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005847.jpg 155,135,224,229,11 91,47,292,255,14 223,171,450,370,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005848.jpg 230,215,474,345,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005849.jpg 16,5,287,500,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005853.jpg 8,9,300,500,7 296,168,336,380,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005854.jpg 1,32,437,283,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005855.jpg 97,1,283,315,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005860.jpg 124,100,457,268,6 419,118,498,212,1 4,150,120,267,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005865.jpg 1,53,500,374,10 439,9,492,142,4 459,22,500,166,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005867.jpg 308,68,500,375,14 19,63,347,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005868.jpg 49,79,425,302,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005870.jpg 124,1,461,303,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005871.jpg 1,1,500,122,18 93,32,345,215,14 126,51,363,330,14 155,72,328,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005874.jpg 24,1,338,328,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005875.jpg 343,60,500,203,6 69,73,349,255,6 315,126,412,289,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005876.jpg 173,67,320,345,14 35,194,80,241,15 77,153,408,344,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005877.jpg 115,96,446,202,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005882.jpg 49,148,140,286,11 364,157,464,275,11 353,168,500,357,8 1,171,156,369,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005883.jpg 104,59,230,443,4 247,126,333,312,4 290,1,320,110,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005884.jpg 296,179,391,253,8 322,30,500,282,14 27,22,233,257,14 14,234,500,333,10 414,1,474,29,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005885.jpg 205,97,395,374,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005886.jpg 95,169,237,272,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005888.jpg 126,136,281,280,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005891.jpg 38,9,490,315,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005892.jpg 1,1,419,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005894.jpg 304,127,467,340,8 75,79,204,217,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005896.jpg 215,48,352,216,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005897.jpg 216,209,272,300,11 251,95,304,287,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005898.jpg 242,61,424,249,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005899.jpg 1,67,500,320,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005901.jpg 92,209,128,241,8 126,213,169,249,8 187,223,234,259,8 240,225,307,272,8 319,236,402,294,8 408,299,486,375,8 1,233,419,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005903.jpg 24,19,408,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005904.jpg 283,14,449,172,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005906.jpg 270,157,364,244,7 40,178,188,375,8 119,58,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005907.jpg 14,10,479,309,6 221,21,275,86,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005909.jpg 37,20,459,290,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005914.jpg 164,16,373,267,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005919.jpg 16,35,404,438,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005921.jpg 247,187,500,374,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005922.jpg 358,273,416,328,9 270,230,304,252,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005927.jpg 369,134,433,248,3 60,66,136,257,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005928.jpg 361,207,466,253,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005929.jpg 62,31,307,273,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005930.jpg 232,242,340,441,8 96,259,159,323,19 29,204,111,369,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005932.jpg 304,71,456,313,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005934.jpg 1,85,474,251,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005935.jpg 1,73,405,297,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005936.jpg 1,282,500,375,10 99,110,265,279,14 77,116,276,259,14 206,84,478,319,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005937.jpg 1,1,500,332,17 1,64,414,278,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005938.jpg 2,9,350,374,7 221,50,500,374,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005942.jpg 49,163,470,293,0 154,194,221,292,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005943.jpg 178,76,394,367,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005948.jpg 2,153,239,375,11 254,32,488,374,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005949.jpg 260,403,375,478,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005951.jpg 1,129,318,324,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005952.jpg 70,1,256,474,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005953.jpg 46,89,397,211,0 136,235,500,332,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005954.jpg 59,7,279,339,14 262,11,451,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005957.jpg 1,1,500,333,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005958.jpg 189,207,210,234,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005959.jpg 56,1,500,374,5 1,234,155,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005960.jpg 103,113,297,333,14 234,128,333,285,2 287,38,353,170,14 297,1,389,117,14 347,3,387,106,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005967.jpg 227,214,444,375,8 1,143,192,375,14 2,49,173,374,14 151,83,217,362,14 203,149,255,307,14 209,129,330,375,14 242,248,356,375,14 320,92,409,313,14 384,88,480,348,14 243,78,296,193,14 150,72,182,144,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005968.jpg 148,75,314,316,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005972.jpg 454,259,500,375,8 10,261,124,374,8 1,247,58,373,8 70,246,118,299,8 93,69,411,375,14 313,171,337,249,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005973.jpg 63,2,499,333,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005974.jpg 41,126,458,360,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005975.jpg 25,92,461,356,7 1,1,500,375,8 1,74,39,181,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005976.jpg 226,214,285,260,12 213,217,265,258,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005978.jpg 2,128,470,282,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005980.jpg 272,268,493,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005981.jpg 1,14,311,375,11 183,96,374,225,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005982.jpg 138,108,370,281,11 31,80,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005984.jpg 141,48,374,318,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005985.jpg 251,245,297,374,8 170,255,277,405,8 140,231,163,267,8 107,237,140,276,8 58,243,158,399,8 125,267,250,442,8 19,253,296,452,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005986.jpg 16,95,103,158,16 183,88,243,130,16 154,109,223,150,16 228,136,324,292,16 122,150,217,246,16 167,163,234,258,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005987.jpg 233,160,260,205,11 110,35,249,96,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005991.jpg 30,119,277,387,11 53,47,391,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005992.jpg 17,54,449,315,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005993.jpg 1,147,111,356,9 100,90,500,356,9 260,72,318,143,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005995.jpg 160,114,343,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005996.jpg 270,137,294,163,15 365,139,413,186,15 308,87,500,190,18 21,60,393,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005997.jpg 273,119,307,151,6 295,116,340,166,13 201,127,283,258,13 121,116,171,229,14 400,144,500,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_005998.jpg 109,198,498,299,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006000.jpg 165,51,309,374,14 249,172,309,304,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006003.jpg 162,199,220,248,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006004.jpg 210,145,275,278,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006009.jpg 337,157,500,375,11 1,1,179,128,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006010.jpg 271,262,345,316,8 2,203,156,375,14 143,213,315,375,14 315,213,494,375,14 145,244,209,275,8 1,266,306,336,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006011.jpg 1,45,456,317,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006012.jpg 1,18,491,361,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006015.jpg 327,37,488,251,8 148,240,189,343,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006021.jpg 131,115,218,391,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006023.jpg 68,68,256,157,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006025.jpg 89,120,439,437,7 3,290,315,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006026.jpg 87,412,147,463,16 141,373,183,389,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006028.jpg 1,45,347,333,13 198,31,448,200,13 285,18,497,160,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006031.jpg 140,10,377,258,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006032.jpg 1,1,500,334,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006033.jpg 1,1,500,306,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006034.jpg 1,83,499,272,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006035.jpg 1,1,470,352,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006037.jpg 159,59,500,375,14 106,121,273,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006040.jpg 198,156,326,424,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006041.jpg 78,156,256,344,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006042.jpg 1,71,337,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006050.jpg 1,20,76,106,19 74,88,174,166,19 289,94,380,177,19 421,134,500,217,19 79,91,350,377,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006051.jpg 73,102,443,356,13 199,56,346,354,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006054.jpg 202,141,443,291,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006056.jpg 296,124,333,316,8 273,112,303,209,8 70,212,213,375,8 248,177,272,250,4 1,127,304,375,10 275,107,500,207,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006057.jpg 3,1,500,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006058.jpg 1,2,313,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006061.jpg 268,275,375,500,14 1,240,75,388,14 1,101,298,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006062.jpg 331,202,455,300,12 219,204,340,302,12 60,191,152,291,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006063.jpg 90,177,305,345,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006066.jpg 87,1,489,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006067.jpg 161,110,336,159,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006070.jpg 1,1,153,105,6 1,14,497,323,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006073.jpg 112,155,358,260,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006076.jpg 1,103,375,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006078.jpg 1,30,468,334,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006079.jpg 32,86,254,356,11 80,18,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006082.jpg 132,118,500,259,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006084.jpg 3,26,407,363,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2010_006086.jpg 1,95,423,252,11 283,177,500,374,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000002.jpg 150,207,224,269,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000003.jpg 368,154,389,214,4 191,107,314,331,14 367,87,500,337,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000006.jpg 17,141,479,312,17 257,115,375,290,14 93,112,241,326,14 173,111,303,280,14 152,194,500,375,8 398,83,448,119,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000007.jpg 76,106,316,434,5 64,198,87,224,6 32,264,72,377,14 30,253,48,311,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000009.jpg 95,37,215,182,19 252,144,353,348,14 306,78,329,146,4 208,197,438,375,8 340,32,353,52,14 325,30,338,48,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000010.jpg 233,84,262,163,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000012.jpg 79,110,500,277,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000016.jpg 31,178,94,270,8 64,192,116,300,8 99,210,182,333,8 124,236,222,372,8 170,274,324,374,8 346,207,410,252,8 254,189,301,214,8 184,171,216,190,8 121,170,499,375,10 12,91,49,191,14 41,90,87,243,14 94,133,153,218,14 187,90,227,190,14 268,82,306,194,14 284,105,345,223,14 360,172,500,375,14 171,217,381,373,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000017.jpg 143,39,500,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000022.jpg 99,100,345,488,12 60,131,254,443,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000025.jpg 85,21,437,375,5 1,102,125,284,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000027.jpg 224,306,287,413,4 142,145,238,402,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000028.jpg 73,6,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000030.jpg 323,214,367,366,14 192,147,253,380,14 114,147,217,438,14 119,152,142,203,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000034.jpg 466,151,500,230,6 76,13,483,333,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000036.jpg 130,90,285,230,19 1,213,142,375,8 234,1,280,20,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000037.jpg 77,234,166,375,8 314,200,422,346,17 103,187,195,276,17 226,166,288,217,19 12,187,40,251,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000038.jpg 204,25,337,127,19 1,8,179,360,14 79,123,157,250,14 135,141,198,215,14 192,166,227,211,14 342,89,484,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000041.jpg 129,83,357,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000043.jpg 29,17,331,495,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000044.jpg 119,136,319,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000045.jpg 107,75,355,307,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000048.jpg 77,55,471,336,5 6,224,52,253,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000051.jpg 348,90,500,375,14 232,160,355,375,14 8,86,136,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000052.jpg 411,235,480,249,3 459,236,475,267,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000053.jpg 65,89,431,317,13 291,25,415,239,14 161,37,328,270,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000054.jpg 363,164,498,333,14 250,76,492,372,14 1,80,220,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000057.jpg 66,34,332,340,9 269,75,488,341,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000058.jpg 96,97,451,212,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000060.jpg 104,39,363,346,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000061.jpg 321,2,447,109,19 31,29,125,113,19 279,169,428,298,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000065.jpg 190,142,425,373,8 329,40,500,283,8 1,123,212,374,8 80,58,476,374,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000066.jpg 1,84,498,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000068.jpg 284,200,500,319,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000069.jpg 127,193,215,284,9 24,230,90,290,9 320,129,481,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000070.jpg 3,34,493,354,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000071.jpg 330,211,500,356,8 224,130,345,243,19 52,56,149,356,14 280,162,499,356,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000072.jpg 274,221,500,375,15 254,117,336,215,8 354,41,421,107,19 289,79,370,173,14 180,113,248,270,14 180,77,252,166,14 93,145,200,294,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000076.jpg 11,129,240,491,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000077.jpg 75,4,315,244,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000082.jpg 297,132,459,335,8 1,154,161,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000083.jpg 38,37,360,462,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000084.jpg 171,8,500,323,14 52,3,162,75,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000086.jpg 62,124,446,293,6 11,57,146,105,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000087.jpg 226,188,266,211,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000090.jpg 14,103,464,304,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000094.jpg 89,59,455,289,6 331,60,500,168,6 240,63,391,106,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000095.jpg 41,38,486,325,5 1,225,201,332,6 470,195,500,304,14 302,85,328,120,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000096.jpg 46,320,100,359,16 113,318,171,351,16 248,318,303,352,16 294,317,317,347,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000098.jpg 333,109,390,270,1 374,118,442,277,1 59,117,301,375,10 54,193,213,375,8 61,139,125,201,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000102.jpg 1,1,216,186,16 112,1,500,138,16 1,96,499,375,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000103.jpg 13,99,492,229,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000105.jpg 1,166,488,324,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000108.jpg 28,37,287,192,7 1,1,350,262,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000109.jpg 40,130,296,282,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000112.jpg 69,208,202,262,2 284,198,410,277,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000114.jpg 80,342,336,400,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000116.jpg 121,152,219,189,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000122.jpg 131,170,499,368,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000124.jpg 51,28,342,487,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000128.jpg 244,45,366,78,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000129.jpg 117,165,214,194,0 247,140,342,173,0 366,129,473,156,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000130.jpg 396,145,500,213,3 18,176,143,203,3 458,131,491,229,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000137.jpg 1,16,187,375,14 285,148,405,293,14 158,109,295,311,14 416,89,499,375,14 137,78,206,315,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000138.jpg 208,80,474,259,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000142.jpg 99,125,486,325,17 293,48,430,327,14 86,48,322,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000145.jpg 112,84,251,470,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000146.jpg 2,28,499,375,17 1,27,75,253,14 1,54,168,375,14 95,96,270,375,14 197,100,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000147.jpg 247,154,456,280,12 301,130,404,235,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000149.jpg 53,49,306,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000152.jpg 115,90,209,225,8 1,117,78,299,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000161.jpg 255,213,275,227,3 207,246,254,304,3 72,245,117,301,3 114,176,189,397,14 1,252,32,336,14 88,257,111,316,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000162.jpg 185,192,290,300,7 285,24,446,241,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000163.jpg 164,70,335,168,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000165.jpg 141,166,375,484,7 11,118,288,484,7 302,10,316,49,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000166.jpg 46,67,449,330,9 456,107,497,129,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000173.jpg 1,274,210,474,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000176.jpg 15,48,493,300,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000178.jpg 1,79,461,362,5 252,159,332,350,14 380,175,440,316,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000180.jpg 331,345,389,361,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000181.jpg 119,24,391,296,5 1,139,124,234,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000182.jpg 215,147,387,375,14 2,93,438,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000185.jpg 21,16,500,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000192.jpg 331,102,405,171,19 2,172,78,307,8 47,172,152,301,8 48,99,173,314,14 145,96,245,290,14 245,172,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000194.jpg 1,32,438,288,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000195.jpg 1,190,361,450,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000196.jpg 212,25,287,96,15 324,15,414,147,15 142,23,180,99,15 302,88,322,163,4 182,215,322,375,8 113,125,390,362,10 68,40,139,191,14 323,62,455,293,14 1,35,154,341,14 359,120,390,156,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000197.jpg 11,1,499,333,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000202.jpg 43,45,375,484,11 1,129,375,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000206.jpg 374,228,414,371,4 158,246,205,375,4 18,344,500,375,10 240,95,455,356,14 1,115,219,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000208.jpg 228,84,499,298,5 20,124,473,317,5 1,14,55,331,5 11,202,68,370,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000210.jpg 147,160,283,280,12 265,113,500,238,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000213.jpg 11,16,249,382,8 1,72,268,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000214.jpg 231,181,322,299,13 179,177,230,229,13 233,150,299,288,14 185,164,216,227,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000216.jpg 129,2,341,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000219.jpg 312,162,393,291,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000220.jpg 1,160,358,333,13 90,64,265,329,14 19,22,79,178,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000221.jpg 166,97,399,217,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000222.jpg 145,61,343,366,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000224.jpg 286,116,500,375,17 1,104,309,259,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000226.jpg 176,239,359,500,8 258,237,375,471,8 1,247,202,500,8 1,258,308,492,10 214,221,269,262,8 20,219,68,253,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000228.jpg 296,153,361,184,9 255,165,296,186,9 230,163,273,190,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000229.jpg 19,46,330,309,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000232.jpg 216,171,298,214,2 210,213,301,244,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000233.jpg 116,272,288,442,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000234.jpg 55,60,290,456,3 316,339,334,400,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000238.jpg 59,250,347,454,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000239.jpg 99,83,405,290,5 2,177,52,199,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000241.jpg 337,1,500,374,18 422,101,500,333,14 411,250,455,299,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000243.jpg 17,93,486,260,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000246.jpg 1,129,159,448,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000248.jpg 272,89,428,280,5 33,80,236,269,5 448,211,496,329,14 178,178,208,271,14 260,94,299,111,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000249.jpg 458,230,480,279,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000250.jpg 1,196,320,249,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000252.jpg 107,144,415,347,6 108,96,191,323,14 1,150,55,218,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000253.jpg 135,220,191,265,15 239,235,320,361,8 391,188,456,245,19 203,161,221,182,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000257.jpg 102,1,194,222,4 1,42,375,500,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000258.jpg 103,35,425,281,5 1,191,118,268,6 425,195,474,285,14 380,169,402,210,14 316,170,336,199,14 336,168,351,202,14 285,167,315,209,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000267.jpg 1,27,496,332,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000268.jpg 187,141,264,238,2 234,129,401,278,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000269.jpg 239,51,375,364,2 1,255,145,438,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000273.jpg 198,189,313,251,3 441,60,500,310,14 369,81,441,315,14 288,68,385,313,14 115,66,204,308,14 45,81,123,294,14 1,72,38,294,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000276.jpg 1,39,500,313,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000277.jpg 1,1,487,375,18 257,114,290,202,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000278.jpg 39,74,355,248,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000282.jpg 286,190,382,279,8 4,118,51,158,8 52,225,499,375,10 316,102,500,282,14 150,84,319,300,14 1,56,285,375,14 318,124,362,192,8 262,122,308,177,8 338,123,363,154,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000283.jpg 142,93,295,269,18 277,86,500,332,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000285.jpg 274,158,337,220,13 272,155,330,215,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000286.jpg 128,232,230,283,3 1,252,291,375,3 245,254,334,298,3 351,228,433,294,3 425,230,500,296,3 241,205,310,259,3 299,220,370,268,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000288.jpg 209,88,345,227,19 1,164,220,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000290.jpg 96,246,290,398,8 145,259,240,347,14 1,215,74,306,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000291.jpg 150,154,344,240,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000293.jpg 189,186,463,305,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000297.jpg 1,7,499,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000299.jpg 3,1,375,496,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000304.jpg 240,86,492,375,14 13,88,205,375,14 1,186,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000305.jpg 51,102,453,256,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000307.jpg 260,160,500,297,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000309.jpg 200,180,350,280,9 48,142,163,313,9 137,177,192,281,9 355,173,500,313,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000310.jpg 59,299,237,462,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000312.jpg 240,63,496,174,5 28,62,314,164,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000314.jpg 115,120,477,417,13 195,34,347,255,14 39,15,204,198,14 68,74,388,296,13 30,96,193,277,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000315.jpg 2,1,375,500,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000317.jpg 295,162,370,296,19 252,24,361,162,14 50,119,314,417,11 37,301,249,458,8 53,394,302,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000319.jpg 217,173,304,233,1 240,134,292,225,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000320.jpg 198,77,292,280,2 1,1,319,448,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000321.jpg 179,19,500,294,14 94,43,333,271,14 1,57,148,254,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000322.jpg 164,180,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000324.jpg 61,80,423,222,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000329.jpg 3,140,452,274,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000332.jpg 204,126,356,214,16 376,182,428,233,16 170,144,218,199,16 221,182,334,235,16 321,111,480,259,13 154,105,170,145,4 154,6,316,163,14 325,41,434,161,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000338.jpg 94,263,224,375,8 126,238,183,344,8 1,277,140,375,8 1,268,208,375,10 1,241,32,280,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000342.jpg 24,1,500,375,3 338,212,413,290,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000343.jpg 2,1,320,500,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000344.jpg 132,153,192,292,4 1,1,436,362,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000345.jpg 34,67,445,237,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000346.jpg 4,55,483,283,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000347.jpg 99,1,199,233,3 249,1,349,224,3 337,1,418,211,3 83,172,110,244,14 101,171,132,247,14 239,169,272,229,14 288,168,310,195,14 374,165,399,220,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000359.jpg 1,249,284,355,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000361.jpg 238,31,357,180,15 432,193,500,375,4 1,253,500,375,10 385,86,500,193,14 200,98,373,256,14 36,102,244,316,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000362.jpg 10,37,46,100,14 150,2,199,142,14 243,44,265,101,14 208,17,339,270,14 213,52,233,104,14 194,41,216,109,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000364.jpg 394,92,494,185,19 1,101,311,270,17 1,239,488,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000369.jpg 274,117,448,204,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000370.jpg 108,109,267,403,12 105,60,273,256,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000374.jpg 162,53,255,322,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000375.jpg 161,346,201,466,4 248,363,292,466,4 261,112,472,343,14 212,181,349,350,14 148,25,255,386,14 79,98,242,330,14 26,11,201,458,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000376.jpg 1,14,347,296,1 326,81,500,334,1 1,1,171,141,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000379.jpg 11,10,500,294,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000382.jpg 13,55,128,184,19 117,28,280,137,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000383.jpg 63,16,228,131,8 139,106,278,291,8 72,288,202,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000385.jpg 147,23,392,258,11 157,257,249,354,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000386.jpg 1,320,375,500,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000388.jpg 1,1,306,500,15 303,117,403,391,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000391.jpg 168,68,500,375,14 1,107,226,375,14 359,86,433,219,14 175,89,238,265,14 184,153,269,298,14 13,172,34,221,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000392.jpg 33,15,500,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000396.jpg 223,208,313,312,12 78,241,132,303,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000397.jpg 27,58,475,324,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000398.jpg 200,40,500,375,18 105,147,137,216,14 88,147,114,205,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000399.jpg 1,177,283,375,17 353,114,443,190,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000400.jpg 136,188,214,260,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000404.jpg 405,241,499,331,16 261,223,391,344,16 158,200,291,317,16 106,184,178,287,16 78,210,130,275,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000408.jpg 1,177,500,375,10 1,93,135,255,14 90,105,179,219,14 175,104,273,214,14 227,93,301,195,14 350,104,412,178,14 319,53,500,357,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000412.jpg 14,5,469,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000413.jpg 423,113,460,164,14 323,74,471,375,14 196,99,278,351,14 72,110,163,375,14 113,98,254,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000416.jpg 118,41,480,300,6 2,25,163,360,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000418.jpg 402,242,487,328,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000419.jpg 90,159,178,246,7 285,176,500,253,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000420.jpg 140,125,355,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000426.jpg 8,43,461,438,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000427.jpg 1,202,459,375,10 315,34,500,375,14 144,54,329,250,14 76,104,151,210,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000428.jpg 117,1,363,253,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000430.jpg 17,33,500,365,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000432.jpg 150,163,382,332,6 1,108,128,254,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000434.jpg 178,104,500,288,17 40,63,122,138,19 230,98,330,268,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000435.jpg 410,1,500,130,3 71,1,500,375,3 199,65,280,279,14 114,24,199,254,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000436.jpg 166,121,301,206,16 203,159,282,205,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000438.jpg 164,313,209,375,4 1,137,202,366,14 347,103,498,375,14 207,114,385,375,14 1,220,275,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000442.jpg 78,103,313,204,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000444.jpg 47,21,497,435,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000445.jpg 190,172,437,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000449.jpg 104,10,427,314,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000450.jpg 215,143,371,302,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000453.jpg 101,83,390,301,1 159,2,311,304,14 171,200,231,225,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000454.jpg 357,180,429,239,16 184,196,242,241,16 131,216,200,280,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000455.jpg 76,186,475,333,13 145,37,388,333,14 322,1,451,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000456.jpg 284,78,402,294,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000457.jpg 1,1,498,331,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000461.jpg 1,1,499,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000465.jpg 95,271,278,391,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000468.jpg 25,4,426,369,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000469.jpg 1,9,323,494,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000471.jpg 295,124,496,375,14 74,89,300,375,14 1,93,42,262,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000472.jpg 423,260,499,363,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000474.jpg 1,1,395,334,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000475.jpg 7,78,495,338,17 221,19,406,337,14 108,87,224,337,14 151,164,238,253,14 310,126,417,227,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000477.jpg 1,17,500,333,17 38,42,466,296,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000479.jpg 310,71,470,332,14 194,115,313,309,14 130,29,336,333,14 32,88,203,333,14 1,120,98,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000481.jpg 188,85,302,211,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000482.jpg 1,25,427,332,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000485.jpg 1,118,500,333,1 152,2,433,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000487.jpg 1,1,330,495,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000491.jpg 194,142,289,201,18 1,6,137,219,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000492.jpg 300,180,432,345,8 69,206,210,371,8 145,161,331,342,10 1,144,77,283,10 63,100,227,351,14 257,90,408,331,14 257,87,330,180,14 443,190,500,363,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000494.jpg 192,105,500,303,2 151,124,244,332,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000496.jpg 194,201,242,278,13 270,180,346,250,6 194,178,240,252,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000498.jpg 232,1,499,375,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000499.jpg 193,107,220,133,19 110,138,183,208,8 1,147,94,234,8 286,166,500,334,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000502.jpg 115,70,155,107,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000503.jpg 1,250,18,287,6 12,237,103,313,6 395,243,491,289,6 459,272,499,362,6 262,251,400,306,6 170,277,495,374,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000505.jpg 55,193,266,323,1 320,215,368,241,6 370,215,406,240,6 252,214,293,244,6 1,210,71,247,6 16,214,97,248,6 96,112,194,325,14 302,216,325,232,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000509.jpg 11,122,465,337,6 244,74,376,160,6 2,91,67,163,6 374,77,448,122,6 132,69,154,133,14 163,72,180,131,14 461,54,500,225,14 68,68,81,146,14 401,60,420,118,14 441,61,467,149,14 213,70,228,124,14 232,68,249,122,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000511.jpg 115,90,425,256,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000512.jpg 91,6,431,368,13 1,1,86,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000513.jpg 105,107,487,244,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000514.jpg 2,39,250,444,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000518.jpg 345,140,455,249,8 310,108,343,149,8 345,114,398,162,8 235,119,285,151,8 214,116,275,153,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000519.jpg 97,13,252,363,12 284,104,428,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000520.jpg 110,36,388,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000521.jpg 1,91,428,231,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000526.jpg 68,18,500,331,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000530.jpg 1,171,52,302,15 370,161,410,239,15 341,173,375,267,8 224,176,364,214,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000531.jpg 1,102,500,311,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000532.jpg 217,139,426,272,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000534.jpg 83,89,486,375,14 116,74,371,375,14 296,102,470,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000536.jpg 126,50,382,353,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000538.jpg 267,113,428,275,12 183,126,335,265,12 251,83,292,160,14 332,92,390,201,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000541.jpg 86,75,399,269,5 401,54,500,289,5 221,130,257,204,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000542.jpg 1,1,450,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000548.jpg 289,57,409,209,9 181,70,347,229,9 119,63,262,203,9 372,32,411,131,9 404,33,459,138,9 157,138,185,186,2 114,193,148,246,2 65,147,109,187,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000550.jpg 126,105,500,343,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000551.jpg 74,176,202,212,5 197,147,426,234,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000554.jpg 435,156,478,258,2 388,161,462,273,2 365,150,407,240,2 351,145,376,229,2 310,174,349,289,2 259,160,304,272,2 304,146,349,229,2 268,129,323,221,2 270,130,291,165,2 230,129,256,209,2 187,137,247,227,2 145,192,225,309,2 106,192,166,300,2 54,177,127,286,2 8,162,76,263,2 109,149,145,196,2 137,145,190,214,2 161,131,209,200,2 29,11,66,60,14 5,1,34,64,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000556.jpg 164,35,406,246,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000557.jpg 331,1,380,118,14 382,1,427,121,14 2,2,115,277,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000558.jpg 110,131,494,284,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000559.jpg 89,78,432,283,5 1,99,54,209,5 67,153,98,205,6 474,105,500,157,14 471,183,500,231,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000560.jpg 10,3,446,190,6 429,1,500,105,6 91,20,424,361,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000565.jpg 176,105,498,299,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000566.jpg 222,149,500,355,9 32,155,206,355,9 132,62,380,355,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000567.jpg 1,88,81,228,8 131,124,248,264,14 283,125,391,269,14 320,2,400,170,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000569.jpg 1,191,119,296,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000572.jpg 29,193,144,285,15 133,164,181,229,15 219,144,266,236,15 376,183,447,294,17 137,221,277,317,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000573.jpg 189,209,359,375,8 320,148,461,357,8 30,151,447,375,10 54,206,193,375,8 146,156,238,180,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000575.jpg 93,2,232,336,8 233,153,426,302,14 1,1,291,375,14 155,121,448,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000577.jpg 92,141,249,260,11 282,171,351,260,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000578.jpg 59,86,347,414,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000579.jpg 52,1,499,375,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000585.jpg 74,106,302,311,1 166,30,304,266,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000586.jpg 48,65,483,364,0 36,1,393,148,0 483,89,500,141,14 457,198,478,261,14 435,202,460,262,14 422,207,437,254,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000589.jpg 419,48,480,161,14 65,10,150,177,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000592.jpg 26,84,456,241,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000594.jpg 209,53,317,334,12 28,3,228,362,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000596.jpg 132,69,287,266,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000598.jpg 1,246,298,500,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000600.jpg 472,63,500,143,1 319,22,343,127,14 343,31,373,123,14 461,20,495,130,14 388,70,412,93,14 436,70,466,126,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000607.jpg 356,259,473,375,8 367,162,425,226,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000608.jpg 347,142,450,226,19 223,239,500,375,17 1,296,152,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000609.jpg 190,130,250,201,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000612.jpg 168,128,299,234,12 209,74,256,193,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000618.jpg 16,112,374,375,13 136,66,318,313,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000621.jpg 1,334,334,500,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000622.jpg 2,173,38,368,4 21,49,82,354,4 81,263,131,391,4 91,2,158,336,4 119,98,238,385,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000627.jpg 46,143,486,256,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000628.jpg 7,146,153,321,12 126,146,254,333,12 103,171,137,288,14 75,157,137,375,14 341,139,383,266,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000629.jpg 1,47,500,278,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000630.jpg 1,164,225,356,17 130,77,233,227,14 222,219,500,375,14 257,217,432,285,14 68,156,244,263,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000631.jpg 136,67,388,267,3 85,152,122,192,3 368,213,421,235,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000634.jpg 16,36,490,355,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000637.jpg 1,40,500,374,13 302,1,349,80,14 196,1,253,104,14 156,1,193,104,14 116,1,164,95,14 1,17,48,58,13 455,7,500,45,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000638.jpg 370,194,489,333,14 174,121,376,332,14 2,104,172,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000641.jpg 412,223,459,272,16 295,214,341,248,16 48,229,111,277,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000642.jpg 54,50,345,283,14 219,129,361,298,14 367,11,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000646.jpg 1,76,110,375,14 162,85,359,375,14 110,72,316,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000651.jpg 55,79,342,441,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000652.jpg 73,1,500,354,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000655.jpg 193,225,219,248,9 393,223,423,244,9 226,221,243,237,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000656.jpg 8,51,471,231,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000657.jpg 31,140,429,373,17 218,114,372,375,14 40,99,235,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000658.jpg 367,303,499,353,6 196,312,227,350,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000661.jpg 72,49,434,347,7 1,1,489,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000666.jpg 362,262,442,322,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000669.jpg 184,106,250,220,2 238,74,323,167,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000673.jpg 68,181,336,273,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000675.jpg 434,180,500,251,12 296,160,433,270,12 122,167,188,311,12 33,179,77,230,12 182,176,225,210,12 1,177,25,241,14 121,102,186,231,14 218,174,240,260,14 481,137,500,220,14 336,131,366,221,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000679.jpg 130,33,364,303,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000682.jpg 123,74,277,342,8 274,71,430,339,8 1,87,75,362,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000683.jpg 352,299,474,351,3 2,230,275,282,3 267,177,420,327,14 60,197,201,283,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000684.jpg 460,157,500,225,6 4,188,75,343,14 150,124,205,299,14 197,147,271,325,14 295,163,346,342,14 346,153,429,343,14 461,214,500,327,14 437,174,473,279,14 114,278,172,343,8 186,290,286,343,8 400,277,480,343,8 460,259,500,343,8 257,264,358,343,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000685.jpg 49,26,437,359,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000688.jpg 12,59,497,374,18 1,199,26,295,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000689.jpg 108,245,373,436,17 52,72,199,485,14 184,293,319,500,14 13,167,73,274,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000690.jpg 72,1,372,499,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000692.jpg 1,234,330,500,10 174,116,235,246,14 1,118,40,318,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000698.jpg 113,150,385,229,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000701.jpg 1,100,434,297,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000703.jpg 122,23,342,321,5 1,4,103,331,5 311,38,500,303,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000704.jpg 220,68,483,314,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000709.jpg 1,7,289,370,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000711.jpg 179,1,376,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000713.jpg 249,199,381,374,4 35,63,368,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000718.jpg 181,126,267,227,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000724.jpg 118,147,419,266,6 37,25,86,131,14 77,32,126,109,14 202,71,228,162,14 246,114,282,167,14 352,79,387,156,14 408,85,430,155,14 427,87,445,156,14 439,86,451,148,14 454,93,471,151,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000725.jpg 41,36,467,332,14 199,33,482,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000730.jpg 116,27,375,217,11 40,351,266,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000731.jpg 279,185,414,271,15 2,228,111,374,8 205,241,275,348,8 249,249,305,271,8 413,255,464,280,8 179,311,499,375,10 95,257,171,330,10 246,269,461,313,10 133,180,219,315,14 21,180,110,268,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000734.jpg 76,24,238,176,2 63,128,269,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000743.jpg 1,13,288,500,15 1,433,117,500,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000744.jpg 257,8,334,87,3 209,166,300,262,3 271,241,358,330,3 295,154,375,246,3 347,277,375,340,3 322,357,375,448,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000745.jpg 247,1,318,130,4 82,97,247,250,10 131,204,500,375,10 250,54,500,279,14 1,141,226,375,14 28,70,118,159,14 147,104,253,247,8 171,90,200,117,8 335,92,365,130,8 303,20,376,134,14 442,30,500,100,14 344,81,500,175,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000747.jpg 260,442,308,498,15 303,442,346,494,15 341,414,375,478,15 319,300,375,419,15 304,196,368,260,15 229,174,243,226,4 214,172,229,227,4 187,173,201,226,4 174,177,190,227,4 157,177,172,228,4 137,184,154,229,4 152,245,167,297,4 138,245,154,297,4 122,245,135,297,4 111,252,129,298,4 96,245,110,297,4 85,248,100,299,4 65,250,81,299,4 35,251,51,299,4 23,251,37,296,4 106,244,118,295,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000748.jpg 254,134,426,355,12 172,135,333,364,12 303,158,397,391,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000749.jpg 148,14,335,325,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000753.jpg 1,156,498,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000755.jpg 18,133,149,285,19 60,283,273,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000757.jpg 1,1,416,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000758.jpg 1,54,136,188,7 34,69,220,330,7 273,68,497,206,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000759.jpg 301,1,359,70,16 224,1,305,68,16 141,1,213,70,16 73,5,146,76,16 30,59,415,375,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000763.jpg 1,1,451,355,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000765.jpg 46,21,437,335,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000767.jpg 58,264,312,482,5 166,216,211,268,14 51,366,91,475,14 1,369,37,484,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000768.jpg 1,1,348,375,14 137,203,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000769.jpg 214,83,399,375,7 2,52,282,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000770.jpg 59,20,308,403,13 185,333,257,383,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000771.jpg 356,166,402,212,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000772.jpg 176,21,361,375,11 18,58,408,375,14 312,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000774.jpg 1,1,273,375,14 185,102,472,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000778.jpg 290,199,336,213,9 280,213,384,274,9 191,204,228,236,9 117,205,161,256,9 3,232,151,358,9 192,211,263,279,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000780.jpg 54,6,281,421,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000784.jpg 17,14,486,337,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000785.jpg 234,81,292,103,6 125,97,286,500,14 75,200,332,475,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000788.jpg 107,54,449,362,11 70,178,210,257,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000789.jpg 1,1,374,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000790.jpg 67,30,432,265,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000791.jpg 1,1,500,312,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000793.jpg 1,1,482,326,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000800.jpg 273,131,452,310,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000804.jpg 2,59,339,500,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000806.jpg 196,143,394,333,14 325,34,500,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000807.jpg 49,83,204,134,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000809.jpg 29,102,280,351,8 52,14,266,370,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000813.jpg 105,251,374,410,7 79,17,374,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000815.jpg 133,82,264,190,8 15,168,494,375,10 432,121,500,205,8 1,206,176,375,8 233,203,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000819.jpg 11,61,482,265,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000820.jpg 1,180,375,500,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000823.jpg 211,192,227,246,4 160,330,184,375,4 232,322,398,375,8 340,248,457,374,8 58,198,127,353,8 160,216,327,375,10 274,165,421,375,14 319,155,432,290,14 197,120,287,326,14 89,132,199,356,14 25,110,133,322,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000824.jpg 187,54,420,420,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000827.jpg 85,314,124,375,4 96,220,115,255,4 1,228,234,375,10 201,108,500,375,14 260,142,429,375,14 189,138,312,338,14 155,145,221,249,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000828.jpg 61,164,220,380,14 200,122,327,380,14 301,155,500,380,14 31,1,143,236,14 115,33,223,201,14 223,25,353,235,14 357,26,471,269,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000829.jpg 138,134,431,374,16 226,31,392,82,16 341,11,430,63,16 450,18,489,90,16 441,5,500,51,16 13,38,287,390,14 263,63,464,343,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000830.jpg 33,34,320,430,5 1,105,173,380,5 314,220,347,308,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000831.jpg 94,110,287,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000834.jpg 136,140,179,167,2 329,168,429,255,16 89,153,194,256,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000837.jpg 195,1,335,44,8 1,77,57,196,8 45,318,347,375,8 1,40,455,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000839.jpg 6,54,498,329,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000840.jpg 16,45,304,282,12 261,107,488,270,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000843.jpg 258,239,331,297,4 22,1,387,375,14 113,135,440,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000845.jpg 2,19,332,500,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000847.jpg 138,34,221,358,4 222,36,306,357,4 1,223,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000848.jpg 292,158,499,242,18 63,183,305,245,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000850.jpg 112,57,447,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000851.jpg 55,235,248,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000853.jpg 1,280,16,340,6 12,300,34,326,6 58,296,99,331,6 135,298,175,332,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000855.jpg 19,39,399,496,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000858.jpg 185,64,499,381,18 97,78,342,359,14 243,102,309,314,14 43,111,121,199,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000859.jpg 214,62,500,375,14 7,85,250,375,14 1,24,64,165,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000872.jpg 109,84,364,247,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000874.jpg 7,87,494,198,0 458,171,467,199,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000875.jpg 9,10,114,98,15 107,160,214,207,15 284,166,375,207,15 489,183,500,238,4 273,202,343,274,8 173,231,226,375,8 204,270,499,374,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000882.jpg 2,162,334,500,0 136,80,237,179,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000885.jpg 328,54,459,202,15 292,229,412,375,8 274,140,362,245,14 118,143,229,368,14 64,112,105,212,14 106,145,130,189,14 259,142,288,176,14 72,212,209,375,8 448,247,500,375,8 465,193,500,247,8 12,165,38,218,8 40,163,66,212,8 260,172,280,232,4 242,171,252,195,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000887.jpg 159,145,310,205,6 45,120,120,190,6 11,142,42,193,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000888.jpg 11,64,435,290,5 332,144,369,177,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000893.jpg 285,41,454,375,12 90,71,301,374,12 1,101,196,375,12 138,183,335,303,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000895.jpg 53,144,291,334,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000897.jpg 355,206,499,301,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000898.jpg 40,76,264,279,13 160,81,356,243,13 252,75,400,223,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000899.jpg 199,1,500,371,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000900.jpg 176,94,475,311,6 438,77,500,126,6 1,57,162,294,6 1,26,160,109,6 137,46,252,140,6 184,51,359,98,6 264,52,401,101,6 324,54,423,104,6 464,48,500,74,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000901.jpg 52,12,464,292,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000908.jpg 1,64,414,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000909.jpg 39,71,284,286,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000912.jpg 198,197,251,228,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000917.jpg 13,242,173,500,8 234,250,347,426,8 117,243,252,462,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000919.jpg 179,105,313,239,15 324,5,443,56,15 252,160,345,319,8 281,197,461,375,8 73,161,188,355,8 81,220,266,375,8 122,201,375,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000920.jpg 217,11,276,172,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000922.jpg 226,64,339,151,0 179,184,287,267,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000927.jpg 22,120,261,248,13 67,121,155,261,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000930.jpg 99,1,477,332,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000932.jpg 365,231,488,375,8 1,289,169,375,10 68,48,159,299,14 152,42,232,375,14 190,90,292,375,14 240,57,299,229,14 274,68,321,227,14 285,75,382,363,14 413,26,500,218,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000933.jpg 57,113,317,375,1 191,258,234,316,4 283,24,417,335,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000934.jpg 5,53,341,500,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000940.jpg 1,1,437,333,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000944.jpg 1,1,500,343,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000947.jpg 140,264,158,326,4 295,207,336,232,8 324,215,360,304,8 373,220,500,375,17 145,181,199,261,14 25,239,357,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000950.jpg 42,68,468,320,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000951.jpg 35,28,132,317,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000953.jpg 349,240,380,304,4 31,211,499,375,10 277,151,363,258,14 271,103,389,260,14 192,98,281,281,14 3,110,174,338,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000954.jpg 1,108,385,375,6 296,124,489,235,6 69,134,134,200,14 183,133,249,185,14 250,103,329,222,14 319,90,347,157,14 293,112,308,133,14 1,137,35,199,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000957.jpg 261,1,335,150,15 150,106,323,375,14 113,170,367,375,8 150,130,362,234,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000961.jpg 1,79,292,300,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000965.jpg 271,136,369,237,19 119,238,231,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000969.jpg 177,160,440,268,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000971.jpg 34,41,368,311,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000973.jpg 48,64,359,458,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000975.jpg 1,46,428,373,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000977.jpg 222,96,303,197,14 431,30,484,60,14 100,38,124,67,14 153,28,171,62,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000979.jpg 30,84,392,230,18 126,121,272,337,14 246,148,368,336,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000981.jpg 40,162,225,405,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000982.jpg 89,222,180,412,12 126,157,243,394,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000983.jpg 1,92,189,283,8 1,33,500,321,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000986.jpg 201,131,464,190,3 196,109,358,132,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000987.jpg 1,67,420,316,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000990.jpg 30,46,283,360,14 270,104,436,327,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000991.jpg 199,103,404,375,14 367,63,493,375,14 305,43,370,204,14 189,14,309,213,14 62,159,152,319,14 1,123,63,370,14 25,213,63,293,14 154,159,188,230,14 56,157,88,228,14 100,132,156,278,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000996.jpg 1,132,92,197,14 1,72,126,271,14 124,135,500,375,14 320,79,406,157,14 201,79,307,194,14 274,62,358,210,14 104,259,135,359,4 149,287,181,352,4 238,188,262,255,4 163,176,202,290,4 218,160,240,223,4 27,136,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000997.jpg 2,60,489,216,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_000999.jpg 16,21,403,468,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001001.jpg 423,80,451,102,2 126,162,154,193,2 336,108,499,324,3 130,138,253,245,3 209,62,471,296,3 351,1,420,13,3 233,125,286,220,14 286,125,332,227,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001004.jpg 32,46,489,324,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001005.jpg 43,16,465,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001008.jpg 201,110,249,199,4 3,191,497,373,10 371,1,500,187,14 104,1,358,195,14 147,72,212,133,14 1,99,17,146,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001009.jpg 424,79,498,257,15 176,236,388,374,8 307,187,440,375,8 399,151,456,328,8 1,134,352,375,10 190,101,405,342,14 323,70,459,222,14 249,58,346,146,14 158,72,232,159,14 74,92,154,186,14 1,88,119,358,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001010.jpg 117,71,500,258,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001011.jpg 191,225,251,329,14 49,146,113,223,15 244,163,319,229,15 89,105,154,153,15 7,62,64,123,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001014.jpg 190,117,441,277,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001015.jpg 68,174,497,328,5 2,253,31,297,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001016.jpg 19,26,472,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001019.jpg 326,100,461,262,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001020.jpg 133,189,236,249,16 285,213,339,245,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001022.jpg 64,1,395,154,13 218,1,326,295,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001023.jpg 85,23,296,333,8 3,58,172,333,8 243,1,481,333,14 409,69,500,333,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001025.jpg 202,346,240,384,1 190,331,207,384,14 147,325,164,383,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001027.jpg 115,179,422,375,14 186,113,362,303,14 48,120,211,239,14 59,92,272,199,14 77,102,316,230,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001028.jpg 99,185,372,495,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001029.jpg 11,315,146,395,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001030.jpg 237,300,375,500,1 97,199,154,340,14 1,272,127,500,14 122,278,206,499,14 192,276,207,347,14 260,117,343,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001031.jpg 317,194,421,312,17 187,182,303,256,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001032.jpg 359,166,414,238,8 414,156,499,237,8 288,162,348,231,8 232,164,277,223,8 255,165,296,191,8 102,138,493,323,14 252,165,290,201,8 185,159,224,195,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001033.jpg 76,194,165,256,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001034.jpg 1,1,500,375,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001036.jpg 93,95,400,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001040.jpg 40,1,495,272,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001044.jpg 113,125,431,217,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001047.jpg 206,101,321,318,9 310,121,422,258,9 453,124,496,268,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001052.jpg 22,116,481,360,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001054.jpg 73,17,461,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001055.jpg 384,1,459,119,15 325,105,433,194,14 70,106,192,202,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001056.jpg 141,126,207,336,14 322,124,418,302,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001058.jpg 1,90,210,333,14 278,56,423,275,14 409,24,500,321,14 212,256,254,333,4 42,248,500,333,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001060.jpg 1,1,195,279,18 293,61,390,305,14 171,22,295,375,14 122,102,177,262,14 57,105,122,275,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001062.jpg 1,38,499,375,6 240,95,500,205,6 1,81,50,168,14 393,69,427,127,14 473,64,498,134,14 417,69,454,130,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001064.jpg 61,130,470,291,5 470,164,500,245,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001066.jpg 115,34,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001069.jpg 23,11,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001071.jpg 1,56,202,294,8 244,23,384,293,8 1,28,199,294,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001073.jpg 113,60,356,228,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001079.jpg 119,49,411,329,9 172,62,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001080.jpg 123,112,492,323,12 279,46,329,197,14 41,112,139,318,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001081.jpg 1,10,487,320,0 310,86,343,99,0 343,90,369,96,0 369,90,386,97,0 385,89,407,98,0 409,93,420,97,0 417,90,441,98,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001082.jpg 128,229,179,286,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001084.jpg 25,104,372,272,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001086.jpg 140,86,280,238,18 266,64,500,262,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001091.jpg 132,143,261,386,14 1,47,234,403,14 1,1,116,238,14 205,146,225,164,4 54,236,77,264,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001093.jpg 169,37,253,162,14 223,48,311,164,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001097.jpg 1,1,499,333,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001100.jpg 150,124,351,322,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001105.jpg 29,42,403,222,5 251,88,274,129,14 438,131,500,168,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001106.jpg 2,282,188,500,8 1,210,373,500,10 53,188,137,269,8 228,227,375,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001107.jpg 122,143,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001110.jpg 277,163,410,231,6 1,159,233,314,6 124,157,246,209,6 223,154,293,180,6 74,143,125,166,6 1,140,63,162,6 215,150,259,172,6 363,154,405,173,6 317,136,409,168,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001111.jpg 199,237,375,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001114.jpg 79,123,440,208,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001116.jpg 168,87,470,375,7 134,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001117.jpg 52,202,227,461,2 144,181,358,338,2 265,180,312,212,2 59,207,162,290,2 1,128,27,153,2 50,37,98,64,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001123.jpg 255,68,445,321,13 264,20,415,285,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001124.jpg 4,125,145,253,6 103,134,253,236,6 357,141,431,193,6 247,144,273,231,14 273,141,303,232,14 303,144,335,232,14 329,135,359,229,14 348,143,382,240,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001126.jpg 2,173,500,375,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001127.jpg 5,96,265,291,11 91,33,318,281,11 280,20,468,216,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001128.jpg 85,76,500,339,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001133.jpg 206,140,377,280,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001134.jpg 240,70,460,419,2 336,208,447,338,2 175,141,363,496,2 17,39,145,405,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001135.jpg 13,130,271,426,7 138,410,375,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001136.jpg 30,125,460,286,6 330,95,500,213,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001137.jpg 149,155,234,250,8 313,161,405,242,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001138.jpg 27,41,497,322,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001139.jpg 140,20,386,152,2 77,38,226,226,2 1,1,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001144.jpg 82,111,447,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001146.jpg 24,17,470,315,5 462,117,499,171,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001149.jpg 400,46,500,171,19 229,7,478,337,14 2,206,404,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001150.jpg 1,1,375,500,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001152.jpg 33,5,500,327,18 210,150,249,272,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001153.jpg 88,324,224,408,1 109,262,162,380,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001158.jpg 1,281,94,348,0 312,322,375,348,0 1,40,375,315,0 78,130,254,455,14 179,163,287,456,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001159.jpg 73,193,477,443,9 22,58,191,445,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001160.jpg 1,1,256,263,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001161.jpg 175,147,262,261,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001163.jpg 138,46,352,356,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001166.jpg 129,1,500,332,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001167.jpg 388,232,437,300,8 247,231,306,303,8 140,242,242,373,8 130,281,239,373,8 263,328,367,373,8 31,219,114,317,8 179,200,238,274,8 41,191,83,243,8 209,291,479,373,10 85,186,203,255,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001168.jpg 28,37,279,193,4 1,43,500,376,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001169.jpg 88,55,395,299,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001173.jpg 2,61,478,358,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001175.jpg 208,146,232,171,15 56,215,225,375,17 329,210,398,296,8 288,185,340,251,8 252,182,302,240,8 202,173,241,218,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001176.jpg 280,209,411,252,3 45,226,175,254,3 403,129,483,150,3 313,134,404,163,3 227,141,336,174,3 243,119,299,132,3 1,302,82,333,3 1,280,46,300,3 114,168,218,197,3 144,175,234,194,3 218,166,303,189,3 130,158,229,181,3 296,112,356,127,3 348,109,399,122,3 384,103,435,118,3 1,186,55,202,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001188.jpg 170,72,312,241,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001189.jpg 129,121,205,182,2 90,126,134,148,3 74,106,124,123,3 152,96,241,131,3 162,93,197,106,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001190.jpg 68,266,91,288,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001192.jpg 184,141,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001193.jpg 39,137,216,233,6 220,146,248,222,14 458,153,477,203,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001198.jpg 175,138,462,262,11 1,1,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001201.jpg 45,20,500,348,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001203.jpg 203,145,429,281,13 121,128,317,255,13 334,118,426,190,13 97,99,143,246,14 149,98,218,162,14 243,93,276,163,14 321,152,374,210,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001208.jpg 187,167,351,375,8 93,184,438,339,10 327,160,500,375,8 118,164,222,351,8 63,155,150,322,8 98,141,169,191,8 230,143,280,176,8 290,144,343,195,8 347,147,417,202,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001211.jpg 46,43,286,470,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001213.jpg 68,73,310,218,1 107,1,226,188,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001215.jpg 139,262,500,375,10 244,119,394,280,14 30,130,242,375,14 70,132,279,251,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001216.jpg 1,1,500,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001217.jpg 14,105,264,278,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001220.jpg 60,35,436,332,10 172,1,328,50,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001221.jpg 278,315,425,367,3 165,3,335,144,15 307,368,405,430,8 157,411,421,450,10 2,204,166,450,14 59,250,179,429,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001223.jpg 116,184,164,226,19 179,186,234,232,19 134,246,277,402,8 24,230,130,383,8 239,222,294,352,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001226.jpg 112,35,171,111,15 376,83,392,115,15 271,117,345,231,8 271,107,406,197,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001227.jpg 93,71,411,344,5 58,173,140,282,5 1,192,42,294,6 134,165,194,209,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001229.jpg 54,48,458,260,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001232.jpg 21,21,475,289,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001238.jpg 2,1,500,375,7 181,106,500,294,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001240.jpg 260,128,319,157,16 84,149,142,190,16 312,169,337,227,16 247,138,309,227,16 135,129,202,201,16 307,159,394,226,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001245.jpg 181,141,236,213,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001246.jpg 394,283,485,371,16 381,198,500,298,16 462,180,499,216,16 291,186,418,292,16 347,168,384,196,16 283,177,356,234,16 100,52,209,214,16 1,70,122,233,16 1,23,60,51,16 193,253,385,375,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001251.jpg 378,204,460,253,12 198,191,250,223,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001252.jpg 125,23,190,281,3 62,126,92,167,3 127,271,195,484,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001253.jpg 54,127,500,449,12 414,168,498,194,6 192,64,290,292,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001254.jpg 1,18,344,319,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001255.jpg 102,79,406,226,5 409,147,437,201,14 65,150,107,181,6 275,127,312,164,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001257.jpg 357,47,439,77,0 285,244,474,314,0 23,238,244,318,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001259.jpg 122,129,231,266,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001260.jpg 1,118,103,316,6 97,135,371,305,6 350,133,500,253,6 228,120,293,330,14 256,103,354,154,6 368,124,500,171,6 364,117,500,167,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001261.jpg 1,46,46,130,6 39,62,460,291,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001263.jpg 185,39,392,105,0 31,270,128,305,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001264.jpg 1,1,354,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001266.jpg 22,12,476,356,13 439,1,500,210,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001270.jpg 65,86,491,299,5 1,228,46,248,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001271.jpg 139,186,328,323,1 1,182,183,274,6 273,179,320,213,6 164,187,229,235,6 283,161,500,256,6 202,157,289,302,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001272.jpg 161,82,239,306,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001276.jpg 99,213,280,411,11 27,25,299,500,14 1,24,55,147,14 3,293,279,395,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001277.jpg 78,159,374,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001281.jpg 187,144,500,346,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001282.jpg 118,64,420,315,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001283.jpg 55,172,484,374,17 77,166,255,375,14 218,148,451,375,14 330,162,489,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001284.jpg 162,1,499,341,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001285.jpg 84,341,117,414,4 28,437,244,500,14 108,348,240,479,14 182,73,269,186,14 250,75,277,116,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001286.jpg 349,80,500,233,6 9,55,44,76,6 45,57,80,76,6 14,143,424,355,13 163,49,210,150,14 61,65,285,147,6 258,62,393,355,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001287.jpg 7,86,451,320,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001288.jpg 138,64,253,194,11 4,141,56,182,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001290.jpg 55,46,375,311,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001292.jpg 108,49,500,349,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001295.jpg 79,256,125,424,4 62,81,375,500,14 1,320,148,500,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001302.jpg 48,15,174,129,19 161,4,288,115,19 284,13,411,128,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001304.jpg 3,104,64,171,19 289,150,492,352,8 163,104,299,207,17 310,111,486,203,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001305.jpg 18,230,79,375,4 129,191,163,266,4 205,160,233,272,4 214,182,256,318,4 360,121,454,246,8 2,217,436,375,10 1,80,109,296,14 244,54,419,242,14 295,58,500,375,14 330,3,479,130,14 392,3,474,71,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001310.jpg 176,114,361,263,3 240,120,319,216,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001311.jpg 1,67,107,211,6 128,83,360,262,6 296,90,347,137,13 103,84,147,139,13 105,56,143,122,14 311,56,345,128,14 469,61,500,132,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001313.jpg 230,363,292,375,6 95,361,150,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001315.jpg 16,129,492,289,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001318.jpg 1,100,96,237,9 258,103,472,314,9 18,120,221,302,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001319.jpg 269,173,385,312,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001320.jpg 6,92,495,272,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001323.jpg 34,45,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001326.jpg 211,55,427,258,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001327.jpg 253,197,295,309,4 156,128,349,375,14 1,247,77,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001329.jpg 331,142,376,169,16 264,139,304,171,16 132,150,171,175,16 186,150,214,176,16 455,136,489,165,16 40,131,74,152,16 104,129,140,148,16 123,133,149,157,16 141,128,167,150,16 284,125,297,148,16 258,108,268,125,16 279,119,300,136,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001330.jpg 241,156,330,312,8 289,192,428,373,8 318,157,500,374,10 1,153,221,372,17 100,129,219,168,8 423,101,500,167,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001333.jpg 325,173,361,244,9 309,166,344,241,9 278,163,324,229,9 257,165,302,228,9 179,167,255,194,9 140,153,166,183,9 95,173,175,249,9 56,172,118,239,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001335.jpg 45,197,107,296,12 110,183,222,330,12 159,184,258,316,12 240,33,291,116,14 278,30,316,82,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001336.jpg 1,210,500,375,10 54,55,161,192,14 143,1,296,192,14 238,51,406,209,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001337.jpg 2,25,204,334,18 186,211,207,264,14 215,208,229,239,14 229,209,242,241,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001341.jpg 85,24,422,290,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001344.jpg 68,1,500,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001346.jpg 156,157,328,253,8 239,155,313,247,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001350.jpg 255,250,401,338,16 187,141,450,338,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001354.jpg 70,62,420,344,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001355.jpg 121,60,417,309,5 257,91,483,254,5 16,73,70,330,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001357.jpg 122,131,232,210,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001360.jpg 22,1,500,375,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001366.jpg 309,166,456,372,8 91,221,269,375,8 134,118,396,355,10 69,91,172,260,8 289,71,399,165,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001369.jpg 53,6,315,341,15 18,305,372,416,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001370.jpg 19,208,166,295,8 340,211,444,357,8 48,111,139,183,19 439,163,500,334,14 379,119,437,239,14 328,133,362,308,14 286,117,340,236,14 231,159,321,350,14 159,107,237,235,14 128,170,233,375,14 80,110,160,260,14 1,95,61,212,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001373.jpg 50,57,423,267,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001375.jpg 218,116,344,248,18 130,176,144,217,14 35,187,54,244,14 59,182,81,240,14 77,181,97,233,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001381.jpg 1,1,499,333,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001382.jpg 147,93,227,258,15 446,96,499,342,4 216,1,307,288,4 336,142,424,285,4 1,172,500,375,10 1,1,228,202,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001384.jpg 63,36,414,264,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001387.jpg 36,117,291,368,19 95,1,375,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001388.jpg 266,70,469,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001389.jpg 107,86,435,358,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001390.jpg 30,1,456,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001394.jpg 101,244,269,375,19 437,261,500,375,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001399.jpg 4,11,375,500,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001400.jpg 1,52,177,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001402.jpg 62,168,99,302,8 7,147,64,254,8 1,149,24,255,8 187,172,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001404.jpg 146,157,463,333,17 1,103,124,319,17 214,53,293,124,19 306,37,352,81,19 430,26,500,129,8 427,133,500,240,8 452,98,500,167,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001406.jpg 1,364,41,399,6 1,432,38,500,6 114,382,128,418,14 146,364,174,423,14 173,361,198,423,14 197,360,219,424,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001407.jpg 12,95,491,231,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001411.jpg 2,87,500,292,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001412.jpg 114,33,219,118,15 1,107,182,220,17 125,113,225,258,8 308,128,402,248,8 330,102,442,293,8 413,107,500,276,8 223,104,500,297,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001414.jpg 2,65,275,354,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001416.jpg 114,10,500,242,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001421.jpg 155,152,257,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001422.jpg 158,238,311,375,1 81,118,260,375,14 244,101,371,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001424.jpg 268,175,418,266,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001432.jpg 49,65,487,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001434.jpg 1,7,500,321,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001440.jpg 79,156,133,265,15 183,192,338,307,17 1,254,233,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001441.jpg 1,18,500,256,1 73,138,241,252,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001447.jpg 1,57,237,375,8 205,53,500,368,8 21,101,180,375,14 223,64,500,375,14 245,144,427,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001449.jpg 193,114,211,129,6 232,119,299,193,13 173,107,190,168,14 212,101,223,125,14 214,105,241,161,14 193,114,238,172,14 237,95,281,177,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001451.jpg 57,92,222,254,8 1,195,232,375,8 288,87,500,328,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001455.jpg 422,44,499,94,0 316,26,477,78,0 1,38,456,198,0 236,142,500,333,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001456.jpg 1,270,49,377,19 46,274,128,357,15 104,256,267,493,14 223,306,305,456,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001463.jpg 181,143,275,214,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001464.jpg 149,6,372,317,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001466.jpg 234,125,294,198,19 304,223,424,363,8 38,109,68,147,15 84,89,123,143,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001467.jpg 36,90,214,332,14 149,104,294,288,14 266,135,471,288,14 278,108,366,155,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001471.jpg 217,90,314,177,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001475.jpg 2,1,374,140,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001476.jpg 6,429,40,448,0 283,431,318,451,0 244,430,271,450,0 205,430,236,449,0 149,427,179,450,0 84,425,124,448,0 41,425,83,449,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001479.jpg 14,1,497,363,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001480.jpg 13,75,459,257,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001489.jpg 148,195,196,210,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001498.jpg 22,28,459,307,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001501.jpg 264,197,440,298,1 314,139,390,257,14 102,137,128,216,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001503.jpg 216,166,288,336,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001505.jpg 55,52,321,374,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001507.jpg 1,94,233,258,19 265,96,499,263,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001508.jpg 46,23,500,364,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001510.jpg 137,120,181,147,1 149,102,171,143,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001514.jpg 69,101,386,212,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001518.jpg 2,154,414,316,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001519.jpg 108,53,468,325,5 478,211,500,282,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001521.jpg 212,261,331,475,4 1,2,304,460,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001524.jpg 233,95,322,225,8 277,107,389,269,8 132,52,262,188,1 140,54,261,172,1 274,1,382,51,6 193,1,274,41,6 119,1,185,39,6 2,14,292,346,13 64,14,81,58,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001525.jpg 25,103,435,216,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001526.jpg 426,147,500,294,8 1,161,75,375,8 55,220,500,375,10 1,62,256,375,14 253,76,497,292,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001529.jpg 181,166,245,261,1 183,127,247,244,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001530.jpg 269,210,312,270,9 226,211,273,268,9 207,186,256,217,9 287,192,321,217,9 1,127,371,377,14 325,223,381,289,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001531.jpg 328,191,499,374,17 104,157,375,261,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001532.jpg 84,92,187,228,3 132,182,271,408,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001534.jpg 87,48,431,328,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001535.jpg 42,177,219,375,1 184,187,306,375,1 137,87,176,143,6 203,90,225,108,6 55,70,155,257,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001536.jpg 54,50,482,279,5 388,112,444,167,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001537.jpg 96,1,332,438,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001538.jpg 426,162,500,275,1 181,148,256,308,14 232,281,247,318,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001541.jpg 23,105,202,174,0 162,98,475,207,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001542.jpg 302,97,438,144,6 9,100,487,265,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001543.jpg 1,29,483,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001544.jpg 1,38,422,370,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001546.jpg 177,120,370,303,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001547.jpg 11,122,298,318,17 122,395,375,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001549.jpg 180,90,394,266,16 55,125,297,297,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001557.jpg 233,133,280,146,3 1,193,108,229,3 1,174,177,219,3 89,79,148,326,14 135,192,157,217,4 164,202,246,292,14 209,238,331,344,14 232,192,345,274,14 337,153,408,304,14 312,203,354,261,14 439,165,457,214,14 453,163,471,211,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001558.jpg 156,85,357,334,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001560.jpg 64,50,500,370,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001566.jpg 429,76,448,95,15 393,62,413,96,15 306,317,336,374,8 279,319,308,371,8 232,313,260,370,8 154,308,184,372,8 187,309,212,339,8 435,307,459,346,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001567.jpg 334,116,419,263,8 232,101,301,232,8 2,140,212,261,17 208,183,382,333,14 238,100,306,238,14 318,85,397,227,14 161,111,230,265,14 67,134,225,333,14 130,201,218,302,14 1,179,213,333,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001568.jpg 42,128,436,296,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001571.jpg 232,253,260,332,4 181,192,215,265,4 129,201,188,257,4 54,274,85,332,4 147,269,169,333,4 1,253,364,332,10 184,118,405,333,14 40,91,186,273,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001572.jpg 113,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001573.jpg 264,103,335,174,19 320,135,374,203,19 43,166,221,333,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001582.jpg 94,139,307,177,3 162,111,196,161,14 153,119,222,164,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001586.jpg 118,1,340,106,8 1,103,500,374,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001589.jpg 137,117,344,173,3 447,157,498,178,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001591.jpg 372,131,444,199,3 375,163,392,186,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001592.jpg 1,2,434,319,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001596.jpg 328,168,385,196,6 23,163,79,193,6 401,178,444,197,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001597.jpg 1,23,301,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001599.jpg 1,2,499,179,1 1,1,186,185,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001600.jpg 391,149,500,234,15 192,172,273,309,8 269,170,330,252,8 250,176,379,369,8 1,193,51,374,17 350,224,498,371,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001601.jpg 3,159,457,304,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001602.jpg 22,16,500,266,18 317,100,342,141,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001605.jpg 44,64,419,333,13 75,12,131,159,14 274,29,307,176,14 293,17,352,186,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001606.jpg 100,64,451,225,6 1,57,43,128,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001607.jpg 1,68,306,434,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001608.jpg 372,189,499,355,11 311,108,440,353,14 89,123,350,352,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001611.jpg 41,26,310,499,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001612.jpg 181,145,299,375,1 351,1,415,304,14 63,181,211,366,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001613.jpg 216,106,293,186,3 381,250,453,287,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001614.jpg 25,84,500,296,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001616.jpg 28,319,500,375,10 406,117,500,335,14 322,100,410,255,14 242,116,345,272,14 107,102,218,257,14 5,103,107,306,14 53,183,160,358,14 153,170,296,333,14 290,182,419,329,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001618.jpg 205,143,307,294,14 142,156,231,294,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001619.jpg 388,96,482,257,14 284,84,364,375,14 137,78,239,375,14 3,90,89,365,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001620.jpg 119,198,240,334,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001621.jpg 80,213,154,296,8 1,155,127,362,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001622.jpg 126,161,153,201,15 35,160,67,204,15 15,160,42,197,15 92,160,114,198,15 406,165,423,186,15 390,164,408,184,15 365,163,382,187,15 212,156,225,175,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001624.jpg 115,148,353,223,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001625.jpg 154,96,420,279,12 131,106,374,277,12 73,112,118,269,14 108,120,128,268,14 65,109,139,224,14 444,197,500,228,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001628.jpg 87,86,282,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001629.jpg 135,87,300,214,13 106,121,227,214,13 215,43,284,183,14 163,83,200,133,14 477,43,500,89,14 445,74,471,131,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001632.jpg 1,201,494,375,1 55,146,413,366,6 173,12,293,375,14 156,6,416,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001641.jpg 1,95,345,413,6 65,27,235,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001642.jpg 136,11,382,341,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001643.jpg 16,35,496,325,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001647.jpg 1,87,498,375,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001649.jpg 38,113,356,348,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001650.jpg 317,275,500,401,8 312,29,486,401,14 245,60,380,401,14 136,23,260,401,14 25,57,177,401,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001652.jpg 123,67,198,204,2 230,119,322,333,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001653.jpg 11,9,158,295,9 304,41,484,280,9 193,177,316,263,9 1,2,361,276,9 108,1,226,281,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001655.jpg 15,71,388,271,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001656.jpg 1,119,234,479,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001662.jpg 208,164,346,257,11 1,115,449,375,17 186,119,418,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001663.jpg 67,48,457,317,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001665.jpg 99,129,168,195,8 4,129,81,271,8 47,174,500,333,10 161,120,229,183,8 59,124,252,196,10 1,209,55,333,8 264,103,294,154,8 445,92,489,181,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001666.jpg 23,180,150,349,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001669.jpg 331,240,359,259,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001671.jpg 60,119,465,241,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001673.jpg 387,1,490,48,6 464,6,499,56,6 23,17,495,374,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001674.jpg 1,205,213,500,14 263,202,500,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001678.jpg 72,193,459,375,10 275,4,500,375,14 172,101,312,208,14 7,50,220,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001679.jpg 137,125,440,282,9 100,158,153,274,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001689.jpg 23,188,193,325,8 149,153,211,211,19 387,170,439,214,15 465,127,491,212,15 2,118,60,185,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001691.jpg 2,196,167,422,17 29,191,193,424,14 278,246,337,338,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001693.jpg 140,90,185,126,3 97,99,132,116,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001694.jpg 281,106,434,247,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001695.jpg 151,265,185,296,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001698.jpg 215,175,249,200,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001699.jpg 40,84,449,253,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001700.jpg 96,284,140,411,4 283,328,330,478,4 32,96,214,376,14 158,148,356,402,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001705.jpg 148,82,297,228,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001707.jpg 5,6,409,334,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001708.jpg 77,180,253,420,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001710.jpg 2,376,374,500,3 147,67,257,500,14 81,117,169,486,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001712.jpg 46,40,260,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001713.jpg 209,51,274,101,15 184,181,280,234,15 253,150,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001714.jpg 146,134,340,329,11 1,1,375,447,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001715.jpg 213,1,310,148,8 295,22,395,166,8 223,1,401,130,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001716.jpg 1,78,333,500,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001719.jpg 78,122,124,187,15 136,177,182,220,8 238,188,296,244,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001720.jpg 188,188,370,333,4 260,53,435,333,4 334,1,486,151,4 136,1,283,332,4 11,103,190,333,4 32,194,175,333,4 1,1,101,238,4 74,1,170,119,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001722.jpg 24,31,267,206,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001726.jpg 155,132,233,199,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001727.jpg 1,77,388,308,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001730.jpg 269,149,482,375,19 124,55,351,266,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001732.jpg 10,207,290,500,1 104,24,285,490,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001733.jpg 217,162,499,375,7 1,111,187,375,7 1,34,500,231,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001739.jpg 2,93,499,364,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001740.jpg 233,162,264,200,14 217,166,236,202,14 149,170,170,195,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001741.jpg 105,106,413,352,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001745.jpg 2,40,409,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001747.jpg 95,42,443,283,5 20,160,38,223,14 1,154,12,220,14 23,160,103,204,6 441,151,455,188,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001748.jpg 324,210,380,232,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001751.jpg 110,183,442,345,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001753.jpg 1,20,500,308,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001754.jpg 121,24,358,317,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001755.jpg 96,7,481,374,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001757.jpg 365,158,437,242,16 241,151,371,223,16 204,205,266,244,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001764.jpg 241,128,336,193,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001765.jpg 35,87,485,269,13 169,32,381,287,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001766.jpg 153,167,187,210,15 6,170,260,500,8 301,53,333,175,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001769.jpg 227,86,283,175,8 170,89,230,191,8 236,81,288,155,8 358,44,422,141,14 403,22,500,333,14 22,108,137,325,14 105,105,190,301,14 4,32,194,203,14 61,34,218,130,14 284,42,380,324,14 357,79,379,107,4 158,36,238,200,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001770.jpg 1,1,500,374,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001771.jpg 102,101,382,316,3 147,197,175,232,14 302,202,326,237,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001775.jpg 1,1,499,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001776.jpg 254,91,500,315,18 65,20,499,194,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001779.jpg 37,97,357,414,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001782.jpg 295,251,428,346,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001785.jpg 83,203,419,351,10 50,192,78,270,8 70,194,108,282,8 102,198,146,300,8 141,203,218,323,8 204,209,302,361,8 151,186,184,207,8 182,187,223,211,8 233,188,274,214,8 274,190,340,219,8 361,193,420,246,8 354,134,497,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001789.jpg 3,67,465,237,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001790.jpg 1,153,500,375,14 155,59,374,222,14 288,74,425,189,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001791.jpg 195,147,236,197,15 116,158,158,203,15 98,169,134,213,8 146,159,185,217,8 115,169,143,219,8 176,170,204,210,8 224,174,255,239,8 257,179,293,242,8 204,189,245,257,8 165,182,207,243,8 176,193,227,272,8 301,207,363,291,8 300,173,327,227,8 335,171,368,197,8 325,184,367,252,8 355,185,394,244,8 249,163,271,189,8 434,167,456,207,8 399,168,425,213,8 383,167,408,207,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001793.jpg 2,2,439,342,3 194,302,248,323,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001794.jpg 226,222,373,357,17 95,88,205,378,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001796.jpg 139,1,500,319,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001799.jpg 96,20,472,312,13 1,1,188,84,6 1,141,500,374,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001800.jpg 68,109,240,162,0 126,252,289,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001801.jpg 25,181,109,238,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001805.jpg 98,115,324,375,11 150,1,496,174,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001806.jpg 54,353,254,494,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001810.jpg 159,155,205,191,16 288,141,338,177,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001811.jpg 386,107,500,375,8 56,1,422,200,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001812.jpg 62,45,293,452,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001815.jpg 192,103,310,240,12 240,59,301,186,14 8,115,33,157,14 24,116,60,157,14 52,116,88,155,14 62,113,98,154,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001819.jpg 95,62,116,119,4 1,101,421,360,10 10,78,415,500,14 143,8,359,234,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001820.jpg 368,114,500,301,15 349,224,393,340,4 83,269,499,392,10 1,92,321,385,17 115,79,299,341,14 283,1,357,198,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001822.jpg 340,258,392,291,16 262,240,296,275,16 244,244,276,275,16 204,236,234,267,16 186,234,213,261,16 165,229,188,257,16 122,228,148,245,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001824.jpg 48,109,500,232,0 47,200,115,231,6 239,223,500,333,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001825.jpg 75,146,446,447,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001826.jpg 329,85,496,208,5 158,168,377,264,6 275,143,322,259,14 325,150,352,262,14 167,140,185,188,14 218,143,232,178,14 190,142,207,186,14 53,147,65,186,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001827.jpg 40,142,315,292,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001833.jpg 121,256,374,497,8 1,191,66,345,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001834.jpg 156,57,316,317,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001837.jpg 75,82,141,138,19 162,144,194,175,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001840.jpg 17,10,484,348,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001841.jpg 1,49,313,348,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001842.jpg 1,248,126,375,8 130,158,366,375,10 331,113,500,375,14 346,117,439,278,14 316,114,373,228,14 286,95,334,181,14 174,120,211,176,14 136,123,182,215,14 83,116,151,278,14 1,117,135,344,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001845.jpg 409,70,499,188,15 233,88,254,144,4 1,133,492,373,17 46,153,208,375,14 152,136,266,375,14 219,118,385,375,14 238,87,461,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001847.jpg 225,288,332,457,8 2,307,153,500,8 26,227,162,368,8 193,221,291,399,8 50,245,295,456,10 186,208,204,270,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001854.jpg 1,1,305,277,9 2,9,443,330,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001855.jpg 63,7,433,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001856.jpg 274,174,407,322,17 89,143,154,199,19 1,227,227,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001858.jpg 18,107,498,347,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001862.jpg 267,184,315,258,8 250,178,284,254,8 211,178,259,250,8 209,188,305,266,10 175,225,293,282,11 190,82,223,141,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001863.jpg 2,1,372,500,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001866.jpg 1,21,428,400,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001868.jpg 199,1,499,332,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001870.jpg 66,38,294,421,5 79,238,140,395,14 308,262,345,369,14 15,247,70,404,14 1,284,36,411,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001871.jpg 25,94,479,224,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001872.jpg 88,173,215,213,0 379,200,439,214,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001873.jpg 228,144,483,315,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001875.jpg 120,110,275,170,0 151,273,432,333,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001876.jpg 151,107,499,333,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001877.jpg 178,179,292,289,11 111,86,171,310,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001880.jpg 324,1,500,169,0 83,114,500,300,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001884.jpg 219,172,500,372,10 102,107,297,203,10 187,148,313,372,8 260,142,316,210,8 320,136,364,194,8 367,136,402,183,8 330,224,500,372,8 403,270,500,372,8 84,109,111,203,8 103,110,168,217,8 155,118,216,220,8 223,114,257,152,8 258,112,293,146,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001885.jpg 155,208,180,237,6 209,242,257,320,13 259,215,279,275,14 283,221,301,282,14 212,219,252,307,14 239,212,263,281,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001886.jpg 60,300,128,317,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001889.jpg 1,259,286,384,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001891.jpg 268,105,500,240,6 68,102,315,275,6 433,82,500,121,6 340,84,437,110,6 241,87,315,125,6 136,88,216,125,6 292,73,319,131,14 352,71,368,110,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001893.jpg 45,43,402,374,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001895.jpg 1,141,500,375,17 44,7,494,375,14 257,46,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001896.jpg 232,174,388,326,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001900.jpg 85,37,425,360,7 210,97,500,422,8 1,96,377,423,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001901.jpg 1,64,500,368,3 296,164,470,234,3 90,198,170,245,3 1,330,189,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001902.jpg 70,58,231,414,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001904.jpg 67,212,454,369,18 1,221,102,297,18 409,264,449,370,14 483,268,500,322,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001906.jpg 26,16,268,366,14 224,23,498,365,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001910.jpg 235,173,326,316,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001911.jpg 2,86,301,333,7 1,1,232,152,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001914.jpg 416,313,446,375,4 1,12,485,375,17 258,1,500,209,1 290,156,316,202,4 49,55,364,375,14 138,14,458,375,14 252,5,500,238,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001919.jpg 160,16,356,329,14 442,149,493,179,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001920.jpg 1,300,290,375,10 1,44,188,315,14 160,37,410,375,14 107,98,499,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001922.jpg 1,148,246,295,17 24,180,246,272,14 119,122,246,256,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001924.jpg 136,108,250,222,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001926.jpg 73,38,462,369,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001927.jpg 163,170,324,202,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001928.jpg 158,46,301,158,19 463,49,500,86,15 36,82,190,283,14 303,30,481,283,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001929.jpg 44,88,321,228,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001930.jpg 66,125,317,479,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001932.jpg 48,156,129,225,8 167,147,320,229,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001937.jpg 408,143,494,205,1 299,148,402,209,1 205,143,290,216,1 149,197,263,286,1 62,185,115,257,1 351,155,397,222,14 295,159,347,224,14 147,97,193,223,14 147,129,218,286,14 20,110,41,154,14 1,101,31,254,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001938.jpg 229,61,283,109,19 17,177,195,270,8 254,148,271,180,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001941.jpg 207,257,272,338,8 153,280,226,353,8 84,266,154,343,8 87,351,223,375,8 402,352,492,375,8 364,310,474,375,8 344,293,412,375,8 320,274,400,360,8 306,264,359,334,8 1,236,48,306,8 380,272,439,316,10 413,283,480,338,10 451,315,500,375,10 5,237,40,264,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001942.jpg 102,39,436,306,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001944.jpg 102,139,428,331,11 169,110,378,164,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001945.jpg 10,227,340,429,1 125,287,375,500,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001946.jpg 103,196,148,238,19 172,78,375,500,15 187,157,299,323,15 83,213,134,336,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001949.jpg 154,60,377,316,5 70,215,92,263,14 1,161,144,249,5 1,216,65,249,6 1,237,35,264,1 372,208,409,258,6 402,207,446,243,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001950.jpg 1,72,459,375,9 1,1,164,350,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001951.jpg 107,4,387,332,18 334,156,500,313,18 1,143,176,317,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001952.jpg 75,9,498,232,2 39,187,179,242,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001956.jpg 109,72,287,449,12 122,37,275,302,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001959.jpg 222,140,287,200,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001961.jpg 5,247,491,375,3 96,35,176,78,6 129,36,370,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001962.jpg 91,147,442,259,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001964.jpg 64,103,383,308,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001966.jpg 83,207,296,451,1 110,63,294,392,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001967.jpg 23,22,366,423,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001971.jpg 1,91,337,409,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001972.jpg 280,27,500,373,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001974.jpg 93,73,325,197,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001975.jpg 396,182,423,251,4 91,166,499,375,10 204,72,314,219,14 68,71,195,283,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001977.jpg 1,221,337,376,17 188,171,244,221,19 157,179,207,252,14 203,179,229,209,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001980.jpg 3,197,498,444,17 217,89,487,444,14 1,75,252,445,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001982.jpg 43,117,449,303,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001984.jpg 166,30,422,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001986.jpg 24,23,479,331,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001987.jpg 220,194,352,276,1 261,156,330,287,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001988.jpg 191,193,302,425,1 194,49,308,312,14 3,95,214,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001989.jpg 207,195,239,240,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_001991.jpg 390,150,464,195,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002002.jpg 302,179,428,375,1 431,69,472,88,6 311,38,433,333,14 312,81,423,302,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002003.jpg 335,1,500,267,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002004.jpg 1,1,466,439,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002005.jpg 286,260,500,374,8 249,131,349,240,19 46,34,162,252,14 350,79,443,241,14 231,133,474,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002006.jpg 69,169,407,375,1 143,37,313,375,14 1,1,42,118,14 153,134,177,181,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002012.jpg 237,195,391,320,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002016.jpg 210,78,326,347,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002018.jpg 247,168,329,299,9 45,153,179,280,9 216,158,265,230,9 321,165,407,260,9 1,157,35,261,9 126,146,225,225,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002019.jpg 190,53,499,297,9 1,1,206,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002021.jpg 389,138,500,219,6 70,105,248,375,14 257,97,483,375,14 218,76,327,375,14 409,116,425,147,14 436,112,454,146,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002022.jpg 19,67,309,375,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002027.jpg 2,50,454,375,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002031.jpg 124,1,438,279,15 130,176,217,263,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002033.jpg 1,187,373,341,6 144,210,184,354,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002034.jpg 73,54,500,299,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002036.jpg 142,155,316,214,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002038.jpg 122,44,385,353,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002039.jpg 194,351,314,427,13 255,171,334,368,14 290,141,334,240,14 35,39,99,192,14 82,33,119,185,14 295,319,334,455,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002040.jpg 5,34,483,479,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002041.jpg 123,91,257,281,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002042.jpg 107,98,165,150,9 148,60,176,94,9 420,108,451,166,14 34,55,60,115,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002044.jpg 1,1,429,375,11 403,298,460,375,4 352,297,406,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002045.jpg 420,142,484,219,15 54,249,134,375,14 119,212,190,373,14 197,208,280,375,14 258,237,326,375,14 303,219,416,375,14 79,134,150,265,14 152,133,214,239,14 210,136,257,241,14 257,138,304,238,14 293,133,351,241,14 334,131,394,261,14 16,166,91,351,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002046.jpg 1,188,42,314,5 7,91,323,392,5 56,249,116,461,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002047.jpg 94,101,238,333,14 274,124,470,329,12 170,71,325,321,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002049.jpg 143,338,294,441,1 171,269,239,434,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002050.jpg 225,152,324,286,3 1,248,37,298,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002053.jpg 1,113,486,342,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002055.jpg 66,94,437,460,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002062.jpg 115,1,484,312,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002063.jpg 311,184,467,375,12 53,41,251,295,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002064.jpg 77,74,357,350,1 76,86,121,124,6 133,80,256,130,6 378,67,500,139,6 62,78,318,314,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002073.jpg 134,132,226,233,3 39,101,494,230,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002074.jpg 117,199,337,291,10 1,256,306,374,10 264,91,390,213,14 299,91,459,348,14 299,104,500,375,14 215,127,251,186,14 164,101,227,206,14 95,99,213,231,14 7,94,120,269,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002075.jpg 139,287,499,375,10 3,30,343,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002079.jpg 1,53,344,374,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002085.jpg 38,183,284,220,3 187,157,236,203,14 72,148,124,202,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002088.jpg 9,60,469,232,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002091.jpg 3,64,383,245,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002093.jpg 1,105,377,500,13 1,92,377,352,13 1,52,321,187,13 1,39,289,118,13 1,1,275,93,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002096.jpg 105,62,409,333,6 1,87,41,196,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002097.jpg 106,77,442,374,13 210,19,402,323,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002098.jpg 68,105,387,362,11 146,80,293,173,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002100.jpg 139,25,324,209,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002102.jpg 1,111,326,495,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002105.jpg 85,131,413,248,18 1,136,500,236,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002106.jpg 272,98,478,256,6 261,95,326,180,6 155,98,220,297,14 25,98,95,300,14 209,132,235,167,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002107.jpg 1,1,476,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002108.jpg 162,189,214,266,8 198,186,227,253,8 155,197,248,268,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002109.jpg 1,1,375,500,17 1,103,373,500,14 62,107,214,240,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002110.jpg 62,73,355,288,11 332,1,500,177,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002111.jpg 53,103,289,319,1 304,51,338,111,1 442,40,500,64,6 331,24,359,108,14 166,171,193,199,4 189,163,206,197,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002113.jpg 351,191,395,319,4 343,196,384,326,4 1,208,456,375,1 103,5,343,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002114.jpg 3,49,486,301,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002116.jpg 190,145,378,246,13 226,126,362,190,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002119.jpg 1,11,489,240,16 143,149,254,267,16 17,174,498,399,16 1,192,184,400,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002121.jpg 1,17,434,359,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002124.jpg 120,205,245,331,8 337,120,401,294,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002128.jpg 238,144,279,225,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002131.jpg 1,1,292,332,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002132.jpg 125,107,357,242,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002134.jpg 26,132,186,207,9 108,109,206,156,9 155,119,307,180,9 312,122,454,176,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002135.jpg 35,274,466,500,1 1,2,188,103,6 128,1,355,80,6 237,389,294,464,4 50,40,425,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002137.jpg 90,68,395,375,11 1,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002142.jpg 67,194,369,370,10 341,190,500,375,14 26,163,191,375,14 15,135,94,303,14 119,137,169,213,14 165,112,254,200,14 253,126,331,206,14 366,132,440,203,14 271,147,427,357,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002143.jpg 220,287,273,361,6 45,261,167,387,6 155,289,186,368,6 171,293,221,347,6 253,286,295,383,6 82,137,245,195,6 233,111,375,247,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002144.jpg 157,70,364,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002147.jpg 68,77,342,439,7 1,17,375,500,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002148.jpg 234,154,307,337,14 152,151,224,337,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002149.jpg 87,162,121,328,14 33,164,95,334,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002150.jpg 259,291,377,372,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002154.jpg 301,161,436,298,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002156.jpg 171,119,469,370,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002158.jpg 203,31,499,375,14 117,245,160,357,4 179,258,235,306,4 205,263,245,314,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002159.jpg 98,148,314,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002160.jpg 115,24,444,376,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002163.jpg 203,217,306,281,4 388,44,500,243,8 212,73,447,249,10 282,211,439,332,14 1,1,301,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002167.jpg 199,102,312,352,14 1,53,103,230,14 382,75,477,321,14 427,140,447,175,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002169.jpg 175,216,266,294,16 22,193,41,215,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002173.jpg 1,137,457,375,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002174.jpg 340,322,383,359,6 228,302,321,367,6 314,314,349,367,6 365,318,407,351,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002177.jpg 215,28,500,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002178.jpg 57,28,500,375,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002179.jpg 1,134,372,375,14 93,22,200,118,8 69,61,145,128,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002184.jpg 9,63,500,364,17 148,38,379,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002185.jpg 271,117,298,179,4 1,190,375,500,10 42,95,95,200,4 175,107,206,213,4 104,93,134,192,4 146,105,176,206,4 122,92,142,185,4 84,97,114,175,4 139,97,154,186,4 165,86,202,145,4 130,81,163,129,4 230,133,250,171,4 250,137,265,173,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002186.jpg 2,107,276,335,14 229,59,428,183,7 1,1,480,335,17 464,100,486,163,4 476,37,492,91,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002189.jpg 27,20,450,310,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002192.jpg 302,165,354,268,1 139,181,198,290,1 134,87,200,264,14 301,81,364,252,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002193.jpg 127,72,447,190,0 380,168,414,261,14 311,166,335,224,14 435,160,449,202,14 483,162,500,204,14 410,163,425,199,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002200.jpg 5,196,104,375,8 104,147,482,375,10 35,77,182,325,14 243,65,326,153,14 108,79,242,230,14 387,89,478,280,14 364,82,420,189,14 168,79,232,162,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002211.jpg 8,63,468,331,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002215.jpg 287,1,498,374,5 1,267,177,374,6 134,287,270,374,6 222,277,292,311,6 377,251,416,303,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002218.jpg 52,27,392,345,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002221.jpg 142,1,306,270,2 14,319,94,372,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002222.jpg 112,122,370,279,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002223.jpg 78,139,361,258,1 153,108,347,197,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002224.jpg 122,239,204,324,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002227.jpg 253,1,490,222,5 170,160,246,270,14 124,196,211,300,14 104,165,166,266,14 44,165,145,364,14 4,192,51,297,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002228.jpg 115,47,427,323,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002230.jpg 1,159,317,375,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002234.jpg 15,67,500,333,6 213,96,493,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002236.jpg 223,192,497,335,13 21,73,252,325,14 129,68,241,290,14 231,93,282,282,14 399,165,478,254,14 370,196,392,232,4 1,183,22,231,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002237.jpg 205,297,228,337,4 55,80,244,337,14 246,68,425,337,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002239.jpg 42,38,218,434,11 60,1,298,452,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002241.jpg 62,143,480,375,10 17,124,224,375,8 153,94,240,164,8 327,99,457,340,8 220,143,438,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002244.jpg 363,184,377,205,1 362,168,380,206,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002245.jpg 222,96,268,178,2 337,127,419,335,2 191,109,381,335,14 454,124,500,335,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002246.jpg 222,51,285,86,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002247.jpg 1,1,499,282,18 140,148,241,282,14 61,149,145,245,14 4,163,69,255,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002248.jpg 1,1,500,324,0 180,131,350,324,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002251.jpg 1,19,284,489,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002252.jpg 1,1,500,333,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002253.jpg 1,29,494,374,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002260.jpg 43,228,185,375,8 177,280,334,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002265.jpg 122,108,324,387,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002268.jpg 33,231,277,375,17 71,145,120,193,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002269.jpg 68,9,396,352,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002270.jpg 397,24,463,113,8 472,86,500,189,8 2,30,52,135,8 1,100,49,193,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002272.jpg 17,64,325,306,9 374,75,469,262,9 248,42,391,208,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002273.jpg 68,98,309,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002276.jpg 1,1,374,449,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002278.jpg 2,1,364,280,18 91,47,113,79,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002279.jpg 1,1,459,321,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002280.jpg 301,242,500,295,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002281.jpg 298,218,432,434,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002284.jpg 12,146,497,266,0 47,150,183,201,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002291.jpg 1,126,478,239,17 115,117,213,237,14 433,80,471,164,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002292.jpg 33,26,214,218,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002294.jpg 8,194,293,301,18 287,204,370,300,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002295.jpg 190,81,315,252,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002298.jpg 1,78,368,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002300.jpg 134,13,324,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002301.jpg 126,73,175,276,4 167,59,239,286,4 39,30,326,300,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002303.jpg 78,138,206,180,6 374,34,472,331,14 223,25,363,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002308.jpg 60,65,334,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002312.jpg 85,71,306,332,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002317.jpg 275,30,438,375,14 187,89,294,375,14 20,49,198,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002318.jpg 135,1,215,62,15 191,2,266,63,15 1,2,118,349,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002322.jpg 1,1,339,125,6 206,151,383,357,13 358,13,448,258,14 214,40,392,342,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002324.jpg 2,1,452,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002325.jpg 123,424,281,495,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002327.jpg 1,26,500,260,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002330.jpg 82,62,404,246,5 24,146,49,213,14 422,108,478,166,5 467,107,500,179,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002335.jpg 85,151,211,245,8 211,150,499,375,17 233,158,500,333,14 181,136,438,375,14 59,134,196,201,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002341.jpg 11,61,370,500,12 149,33,248,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002343.jpg 83,9,333,491,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002346.jpg 8,13,487,183,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002347.jpg 2,9,419,440,7 15,343,356,485,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002348.jpg 281,209,305,305,4 53,262,499,375,10 299,119,500,323,14 94,161,184,287,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002350.jpg 344,229,398,309,15 236,166,272,210,15 134,148,180,212,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002357.jpg 1,1,303,482,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002358.jpg 325,239,349,297,4 65,154,409,375,10 26,110,179,368,14 123,99,212,203,14 213,77,300,172,14 255,103,500,332,14 311,81,381,155,14 1,175,131,367,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002359.jpg 2,114,453,373,17 17,84,313,375,14 195,35,427,375,14 54,203,276,363,14 162,199,219,242,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002362.jpg 116,93,435,302,12 60,88,319,275,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002365.jpg 108,111,350,278,14 272,127,355,178,14 156,81,238,169,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002366.jpg 56,48,341,141,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002371.jpg 58,77,268,380,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002379.jpg 142,108,293,261,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002380.jpg 1,154,499,314,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002381.jpg 80,9,368,207,2 67,368,220,484,2 136,312,370,442,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002384.jpg 28,157,397,246,5 305,217,494,316,6 433,208,500,249,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002385.jpg 1,1,213,375,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002386.jpg 131,2,261,307,15 210,133,460,359,8 209,34,456,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002387.jpg 25,127,346,246,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002388.jpg 353,109,456,230,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002389.jpg 1,131,316,264,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002391.jpg 477,228,500,301,15 347,212,449,343,8 250,291,500,375,17 285,207,340,301,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002393.jpg 309,98,500,375,14 1,21,169,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002394.jpg 277,99,295,163,4 62,147,373,374,10 1,57,202,375,14 102,53,230,229,14 363,64,405,120,14 348,81,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002395.jpg 158,127,432,295,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002396.jpg 17,57,500,298,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002397.jpg 417,219,500,375,14 68,211,210,375,14 181,233,275,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002398.jpg 162,51,406,269,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002402.jpg 40,1,500,385,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002406.jpg 1,42,500,338,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002407.jpg 6,47,315,500,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002409.jpg 116,1,252,118,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002410.jpg 18,85,479,282,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002413.jpg 67,161,226,487,13 212,120,232,175,14 196,1,334,374,14 201,9,333,412,14 1,1,61,473,14 61,33,237,419,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002414.jpg 5,136,261,337,11 1,126,500,365,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002418.jpg 123,158,319,375,14 34,1,334,204,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002419.jpg 1,1,352,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002420.jpg 16,44,500,378,6 1,98,20,164,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002421.jpg 48,22,399,262,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002422.jpg 73,224,187,375,8 7,223,420,375,10 210,231,300,354,8 248,299,292,375,4 398,236,446,365,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002429.jpg 1,1,500,375,14 219,173,460,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002433.jpg 39,56,346,332,11 35,1,115,116,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002435.jpg 2,88,332,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002436.jpg 44,6,402,375,14 204,115,364,358,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002443.jpg 1,73,35,123,15 60,27,109,96,15 252,97,284,131,15 241,48,325,129,15 128,195,212,390,14 280,35,303,59,14 37,20,67,79,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002447.jpg 39,202,297,375,16 66,138,465,347,16 48,35,367,204,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002448.jpg 84,90,411,324,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002453.jpg 225,23,453,366,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002455.jpg 45,216,187,486,1 112,79,258,459,14 285,121,312,181,14 273,118,290,169,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002457.jpg 1,25,499,291,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002458.jpg 185,177,394,262,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002459.jpg 68,196,166,235,3 166,168,366,246,3 1,212,53,300,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002460.jpg 130,98,311,239,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002461.jpg 89,10,403,371,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002462.jpg 318,105,450,205,19 21,225,500,375,10 106,169,168,292,14 277,134,362,225,8 3,142,103,340,8 1,214,48,375,8 271,123,278,141,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002463.jpg 176,78,500,203,2 46,172,286,332,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002464.jpg 86,60,367,340,16 98,1,162,109,16 364,56,486,215,16 298,13,340,72,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002470.jpg 10,113,498,247,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002474.jpg 1,175,95,375,14 49,151,220,375,14 179,166,293,326,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002476.jpg 292,160,359,238,13 293,155,356,229,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002479.jpg 1,1,471,339,13 401,1,500,155,13 1,1,80,239,14 90,1,218,82,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002482.jpg 41,116,75,195,4 109,115,296,375,14 296,35,458,375,14 101,92,209,321,14 1,91,120,375,14 272,11,342,149,14 375,1,500,375,14 251,282,279,367,4 294,79,309,102,4 365,1,427,73,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002484.jpg 1,122,88,195,6 27,53,459,327,6 431,108,494,157,6 1,114,89,149,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002488.jpg 218,373,239,433,4 114,164,207,430,14 142,356,230,430,8 113,380,333,493,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002490.jpg 1,187,500,375,3 84,101,326,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002491.jpg 27,128,349,324,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002492.jpg 1,89,464,323,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002494.jpg 72,53,500,268,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002495.jpg 1,195,41,324,13 1,166,27,202,14 119,151,206,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002498.jpg 190,423,253,470,4 1,48,324,500,14 175,309,375,446,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002503.jpg 30,39,430,361,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002504.jpg 213,132,374,221,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002505.jpg 331,293,465,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002507.jpg 2,73,312,245,17 188,42,236,83,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002509.jpg 102,196,155,297,8 417,130,489,281,14 161,199,200,297,8 133,150,163,196,14 306,174,334,221,14 229,160,271,259,14 369,169,416,220,14 359,139,416,170,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002511.jpg 374,1,500,119,19 316,124,500,375,14 217,15,348,179,14 2,90,203,334,14 34,94,200,276,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002514.jpg 143,60,341,213,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002515.jpg 113,75,415,237,0 169,177,188,215,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002516.jpg 56,257,326,500,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002519.jpg 207,164,255,196,3 419,170,499,192,3 426,140,467,178,14 458,140,497,192,14 196,139,261,171,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002520.jpg 249,17,353,264,12 146,18,250,277,12 25,27,133,277,12 342,22,466,263,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002526.jpg 263,170,366,246,6 243,176,273,213,6 214,180,266,210,6 468,187,500,206,6 387,186,421,200,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002528.jpg 1,23,499,352,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002531.jpg 264,107,321,260,8 176,117,256,290,8 254,123,354,296,8 188,147,294,332,8 158,128,350,320,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002532.jpg 251,41,426,176,19 17,41,193,181,19 1,175,33,291,14 289,183,372,267,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002533.jpg 175,221,231,361,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002535.jpg 212,107,362,222,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002536.jpg 270,270,352,309,6 19,194,52,290,14 145,184,181,290,14 91,190,119,280,14 64,178,102,277,14 261,266,273,292,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002542.jpg 205,134,223,189,4 120,173,397,375,10 283,79,369,233,14 97,87,186,257,14 276,88,500,375,14 7,94,140,333,14 299,95,424,271,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002543.jpg 154,176,253,271,8 51,196,257,374,8 180,147,304,255,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002548.jpg 243,42,343,129,2 457,152,483,229,2 298,182,387,244,2 55,113,120,154,2 25,124,61,152,2 387,306,430,346,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002551.jpg 175,82,355,333,8 188,1,396,264,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002552.jpg 1,1,461,319,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002553.jpg 379,244,457,330,16 192,218,295,347,16 442,219,500,334,14 286,143,345,353,14 199,142,254,259,14 101,188,190,332,14 19,175,62,240,14 44,208,58,245,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002554.jpg 290,139,356,193,19 215,142,279,193,19 142,140,203,190,19 11,57,265,375,14 198,233,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002555.jpg 51,23,318,357,12 289,7,409,315,12 223,49,359,334,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002556.jpg 233,254,500,375,10 50,121,139,375,14 155,176,244,375,14 405,215,500,340,14 325,232,381,293,14 311,145,371,269,14 266,209,306,260,14 259,186,315,261,14 214,191,249,239,14 97,146,132,203,14 1,179,46,221,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002558.jpg 296,212,358,297,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002559.jpg 32,1,373,375,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002560.jpg 184,54,316,158,19 372,260,432,357,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002561.jpg 1,14,500,333,17 71,40,449,333,14 1,63,323,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002566.jpg 10,59,360,336,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002567.jpg 100,158,333,194,3 286,137,313,179,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002568.jpg 117,134,273,231,2 254,140,355,245,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002571.jpg 89,102,311,297,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002575.jpg 16,145,176,341,8 312,111,476,338,8 257,13,428,337,14 40,33,224,345,14 304,109,328,163,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002578.jpg 414,243,489,316,2 432,61,500,131,3 1,68,456,375,14 10,1,391,373,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002579.jpg 247,174,500,256,10 288,26,474,348,14 96,94,365,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002582.jpg 1,105,361,388,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002583.jpg 123,110,345,326,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002584.jpg 1,146,239,338,9 185,129,290,336,9 277,131,327,276,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002585.jpg 88,53,193,160,1 110,1,195,149,14 272,8,305,29,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002588.jpg 42,1,500,375,3 265,155,300,227,14 293,163,337,217,14 392,190,424,231,14 442,193,466,223,14 417,205,451,234,14 237,180,259,231,14 205,180,234,229,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002589.jpg 34,18,484,397,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002590.jpg 3,1,74,177,4 1,134,227,280,4 202,2,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002592.jpg 45,21,473,342,6 441,57,470,83,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002594.jpg 125,77,173,117,7 353,82,500,333,8 342,1,423,86,8 274,1,347,48,8 29,32,414,239,17 221,2,305,42,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002598.jpg 1,142,401,320,13 3,88,266,229,13 231,44,340,316,14 112,73,268,320,14 78,29,212,161,14 1,12,129,161,6 197,8,244,40,6 259,3,309,41,6 138,1,187,35,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002601.jpg 1,169,395,474,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002605.jpg 115,105,285,184,0 359,135,431,159,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002606.jpg 14,119,362,420,10 267,1,369,126,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002609.jpg 165,151,241,206,9 304,140,335,182,9 273,153,298,191,9 246,153,273,194,9 149,164,176,203,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002610.jpg 104,105,123,166,4 272,101,288,164,4 202,100,222,168,4 39,96,105,149,19 328,30,471,214,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002612.jpg 121,203,192,358,11 178,216,248,360,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002614.jpg 186,84,321,268,8 1,69,52,155,8 124,59,233,240,8 3,62,255,255,10 74,255,435,333,10 309,48,500,333,14 1,65,155,333,14 243,1,348,132,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002616.jpg 75,329,104,352,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002617.jpg 71,61,481,320,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002618.jpg 266,186,335,204,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002620.jpg 4,194,105,368,8 172,253,224,350,8 229,213,295,293,8 170,150,206,193,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002623.jpg 117,173,234,465,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002624.jpg 208,144,408,375,14 126,146,285,375,14 87,198,195,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002629.jpg 32,40,470,319,5 472,194,500,245,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002631.jpg 171,125,384,286,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002636.jpg 62,107,405,242,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002638.jpg 365,89,492,135,0 242,103,382,152,0 17,158,475,252,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002639.jpg 248,68,454,439,14 58,96,283,439,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002640.jpg 238,165,251,204,4 350,244,431,333,8 46,218,153,333,8 149,198,361,333,10 1,177,62,329,8 347,106,452,286,14 128,124,209,250,14 53,130,221,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002641.jpg 108,140,205,171,4 6,75,345,262,14 111,107,299,244,14 148,114,300,193,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002644.jpg 154,150,223,221,19 85,266,470,375,17 457,240,500,375,17 410,198,455,256,8 334,196,368,252,8 365,200,411,258,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002649.jpg 359,150,400,181,9 174,149,236,186,9 294,151,328,184,9 254,154,286,182,9 275,146,309,178,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002650.jpg 81,223,285,375,8 52,146,159,307,8 145,171,355,327,10 341,101,397,304,14 104,101,216,244,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002652.jpg 129,181,280,290,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002656.jpg 43,147,121,222,19 347,162,448,272,1 368,173,448,284,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002657.jpg 74,152,386,339,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002658.jpg 1,36,260,387,14 5,1,500,387,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002661.jpg 1,1,375,499,3 180,371,207,433,14 156,368,178,439,14 89,374,115,434,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002662.jpg 422,257,461,283,16 245,250,290,276,16 68,250,104,276,16 75,263,95,279,16 233,265,250,276,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002664.jpg 49,22,499,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002673.jpg 40,85,461,270,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002674.jpg 119,66,408,413,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002675.jpg 45,62,445,343,0 461,137,497,236,14 440,146,459,208,14 11,155,40,213,14 40,163,57,209,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002676.jpg 397,151,482,200,6 421,159,486,198,6 443,171,486,203,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002677.jpg 1,26,500,313,3 148,18,198,149,14 229,59,289,155,14 307,50,371,128,14 350,16,409,142,14 354,1,445,94,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002678.jpg 16,7,66,130,14 74,1,122,140,14 146,8,194,92,14 207,34,289,203,14 274,48,319,192,14 307,18,359,155,14 344,10,426,160,14 425,13,466,170,14 448,1,500,186,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002685.jpg 1,1,499,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002687.jpg 108,165,434,484,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002694.jpg 80,133,307,280,12 243,86,301,170,14 1,127,70,375,14 361,137,383,160,14 337,135,365,158,14 51,133,63,172,14 67,149,224,250,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002697.jpg 76,1,311,333,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002699.jpg 13,3,500,263,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002706.jpg 234,90,500,330,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002709.jpg 1,1,500,290,14 14,6,500,290,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002713.jpg 37,34,473,338,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002714.jpg 305,181,364,235,8 382,181,439,231,8 3,152,188,265,17 257,228,500,264,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002715.jpg 201,48,388,246,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002717.jpg 85,45,500,334,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002719.jpg 233,174,355,245,9 157,169,236,258,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002724.jpg 2,1,500,375,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002725.jpg 59,159,290,312,6 320,152,375,322,14 226,161,330,331,14 1,228,29,323,14 282,225,336,324,14 311,225,374,322,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002726.jpg 196,166,258,211,19 89,186,199,309,17 261,185,463,328,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002730.jpg 186,158,301,259,12 219,143,254,222,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002738.jpg 125,103,418,256,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002740.jpg 306,138,380,165,3 341,212,472,248,3 202,107,247,122,3 422,34,469,100,3 67,100,95,117,3 344,85,373,104,3 35,90,60,119,3 183,100,215,116,3 274,206,427,237,3 331,254,438,315,3 192,236,342,280,3 85,234,336,301,3 1,216,158,281,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002742.jpg 115,99,407,342,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002746.jpg 1,47,287,321,11 250,69,350,187,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002748.jpg 108,289,375,500,10 1,97,210,491,14 161,106,268,351,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002750.jpg 262,128,320,184,19 249,196,379,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002751.jpg 1,1,499,271,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002752.jpg 24,310,440,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002754.jpg 286,28,377,171,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002756.jpg 1,265,129,375,8 107,109,500,375,17 438,72,500,161,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002760.jpg 14,99,486,398,13 150,11,361,397,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002765.jpg 12,177,346,443,11 190,47,500,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002766.jpg 195,85,339,211,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002767.jpg 180,111,275,162,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002770.jpg 1,1,481,337,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002772.jpg 120,177,178,234,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002775.jpg 85,126,179,189,19 1,190,97,290,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002776.jpg 154,161,369,373,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002779.jpg 34,103,487,326,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002780.jpg 1,3,500,371,5 316,175,369,224,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002782.jpg 263,215,404,313,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002784.jpg 265,167,500,242,17 182,220,500,375,17 90,183,122,229,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002786.jpg 74,1,383,319,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002790.jpg 76,120,453,276,6 203,80,263,160,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002795.jpg 57,175,219,377,14 107,93,217,256,14 57,184,289,413,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002796.jpg 79,68,167,137,6 31,70,500,375,13 1,110,79,334,13 259,88,328,160,13 202,69,237,92,6 379,86,448,204,13 229,81,272,165,13 152,112,268,375,14 18,44,112,204,14 142,35,215,193,14 433,2,500,258,14 356,53,379,96,14 315,53,352,111,14 288,66,313,122,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002798.jpg 283,187,302,262,4 260,184,279,249,4 242,194,258,259,4 231,197,254,270,4 23,190,152,333,8 294,179,417,333,8 80,229,386,333,10 96,112,222,333,14 289,113,499,332,14 1,245,122,333,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002802.jpg 1,76,136,197,19 280,62,497,375,14 129,24,305,375,14 1,91,170,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002803.jpg 239,126,272,193,4 93,219,211,375,8 328,217,443,375,8 153,214,371,374,10 245,118,395,369,14 108,120,295,367,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002805.jpg 176,231,269,336,8 157,252,294,450,8 69,228,154,334,8 27,246,162,443,8 298,240,374,315,8 74,270,251,420,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002808.jpg 325,69,435,361,15 463,82,500,109,15 6,227,50,293,8 1,292,93,375,8 147,199,179,235,15 33,207,71,265,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002810.jpg 28,201,91,259,19 259,225,500,342,17 2,184,35,265,15 162,108,178,144,15 177,107,199,142,15 195,111,216,142,15 228,109,257,128,15 264,107,286,130,15 296,105,325,142,15 323,103,350,140,15 338,162,357,186,15 309,149,340,187,15 296,149,316,186,15 158,149,175,187,15 177,158,192,187,15 203,156,217,185,15 158,190,181,226,15 168,203,181,227,15 201,192,215,225,15 237,139,252,172,15 253,139,270,173,15 268,145,284,172,15 224,178,247,233,15 244,202,264,232,15 259,191,286,223,15 320,193,341,224,15 296,191,318,225,15 308,193,328,227,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002811.jpg 53,152,257,431,1 52,7,214,404,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002812.jpg 187,181,214,215,15 1,159,123,223,6 280,181,311,223,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002814.jpg 193,185,240,263,8 236,172,286,267,8 149,174,202,259,8 168,179,276,263,10 1,261,342,375,17 434,174,446,201,4 382,154,396,194,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002817.jpg 65,19,413,291,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002818.jpg 40,212,81,319,8 90,200,115,226,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002821.jpg 28,142,166,261,3 1,1,448,336,18 23,134,99,294,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002823.jpg 33,38,302,500,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002826.jpg 355,109,404,178,5 435,117,499,162,5 399,145,438,163,5 112,85,362,291,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002830.jpg 184,272,211,318,4 329,45,440,375,14 268,44,348,375,14 192,51,295,375,14 40,51,209,375,14 25,64,152,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002831.jpg 264,40,499,373,14 41,95,306,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002833.jpg 46,35,409,332,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002834.jpg 1,109,351,252,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002838.jpg 2,251,456,375,10 1,68,218,285,14 279,59,447,290,14 324,65,499,266,14 255,60,296,258,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002841.jpg 432,33,477,94,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002842.jpg 318,81,360,125,19 37,77,237,360,14 321,75,419,360,14 149,63,228,360,14 227,151,285,222,8 324,91,353,116,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002851.jpg 35,123,470,243,0 1,193,51,223,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002852.jpg 321,130,499,346,17 1,261,424,373,17 1,119,177,287,17 149,260,375,375,14 168,243,181,277,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002854.jpg 166,273,236,321,3 84,295,162,321,3 454,288,500,316,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002863.jpg 405,155,494,371,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002864.jpg 1,37,496,315,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002867.jpg 229,184,262,279,14 468,214,491,232,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002868.jpg 119,82,369,239,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002870.jpg 261,6,492,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002871.jpg 173,95,464,177,3 44,88,265,156,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002872.jpg 168,53,244,145,3 340,113,392,144,3 132,144,321,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002873.jpg 239,245,275,308,9 79,282,123,335,9 323,225,397,318,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002879.jpg 171,125,330,239,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002880.jpg 1,308,361,450,10 1,1,361,342,14 317,28,355,95,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002881.jpg 113,258,500,375,10 73,184,209,227,10 241,1,465,299,14 1,1,329,375,14 102,77,198,194,14 112,212,356,282,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002883.jpg 134,1,374,266,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002884.jpg 201,74,500,294,12 1,38,214,294,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002885.jpg 109,101,397,276,9 1,109,111,269,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002887.jpg 192,43,402,360,8 21,21,167,299,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002889.jpg 320,147,472,252,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002890.jpg 95,108,257,317,4 1,1,121,174,4 65,1,220,197,4 174,1,342,149,4 220,114,375,298,4 12,279,148,500,4 119,271,285,476,4 194,430,315,500,4 308,402,375,500,4 229,255,375,451,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002897.jpg 473,202,500,284,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002900.jpg 96,127,297,500,11 97,2,355,292,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002908.jpg 100,59,380,375,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002911.jpg 238,24,499,375,11 1,103,132,346,10 19,21,79,137,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002912.jpg 327,138,463,201,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002913.jpg 18,1,368,333,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002916.jpg 284,38,500,222,7 1,60,355,318,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002917.jpg 84,39,402,313,18 1,56,157,307,18 406,114,420,145,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002920.jpg 232,187,336,268,4 36,69,333,374,14 286,111,436,336,14 192,19,206,65,4 180,17,192,64,4 165,18,178,64,4 150,16,164,61,4 136,15,148,61,4 122,13,136,62,4 104,11,122,61,4 91,11,106,61,4 76,10,90,58,4 60,11,74,59,4 34,9,52,57,4 18,9,34,56,4 1,11,14,57,4 138,75,148,101,4 123,73,134,120,4 107,71,121,121,4 92,73,106,120,4 76,67,93,121,4 60,65,77,121,4 37,64,52,121,4 20,69,36,121,4 108,304,500,374,10 16,251,38,298,4 1,280,23,314,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002921.jpg 148,85,450,319,13 203,25,380,268,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002924.jpg 19,1,206,110,15 57,87,375,500,8 1,2,375,344,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002925.jpg 87,242,227,341,5 271,277,317,299,6 302,356,375,467,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002927.jpg 342,192,355,223,4 234,233,340,356,8 211,221,276,357,8 108,200,159,238,8 73,227,355,357,10 89,255,200,357,8 69,237,93,357,8 8,51,90,99,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002929.jpg 6,129,433,233,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002930.jpg 34,15,488,195,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002932.jpg 168,4,447,275,18 17,117,122,220,5 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002933.jpg 201,221,241,318,8 235,228,252,324,8 195,213,236,295,8 1,251,91,304,8 138,275,189,392,8 106,349,191,500,8 1,302,154,500,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002935.jpg 84,48,393,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002937.jpg 187,199,260,300,9 101,159,183,301,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002938.jpg 334,1,499,273,11 1,29,448,330,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002940.jpg 216,208,244,299,4 243,170,260,232,4 107,198,386,375,10 372,113,500,375,14 332,92,453,353,14 81,120,199,267,14 2,116,149,375,14 222,171,239,229,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002942.jpg 112,41,397,310,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002943.jpg 103,110,393,220,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002944.jpg 232,1,499,375,5 59,102,96,212,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002947.jpg 158,50,423,347,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002949.jpg 164,314,427,375,13 334,276,497,359,13 1,282,150,374,13 35,232,87,358,14 14,232,49,353,14 178,231,281,343,14 227,237,291,375,14 251,236,358,375,14 353,234,409,340,14 385,223,450,347,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002951.jpg 56,1,224,167,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002953.jpg 14,137,130,268,8 86,156,359,374,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002956.jpg 69,82,399,343,5 1,221,32,276,5 366,232,500,365,6 1,263,22,311,6 282,226,309,259,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002958.jpg 43,87,133,279,1 379,1,475,265,14 228,43,375,333,14 112,39,230,319,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002962.jpg 31,131,299,309,12 230,111,432,291,12 461,163,494,267,14 422,152,500,238,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002965.jpg 14,15,474,355,17 139,1,234,57,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002966.jpg 367,265,422,375,4 337,210,374,350,4 239,193,260,261,4 32,1,208,94,19 1,90,176,375,14 67,101,233,375,14 171,83,295,257,14 234,115,406,289,14 353,121,420,212,14 397,132,500,336,14 177,246,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002967.jpg 207,104,470,187,4 32,13,500,375,14 104,298,340,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002969.jpg 275,56,427,349,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002970.jpg 63,15,376,347,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002971.jpg 88,160,250,335,8 144,159,220,358,14 233,128,351,309,14 323,86,394,301,14 324,1,453,211,14 321,141,499,373,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002974.jpg 47,14,149,366,4 1,240,332,500,10 1,1,85,161,14 226,1,333,191,14 123,2,218,96,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002975.jpg 125,237,279,346,3 274,289,324,310,3 1,206,43,310,3 29,117,352,245,3 412,283,464,304,3 112,259,173,306,3 263,228,311,278,3 317,254,365,275,3 301,234,356,257,3 364,279,418,300,3 462,278,500,296,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002978.jpg 2,185,104,236,6 19,196,103,237,6 400,153,427,270,14 328,153,420,294,15 268,90,344,333,14 168,121,227,304,14 207,106,285,335,14 149,174,190,241,14 56,207,110,265,15 101,179,147,275,14 63,164,92,216,14 38,160,64,236,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002979.jpg 217,171,267,191,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002983.jpg 232,203,270,266,12 232,172,282,244,14 151,283,181,339,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002985.jpg 1,156,500,377,10 42,33,108,104,14 20,1,331,185,14 150,5,490,373,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002987.jpg 95,39,324,326,18 191,219,236,294,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002988.jpg 1,57,500,375,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002992.jpg 1,15,472,335,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002993.jpg 55,189,112,234,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002994.jpg 297,193,365,309,8 162,207,352,304,10 125,183,159,263,8 148,193,207,304,8 192,205,256,314,8 252,204,314,317,8 215,189,259,207,8 260,189,304,206,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002997.jpg 166,108,339,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_002999.jpg 5,141,193,414,12 119,165,189,474,14 212,150,325,474,14 193,155,223,244,14 232,162,261,237,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003002.jpg 99,58,206,147,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003003.jpg 39,116,421,353,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003005.jpg 30,1,312,340,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003010.jpg 175,159,442,325,11 110,65,148,155,4 76,174,154,316,4 139,185,183,295,4 183,16,500,354,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003011.jpg 76,17,281,456,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003012.jpg 351,34,414,68,0 289,41,350,66,0 110,16,500,375,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003013.jpg 96,101,374,284,13 144,49,284,259,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003016.jpg 179,124,395,276,9 29,63,440,230,6 266,84,318,118,14 61,100,82,130,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003019.jpg 145,129,347,286,9 116,1,341,61,6 189,229,386,375,13 87,342,193,375,13 386,111,461,277,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003020.jpg 242,201,334,329,3 305,285,321,322,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003023.jpg 149,166,244,243,16 227,149,302,234,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003025.jpg 145,265,272,375,3 1,317,98,375,3 286,276,395,375,3 141,265,163,285,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003027.jpg 1,10,500,374,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003028.jpg 76,140,384,360,18 330,142,500,354,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003029.jpg 19,50,500,375,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003030.jpg 1,67,500,333,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003034.jpg 1,71,500,292,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003038.jpg 229,2,363,94,15 188,187,208,223,4 89,143,159,226,14 1,115,136,233,14 134,87,368,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003039.jpg 101,138,390,286,17 385,53,411,79,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003041.jpg 189,130,324,213,3 313,145,341,167,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003043.jpg 163,16,500,351,9 7,60,209,350,9 378,63,500,305,9 149,47,216,72,9 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003044.jpg 1,111,116,298,8 128,88,161,160,8 174,93,457,289,17 135,94,147,124,4 246,146,333,290,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003047.jpg 70,168,169,363,15 274,17,362,74,15 1,289,108,351,8 208,202,300,293,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003048.jpg 24,116,123,375,14 109,125,192,375,14 175,154,253,375,14 244,133,327,375,14 307,150,359,375,14 327,142,409,375,14 382,132,458,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003049.jpg 111,148,186,304,8 2,172,247,320,10 160,162,262,320,8 12,180,146,320,8 1,154,30,193,8 134,152,358,270,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003050.jpg 1,178,499,238,10 248,1,500,187,14 212,138,230,180,4 201,143,216,181,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003054.jpg 462,257,500,314,1 311,244,335,312,14 340,244,364,310,14 354,245,375,305,14 407,242,431,296,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003055.jpg 41,54,493,371,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003057.jpg 4,16,500,355,13 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003059.jpg 89,18,346,341,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003063.jpg 73,16,499,352,13 1,1,149,181,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003065.jpg 207,188,241,216,5 88,206,117,224,6 271,209,376,244,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003066.jpg 218,255,263,348,4 286,75,328,128,8 316,82,394,182,8 316,92,387,201,8 89,196,142,261,8 160,170,193,238,8 38,34,153,180,14 163,28,232,96,14 130,44,232,208,14 70,86,183,206,10 350,77,493,165,10 306,32,369,163,14 1,133,164,375,14 178,65,318,237,14 374,65,500,244,14 100,212,500,375,10 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003073.jpg 406,251,473,333,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003074.jpg 2,23,292,375,8 390,42,500,375,8 3,32,183,375,8 190,31,393,375,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003076.jpg 71,161,126,224,15 39,212,125,351,8 34,208,192,344,10 131,189,183,308,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003078.jpg 197,98,456,367,13 21,131,214,367,13 239,80,335,267,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003079.jpg 82,281,231,488,8 135,158,278,454,14 220,182,298,260,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003081.jpg 287,113,455,220,3 331,138,355,179,14 245,149,276,203,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003085.jpg 147,164,215,258,12 196,175,246,260,12 223,178,271,255,12 259,173,310,254,12 303,173,343,245,12 346,180,384,246,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003086.jpg 124,237,305,426,5 214,283,241,336,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003089.jpg 16,38,372,455,5 220,215,282,293,14 169,212,243,360,14 85,28,144,76,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003091.jpg 187,12,373,329,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003097.jpg 1,111,236,330,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003098.jpg 1,8,418,406,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003103.jpg 79,15,184,226,15 126,145,239,312,8 286,145,335,247,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003109.jpg 135,90,405,302,5 168,179,223,216,14 366,182,405,306,14 483,202,496,247,14 75,199,136,239,6 1,210,18,243,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003111.jpg 1,105,500,333,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003114.jpg 121,63,378,316,5 401,149,435,264,14 451,154,483,264,14 474,125,500,300,14 425,164,451,260,14 388,164,413,252,14 366,159,386,248,14 326,128,350,152,14 373,172,402,234,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003115.jpg 102,221,393,256,3 290,191,332,244,14 143,193,187,243,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003121.jpg 466,212,500,281,6 97,145,475,334,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003124.jpg 80,116,361,216,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003132.jpg 147,187,227,287,18 36,248,70,276,6 112,247,133,295,14 87,246,104,290,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003134.jpg 160,162,238,183,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003138.jpg 227,150,348,305,14 104,127,256,328,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003141.jpg 61,34,236,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003145.jpg 105,187,293,313,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003146.jpg 28,44,461,361,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003148.jpg 112,16,403,343,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003149.jpg 75,102,442,245,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003150.jpg 321,184,500,368,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003151.jpg 141,1,355,271,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003152.jpg 168,271,186,324,4 76,243,96,276,4 5,265,31,334,4 1,290,217,334,10 223,88,389,334,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003154.jpg 27,123,468,281,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003158.jpg 1,61,489,315,10 200,64,235,145,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003159.jpg 156,105,485,300,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003162.jpg 330,1,500,340,15 15,87,265,373,14 232,92,480,373,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003163.jpg 203,33,495,169,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003166.jpg 3,109,498,375,10 190,53,214,114,4 138,145,388,334,7 317,1,500,162,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003167.jpg 235,293,337,362,1 1,96,180,480,14 159,130,238,443,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003168.jpg 277,230,499,375,1 29,236,160,375,1 37,82,204,375,14 300,25,497,375,14 365,48,416,80,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003169.jpg 28,24,451,333,1 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003171.jpg 137,76,360,220,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003176.jpg 31,78,472,231,0 285,214,307,229,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003177.jpg 2,31,459,237,0 399,54,500,110,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003182.jpg 1,22,500,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003183.jpg 176,197,374,330,10 169,203,248,329,8 260,208,332,328,8 218,188,283,301,8 286,191,349,301,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003184.jpg 152,1,499,375,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003185.jpg 1,65,500,367,6 50,1,438,333,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003187.jpg 1,51,381,228,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003188.jpg 4,1,499,163,17 196,125,423,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003192.jpg 74,50,423,305,6 65,19,233,111,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003194.jpg 64,176,404,327,8 138,44,267,171,19 1,47,150,203,19 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003197.jpg 10,9,387,489,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003201.jpg 186,168,286,271,8 278,145,495,243,17 240,153,310,258,8 15,215,78,314,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003205.jpg 86,233,97,246,15 97,246,120,265,15 251,260,282,268,15 457,237,489,257,15 439,250,451,262,15 423,249,438,263,15 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003207.jpg 1,41,273,297,11 157,110,468,333,11 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003211.jpg 52,46,500,370,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003212.jpg 54,238,306,375,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003213.jpg 260,47,416,333,2 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003216.jpg 164,1,400,300,7 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003220.jpg 120,166,266,374,14 60,90,336,373,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003223.jpg 149,133,349,272,16 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003228.jpg 1,1,500,345,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003230.jpg 202,60,250,85,4 127,111,176,133,4 27,88,175,463,14 170,44,331,438,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003232.jpg 1,1,367,375,3 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003236.jpg 214,128,365,318,11 1,42,411,375,14 281,1,500,246,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003238.jpg 167,115,259,375,14 180,106,323,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003240.jpg 255,124,328,162,4 15,9,270,500,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003242.jpg 324,198,352,266,8 297,177,320,223,8 100,208,133,273,8 125,181,152,238,8 72,176,393,375,10 174,132,268,179,10 369,127,500,200,10 1,127,101,375,14 351,124,500,363,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003244.jpg 48,53,382,360,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003246.jpg 46,113,128,182,19 320,138,444,233,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003247.jpg 32,132,323,222,5 476,184,495,201,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003253.jpg 245,201,375,434,12 1,23,274,500,12 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003254.jpg 147,199,281,309,19 130,259,148,305,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003255.jpg 1,50,284,375,14 282,1,500,375,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003256.jpg 246,130,398,218,11 5,124,287,265,11 5,75,414,307,17 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003259.jpg 51,173,352,375,14 109,65,332,277,8 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003260.jpg 1,140,349,314,18 1,165,67,208,18 310,182,330,226,14 328,182,343,228,14 336,192,367,266,14 458,190,487,274,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003261.jpg 132,245,186,332,1 130,210,186,292,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003262.jpg 283,106,307,194,4 223,97,248,173,4 215,154,253,272,4 80,116,386,359,10 2,45,190,359,14 98,49,219,222,14 116,24,226,192,14 178,31,266,139,14 341,39,397,153,14 364,54,430,172,14 336,71,448,221,14 285,77,500,359,14 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003269.jpg 19,347,309,461,6 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003271.jpg 98,1,499,405,4 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003274.jpg 1,113,384,215,18 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003275.jpg 42,50,448,282,0 +./VOC/train/VOCdevkit/VOC2012/JPEGImages/2011_003276.jpg 264,142,292,217,2 diff --git a/cv/detection/yolov3/tensorflow/dataloader/__init__.py b/cv/detection/yolov3/tensorflow/dataloader/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cv/detection/yolov3/tensorflow/dataloader/classification.py b/cv/detection/yolov3/tensorflow/dataloader/classification.py new file mode 100644 index 0000000000000000000000000000000000000000..030af6dee3ed4687b0616952fc4cb1c45da6c250 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/dataloader/classification.py @@ -0,0 +1,113 @@ +# Copyright (c) 2022 Iluvatar CoreX. All rights reserved. +# Copyright Declaration: This software, including all of its code and documentation, +# except for the third-party software it contains, is a copyrighted work of Shanghai Iluvatar CoreX +# Semiconductor Co., Ltd. and its affiliates ("Iluvatar CoreX") in accordance with the PRC Copyright +# Law and relevant international treaties, and all rights contained therein are enjoyed by Iluvatar +# CoreX. No user of this software shall have any right, ownership or interest in this software and +# any use of this software shall be in compliance with the terms and conditions of the End User +# License Agreement. + + +import os +import time + +import torch +import torchvision +from .utils import presets_classification as presets + +""" +Examples: + +>>> dataset_train, dataset_val = load_data(train_dir, val_dir, args) +""" + + +def get_datasets(traindir, + valdir, + resize_size=256, + crop_size=224, + auto_augment_policy=None, + random_erase_prob=0.): + # Data loading code + print("Loading data") + print("Loading training data") + dataset = torchvision.datasets.ImageFolder( + traindir, + presets.ClassificationPresetTrain(crop_size=crop_size, auto_augment_policy=auto_augment_policy, + random_erase_prob=random_erase_prob)) + + print("Loading validation data") + dataset_test = torchvision.datasets.ImageFolder( + valdir, + presets.ClassificationPresetEval(crop_size=crop_size, resize_size=resize_size)) + + return dataset, dataset_test + + +def get_input_size(model): + biger_input_size_models = ['inception'] + resize_size = 256 + crop_size = 224 + for bi_model in biger_input_size_models: + if bi_model in model: + resize_size = 342 + crop_size = 299 + + return resize_size, crop_size + + +def load_data(train_dir, val_dir, args): + auto_augment_policy = getattr(args, "auto_augment", None) + random_erase_prob = getattr(args, "random_erase", 0.0) + resize_size, crop_size = get_input_size(args.model) + dataset, dataset_test = get_datasets(train_dir, val_dir, + auto_augment_policy=auto_augment_policy, + random_erase_prob=random_erase_prob, + resize_size=resize_size, + crop_size=crop_size) + if args.distributed: + train_sampler = torch.utils.data.distributed.DistributedSampler(dataset) + test_sampler = torch.utils.data.distributed.DistributedSampler(dataset_test) + else: + train_sampler = torch.utils.data.RandomSampler(dataset) + test_sampler = torch.utils.data.SequentialSampler(dataset_test) + + return dataset, dataset_test, train_sampler, test_sampler + + +def _create_torch_dataloader(train_dir, val_dir, args): + dataset, dataset_test, train_sampler, test_sampler = load_data(train_dir, val_dir, args) + data_loader = torch.utils.data.DataLoader( + dataset, batch_size=args.batch_size, + sampler=train_sampler, num_workers=args.workers, pin_memory=True) + + data_loader_test = torch.utils.data.DataLoader( + dataset_test, batch_size=args.batch_size, + sampler=test_sampler, num_workers=args.workers, pin_memory=True) + + return data_loader, data_loader_test + + +def _create_dali_dataloader(train_dir, val_dir, args): + from .dali_classification import get_imagenet_iter_dali + device = torch.cuda.current_device() + _, crop_size = get_input_size(args.model) + data_loader = get_imagenet_iter_dali('train', train_dir, args.batch_size, + num_threads=args.workers, + device_id=device, + size=crop_size) + data_loader_test = get_imagenet_iter_dali('val', train_dir, args.batch_size, + num_threads=args.workers, + device_id=device, + size=crop_size) + + return data_loader, data_loader_test + + +def create_dataloader(train_dir, val_dir, args): + print("Creating data loaders") + if args.dali: + train_dir = os.path.dirname(train_dir) + val_dir = os.path.dirname(val_dir) + return _create_dali_dataloader(train_dir, val_dir, args) + return _create_torch_dataloader(train_dir, val_dir, args) diff --git a/cv/detection/yolov3/tensorflow/dataloader/dali_classification.py b/cv/detection/yolov3/tensorflow/dataloader/dali_classification.py new file mode 100644 index 0000000000000000000000000000000000000000..4c92283b234ceb8d9932eabd1bb1bb01d467fefb --- /dev/null +++ b/cv/detection/yolov3/tensorflow/dataloader/dali_classification.py @@ -0,0 +1,121 @@ +# Copyright (c) 2022 Iluvatar CoreX. All rights reserved. +# Copyright Declaration: This software, including all of its code and documentation, +# except for the third-party software it contains, is a copyrighted work of Shanghai Iluvatar CoreX +# Semiconductor Co., Ltd. and its affiliates ("Iluvatar CoreX") in accordance with the PRC Copyright +# Law and relevant international treaties, and all rights contained therein are enjoyed by Iluvatar +# CoreX. No user of this software shall have any right, ownership or interest in this software and +# any use of this software shall be in compliance with the terms and conditions of the End User +# License Agreement. + + +import os + +import nvidia.dali.ops as ops +import nvidia.dali.types as types +from nvidia.dali.pipeline import Pipeline +from nvidia.dali.plugin.pytorch import DALIClassificationIterator, DALIGenericIterator + +class HybridTrainPipe(Pipeline): + def __init__(self, batch_size, num_threads, device_id, data_dir, size): + super(HybridTrainPipe, self).__init__(batch_size, num_threads, device_id) + self.input = ops.FileReader(file_root=data_dir, random_shuffle=True) + self.decode = ops.ImageDecoder(device="cpu", output_type=types.RGB) + self.res = ops.RandomResizedCrop(device="gpu", size=size, random_area=[0.08, 1.25]) + self.cmnp = ops.CropMirrorNormalize(device="gpu", + output_dtype=types.FLOAT, + output_layout=types.NCHW, + image_type=types.RGB, + mean=[0.485 * 255, 0.456 * 255, 0.406 * 255], + std=[0.229 * 255, 0.224 * 255, 0.225 * 255]) + + def define_graph(self): + self.jpegs, self.labels = self.input(name="Reader") + + images = self.decode(self.jpegs) + images = self.res(images.gpu()) + output = self.cmnp(images) + return [output, self.labels] + + +class HybridValPipe(Pipeline): + def __init__(self, batch_size, num_threads, device_id, data_dir, size): + super(HybridValPipe, self).__init__(batch_size, num_threads, device_id) + self.input = ops.FileReader(file_root=data_dir, random_shuffle=False) + self.decode = ops.ImageDecoder(device="cpu", output_type=types.RGB) + self.res = ops.Resize(device="gpu", resize_x=size, resize_y=size) + self.cmnp = ops.CropMirrorNormalize(device="gpu", + output_dtype=types.FLOAT, + output_layout=types.NCHW, + crop=(size, size), + image_type=types.RGB, + mean=[0.485 * 255, 0.456 * 255, 0.406 * 255], + std=[0.229 * 255, 0.224 * 255, 0.225 * 255]) + + def define_graph(self): + self.jpegs, self.labels = self.input(name="Reader") + + images = self.decode(self.jpegs) + images = self.res(images.gpu()) + output = self.cmnp(images) + return [output, self.labels] + + +def get_imagenet_iter_dali(type, image_dir, batch_size, num_threads, device_id, size): + if type == 'train': + pip_train = HybridTrainPipe(batch_size=batch_size, num_threads=num_threads, device_id=device_id, + data_dir = os.path.join(image_dir, "train"), + size=size) + pip_train.build() + dali_iter_train = DALIClassificationIterator(pip_train, size=pip_train.epoch_size("Reader")) + return dali_iter_train + elif type == 'val': + pip_val = HybridValPipe(batch_size=batch_size, num_threads=num_threads, device_id=device_id, + data_dir = os.path.join(image_dir, "val"), + size=size) + pip_val.build() + dali_iter_val = DALIClassificationIterator(pip_val, size=pip_val.epoch_size("Reader")) + return dali_iter_val + + +def main(arguments): + parser = argparse.ArgumentParser() + parser.add_argument('--data_dir', help='directory to save data to', type=str, default='classification data') + args = parser.parse_args(arguments) + + train_loader = get_imagenet_iter_dali(type='train', image_dir=args.data_dir, + batch_size=256, + num_threads=4, size=224, device_id=3) + + val_loader = get_imagenet_iter_dali(type="val", image_dir=args.data_dir, + batch_size=256, + num_threads=4, size=224, device_id=3) + + print('start dali train dataloader.') + start = time.time() + for epoch in range(20): + for i, data in enumerate(train_loader): + images = data[0]["data"].cuda(non_blocking=True) + labels = data[0]["label"].squeeze().long().cuda(non_blocking=True) + + # WARN: Very important + train_loader.reset() + print("Epoch", epoch) + print('dali iterate time: %fs' % (time.time() - start)) + print('end dali train dataloader.') + + + print('start dali val dataloader.') + start = time.time() + for i, data in enumerate(val_loader): + images = data[0]["data"].cuda(non_blocking=True) + print(images.shape) + labels = data[0]["label"].squeeze().long().cuda(non_blocking=True) + print(labels.shape) + print('dali iterate time: %fs' % (time.time() - start)) + print('end dali val dataloader.') + + +if __name__ == '__main__': + import os, time, sys + import argparse + sys.exit(main(sys.argv[1:])) \ No newline at end of file diff --git a/cv/detection/yolov3/tensorflow/dataloader/detection.py b/cv/detection/yolov3/tensorflow/dataloader/detection.py new file mode 100644 index 0000000000000000000000000000000000000000..ecd66e196ff4b3b1ac45615c8882192a25c1e050 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/dataloader/detection.py @@ -0,0 +1,37 @@ +# Copyright (c) 2022 Iluvatar CoreX. All rights reserved. +# Copyright Declaration: This software, including all of its code and documentation, +# except for the third-party software it contains, is a copyrighted work of Shanghai Iluvatar CoreX +# Semiconductor Co., Ltd. and its affiliates ("Iluvatar CoreX") in accordance with the PRC Copyright +# Law and relevant international treaties, and all rights contained therein are enjoyed by Iluvatar +# CoreX. No user of this software shall have any right, ownership or interest in this software and +# any use of this software shall be in compliance with the terms and conditions of the End User +# License Agreement. + + +from .utils.coco_utils import get_coco, get_coco_kp +from .utils import presets_detection as presets +from .utils.pascal_voc import get_voc + +""" +Examples: + +>>> dataset_train, num_classes = get_dataset("voc", "train", "/path/to/VOC2012_sample") +>>> dataset_val, _ = get_dataset("voc", "val", "/path/to/VOC2012_sample") +""" + + +def get_transform(train, data_augmentation="ssd"): + return presets.DetectionPresetTrain(data_augmentation) if train else presets.DetectionPresetEval() + + +def get_dataset(name, image_set, data_path): + transform = get_transform(image_set.lower() == "train") + paths = { + "coco": (data_path, get_coco, 91), + "coco_kp": (data_path, get_coco_kp, 2), + "voc": (data_path, get_voc, 21) + } + p, ds_fn, num_classes = paths[name] + + ds = ds_fn(p, image_set=image_set, transforms=transform) + return ds, num_classes \ No newline at end of file diff --git a/cv/detection/yolov3/tensorflow/dataloader/segmentation.py b/cv/detection/yolov3/tensorflow/dataloader/segmentation.py new file mode 100644 index 0000000000000000000000000000000000000000..7c2f2b6ee3850760b63e7c7c0ae1042fc36e11fe --- /dev/null +++ b/cv/detection/yolov3/tensorflow/dataloader/segmentation.py @@ -0,0 +1,46 @@ +# Copyright (c) 2022 Iluvatar CoreX. All rights reserved. +# Copyright Declaration: This software, including all of its code and documentation, +# except for the third-party software it contains, is a copyrighted work of Shanghai Iluvatar CoreX +# Semiconductor Co., Ltd. and its affiliates ("Iluvatar CoreX") in accordance with the PRC Copyright +# Law and relevant international treaties, and all rights contained therein are enjoyed by Iluvatar +# CoreX. No user of this software shall have any right, ownership or interest in this software and +# any use of this software shall be in compliance with the terms and conditions of the End User +# License Agreement. + + +import torchvision + +from .utils.coco_seg_utils import get_coco +from .utils import presets_segmentation as presets +from .utils.camvid import get_camvid + +""" +Examples: + +>>> dataset_train, num_classes = get_dataset("/path/to/CamVid11", "camvid", "train") +>>> dataset_val, _ = get_dataset("/path/to/CamVid11", "camvid", "val") + +""" + + +def get_transform(train): + base_size = 520 + crop_size = 480 + return presets.SegmentationPresetTrain(base_size, crop_size) if train else presets.SegmentationPresetEval(base_size) + + +def get_dataset(dir_path, name, image_set): + transform = get_transform(image_set == 'train') + # name = 'camvid' + def sbd(*args, **kwargs): + return torchvision.datasets.SBDataset(*args, mode='segmentation', **kwargs) + paths = { + "voc": (dir_path, torchvision.datasets.VOCSegmentation, 21), + "voc_aug": (dir_path, sbd, 21), + "coco": (dir_path, get_coco, 21), + "camvid": (dir_path, get_camvid, 12) + } + p, ds_fn, num_classes = paths[name] + + ds = ds_fn(p, image_set=image_set, transforms=transform) + return ds, num_classes \ No newline at end of file diff --git a/cv/detection/yolov3/tensorflow/dataloader/utils/__init__.py b/cv/detection/yolov3/tensorflow/dataloader/utils/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cv/detection/yolov3/tensorflow/dataloader/utils/camvid.py b/cv/detection/yolov3/tensorflow/dataloader/utils/camvid.py new file mode 100644 index 0000000000000000000000000000000000000000..0f548748091b44854a977439d3933c0c02dedabd --- /dev/null +++ b/cv/detection/yolov3/tensorflow/dataloader/utils/camvid.py @@ -0,0 +1,191 @@ +# Copyright (c) 2022 Iluvatar CoreX. All rights reserved. +# Copyright Declaration: This software, including all of its code and documentation, +# except for the third-party software it contains, is a copyrighted work of Shanghai Iluvatar CoreX +# Semiconductor Co., Ltd. and its affiliates ("Iluvatar CoreX") in accordance with the PRC Copyright +# Law and relevant international treaties, and all rights contained therein are enjoyed by Iluvatar +# CoreX. No user of this software shall have any right, ownership or interest in this software and +# any use of this software shall be in compliance with the terms and conditions of the End User +# License Agreement. + + +from collections import OrderedDict +import cv2 +from functools import lru_cache +import numpy as np +import os +import os.path as osp +from PIL import Image + +from .pascal_voc import BaseDataset + + +class SemanticSeg(BaseDataset): + + def __init__(self, + data_dir, + anno_dir, + data_suffix='.png', + anno_suffix='.png', + split=None, + classes=None, + label_rgb=False, + **kwargs): + super().__init__(**kwargs) + self.data_dir = data_dir + self.anno_dir = anno_dir + self.data_suffix = data_suffix + self.anno_suffix = anno_suffix + self.label_rgb = label_rgb + if classes is not None: + self.CLASSES = classes + self.COLORS = np.random.randint(0, 255, size=(len(self.CLASSES), 3)) + self.annotations = SemanticSeg.load_annotations(data_dir, + anno_dir, + data_suffix, + anno_suffix, + split) + self.image_ids = list(self.annotations.keys()) + + @staticmethod + def load_annotations(data_dir, anno_dir, data_suffix, anno_suffix, split): + """Load annotation from directory. + + Returns + ------- + dict[dict] + All image info of dataset. + """ + + img_infos = dict() + image_id = 0 + # 如果提供了 split file, 则根据 split file 中的文件名得到数据集的图片和标注 + if split is not None: + with open(split) as f: + for line in f: + img_name = line.strip() + img_file = osp.join(data_dir, img_name + data_suffix) + img_info = dict(file_path=img_file) + if anno_dir is not None: + anno_file = osp.join(anno_dir, img_name + anno_suffix) + img_info['anno_path'] = anno_file + img_infos[image_id] = img_info + image_id += 1 + else: + for img in scandir(data_dir, data_suffix): + img_file = osp.join(data_dir, img) + img_info = dict(file_path=img_file) + if anno_dir is not None: + anno_file = osp.join(anno_dir, + img.replace(data_suffix, anno_suffix)) + img_info['anno_path'] = anno_file + img_infos[image_id] = img_info + image_id += 1 + + return img_infos + + def get_data(self, idx): + image_id = self.image_ids[idx] + img = self._read_image(image_id) + mask = self._read_mask(image_id) + return img, mask + + def get_img_info(self, image_id): + return self.annotations[image_id] + + @lru_cache(maxsize=None) + def _read_image(self, image_id): + img_info = self.get_img_info(image_id) + image = Image.open(img_info['file_path']) + return image + + @lru_cache(maxsize=None) + def _read_mask(self, image_id): + img_info = self.get_img_info(image_id) + anno_path = img_info['anno_path'] + # TODO: 当 mask 是 RGB 格式时, 通过 self.COLORS 中 class_id 和 RGB 值 + # 的映射关系, 将 mask 转换为灰度图, 其中每个像素值都对应一个 class_id + if self.label_rgb: + # mask = cv2.imread(anno_path) + # mask = cv2.cvtColor(mask, cv2.COLOR_BGR2RGB) + raise NotImplementedError + else: + mask = Image.open(anno_path) + return mask + + @lru_cache(maxsize=None) + def get_class_name(self, class_id): + class_dict = {class_name: i for i, class_name in enumerate(self.CLASSES)} + class_id_dict = {cls_id: name for name, cls_id in class_dict.items()} + return class_id_dict[class_id] + + @lru_cache(maxsize=None) + def get_class_color(self, class_id): + if not isinstance(class_id, str): + class_name = self.get_class_name(class_id) + else: + class_name = class_id + CLASS_COLOR = OrderedDict(zip(self.CLASSES, self.COLORS)) + return CLASS_COLOR[class_name] + + +def scandir(dir_path, suffix=None): + file_paths = [] + for parent, _, fns in sorted(os.walk(dir_path)): + # 将 dir_path 从 parent 中去除, 使 parent 为相对路径 + parent = parent[len(dir_path):] + for fn in sorted(fns): + if fn.endswith(suffix): + # file 在 dir_path 中的相对路径 + path = os.path.join(parent, fn) + file_paths.append(path) + return file_paths + + + +class CamVid(SemanticSeg): + """CamVid dataset with 32 classes. + """ + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.CLASSES = ('Animal', 'Archway', 'Bicyclist', 'Bridge', + 'Building', 'Car', 'CartLuggagePram', 'Child', + 'Column_Pole', 'Fence', 'LaneMkgsDriv', 'LaneMkgsNonDriv', + 'Misc_Text', 'MotorcycleScooter', 'OtherMoving', 'ParkingBlock', + 'Pedestrian', 'Road', 'RoadShoulder', 'Sidewalk', + 'SignSymbol', 'Sky', 'SUVPickupTruck', 'TrafficCone', + 'TrafficLight', 'Train', 'Tree', 'Truck_Bus', + 'Tunnel', 'VegetationMisc', 'Void', 'Wall') + + self.COLORS = ([64,128,64], [192,0,128], [0,128,192], [0,128,64], + [128,0,0], [64,0,128], [64,0,192], [192,128,64], + [192,192,128], [64,64,128], [128,0,192], [192,0,64], + [128,128,64], [192,0,192], [128,64,64], [64,192,128], + [64,64,0], [128,64,128], [128,128,192], [0,0,192], + [192,128,128], [128,128,128], [64,128,192], [0,0,64], + [0,64,64], [192,64,128], [128,128,0], [192,128,192], + [64,0,64], [192,192,0], [0,0,0], [64,192,0]) + + + +class CamVid11(SemanticSeg): + """CamVid dataset with 11 classes. + """ + + def __init__(self, **kwargs): + super().__init__(**kwargs) + # 如果将 `Unlabelled` (对应 CamVid 中的 `Void` 类) 也算作一类的话, 则总共有 12 类. + self.CLASSES = ('Sky', 'Building', 'Pole', 'Road', + 'Pavement', 'Tree', 'SignSymbol', 'Fence', + 'Car', 'Pedestrian', 'Bicyclist', 'Unlabelled') + + self.COLORS = ([128,128,128], [128,0,0], [192,192,128], [128,64,128], + [60,40,222], [128,128,0], [192,128,128], [64,64,128], + [64,0,128], [64,64,0], [0,128,192], [0,0,0]) + + +def get_camvid(root, image_set, transforms): + data_dir = os.path.join(root, image_set) + anno_dir = os.path.join(root, image_set + "annot") + return CamVid11(data_dir=data_dir, anno_dir=anno_dir, transform=transforms) + diff --git a/cv/detection/yolov3/tensorflow/dataloader/utils/coco_seg_utils.py b/cv/detection/yolov3/tensorflow/dataloader/utils/coco_seg_utils.py new file mode 100644 index 0000000000000000000000000000000000000000..bab58447b813a5c3f37683da733a317a219b83d0 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/dataloader/utils/coco_seg_utils.py @@ -0,0 +1,115 @@ +# Copyright (c) 2022 Iluvatar CoreX. All rights reserved. +# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + + +import copy +import torch +import torch.utils.data +import torchvision +from PIL import Image + +import os + +from pycocotools import mask as coco_mask + +from .transforms_seg import Compose + + +class FilterAndRemapCocoCategories(object): + def __init__(self, categories, remap=True): + self.categories = categories + self.remap = remap + + def __call__(self, image, anno): + anno = [obj for obj in anno if obj["category_id"] in self.categories] + if not self.remap: + return image, anno + anno = copy.deepcopy(anno) + for obj in anno: + obj["category_id"] = self.categories.index(obj["category_id"]) + return image, anno + + +def convert_coco_poly_to_mask(segmentations, height, width): + masks = [] + for polygons in segmentations: + rles = coco_mask.frPyObjects(polygons, height, width) + mask = coco_mask.decode(rles) + if len(mask.shape) < 3: + mask = mask[..., None] + mask = torch.as_tensor(mask, dtype=torch.uint8) + mask = mask.any(dim=2) + masks.append(mask) + if masks: + masks = torch.stack(masks, dim=0) + else: + masks = torch.zeros((0, height, width), dtype=torch.uint8) + return masks + + +class ConvertCocoPolysToMask(object): + def __call__(self, image, anno): + w, h = image.size + segmentations = [obj["segmentation"] for obj in anno] + cats = [obj["category_id"] for obj in anno] + if segmentations: + masks = convert_coco_poly_to_mask(segmentations, h, w) + cats = torch.as_tensor(cats, dtype=masks.dtype) + # merge all instance masks into a single segmentation map + # with its corresponding categories + target, _ = (masks * cats[:, None, None]).max(dim=0) + # discard overlapping instances + target[masks.sum(0) > 1] = 255 + else: + target = torch.zeros((h, w), dtype=torch.uint8) + target = Image.fromarray(target.numpy()) + return image, target + + +def _coco_remove_images_without_annotations(dataset, cat_list=None): + def _has_valid_annotation(anno): + # if it's empty, there is no annotation + if len(anno) == 0: + return False + # if more than 1k pixels occupied in the image + return sum(obj["area"] for obj in anno) > 1000 + + assert isinstance(dataset, torchvision.datasets.CocoDetection) + ids = [] + for ds_idx, img_id in enumerate(dataset.ids): + ann_ids = dataset.coco.getAnnIds(imgIds=img_id, iscrowd=None) + anno = dataset.coco.loadAnns(ann_ids) + if cat_list: + anno = [obj for obj in anno if obj["category_id"] in cat_list] + if _has_valid_annotation(anno): + ids.append(ds_idx) + + dataset = torch.utils.data.Subset(dataset, ids) + return dataset + + +def get_coco(root, image_set, transforms): + PATHS = { + "train": ("train2017", os.path.join("annotations", "instances_train2017.json")), + "val": ("val2017", os.path.join("annotations", "instances_val2017.json")), + # "train": ("val2017", os.path.join("annotations", "instances_val2017.json")) + } + CAT_LIST = [0, 5, 2, 16, 9, 44, 6, 3, 17, 62, 21, 67, 18, 19, 4, + 1, 64, 20, 63, 7, 72] + + transforms = Compose([ + FilterAndRemapCocoCategories(CAT_LIST, remap=True), + ConvertCocoPolysToMask(), + transforms + ]) + + img_folder, ann_file = PATHS[image_set] + img_folder = os.path.join(root, img_folder) + ann_file = os.path.join(root, ann_file) + + dataset = torchvision.datasets.CocoDetection(img_folder, ann_file, transforms=transforms) + + if image_set == "train": + dataset = _coco_remove_images_without_annotations(dataset, CAT_LIST) + + return dataset diff --git a/cv/detection/yolov3/tensorflow/dataloader/utils/coco_utils.py b/cv/detection/yolov3/tensorflow/dataloader/utils/coco_utils.py new file mode 100644 index 0000000000000000000000000000000000000000..cef31f4a84c98727a0699ac724afd6609b5e2bad --- /dev/null +++ b/cv/detection/yolov3/tensorflow/dataloader/utils/coco_utils.py @@ -0,0 +1,255 @@ +# Copyright (c) 2022 Iluvatar CoreX. All rights reserved. +# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + + +import copy +import os +from PIL import Image + +import torch +import torch.utils.data +import torchvision + +from pycocotools import mask as coco_mask +from pycocotools.coco import COCO + +from . import transforms_det as T + +class FilterAndRemapCocoCategories(object): + def __init__(self, categories, remap=True): + self.categories = categories + self.remap = remap + + def __call__(self, image, target): + anno = target["annotations"] + anno = [obj for obj in anno if obj["category_id"] in self.categories] + if not self.remap: + target["annotations"] = anno + return image, target + anno = copy.deepcopy(anno) + for obj in anno: + obj["category_id"] = self.categories.index(obj["category_id"]) + target["annotations"] = anno + return image, target + + +def convert_coco_poly_to_mask(segmentations, height, width): + masks = [] + for polygons in segmentations: + rles = coco_mask.frPyObjects(polygons, height, width) + mask = coco_mask.decode(rles) + if len(mask.shape) < 3: + mask = mask[..., None] + mask = torch.as_tensor(mask, dtype=torch.uint8) + mask = mask.any(dim=2) + masks.append(mask) + if masks: + masks = torch.stack(masks, dim=0) + else: + masks = torch.zeros((0, height, width), dtype=torch.uint8) + return masks + + +class ConvertCocoPolysToMask(object): + def __call__(self, image, target): + w, h = image.size + + image_id = target["image_id"] + image_id = torch.tensor([image_id]) + + anno = target["annotations"] + + anno = [obj for obj in anno if obj['iscrowd'] == 0] + + boxes = [obj["bbox"] for obj in anno] + # guard against no boxes via resizing + boxes = torch.as_tensor(boxes, dtype=torch.float32).reshape(-1, 4) + boxes[:, 2:] += boxes[:, :2] + boxes[:, 0::2].clamp_(min=0, max=w) + boxes[:, 1::2].clamp_(min=0, max=h) + + classes = [obj["category_id"] for obj in anno] + classes = torch.tensor(classes, dtype=torch.int64) + + segmentations = [obj["segmentation"] for obj in anno] + masks = convert_coco_poly_to_mask(segmentations, h, w) + + keypoints = None + if anno and "keypoints" in anno[0]: + keypoints = [obj["keypoints"] for obj in anno] + keypoints = torch.as_tensor(keypoints, dtype=torch.float32) + num_keypoints = keypoints.shape[0] + if num_keypoints: + keypoints = keypoints.view(num_keypoints, -1, 3) + + keep = (boxes[:, 3] > boxes[:, 1]) & (boxes[:, 2] > boxes[:, 0]) + boxes = boxes[keep] + classes = classes[keep] + masks = masks[keep] + if keypoints is not None: + keypoints = keypoints[keep] + + target = {} + target["boxes"] = boxes + target["labels"] = classes + target["masks"] = masks + target["image_id"] = image_id + if keypoints is not None: + target["keypoints"] = keypoints + + # for conversion to coco api + area = torch.tensor([obj["area"] for obj in anno]) + iscrowd = torch.tensor([obj["iscrowd"] for obj in anno]) + target["area"] = area + target["iscrowd"] = iscrowd + + return image, target + + +def _coco_remove_images_without_annotations(dataset, cat_list=None): + def _has_only_empty_bbox(anno): + return all(any(o <= 1 for o in obj["bbox"][2:]) for obj in anno) + + def _count_visible_keypoints(anno): + return sum(sum(1 for v in ann["keypoints"][2::3] if v > 0) for ann in anno) + + min_keypoints_per_image = 10 + + def _has_valid_annotation(anno): + # if it's empty, there is no annotation + if len(anno) == 0: + return False + # if all boxes have close to zero area, there is no annotation + if _has_only_empty_bbox(anno): + return False + # keypoints task have a slight different critera for considering + # if an annotation is valid + if "keypoints" not in anno[0]: + return True + # for keypoint detection tasks, only consider valid images those + # containing at least min_keypoints_per_image + if _count_visible_keypoints(anno) >= min_keypoints_per_image: + return True + return False + + assert isinstance(dataset, torchvision.datasets.CocoDetection) + ids = [] + for ds_idx, img_id in enumerate(dataset.ids): + ann_ids = dataset.coco.getAnnIds(imgIds=img_id, iscrowd=None) + anno = dataset.coco.loadAnns(ann_ids) + if cat_list: + anno = [obj for obj in anno if obj["category_id"] in cat_list] + if _has_valid_annotation(anno): + ids.append(ds_idx) + + dataset = torch.utils.data.Subset(dataset, ids) + return dataset + + +def convert_to_coco_api(ds): + coco_ds = COCO() + # annotation IDs need to start at 1, not 0, see torchvision issue #1530 + ann_id = 1 + dataset = {'images': [], 'categories': [], 'annotations': []} + categories = set() + for img_idx in range(len(ds)): + # find better way to get target + # targets = ds.get_annotations(img_idx) + img, targets = ds[img_idx] + image_id = targets["image_id"].item() + img_dict = {} + img_dict['id'] = image_id + img_dict['height'] = img.shape[-2] + img_dict['width'] = img.shape[-1] + dataset['images'].append(img_dict) + bboxes = targets["boxes"] + bboxes[:, 2:] -= bboxes[:, :2] + bboxes = bboxes.tolist() + labels = targets['labels'].tolist() + areas = targets['area'].tolist() + iscrowd = targets['iscrowd'].tolist() + if 'masks' in targets: + masks = targets['masks'] + # make masks Fortran contiguous for coco_mask + masks = masks.permute(0, 2, 1).contiguous().permute(0, 2, 1) + if 'keypoints' in targets: + keypoints = targets['keypoints'] + keypoints = keypoints.reshape(keypoints.shape[0], -1).tolist() + num_objs = len(bboxes) + for i in range(num_objs): + ann = {} + ann['image_id'] = image_id + ann['bbox'] = bboxes[i] + ann['category_id'] = labels[i] + categories.add(labels[i]) + ann['area'] = areas[i] + ann['iscrowd'] = iscrowd[i] + ann['id'] = ann_id + if 'masks' in targets: + ann["segmentation"] = coco_mask.encode(masks[i].numpy()) + if 'keypoints' in targets: + ann['keypoints'] = keypoints[i] + ann['num_keypoints'] = sum(k != 0 for k in keypoints[i][2::3]) + dataset['annotations'].append(ann) + ann_id += 1 + dataset['categories'] = [{'id': i} for i in sorted(categories)] + coco_ds.dataset = dataset + coco_ds.createIndex() + return coco_ds + + +def get_coco_api_from_dataset(dataset): + for _ in range(10): + if isinstance(dataset, torchvision.datasets.CocoDetection): + break + if isinstance(dataset, torch.utils.data.Subset): + dataset = dataset.dataset + if isinstance(dataset, torchvision.datasets.CocoDetection): + return dataset.coco + return convert_to_coco_api(dataset) + + +class CocoDetection(torchvision.datasets.CocoDetection): + def __init__(self, img_folder, ann_file, transforms): + super(CocoDetection, self).__init__(img_folder, ann_file) + self._transforms = transforms + + def __getitem__(self, idx): + img, target = super(CocoDetection, self).__getitem__(idx) + image_id = self.ids[idx] + target = dict(image_id=image_id, annotations=target) + if self._transforms is not None: + img, target = self._transforms(img, target) + return img, target + + +def get_coco(root, image_set, transforms, mode='instances'): + anno_file_template = "{}_{}2017.json" + PATHS = { + "train": ("train2017", os.path.join("annotations", anno_file_template.format(mode, "train"))), + "val": ("val2017", os.path.join("annotations", anno_file_template.format(mode, "val"))), + # "train": ("val2017", os.path.join("annotations", anno_file_template.format(mode, "val"))) + } + + t = [ConvertCocoPolysToMask()] + + if transforms is not None: + t.append(transforms) + transforms = T.Compose(t) + + img_folder, ann_file = PATHS[image_set] + img_folder = os.path.join(root, img_folder) + ann_file = os.path.join(root, ann_file) + + dataset = CocoDetection(img_folder, ann_file, transforms=transforms) + + if image_set == "train": + dataset = _coco_remove_images_without_annotations(dataset) + + # dataset = torch.common_utils.data.Subset(dataset, [i for i in range(500)]) + + return dataset + + +def get_coco_kp(root, image_set, transforms): + return get_coco(root, image_set, transforms, mode="person_keypoints") diff --git a/cv/detection/yolov3/tensorflow/dataloader/utils/functional.py b/cv/detection/yolov3/tensorflow/dataloader/utils/functional.py new file mode 100644 index 0000000000000000000000000000000000000000..ea5212135889b10b081996f641a0103ed8688a7b --- /dev/null +++ b/cv/detection/yolov3/tensorflow/dataloader/utils/functional.py @@ -0,0 +1,1324 @@ +import math +import numbers +import warnings +from enum import Enum + +import numpy as np +from PIL import Image + +import torch +from torch import Tensor +from typing import List, Tuple, Any, Optional + +try: + import accimage +except ImportError: + accimage = None + +from . import functional_pil as F_pil +from . import functional_tensor as F_t + + +class InterpolationMode(Enum): + """Interpolation modes + """ + NEAREST = "nearest" + BILINEAR = "bilinear" + BICUBIC = "bicubic" + # For PIL compatibility + BOX = "box" + HAMMING = "hamming" + LANCZOS = "lanczos" + + +# TODO: Once torchscript supports Enums with staticmethod +# this can be put into InterpolationMode as staticmethod +def _interpolation_modes_from_int(i: int) -> InterpolationMode: + inverse_modes_mapping = { + 0: InterpolationMode.NEAREST, + 2: InterpolationMode.BILINEAR, + 3: InterpolationMode.BICUBIC, + 4: InterpolationMode.BOX, + 5: InterpolationMode.HAMMING, + 1: InterpolationMode.LANCZOS, + } + return inverse_modes_mapping[i] + + +pil_modes_mapping = { + InterpolationMode.NEAREST: 0, + InterpolationMode.BILINEAR: 2, + InterpolationMode.BICUBIC: 3, + InterpolationMode.BOX: 4, + InterpolationMode.HAMMING: 5, + InterpolationMode.LANCZOS: 1, +} + +_is_pil_image = F_pil._is_pil_image +_parse_fill = F_pil._parse_fill + + +def _get_image_size(img: Tensor) -> List[int]: + """Returns image size as [w, h] + """ + if isinstance(img, torch.Tensor): + return F_t._get_image_size(img) + + return F_pil._get_image_size(img) + + +def _get_image_num_channels(img: Tensor) -> int: + """Returns number of image channels + """ + if isinstance(img, torch.Tensor): + return F_t._get_image_num_channels(img) + + return F_pil._get_image_num_channels(img) + + +@torch.jit.unused +def _is_numpy(img: Any) -> bool: + return isinstance(img, np.ndarray) + + +@torch.jit.unused +def _is_numpy_image(img: Any) -> bool: + return img.ndim in {2, 3} + + +def to_tensor(pic): + """Convert a ``PIL Image`` or ``numpy.ndarray`` to tensor. + This function does not support torchscript. + + See :class:`~torchvision.transforms.ToTensor` for more details. + + Args: + pic (PIL Image or numpy.ndarray): Image to be converted to tensor. + + Returns: + Tensor: Converted image. + """ + if not(F_pil._is_pil_image(pic) or _is_numpy(pic)): + raise TypeError('pic should be PIL Image or ndarray. Got {}'.format(type(pic))) + + if _is_numpy(pic) and not _is_numpy_image(pic): + raise ValueError('pic should be 2/3 dimensional. Got {} dimensions.'.format(pic.ndim)) + + default_float_dtype = torch.get_default_dtype() + + if isinstance(pic, np.ndarray): + # handle numpy array + if pic.ndim == 2: + pic = pic[:, :, None] + + img = torch.from_numpy(pic.transpose((2, 0, 1))).contiguous() + # backward compatibility + if isinstance(img, torch.ByteTensor): + return img.to(dtype=default_float_dtype).div(255) + else: + return img + + if accimage is not None and isinstance(pic, accimage.Image): + nppic = np.zeros([pic.channels, pic.height, pic.width], dtype=default_float_dtype) + pic.copyto(nppic) + return torch.from_numpy(nppic) + + # handle PIL Image + if pic.mode == 'I': + img = torch.from_numpy(np.array(pic, np.int32, copy=False)) + elif pic.mode == 'I;16': + img = torch.from_numpy(np.array(pic, np.int16, copy=False)) + elif pic.mode == 'F': + img = torch.from_numpy(np.array(pic, np.float32, copy=False)) + elif pic.mode == '1': + img = 255 * torch.from_numpy(np.array(pic, np.uint8, copy=False)) + else: + img = torch.ByteTensor(torch.ByteStorage.from_buffer(pic.tobytes())) + + img = img.view(pic.size[1], pic.size[0], len(pic.getbands())) + # put it from HWC to CHW format + img = img.permute((2, 0, 1)).contiguous() + if isinstance(img, torch.ByteTensor): + return img.to(dtype=default_float_dtype).div(255) + else: + return img + + +def pil_to_tensor(pic): + """Convert a ``PIL Image`` to a tensor of the same type. + This function does not support torchscript. + + See :class:`~torchvision.transforms.PILToTensor` for more details. + + Args: + pic (PIL Image): Image to be converted to tensor. + + Returns: + Tensor: Converted image. + """ + if not F_pil._is_pil_image(pic): + raise TypeError('pic should be PIL Image. Got {}'.format(type(pic))) + + if accimage is not None and isinstance(pic, accimage.Image): + # accimage format is always uint8 internally, so always return uint8 here + nppic = np.zeros([pic.channels, pic.height, pic.width], dtype=np.uint8) + pic.copyto(nppic) + return torch.as_tensor(nppic) + + # handle PIL Image + img = torch.as_tensor(np.asarray(pic)) + img = img.view(pic.size[1], pic.size[0], len(pic.getbands())) + # put it from HWC to CHW format + img = img.permute((2, 0, 1)) + return img + + +def convert_image_dtype(image: torch.Tensor, dtype: torch.dtype = torch.float) -> torch.Tensor: + """Convert a tensor image to the given ``dtype`` and scale the values accordingly + This function does not support PIL Image. + + Args: + image (torch.Tensor): Image to be converted + dtype (torch.dtype): Desired data type of the output + + Returns: + Tensor: Converted image + + .. note:: + + When converting from a smaller to a larger integer ``dtype`` the maximum values are **not** mapped exactly. + If converted back and forth, this mismatch has no effect. + + Raises: + RuntimeError: When trying to cast :class:`torch.float32` to :class:`torch.int32` or :class:`torch.int64` as + well as for trying to cast :class:`torch.float64` to :class:`torch.int64`. These conversions might lead to + overflow errors since the floating point ``dtype`` cannot store consecutive integers over the whole range + of the integer ``dtype``. + """ + if not isinstance(image, torch.Tensor): + raise TypeError('Input img should be Tensor Image') + + return F_t.convert_image_dtype(image, dtype) + + +def to_pil_image(pic, mode=None): + """Convert a tensor or an ndarray to PIL Image. This function does not support torchscript. + + See :class:`~torchvision.transforms.ToPILImage` for more details. + + Args: + pic (Tensor or numpy.ndarray): Image to be converted to PIL Image. + mode (`PIL.Image mode`_): color space and pixel depth of input data (optional). + + .. _PIL.Image mode: https://pillow.readthedocs.io/en/latest/handbook/concepts.html#concept-modes + + Returns: + PIL Image: Image converted to PIL Image. + """ + if not(isinstance(pic, torch.Tensor) or isinstance(pic, np.ndarray)): + raise TypeError('pic should be Tensor or ndarray. Got {}.'.format(type(pic))) + + elif isinstance(pic, torch.Tensor): + if pic.ndimension() not in {2, 3}: + raise ValueError('pic should be 2/3 dimensional. Got {} dimensions.'.format(pic.ndimension())) + + elif pic.ndimension() == 2: + # if 2D image, add channel dimension (CHW) + pic = pic.unsqueeze(0) + + # check number of channels + if pic.shape[-3] > 4: + raise ValueError('pic should not have > 4 channels. Got {} channels.'.format(pic.shape[-3])) + + elif isinstance(pic, np.ndarray): + if pic.ndim not in {2, 3}: + raise ValueError('pic should be 2/3 dimensional. Got {} dimensions.'.format(pic.ndim)) + + elif pic.ndim == 2: + # if 2D image, add channel dimension (HWC) + pic = np.expand_dims(pic, 2) + + # check number of channels + if pic.shape[-1] > 4: + raise ValueError('pic should not have > 4 channels. Got {} channels.'.format(pic.shape[-1])) + + npimg = pic + if isinstance(pic, torch.Tensor): + if pic.is_floating_point() and mode != 'F': + pic = pic.mul(255).byte() + npimg = np.transpose(pic.cpu().numpy(), (1, 2, 0)) + + if not isinstance(npimg, np.ndarray): + raise TypeError('Input pic must be a torch.Tensor or NumPy ndarray, ' + + 'not {}'.format(type(npimg))) + + if npimg.shape[2] == 1: + expected_mode = None + npimg = npimg[:, :, 0] + if npimg.dtype == np.uint8: + expected_mode = 'L' + elif npimg.dtype == np.int16: + expected_mode = 'I;16' + elif npimg.dtype == np.int32: + expected_mode = 'I' + elif npimg.dtype == np.float32: + expected_mode = 'F' + if mode is not None and mode != expected_mode: + raise ValueError("Incorrect mode ({}) supplied for input type {}. Should be {}" + .format(mode, np.dtype, expected_mode)) + mode = expected_mode + + elif npimg.shape[2] == 2: + permitted_2_channel_modes = ['LA'] + if mode is not None and mode not in permitted_2_channel_modes: + raise ValueError("Only modes {} are supported for 2D inputs".format(permitted_2_channel_modes)) + + if mode is None and npimg.dtype == np.uint8: + mode = 'LA' + + elif npimg.shape[2] == 4: + permitted_4_channel_modes = ['RGBA', 'CMYK', 'RGBX'] + if mode is not None and mode not in permitted_4_channel_modes: + raise ValueError("Only modes {} are supported for 4D inputs".format(permitted_4_channel_modes)) + + if mode is None and npimg.dtype == np.uint8: + mode = 'RGBA' + else: + permitted_3_channel_modes = ['RGB', 'YCbCr', 'HSV'] + if mode is not None and mode not in permitted_3_channel_modes: + raise ValueError("Only modes {} are supported for 3D inputs".format(permitted_3_channel_modes)) + if mode is None and npimg.dtype == np.uint8: + mode = 'RGB' + + if mode is None: + raise TypeError('Input type {} is not supported'.format(npimg.dtype)) + + return Image.fromarray(npimg, mode=mode) + + +def normalize(tensor: Tensor, mean: List[float], std: List[float], inplace: bool = False) -> Tensor: + """Normalize a tensor image with mean and standard deviation. + This transform does not support PIL Image. + + .. note:: + This transform acts out of place by default, i.e., it does not mutates the input tensor. + + See :class:`~torchvision.transforms.Normalize` for more details. + + Args: + tensor (Tensor): Tensor image of size (C, H, W) or (B, C, H, W) to be normalized. + mean (sequence): Sequence of means for each channel. + std (sequence): Sequence of standard deviations for each channel. + inplace(bool,optional): Bool to make this operation inplace. + + Returns: + Tensor: Normalized Tensor image. + """ + if not isinstance(tensor, torch.Tensor): + raise TypeError('Input tensor should be a torch tensor. Got {}.'.format(type(tensor))) + + if tensor.ndim < 3: + raise ValueError('Expected tensor to be a tensor image of size (..., C, H, W). Got tensor.size() = ' + '{}.'.format(tensor.size())) + + if not inplace: + tensor = tensor.clone() + + dtype = tensor.dtype + mean = torch.as_tensor(mean, dtype=dtype, device=tensor.device) + std = torch.as_tensor(std, dtype=dtype, device=tensor.device) + if (std == 0).any(): + raise ValueError('std evaluated to zero after conversion to {}, leading to division by zero.'.format(dtype)) + if mean.ndim == 1: + mean = mean.view(-1, 1, 1) + if std.ndim == 1: + std = std.view(-1, 1, 1) + tensor.sub_(mean).div_(std) + return tensor + + +def resize(img: Tensor, size: List[int], interpolation: InterpolationMode = InterpolationMode.BILINEAR) -> Tensor: + r"""Resize the input image to the given size. + If the image is torch Tensor, it is expected + to have [..., H, W] shape, where ... means an arbitrary number of leading dimensions + + Args: + img (PIL Image or Tensor): Image to be resized. + size (sequence or int): Desired output size. If size is a sequence like + (h, w), the output size will be matched to this. If size is an int, + the smaller edge of the image will be matched to this number maintaining + the aspect ratio. i.e, if height > width, then image will be rescaled to + :math:`\left(\text{size} \times \frac{\text{height}}{\text{width}}, \text{size}\right)`. + In torchscript mode size as single int is not supported, use a sequence of length 1: ``[size, ]``. + interpolation (InterpolationMode): Desired interpolation enum defined by + :class:`torchvision.transforms.InterpolationMode`. + Default is ``InterpolationMode.BILINEAR``. If input is Tensor, only ``InterpolationMode.NEAREST``, + ``InterpolationMode.BILINEAR`` and ``InterpolationMode.BICUBIC`` are supported. + For backward compatibility integer values (e.g. ``PIL.Image.NEAREST``) are still acceptable. + + Returns: + PIL Image or Tensor: Resized image. + """ + # Backward compatibility with integer value + if isinstance(interpolation, int): + warnings.warn( + "Argument interpolation should be of type InterpolationMode instead of int. " + "Please, use InterpolationMode enum." + ) + interpolation = _interpolation_modes_from_int(interpolation) + + if not isinstance(interpolation, InterpolationMode): + raise TypeError("Argument interpolation should be a InterpolationMode") + + if not isinstance(img, torch.Tensor): + pil_interpolation = pil_modes_mapping[interpolation] + return F_pil.resize(img, size=size, interpolation=pil_interpolation) + + return F_t.resize(img, size=size, interpolation=interpolation.value) + + +def scale(*args, **kwargs): + warnings.warn("The use of the transforms.Scale transform is deprecated, " + + "please use transforms.Resize instead.") + return resize(*args, **kwargs) + + +def pad(img: Tensor, padding: List[int], fill: int = 0, padding_mode: str = "constant") -> Tensor: + r"""Pad the given image on all sides with the given "pad" value. + If the image is torch Tensor, it is expected + to have [..., H, W] shape, where ... means at most 2 leading dimensions for mode reflect and symmetric, + at most 3 leading dimensions for mode edge, + and an arbitrary number of leading dimensions for mode constant + + Args: + img (PIL Image or Tensor): Image to be padded. + padding (int or sequence): Padding on each border. If a single int is provided this + is used to pad all borders. If sequence of length 2 is provided this is the padding + on left/right and top/bottom respectively. If a sequence of length 4 is provided + this is the padding for the left, top, right and bottom borders respectively. + In torchscript mode padding as single int is not supported, use a sequence of length 1: ``[padding, ]``. + fill (number or str or tuple): Pixel fill value for constant fill. Default is 0. + If a tuple of length 3, it is used to fill R, G, B channels respectively. + This value is only used when the padding_mode is constant. + Only number is supported for torch Tensor. + Only int or str or tuple value is supported for PIL Image. + padding_mode: Type of padding. Should be: constant, edge, reflect or symmetric. Default is constant. + + - constant: pads with a constant value, this value is specified with fill + + - edge: pads with the last value on the edge of the image, + if input a 5D torch Tensor, the last 3 dimensions will be padded instead of the last 2 + + - reflect: pads with reflection of image (without repeating the last value on the edge) + + padding [1, 2, 3, 4] with 2 elements on both sides in reflect mode + will result in [3, 2, 1, 2, 3, 4, 3, 2] + + - symmetric: pads with reflection of image (repeating the last value on the edge) + + padding [1, 2, 3, 4] with 2 elements on both sides in symmetric mode + will result in [2, 1, 1, 2, 3, 4, 4, 3] + + Returns: + PIL Image or Tensor: Padded image. + """ + if not isinstance(img, torch.Tensor): + return F_pil.pad(img, padding=padding, fill=fill, padding_mode=padding_mode) + + return F_t.pad(img, padding=padding, fill=fill, padding_mode=padding_mode) + + +def crop(img: Tensor, top: int, left: int, height: int, width: int) -> Tensor: + """Crop the given image at specified location and output size. + If the image is torch Tensor, it is expected + to have [..., H, W] shape, where ... means an arbitrary number of leading dimensions + + Args: + img (PIL Image or Tensor): Image to be cropped. (0,0) denotes the top left corner of the image. + top (int): Vertical component of the top left corner of the crop box. + left (int): Horizontal component of the top left corner of the crop box. + height (int): Height of the crop box. + width (int): Width of the crop box. + + Returns: + PIL Image or Tensor: Cropped image. + """ + + if not isinstance(img, torch.Tensor): + return F_pil.crop(img, top, left, height, width) + + return F_t.crop(img, top, left, height, width) + + +def center_crop(img: Tensor, output_size: List[int]) -> Tensor: + """Crops the given image at the center. + If the image is torch Tensor, it is expected + to have [..., H, W] shape, where ... means an arbitrary number of leading dimensions. + If image size is smaller than output size along any edge, image is padded with 0 and then center cropped. + + Args: + img (PIL Image or Tensor): Image to be cropped. + output_size (sequence or int): (height, width) of the crop box. If int or sequence with single int, + it is used for both directions. + + Returns: + PIL Image or Tensor: Cropped image. + """ + if isinstance(output_size, numbers.Number): + output_size = (int(output_size), int(output_size)) + elif isinstance(output_size, (tuple, list)) and len(output_size) == 1: + output_size = (output_size[0], output_size[0]) + + image_width, image_height = _get_image_size(img) + crop_height, crop_width = output_size + + if crop_width > image_width or crop_height > image_height: + padding_ltrb = [ + (crop_width - image_width) // 2 if crop_width > image_width else 0, + (crop_height - image_height) // 2 if crop_height > image_height else 0, + (crop_width - image_width + 1) // 2 if crop_width > image_width else 0, + (crop_height - image_height + 1) // 2 if crop_height > image_height else 0, + ] + img = pad(img, padding_ltrb, fill=0) # PIL uses fill value 0 + image_width, image_height = _get_image_size(img) + if crop_width == image_width and crop_height == image_height: + return img + + crop_top = int(round((image_height - crop_height) / 2.)) + crop_left = int(round((image_width - crop_width) / 2.)) + return crop(img, crop_top, crop_left, crop_height, crop_width) + + +def resized_crop( + img: Tensor, top: int, left: int, height: int, width: int, size: List[int], + interpolation: InterpolationMode = InterpolationMode.BILINEAR +) -> Tensor: + """Crop the given image and resize it to desired size. + If the image is torch Tensor, it is expected + to have [..., H, W] shape, where ... means an arbitrary number of leading dimensions + + Notably used in :class:`~torchvision.transforms.RandomResizedCrop`. + + Args: + img (PIL Image or Tensor): Image to be cropped. (0,0) denotes the top left corner of the image. + top (int): Vertical component of the top left corner of the crop box. + left (int): Horizontal component of the top left corner of the crop box. + height (int): Height of the crop box. + width (int): Width of the crop box. + size (sequence or int): Desired output size. Same semantics as ``resize``. + interpolation (InterpolationMode): Desired interpolation enum defined by + :class:`torchvision.transforms.InterpolationMode`. + Default is ``InterpolationMode.BILINEAR``. If input is Tensor, only ``InterpolationMode.NEAREST``, + ``InterpolationMode.BILINEAR`` and ``InterpolationMode.BICUBIC`` are supported. + For backward compatibility integer values (e.g. ``PIL.Image.NEAREST``) are still acceptable. + + Returns: + PIL Image or Tensor: Cropped image. + """ + img = crop(img, top, left, height, width) + img = resize(img, size, interpolation) + return img + + +def hflip(img: Tensor) -> Tensor: + """Horizontally flip the given image. + + Args: + img (PIL Image or Tensor): Image to be flipped. If img + is a Tensor, it is expected to be in [..., H, W] format, + where ... means it can have an arbitrary number of leading + dimensions. + + Returns: + PIL Image or Tensor: Horizontally flipped image. + """ + if not isinstance(img, torch.Tensor): + return F_pil.hflip(img) + + return F_t.hflip(img) + + +def _get_perspective_coeffs( + startpoints: List[List[int]], endpoints: List[List[int]] +) -> List[float]: + """Helper function to get the coefficients (a, b, c, d, e, f, g, h) for the perspective transforms. + + In Perspective Transform each pixel (x, y) in the original image gets transformed as, + (x, y) -> ( (ax + by + c) / (gx + hy + 1), (dx + ey + f) / (gx + hy + 1) ) + + Args: + startpoints (list of list of ints): List containing four lists of two integers corresponding to four corners + ``[top-left, top-right, bottom-right, bottom-left]`` of the original image. + endpoints (list of list of ints): List containing four lists of two integers corresponding to four corners + ``[top-left, top-right, bottom-right, bottom-left]`` of the transformed image. + + Returns: + octuple (a, b, c, d, e, f, g, h) for transforming each pixel. + """ + a_matrix = torch.zeros(2 * len(startpoints), 8, dtype=torch.float) + + for i, (p1, p2) in enumerate(zip(endpoints, startpoints)): + a_matrix[2 * i, :] = torch.tensor([p1[0], p1[1], 1, 0, 0, 0, -p2[0] * p1[0], -p2[0] * p1[1]]) + a_matrix[2 * i + 1, :] = torch.tensor([0, 0, 0, p1[0], p1[1], 1, -p2[1] * p1[0], -p2[1] * p1[1]]) + + b_matrix = torch.tensor(startpoints, dtype=torch.float).view(8) + res = torch.lstsq(b_matrix, a_matrix)[0] + + output: List[float] = res.squeeze(1).tolist() + return output + + +def perspective( + img: Tensor, + startpoints: List[List[int]], + endpoints: List[List[int]], + interpolation: InterpolationMode = InterpolationMode.BILINEAR, + fill: Optional[List[float]] = None +) -> Tensor: + """Perform perspective transform of the given image. + If the image is torch Tensor, it is expected + to have [..., H, W] shape, where ... means an arbitrary number of leading dimensions. + + Args: + img (PIL Image or Tensor): Image to be transformed. + startpoints (list of list of ints): List containing four lists of two integers corresponding to four corners + ``[top-left, top-right, bottom-right, bottom-left]`` of the original image. + endpoints (list of list of ints): List containing four lists of two integers corresponding to four corners + ``[top-left, top-right, bottom-right, bottom-left]`` of the transformed image. + interpolation (InterpolationMode): Desired interpolation enum defined by + :class:`torchvision.transforms.InterpolationMode`. Default is ``InterpolationMode.BILINEAR``. + If input is Tensor, only ``InterpolationMode.NEAREST``, ``InterpolationMode.BILINEAR`` are supported. + For backward compatibility integer values (e.g. ``PIL.Image.NEAREST``) are still acceptable. + fill (sequence or number, optional): Pixel fill value for the area outside the transformed + image. If given a number, the value is used for all bands respectively. + In torchscript mode single int/float value is not supported, please use a sequence + of length 1: ``[value, ]``. + If input is PIL Image, the options is only available for ``Pillow>=5.0.0``. + + Returns: + PIL Image or Tensor: transformed Image. + """ + + coeffs = _get_perspective_coeffs(startpoints, endpoints) + + # Backward compatibility with integer value + if isinstance(interpolation, int): + warnings.warn( + "Argument interpolation should be of type InterpolationMode instead of int. " + "Please, use InterpolationMode enum." + ) + interpolation = _interpolation_modes_from_int(interpolation) + + if not isinstance(interpolation, InterpolationMode): + raise TypeError("Argument interpolation should be a InterpolationMode") + + if not isinstance(img, torch.Tensor): + pil_interpolation = pil_modes_mapping[interpolation] + return F_pil.perspective(img, coeffs, interpolation=pil_interpolation, fill=fill) + + return F_t.perspective(img, coeffs, interpolation=interpolation.value, fill=fill) + + +def vflip(img: Tensor) -> Tensor: + """Vertically flip the given image. + + Args: + img (PIL Image or Tensor): Image to be flipped. If img + is a Tensor, it is expected to be in [..., H, W] format, + where ... means it can have an arbitrary number of leading + dimensions. + + Returns: + PIL Image or Tensor: Vertically flipped image. + """ + if not isinstance(img, torch.Tensor): + return F_pil.vflip(img) + + return F_t.vflip(img) + + +def five_crop(img: Tensor, size: List[int]) -> Tuple[Tensor, Tensor, Tensor, Tensor, Tensor]: + """Crop the given image into four corners and the central crop. + If the image is torch Tensor, it is expected + to have [..., H, W] shape, where ... means an arbitrary number of leading dimensions + + .. Note:: + This transform returns a tuple of images and there may be a + mismatch in the number of inputs and targets your ``Dataset`` returns. + + Args: + img (PIL Image or Tensor): Image to be cropped. + size (sequence or int): Desired output size of the crop. If size is an + int instead of sequence like (h, w), a square crop (size, size) is + made. If provided a sequence of length 1, it will be interpreted as (size[0], size[0]). + + Returns: + tuple: tuple (tl, tr, bl, br, center) + Corresponding top left, top right, bottom left, bottom right and center crop. + """ + if isinstance(size, numbers.Number): + size = (int(size), int(size)) + elif isinstance(size, (tuple, list)) and len(size) == 1: + size = (size[0], size[0]) + + if len(size) != 2: + raise ValueError("Please provide only two dimensions (h, w) for size.") + + image_width, image_height = _get_image_size(img) + crop_height, crop_width = size + if crop_width > image_width or crop_height > image_height: + msg = "Requested crop size {} is bigger than input size {}" + raise ValueError(msg.format(size, (image_height, image_width))) + + tl = crop(img, 0, 0, crop_height, crop_width) + tr = crop(img, 0, image_width - crop_width, crop_height, crop_width) + bl = crop(img, image_height - crop_height, 0, crop_height, crop_width) + br = crop(img, image_height - crop_height, image_width - crop_width, crop_height, crop_width) + + center = center_crop(img, [crop_height, crop_width]) + + return tl, tr, bl, br, center + + +def ten_crop(img: Tensor, size: List[int], vertical_flip: bool = False) -> List[Tensor]: + """Generate ten cropped images from the given image. + Crop the given image into four corners and the central crop plus the + flipped version of these (horizontal flipping is used by default). + If the image is torch Tensor, it is expected + to have [..., H, W] shape, where ... means an arbitrary number of leading dimensions + + .. Note:: + This transform returns a tuple of images and there may be a + mismatch in the number of inputs and targets your ``Dataset`` returns. + + Args: + img (PIL Image or Tensor): Image to be cropped. + size (sequence or int): Desired output size of the crop. If size is an + int instead of sequence like (h, w), a square crop (size, size) is + made. If provided a sequence of length 1, it will be interpreted as (size[0], size[0]). + vertical_flip (bool): Use vertical flipping instead of horizontal + + Returns: + tuple: tuple (tl, tr, bl, br, center, tl_flip, tr_flip, bl_flip, br_flip, center_flip) + Corresponding top left, top right, bottom left, bottom right and + center crop and same for the flipped image. + """ + if isinstance(size, numbers.Number): + size = (int(size), int(size)) + elif isinstance(size, (tuple, list)) and len(size) == 1: + size = (size[0], size[0]) + + if len(size) != 2: + raise ValueError("Please provide only two dimensions (h, w) for size.") + + first_five = five_crop(img, size) + + if vertical_flip: + img = vflip(img) + else: + img = hflip(img) + + second_five = five_crop(img, size) + return first_five + second_five + + +def adjust_brightness(img: Tensor, brightness_factor: float) -> Tensor: + """Adjust brightness of an image. + + Args: + img (PIL Image or Tensor): Image to be adjusted. + If img is torch Tensor, it is expected to be in [..., 1 or 3, H, W] format, + where ... means it can have an arbitrary number of leading dimensions. + brightness_factor (float): How much to adjust the brightness. Can be + any non negative number. 0 gives a black image, 1 gives the + original image while 2 increases the brightness by a factor of 2. + + Returns: + PIL Image or Tensor: Brightness adjusted image. + """ + if not isinstance(img, torch.Tensor): + return F_pil.adjust_brightness(img, brightness_factor) + + return F_t.adjust_brightness(img, brightness_factor) + + +def adjust_contrast(img: Tensor, contrast_factor: float) -> Tensor: + """Adjust contrast of an image. + + Args: + img (PIL Image or Tensor): Image to be adjusted. + If img is torch Tensor, it is expected to be in [..., 3, H, W] format, + where ... means it can have an arbitrary number of leading dimensions. + contrast_factor (float): How much to adjust the contrast. Can be any + non negative number. 0 gives a solid gray image, 1 gives the + original image while 2 increases the contrast by a factor of 2. + + Returns: + PIL Image or Tensor: Contrast adjusted image. + """ + if not isinstance(img, torch.Tensor): + return F_pil.adjust_contrast(img, contrast_factor) + + return F_t.adjust_contrast(img, contrast_factor) + + +def adjust_saturation(img: Tensor, saturation_factor: float) -> Tensor: + """Adjust color saturation of an image. + + Args: + img (PIL Image or Tensor): Image to be adjusted. + If img is torch Tensor, it is expected to be in [..., 3, H, W] format, + where ... means it can have an arbitrary number of leading dimensions. + saturation_factor (float): How much to adjust the saturation. 0 will + give a black and white image, 1 will give the original image while + 2 will enhance the saturation by a factor of 2. + + Returns: + PIL Image or Tensor: Saturation adjusted image. + """ + if not isinstance(img, torch.Tensor): + return F_pil.adjust_saturation(img, saturation_factor) + + return F_t.adjust_saturation(img, saturation_factor) + + +def adjust_hue(img: Tensor, hue_factor: float) -> Tensor: + """Adjust hue of an image. + + The image hue is adjusted by converting the image to HSV and + cyclically shifting the intensities in the hue channel (H). + The image is then converted back to original image mode. + + `hue_factor` is the amount of shift in H channel and must be in the + interval `[-0.5, 0.5]`. + + See `Hue`_ for more details. + + .. _Hue: https://en.wikipedia.org/wiki/Hue + + Args: + img (PIL Image or Tensor): Image to be adjusted. + If img is torch Tensor, it is expected to be in [..., 3, H, W] format, + where ... means it can have an arbitrary number of leading dimensions. + If img is PIL Image mode "1", "L", "I", "F" and modes with transparency (alpha channel) are not supported. + hue_factor (float): How much to shift the hue channel. Should be in + [-0.5, 0.5]. 0.5 and -0.5 give complete reversal of hue channel in + HSV space in positive and negative direction respectively. + 0 means no shift. Therefore, both -0.5 and 0.5 will give an image + with complementary colors while 0 gives the original image. + + Returns: + PIL Image or Tensor: Hue adjusted image. + """ + if not isinstance(img, torch.Tensor): + return F_pil.adjust_hue(img, hue_factor) + + return F_t.adjust_hue(img, hue_factor) + + +def adjust_gamma(img: Tensor, gamma: float, gain: float = 1) -> Tensor: + r"""Perform gamma correction on an image. + + Also known as Power Law Transform. Intensities in RGB mode are adjusted + based on the following equation: + + .. math:: + I_{\text{out}} = 255 \times \text{gain} \times \left(\frac{I_{\text{in}}}{255}\right)^{\gamma} + + See `Gamma Correction`_ for more details. + + .. _Gamma Correction: https://en.wikipedia.org/wiki/Gamma_correction + + Args: + img (PIL Image or Tensor): PIL Image to be adjusted. + If img is torch Tensor, it is expected to be in [..., 1 or 3, H, W] format, + where ... means it can have an arbitrary number of leading dimensions. + If img is PIL Image, modes with transparency (alpha channel) are not supported. + gamma (float): Non negative real number, same as :math:`\gamma` in the equation. + gamma larger than 1 make the shadows darker, + while gamma smaller than 1 make dark regions lighter. + gain (float): The constant multiplier. + Returns: + PIL Image or Tensor: Gamma correction adjusted image. + """ + if not isinstance(img, torch.Tensor): + return F_pil.adjust_gamma(img, gamma, gain) + + return F_t.adjust_gamma(img, gamma, gain) + + +def _get_inverse_affine_matrix( + center: List[float], angle: float, translate: List[float], scale: float, shear: List[float] +) -> List[float]: + # Helper method to compute inverse matrix for affine transformation + + # As it is explained in PIL.Image.rotate + # We need compute INVERSE of affine transformation matrix: M = T * C * RSS * C^-1 + # where T is translation matrix: [1, 0, tx | 0, 1, ty | 0, 0, 1] + # C is translation matrix to keep center: [1, 0, cx | 0, 1, cy | 0, 0, 1] + # RSS is rotation with scale and shear matrix + # RSS(a, s, (sx, sy)) = + # = R(a) * S(s) * SHy(sy) * SHx(sx) + # = [ s*cos(a - sy)/cos(sy), s*(-cos(a - sy)*tan(x)/cos(y) - sin(a)), 0 ] + # [ s*sin(a + sy)/cos(sy), s*(-sin(a - sy)*tan(x)/cos(y) + cos(a)), 0 ] + # [ 0 , 0 , 1 ] + # + # where R is a rotation matrix, S is a scaling matrix, and SHx and SHy are the shears: + # SHx(s) = [1, -tan(s)] and SHy(s) = [1 , 0] + # [0, 1 ] [-tan(s), 1] + # + # Thus, the inverse is M^-1 = C * RSS^-1 * C^-1 * T^-1 + + rot = math.radians(angle) + sx, sy = [math.radians(s) for s in shear] + + cx, cy = center + tx, ty = translate + + # RSS without scaling + a = math.cos(rot - sy) / math.cos(sy) + b = -math.cos(rot - sy) * math.tan(sx) / math.cos(sy) - math.sin(rot) + c = math.sin(rot - sy) / math.cos(sy) + d = -math.sin(rot - sy) * math.tan(sx) / math.cos(sy) + math.cos(rot) + + # Inverted rotation matrix with scale and shear + # det([[a, b], [c, d]]) == 1, since det(rotation) = 1 and det(shear) = 1 + matrix = [d, -b, 0.0, -c, a, 0.0] + matrix = [x / scale for x in matrix] + + # Apply inverse of translation and of center translation: RSS^-1 * C^-1 * T^-1 + matrix[2] += matrix[0] * (-cx - tx) + matrix[1] * (-cy - ty) + matrix[5] += matrix[3] * (-cx - tx) + matrix[4] * (-cy - ty) + + # Apply center translation: C * RSS^-1 * C^-1 * T^-1 + matrix[2] += cx + matrix[5] += cy + + return matrix + + +def rotate( + img: Tensor, angle: float, interpolation: InterpolationMode = InterpolationMode.NEAREST, + expand: bool = False, center: Optional[List[int]] = None, + fill: Optional[List[float]] = None, resample: Optional[int] = None +) -> Tensor: + """Rotate the image by angle. + If the image is torch Tensor, it is expected + to have [..., H, W] shape, where ... means an arbitrary number of leading dimensions. + + Args: + img (PIL Image or Tensor): image to be rotated. + angle (number): rotation angle value in degrees, counter-clockwise. + interpolation (InterpolationMode): Desired interpolation enum defined by + :class:`torchvision.transforms.InterpolationMode`. Default is ``InterpolationMode.NEAREST``. + If input is Tensor, only ``InterpolationMode.NEAREST``, ``InterpolationMode.BILINEAR`` are supported. + For backward compatibility integer values (e.g. ``PIL.Image.NEAREST``) are still acceptable. + expand (bool, optional): Optional expansion flag. + If true, expands the output image to make it large enough to hold the entire rotated image. + If false or omitted, make the output image the same size as the input image. + Note that the expand flag assumes rotation around the center and no translation. + center (sequence, optional): Optional center of rotation. Origin is the upper left corner. + Default is the center of the image. + fill (sequence or number, optional): Pixel fill value for the area outside the transformed + image. If given a number, the value is used for all bands respectively. + In torchscript mode single int/float value is not supported, please use a sequence + of length 1: ``[value, ]``. + If input is PIL Image, the options is only available for ``Pillow>=5.2.0``. + + Returns: + PIL Image or Tensor: Rotated image. + + .. _filters: https://pillow.readthedocs.io/en/latest/handbook/concepts.html#filters + + """ + if resample is not None: + warnings.warn( + "Argument resample is deprecated and will be removed since v0.10.0. Please, use interpolation instead" + ) + interpolation = _interpolation_modes_from_int(resample) + + # Backward compatibility with integer value + if isinstance(interpolation, int): + warnings.warn( + "Argument interpolation should be of type InterpolationMode instead of int. " + "Please, use InterpolationMode enum." + ) + interpolation = _interpolation_modes_from_int(interpolation) + + if not isinstance(angle, (int, float)): + raise TypeError("Argument angle should be int or float") + + if center is not None and not isinstance(center, (list, tuple)): + raise TypeError("Argument center should be a sequence") + + if not isinstance(interpolation, InterpolationMode): + raise TypeError("Argument interpolation should be a InterpolationMode") + + if not isinstance(img, torch.Tensor): + pil_interpolation = pil_modes_mapping[interpolation] + return F_pil.rotate(img, angle=angle, interpolation=pil_interpolation, expand=expand, center=center, fill=fill) + + center_f = [0.0, 0.0] + if center is not None: + img_size = _get_image_size(img) + # Center values should be in pixel coordinates but translated such that (0, 0) corresponds to image center. + center_f = [1.0 * (c - s * 0.5) for c, s in zip(center, img_size)] + + # due to current incoherence of rotation angle direction between affine and rotate implementations + # we need to set -angle. + matrix = _get_inverse_affine_matrix(center_f, -angle, [0.0, 0.0], 1.0, [0.0, 0.0]) + return F_t.rotate(img, matrix=matrix, interpolation=interpolation.value, expand=expand, fill=fill) + + +def affine( + img: Tensor, angle: float, translate: List[int], scale: float, shear: List[float], + interpolation: InterpolationMode = InterpolationMode.NEAREST, fill: Optional[List[float]] = None, + resample: Optional[int] = None, fillcolor: Optional[List[float]] = None +) -> Tensor: + """Apply affine transformation on the image keeping image center invariant. + If the image is torch Tensor, it is expected + to have [..., H, W] shape, where ... means an arbitrary number of leading dimensions. + + Args: + img (PIL Image or Tensor): image to transform. + angle (number): rotation angle in degrees between -180 and 180, clockwise direction. + translate (sequence of integers): horizontal and vertical translations (post-rotation translation) + scale (float): overall scale + shear (float or sequence): shear angle value in degrees between -180 to 180, clockwise direction. + If a sequence is specified, the first value corresponds to a shear parallel to the x axis, while + the second value corresponds to a shear parallel to the y axis. + interpolation (InterpolationMode): Desired interpolation enum defined by + :class:`torchvision.transforms.InterpolationMode`. Default is ``InterpolationMode.NEAREST``. + If input is Tensor, only ``InterpolationMode.NEAREST``, ``InterpolationMode.BILINEAR`` are supported. + For backward compatibility integer values (e.g. ``PIL.Image.NEAREST``) are still acceptable. + fill (sequence or number, optional): Pixel fill value for the area outside the transformed + image. If given a number, the value is used for all bands respectively. + In torchscript mode single int/float value is not supported, please use a sequence + of length 1: ``[value, ]``. + If input is PIL Image, the options is only available for ``Pillow>=5.0.0``. + fillcolor (sequence, int, float): deprecated argument and will be removed since v0.10.0. + Please use the ``fill`` parameter instead. + resample (int, optional): deprecated argument and will be removed since v0.10.0. + Please use the ``interpolation`` parameter instead. + + Returns: + PIL Image or Tensor: Transformed image. + """ + if resample is not None: + warnings.warn( + "Argument resample is deprecated and will be removed since v0.10.0. Please, use interpolation instead" + ) + interpolation = _interpolation_modes_from_int(resample) + + # Backward compatibility with integer value + if isinstance(interpolation, int): + warnings.warn( + "Argument interpolation should be of type InterpolationMode instead of int. " + "Please, use InterpolationMode enum." + ) + interpolation = _interpolation_modes_from_int(interpolation) + + if fillcolor is not None: + warnings.warn( + "Argument fillcolor is deprecated and will be removed since v0.10.0. Please, use fill instead" + ) + fill = fillcolor + + if not isinstance(angle, (int, float)): + raise TypeError("Argument angle should be int or float") + + if not isinstance(translate, (list, tuple)): + raise TypeError("Argument translate should be a sequence") + + if len(translate) != 2: + raise ValueError("Argument translate should be a sequence of length 2") + + if scale <= 0.0: + raise ValueError("Argument scale should be positive") + + if not isinstance(shear, (numbers.Number, (list, tuple))): + raise TypeError("Shear should be either a single value or a sequence of two values") + + if not isinstance(interpolation, InterpolationMode): + raise TypeError("Argument interpolation should be a InterpolationMode") + + if isinstance(angle, int): + angle = float(angle) + + if isinstance(translate, tuple): + translate = list(translate) + + if isinstance(shear, numbers.Number): + shear = [shear, 0.0] + + if isinstance(shear, tuple): + shear = list(shear) + + if len(shear) == 1: + shear = [shear[0], shear[0]] + + if len(shear) != 2: + raise ValueError("Shear should be a sequence containing two values. Got {}".format(shear)) + + img_size = _get_image_size(img) + if not isinstance(img, torch.Tensor): + # center = (img_size[0] * 0.5 + 0.5, img_size[1] * 0.5 + 0.5) + # it is visually better to estimate the center without 0.5 offset + # otherwise image rotated by 90 degrees is shifted vs output image of torch.rot90 or F_t.affine + center = [img_size[0] * 0.5, img_size[1] * 0.5] + matrix = _get_inverse_affine_matrix(center, angle, translate, scale, shear) + pil_interpolation = pil_modes_mapping[interpolation] + return F_pil.affine(img, matrix=matrix, interpolation=pil_interpolation, fill=fill) + + translate_f = [1.0 * t for t in translate] + matrix = _get_inverse_affine_matrix([0.0, 0.0], angle, translate_f, scale, shear) + return F_t.affine(img, matrix=matrix, interpolation=interpolation.value, fill=fill) + + +@torch.jit.unused +def to_grayscale(img, num_output_channels=1): + """Convert PIL image of any mode (RGB, HSV, LAB, etc) to grayscale version of image. + This transform does not support torch Tensor. + + Args: + img (PIL Image): PIL Image to be converted to grayscale. + num_output_channels (int): number of channels of the output image. Value can be 1 or 3. Default is 1. + + Returns: + PIL Image: Grayscale version of the image. + if num_output_channels = 1 : returned image is single channel + + if num_output_channels = 3 : returned image is 3 channel with r = g = b + """ + if isinstance(img, Image.Image): + return F_pil.to_grayscale(img, num_output_channels) + + raise TypeError("Input should be PIL Image") + + +def rgb_to_grayscale(img: Tensor, num_output_channels: int = 1) -> Tensor: + """Convert RGB image to grayscale version of image. + If the image is torch Tensor, it is expected + to have [..., 3, H, W] shape, where ... means an arbitrary number of leading dimensions + + Note: + Please, note that this method supports only RGB images as input. For inputs in other color spaces, + please, consider using meth:`~torchvision.transforms.functional.to_grayscale` with PIL Image. + + Args: + img (PIL Image or Tensor): RGB Image to be converted to grayscale. + num_output_channels (int): number of channels of the output image. Value can be 1 or 3. Default, 1. + + Returns: + PIL Image or Tensor: Grayscale version of the image. + if num_output_channels = 1 : returned image is single channel + + if num_output_channels = 3 : returned image is 3 channel with r = g = b + """ + if not isinstance(img, torch.Tensor): + return F_pil.to_grayscale(img, num_output_channels) + + return F_t.rgb_to_grayscale(img, num_output_channels) + + +def erase(img: Tensor, i: int, j: int, h: int, w: int, v: Tensor, inplace: bool = False) -> Tensor: + """ Erase the input Tensor Image with given value. + This transform does not support PIL Image. + + Args: + img (Tensor Image): Tensor image of size (C, H, W) to be erased + i (int): i in (i,j) i.e coordinates of the upper left corner. + j (int): j in (i,j) i.e coordinates of the upper left corner. + h (int): Height of the erased region. + w (int): Width of the erased region. + v: Erasing value. + inplace(bool, optional): For in-place operations. By default is set False. + + Returns: + Tensor Image: Erased image. + """ + if not isinstance(img, torch.Tensor): + raise TypeError('img should be Tensor Image. Got {}'.format(type(img))) + + if not inplace: + img = img.clone() + + img[..., i:i + h, j:j + w] = v + return img + + +def gaussian_blur(img: Tensor, kernel_size: List[int], sigma: Optional[List[float]] = None) -> Tensor: + """Performs Gaussian blurring on the image by given kernel. + If the image is torch Tensor, it is expected + to have [..., H, W] shape, where ... means an arbitrary number of leading dimensions. + + Args: + img (PIL Image or Tensor): Image to be blurred + kernel_size (sequence of ints or int): Gaussian kernel size. Can be a sequence of integers + like ``(kx, ky)`` or a single integer for square kernels. + In torchscript mode kernel_size as single int is not supported, use a sequence of length 1: ``[ksize, ]``. + sigma (sequence of floats or float, optional): Gaussian kernel standard deviation. Can be a + sequence of floats like ``(sigma_x, sigma_y)`` or a single float to define the + same sigma in both X/Y directions. If None, then it is computed using + ``kernel_size`` as ``sigma = 0.3 * ((kernel_size - 1) * 0.5 - 1) + 0.8``. + Default, None. In torchscript mode sigma as single float is + not supported, use a sequence of length 1: ``[sigma, ]``. + + Returns: + PIL Image or Tensor: Gaussian Blurred version of the image. + """ + if not isinstance(kernel_size, (int, list, tuple)): + raise TypeError('kernel_size should be int or a sequence of integers. Got {}'.format(type(kernel_size))) + if isinstance(kernel_size, int): + kernel_size = [kernel_size, kernel_size] + if len(kernel_size) != 2: + raise ValueError('If kernel_size is a sequence its length should be 2. Got {}'.format(len(kernel_size))) + for ksize in kernel_size: + if ksize % 2 == 0 or ksize < 0: + raise ValueError('kernel_size should have odd and positive integers. Got {}'.format(kernel_size)) + + if sigma is None: + sigma = [ksize * 0.15 + 0.35 for ksize in kernel_size] + + if sigma is not None and not isinstance(sigma, (int, float, list, tuple)): + raise TypeError('sigma should be either float or sequence of floats. Got {}'.format(type(sigma))) + if isinstance(sigma, (int, float)): + sigma = [float(sigma), float(sigma)] + if isinstance(sigma, (list, tuple)) and len(sigma) == 1: + sigma = [sigma[0], sigma[0]] + if len(sigma) != 2: + raise ValueError('If sigma is a sequence, its length should be 2. Got {}'.format(len(sigma))) + for s in sigma: + if s <= 0.: + raise ValueError('sigma should have positive values. Got {}'.format(sigma)) + + t_img = img + if not isinstance(img, torch.Tensor): + if not F_pil._is_pil_image(img): + raise TypeError('img should be PIL Image or Tensor. Got {}'.format(type(img))) + + t_img = to_tensor(img) + + output = F_t.gaussian_blur(t_img, kernel_size, sigma) + + if not isinstance(img, torch.Tensor): + output = to_pil_image(output) + return output + + +def invert(img: Tensor) -> Tensor: + """Invert the colors of an RGB/grayscale image. + + Args: + img (PIL Image or Tensor): Image to have its colors inverted. + If img is torch Tensor, it is expected to be in [..., 1 or 3, H, W] format, + where ... means it can have an arbitrary number of leading dimensions. + If img is PIL Image, it is expected to be in mode "L" or "RGB". + + Returns: + PIL Image or Tensor: Color inverted image. + """ + if not isinstance(img, torch.Tensor): + return F_pil.invert(img) + + return F_t.invert(img) + + +def posterize(img: Tensor, bits: int) -> Tensor: + """Posterize an image by reducing the number of bits for each color channel. + + Args: + img (PIL Image or Tensor): Image to have its colors posterized. + If img is torch Tensor, it should be of type torch.uint8 and + it is expected to be in [..., 1 or 3, H, W] format, where ... means + it can have an arbitrary number of leading dimensions. + If img is PIL Image, it is expected to be in mode "L" or "RGB". + bits (int): The number of bits to keep for each channel (0-8). + Returns: + PIL Image or Tensor: Posterized image. + """ + if not (0 <= bits <= 8): + raise ValueError('The number if bits should be between 0 and 8. Got {}'.format(bits)) + + if not isinstance(img, torch.Tensor): + return F_pil.posterize(img, bits) + + return F_t.posterize(img, bits) + + +def solarize(img: Tensor, threshold: float) -> Tensor: + """Solarize an RGB/grayscale image by inverting all pixel values above a threshold. + + Args: + img (PIL Image or Tensor): Image to have its colors inverted. + If img is torch Tensor, it is expected to be in [..., 1 or 3, H, W] format, + where ... means it can have an arbitrary number of leading dimensions. + If img is PIL Image, it is expected to be in mode "L" or "RGB". + threshold (float): All pixels equal or above this value are inverted. + Returns: + PIL Image or Tensor: Solarized image. + """ + if not isinstance(img, torch.Tensor): + return F_pil.solarize(img, threshold) + + return F_t.solarize(img, threshold) + + +def adjust_sharpness(img: Tensor, sharpness_factor: float) -> Tensor: + """Adjust the sharpness of an image. + + Args: + img (PIL Image or Tensor): Image to be adjusted. + If img is torch Tensor, it is expected to be in [..., 1 or 3, H, W] format, + where ... means it can have an arbitrary number of leading dimensions. + sharpness_factor (float): How much to adjust the sharpness. Can be + any non negative number. 0 gives a blurred image, 1 gives the + original image while 2 increases the sharpness by a factor of 2. + + Returns: + PIL Image or Tensor: Sharpness adjusted image. + """ + if not isinstance(img, torch.Tensor): + return F_pil.adjust_sharpness(img, sharpness_factor) + + return F_t.adjust_sharpness(img, sharpness_factor) + + +def autocontrast(img: Tensor) -> Tensor: + """Maximize contrast of an image by remapping its + pixels per channel so that the lowest becomes black and the lightest + becomes white. + + Args: + img (PIL Image or Tensor): Image on which autocontrast is applied. + If img is torch Tensor, it is expected to be in [..., 1 or 3, H, W] format, + where ... means it can have an arbitrary number of leading dimensions. + If img is PIL Image, it is expected to be in mode "L" or "RGB". + + Returns: + PIL Image or Tensor: An image that was autocontrasted. + """ + if not isinstance(img, torch.Tensor): + return F_pil.autocontrast(img) + + return F_t.autocontrast(img) + + +def equalize(img: Tensor) -> Tensor: + """Equalize the histogram of an image by applying + a non-linear mapping to the input in order to create a uniform + distribution of grayscale values in the output. + + Args: + img (PIL Image or Tensor): Image on which equalize is applied. + If img is torch Tensor, it is expected to be in [..., 1 or 3, H, W] format, + where ... means it can have an arbitrary number of leading dimensions. + If img is PIL Image, it is expected to be in mode "P", "L" or "RGB". + + Returns: + PIL Image or Tensor: An image that was equalized. + """ + if not isinstance(img, torch.Tensor): + return F_pil.equalize(img) + + return F_t.equalize(img) diff --git a/cv/detection/yolov3/tensorflow/dataloader/utils/functional_pil.py b/cv/detection/yolov3/tensorflow/dataloader/utils/functional_pil.py new file mode 100644 index 0000000000000000000000000000000000000000..6999a2acf5fccbc6100fd699aae942406f7cba46 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/dataloader/utils/functional_pil.py @@ -0,0 +1,349 @@ +import numbers +from typing import Any, List, Sequence + +import numpy as np +import torch +from PIL import Image, ImageOps, ImageEnhance, ImageFilter, __version__ as PILLOW_VERSION + +try: + import accimage +except ImportError: + accimage = None + + +@torch.jit.unused +def _is_pil_image(img: Any) -> bool: + if accimage is not None: + return isinstance(img, (Image.Image, accimage.Image)) + else: + return isinstance(img, Image.Image) + + +@torch.jit.unused +def _get_image_size(img: Any) -> List[int]: + if _is_pil_image(img): + return img.size + raise TypeError("Unexpected type {}".format(type(img))) + + +@torch.jit.unused +def _get_image_num_channels(img: Any) -> int: + if _is_pil_image(img): + return 1 if img.mode == 'L' else 3 + raise TypeError("Unexpected type {}".format(type(img))) + + +@torch.jit.unused +def hflip(img): + if not _is_pil_image(img): + raise TypeError('img should be PIL Image. Got {}'.format(type(img))) + + return img.transpose(Image.FLIP_LEFT_RIGHT) + + +@torch.jit.unused +def vflip(img): + if not _is_pil_image(img): + raise TypeError('img should be PIL Image. Got {}'.format(type(img))) + + return img.transpose(Image.FLIP_TOP_BOTTOM) + + +@torch.jit.unused +def adjust_brightness(img, brightness_factor): + if not _is_pil_image(img): + raise TypeError('img should be PIL Image. Got {}'.format(type(img))) + + enhancer = ImageEnhance.Brightness(img) + img = enhancer.enhance(brightness_factor) + return img + + +@torch.jit.unused +def adjust_contrast(img, contrast_factor): + if not _is_pil_image(img): + raise TypeError('img should be PIL Image. Got {}'.format(type(img))) + + enhancer = ImageEnhance.Contrast(img) + img = enhancer.enhance(contrast_factor) + return img + + +@torch.jit.unused +def adjust_saturation(img, saturation_factor): + if not _is_pil_image(img): + raise TypeError('img should be PIL Image. Got {}'.format(type(img))) + + enhancer = ImageEnhance.Color(img) + img = enhancer.enhance(saturation_factor) + return img + + +@torch.jit.unused +def adjust_hue(img, hue_factor): + if not(-0.5 <= hue_factor <= 0.5): + raise ValueError('hue_factor ({}) is not in [-0.5, 0.5].'.format(hue_factor)) + + if not _is_pil_image(img): + raise TypeError('img should be PIL Image. Got {}'.format(type(img))) + + input_mode = img.mode + if input_mode in {'L', '1', 'I', 'F'}: + return img + + h, s, v = img.convert('HSV').split() + + np_h = np.array(h, dtype=np.uint8) + # uint8 addition take cares of rotation across boundaries + with np.errstate(over='ignore'): + np_h += np.uint8(hue_factor * 255) + h = Image.fromarray(np_h, 'L') + + img = Image.merge('HSV', (h, s, v)).convert(input_mode) + return img + + +@torch.jit.unused +def adjust_gamma(img, gamma, gain=1): + if not _is_pil_image(img): + raise TypeError('img should be PIL Image. Got {}'.format(type(img))) + + if gamma < 0: + raise ValueError('Gamma should be a non-negative real number') + + input_mode = img.mode + img = img.convert('RGB') + gamma_map = [(255 + 1 - 1e-3) * gain * pow(ele / 255., gamma) for ele in range(256)] * 3 + img = img.point(gamma_map) # use PIL's point-function to accelerate this part + + img = img.convert(input_mode) + return img + + +@torch.jit.unused +def pad(img, padding, fill=0, padding_mode="constant"): + if not _is_pil_image(img): + raise TypeError("img should be PIL Image. Got {}".format(type(img))) + + if not isinstance(padding, (numbers.Number, tuple, list)): + raise TypeError("Got inappropriate padding arg") + if not isinstance(fill, (numbers.Number, str, tuple)): + raise TypeError("Got inappropriate fill arg") + if not isinstance(padding_mode, str): + raise TypeError("Got inappropriate padding_mode arg") + + if isinstance(padding, list): + padding = tuple(padding) + + if isinstance(padding, tuple) and len(padding) not in [1, 2, 4]: + raise ValueError("Padding must be an int or a 1, 2, or 4 element tuple, not a " + + "{} element tuple".format(len(padding))) + + if isinstance(padding, tuple) and len(padding) == 1: + # Compatibility with `functional_tensor.pad` + padding = padding[0] + + if padding_mode not in ["constant", "edge", "reflect", "symmetric"]: + raise ValueError("Padding mode should be either constant, edge, reflect or symmetric") + + if padding_mode == "constant": + opts = _parse_fill(fill, img, "2.3.0", name="fill") + if img.mode == "P": + palette = img.getpalette() + image = ImageOps.expand(img, border=padding, **opts) + image.putpalette(palette) + return image + + return ImageOps.expand(img, border=padding, **opts) + else: + if isinstance(padding, int): + pad_left = pad_right = pad_top = pad_bottom = padding + if isinstance(padding, tuple) and len(padding) == 2: + pad_left = pad_right = padding[0] + pad_top = pad_bottom = padding[1] + if isinstance(padding, tuple) and len(padding) == 4: + pad_left = padding[0] + pad_top = padding[1] + pad_right = padding[2] + pad_bottom = padding[3] + + p = [pad_left, pad_top, pad_right, pad_bottom] + cropping = -np.minimum(p, 0) + + if cropping.any(): + crop_left, crop_top, crop_right, crop_bottom = cropping + img = img.crop((crop_left, crop_top, img.width - crop_right, img.height - crop_bottom)) + + pad_left, pad_top, pad_right, pad_bottom = np.maximum(p, 0) + + if img.mode == 'P': + palette = img.getpalette() + img = np.asarray(img) + img = np.pad(img, ((pad_top, pad_bottom), (pad_left, pad_right)), padding_mode) + img = Image.fromarray(img) + img.putpalette(palette) + return img + + img = np.asarray(img) + # RGB image + if len(img.shape) == 3: + img = np.pad(img, ((pad_top, pad_bottom), (pad_left, pad_right), (0, 0)), padding_mode) + # Grayscale image + if len(img.shape) == 2: + img = np.pad(img, ((pad_top, pad_bottom), (pad_left, pad_right)), padding_mode) + + return Image.fromarray(img) + + +@torch.jit.unused +def crop(img: Image.Image, top: int, left: int, height: int, width: int) -> Image.Image: + if not _is_pil_image(img): + raise TypeError('img should be PIL Image. Got {}'.format(type(img))) + + return img.crop((left, top, left + width, top + height)) + + +@torch.jit.unused +def resize(img, size, interpolation=Image.BILINEAR): + if not _is_pil_image(img): + raise TypeError('img should be PIL Image. Got {}'.format(type(img))) + if not (isinstance(size, int) or (isinstance(size, Sequence) and len(size) in (1, 2))): + raise TypeError('Got inappropriate size arg: {}'.format(size)) + + if isinstance(size, int) or len(size) == 1: + if isinstance(size, Sequence): + size = size[0] + w, h = img.size + if (w <= h and w == size) or (h <= w and h == size): + return img + if w < h: + ow = size + oh = int(size * h / w) + return img.resize((ow, oh), interpolation) + else: + oh = size + ow = int(size * w / h) + return img.resize((ow, oh), interpolation) + else: + return img.resize(size[::-1], interpolation) + + +@torch.jit.unused +def _parse_fill(fill, img, min_pil_version, name="fillcolor"): + # Process fill color for affine transforms + major_found, minor_found = (int(v) for v in PILLOW_VERSION.split('.')[:2]) + major_required, minor_required = (int(v) for v in min_pil_version.split('.')[:2]) + if major_found < major_required or (major_found == major_required and minor_found < minor_required): + if fill is None: + return {} + else: + msg = ("The option to fill background area of the transformed image, " + "requires pillow>={}") + raise RuntimeError(msg.format(min_pil_version)) + + num_bands = len(img.getbands()) + if fill is None: + fill = 0 + if isinstance(fill, (int, float)) and num_bands > 1: + fill = tuple([fill] * num_bands) + if isinstance(fill, (list, tuple)): + if len(fill) != num_bands: + msg = ("The number of elements in 'fill' does not match the number of " + "bands of the image ({} != {})") + raise ValueError(msg.format(len(fill), num_bands)) + + fill = tuple(fill) + + return {name: fill} + + +@torch.jit.unused +def affine(img, matrix, interpolation=0, fill=None): + if not _is_pil_image(img): + raise TypeError('img should be PIL Image. Got {}'.format(type(img))) + + output_size = img.size + opts = _parse_fill(fill, img, '5.0.0') + return img.transform(output_size, Image.AFFINE, matrix, interpolation, **opts) + + +@torch.jit.unused +def rotate(img, angle, interpolation=0, expand=False, center=None, fill=None): + if not _is_pil_image(img): + raise TypeError("img should be PIL Image. Got {}".format(type(img))) + + opts = _parse_fill(fill, img, '5.2.0') + return img.rotate(angle, interpolation, expand, center, **opts) + + +@torch.jit.unused +def perspective(img, perspective_coeffs, interpolation=Image.BICUBIC, fill=None): + if not _is_pil_image(img): + raise TypeError('img should be PIL Image. Got {}'.format(type(img))) + + opts = _parse_fill(fill, img, '5.0.0') + + return img.transform(img.size, Image.PERSPECTIVE, perspective_coeffs, interpolation, **opts) + + +@torch.jit.unused +def to_grayscale(img, num_output_channels): + if not _is_pil_image(img): + raise TypeError('img should be PIL Image. Got {}'.format(type(img))) + + if num_output_channels == 1: + img = img.convert('L') + elif num_output_channels == 3: + img = img.convert('L') + np_img = np.array(img, dtype=np.uint8) + np_img = np.dstack([np_img, np_img, np_img]) + img = Image.fromarray(np_img, 'RGB') + else: + raise ValueError('num_output_channels should be either 1 or 3') + + return img + + +@torch.jit.unused +def invert(img): + if not _is_pil_image(img): + raise TypeError('img should be PIL Image. Got {}'.format(type(img))) + return ImageOps.invert(img) + + +@torch.jit.unused +def posterize(img, bits): + if not _is_pil_image(img): + raise TypeError('img should be PIL Image. Got {}'.format(type(img))) + return ImageOps.posterize(img, bits) + + +@torch.jit.unused +def solarize(img, threshold): + if not _is_pil_image(img): + raise TypeError('img should be PIL Image. Got {}'.format(type(img))) + return ImageOps.solarize(img, threshold) + + +@torch.jit.unused +def adjust_sharpness(img, sharpness_factor): + if not _is_pil_image(img): + raise TypeError('img should be PIL Image. Got {}'.format(type(img))) + + enhancer = ImageEnhance.Sharpness(img) + img = enhancer.enhance(sharpness_factor) + return img + + +@torch.jit.unused +def autocontrast(img): + if not _is_pil_image(img): + raise TypeError('img should be PIL Image. Got {}'.format(type(img))) + return ImageOps.autocontrast(img) + + +@torch.jit.unused +def equalize(img): + if not _is_pil_image(img): + raise TypeError('img should be PIL Image. Got {}'.format(type(img))) + return ImageOps.equalize(img) diff --git a/cv/detection/yolov3/tensorflow/dataloader/utils/functional_tensor.py b/cv/detection/yolov3/tensorflow/dataloader/utils/functional_tensor.py new file mode 100644 index 0000000000000000000000000000000000000000..69445e6a231fe08231e284041bf561b3ffa1b706 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/dataloader/utils/functional_tensor.py @@ -0,0 +1,920 @@ +import warnings + +import torch +from torch import Tensor +from torch.nn.functional import grid_sample, conv2d, interpolate, pad as torch_pad +from torch.jit.annotations import BroadcastingList2 +from typing import Optional, Tuple, List + + +def _is_tensor_a_torch_image(x: Tensor) -> bool: + return x.ndim >= 2 + + +def _assert_image_tensor(img): + if not _is_tensor_a_torch_image(img): + raise TypeError("Tensor is not a torch image.") + + +def _get_image_size(img: Tensor) -> List[int]: + # Returns (w, h) of tensor image + _assert_image_tensor(img) + return [img.shape[-1], img.shape[-2]] + + +def _get_image_num_channels(img: Tensor) -> int: + if img.ndim == 2: + return 1 + elif img.ndim > 2: + return img.shape[-3] + + raise TypeError("Input ndim should be 2 or more. Got {}".format(img.ndim)) + + +def _max_value(dtype: torch.dtype) -> float: + # TODO: replace this method with torch.iinfo when it gets torchscript support. + # https://github.com/pytorch/pytorch/issues/41492 + + a = torch.tensor(2, dtype=dtype) + signed = 1 if torch.tensor(0, dtype=dtype).is_signed() else 0 + bits = 1 + max_value = torch.tensor(-signed, dtype=torch.long) + while True: + next_value = a.pow(bits - signed).sub(1) + if next_value > max_value: + max_value = next_value + bits *= 2 + else: + break + return max_value.item() + + +def _assert_channels(img: Tensor, permitted: List[int]) -> None: + c = _get_image_num_channels(img) + if c not in permitted: + raise TypeError("Input image tensor permitted channel values are {}, but found {}".format(permitted, c)) + + +def convert_image_dtype(image: torch.Tensor, dtype: torch.dtype = torch.float) -> torch.Tensor: + if image.dtype == dtype: + return image + + if image.is_floating_point(): + + # TODO: replace with dtype.is_floating_point when torchscript supports it + if torch.tensor(0, dtype=dtype).is_floating_point(): + return image.to(dtype) + + # float to int + if (image.dtype == torch.float32 and dtype in (torch.int32, torch.int64)) or ( + image.dtype == torch.float64 and dtype == torch.int64 + ): + msg = f"The cast from {image.dtype} to {dtype} cannot be performed safely." + raise RuntimeError(msg) + + # https://github.com/pytorch/vision/pull/2078#issuecomment-612045321 + # For data in the range 0-1, (float * 255).to(uint) is only 255 + # when float is exactly 1.0. + # `max + 1 - epsilon` provides more evenly distributed mapping of + # ranges of floats to ints. + eps = 1e-3 + max_val = _max_value(dtype) + result = image.mul(max_val + 1.0 - eps) + return result.to(dtype) + else: + input_max = _max_value(image.dtype) + + # int to float + # TODO: replace with dtype.is_floating_point when torchscript supports it + if torch.tensor(0, dtype=dtype).is_floating_point(): + image = image.to(dtype) + return image / input_max + + output_max = _max_value(dtype) + + # int to int + if input_max > output_max: + # factor should be forced to int for torch jit script + # otherwise factor is a float and image // factor can produce different results + factor = int((input_max + 1) // (output_max + 1)) + image = image // factor + return image.to(dtype) + else: + # factor should be forced to int for torch jit script + # otherwise factor is a float and image * factor can produce different results + factor = int((output_max + 1) // (input_max + 1)) + image = image.to(dtype) + return image * factor + + +def vflip(img: Tensor) -> Tensor: + _assert_image_tensor(img) + + return img.flip(-2) + + +def hflip(img: Tensor) -> Tensor: + _assert_image_tensor(img) + + return img.flip(-1) + + +def crop(img: Tensor, top: int, left: int, height: int, width: int) -> Tensor: + _assert_image_tensor(img) + + return img[..., top:top + height, left:left + width] + + +def rgb_to_grayscale(img: Tensor, num_output_channels: int = 1) -> Tensor: + if img.ndim < 3: + raise TypeError("Input image tensor should have at least 3 dimensions, but found {}".format(img.ndim)) + _assert_channels(img, [3]) + + if num_output_channels not in (1, 3): + raise ValueError('num_output_channels should be either 1 or 3') + + r, g, b = img.unbind(dim=-3) + # This implementation closely follows the TF one: + # https://github.com/tensorflow/tensorflow/blob/v2.3.0/tensorflow/python/ops/image_ops_impl.py#L2105-L2138 + l_img = (0.2989 * r + 0.587 * g + 0.114 * b).to(img.dtype) + l_img = l_img.unsqueeze(dim=-3) + + if num_output_channels == 3: + return l_img.expand(img.shape) + + return l_img + + +def adjust_brightness(img: Tensor, brightness_factor: float) -> Tensor: + if brightness_factor < 0: + raise ValueError('brightness_factor ({}) is not non-negative.'.format(brightness_factor)) + + _assert_image_tensor(img) + + _assert_channels(img, [1, 3]) + + return _blend(img, torch.zeros_like(img), brightness_factor) + + +def adjust_contrast(img: Tensor, contrast_factor: float) -> Tensor: + if contrast_factor < 0: + raise ValueError('contrast_factor ({}) is not non-negative.'.format(contrast_factor)) + + _assert_image_tensor(img) + + _assert_channels(img, [3]) + + dtype = img.dtype if torch.is_floating_point(img) else torch.float32 + mean = torch.mean(rgb_to_grayscale(img).to(dtype), dim=(-3, -2, -1), keepdim=True) + + return _blend(img, mean, contrast_factor) + + +def adjust_hue(img: Tensor, hue_factor: float) -> Tensor: + if not (-0.5 <= hue_factor <= 0.5): + raise ValueError('hue_factor ({}) is not in [-0.5, 0.5].'.format(hue_factor)) + + if not (isinstance(img, torch.Tensor)): + raise TypeError('Input img should be Tensor image') + + _assert_image_tensor(img) + + _assert_channels(img, [1, 3]) + if _get_image_num_channels(img) == 1: # Match PIL behaviour + return img + + orig_dtype = img.dtype + if img.dtype == torch.uint8: + img = img.to(dtype=torch.float32) / 255.0 + + img = _rgb2hsv(img) + h, s, v = img.unbind(dim=-3) + h = (h + hue_factor) % 1.0 + img = torch.stack((h, s, v), dim=-3) + img_hue_adj = _hsv2rgb(img) + + if orig_dtype == torch.uint8: + img_hue_adj = (img_hue_adj * 255.0).to(dtype=orig_dtype) + + return img_hue_adj + + +def adjust_saturation(img: Tensor, saturation_factor: float) -> Tensor: + if saturation_factor < 0: + raise ValueError('saturation_factor ({}) is not non-negative.'.format(saturation_factor)) + + _assert_image_tensor(img) + + _assert_channels(img, [3]) + + return _blend(img, rgb_to_grayscale(img), saturation_factor) + + +def adjust_gamma(img: Tensor, gamma: float, gain: float = 1) -> Tensor: + if not isinstance(img, torch.Tensor): + raise TypeError('Input img should be a Tensor.') + + _assert_channels(img, [1, 3]) + + if gamma < 0: + raise ValueError('Gamma should be a non-negative real number') + + result = img + dtype = img.dtype + if not torch.is_floating_point(img): + result = convert_image_dtype(result, torch.float32) + + result = (gain * result ** gamma).clamp(0, 1) + + result = convert_image_dtype(result, dtype) + result = result.to(dtype) + return result + + +def center_crop(img: Tensor, output_size: BroadcastingList2[int]) -> Tensor: + """DEPRECATED + """ + warnings.warn( + "This method is deprecated and will be removed in future releases. " + "Please, use ``F.center_crop`` instead." + ) + + _assert_image_tensor(img) + + _, image_width, image_height = img.size() + crop_height, crop_width = output_size + # crop_top = int(round((image_height - crop_height) / 2.)) + # Result can be different between python func and scripted func + # Temporary workaround: + crop_top = int((image_height - crop_height + 1) * 0.5) + # crop_left = int(round((image_width - crop_width) / 2.)) + # Result can be different between python func and scripted func + # Temporary workaround: + crop_left = int((image_width - crop_width + 1) * 0.5) + + return crop(img, crop_top, crop_left, crop_height, crop_width) + + +def five_crop(img: Tensor, size: BroadcastingList2[int]) -> List[Tensor]: + """DEPRECATED + """ + warnings.warn( + "This method is deprecated and will be removed in future releases. " + "Please, use ``F.five_crop`` instead." + ) + + _assert_image_tensor(img) + + assert len(size) == 2, "Please provide only two dimensions (h, w) for size." + + _, image_width, image_height = img.size() + crop_height, crop_width = size + if crop_width > image_width or crop_height > image_height: + msg = "Requested crop size {} is bigger than input size {}" + raise ValueError(msg.format(size, (image_height, image_width))) + + tl = crop(img, 0, 0, crop_width, crop_height) + tr = crop(img, image_width - crop_width, 0, image_width, crop_height) + bl = crop(img, 0, image_height - crop_height, crop_width, image_height) + br = crop(img, image_width - crop_width, image_height - crop_height, image_width, image_height) + center = center_crop(img, (crop_height, crop_width)) + + return [tl, tr, bl, br, center] + + +def ten_crop(img: Tensor, size: BroadcastingList2[int], vertical_flip: bool = False) -> List[Tensor]: + """DEPRECATED + """ + warnings.warn( + "This method is deprecated and will be removed in future releases. " + "Please, use ``F.ten_crop`` instead." + ) + + _assert_image_tensor(img) + + assert len(size) == 2, "Please provide only two dimensions (h, w) for size." + first_five = five_crop(img, size) + + if vertical_flip: + img = vflip(img) + else: + img = hflip(img) + + second_five = five_crop(img, size) + + return first_five + second_five + + +def _blend(img1: Tensor, img2: Tensor, ratio: float) -> Tensor: + ratio = float(ratio) + bound = 1.0 if img1.is_floating_point() else 255.0 + return (ratio * img1 + (1.0 - ratio) * img2).clamp(0, bound).to(img1.dtype) + + +def _rgb2hsv(img): + r, g, b = img.unbind(dim=-3) + + # Implementation is based on https://github.com/python-pillow/Pillow/blob/4174d4267616897df3746d315d5a2d0f82c656ee/ + # src/libImaging/Convert.c#L330 + maxc = torch.max(img, dim=-3).values + minc = torch.min(img, dim=-3).values + + # The algorithm erases S and H channel where `maxc = minc`. This avoids NaN + # from happening in the results, because + # + S channel has division by `maxc`, which is zero only if `maxc = minc` + # + H channel has division by `(maxc - minc)`. + # + # Instead of overwriting NaN afterwards, we just prevent it from occuring so + # we don't need to deal with it in case we save the NaN in a buffer in + # backprop, if it is ever supported, but it doesn't hurt to do so. + eqc = maxc == minc + + cr = maxc - minc + # Since `eqc => cr = 0`, replacing denominator with 1 when `eqc` is fine. + ones = torch.ones_like(maxc) + s = cr / torch.where(eqc, ones, maxc) + # Note that `eqc => maxc = minc = r = g = b`. So the following calculation + # of `h` would reduce to `bc - gc + 2 + rc - bc + 4 + rc - bc = 6` so it + # would not matter what values `rc`, `gc`, and `bc` have here, and thus + # replacing denominator with 1 when `eqc` is fine. + cr_divisor = torch.where(eqc, ones, cr) + rc = (maxc - r) / cr_divisor + gc = (maxc - g) / cr_divisor + bc = (maxc - b) / cr_divisor + + hr = (maxc == r) * (bc - gc) + hg = ((maxc == g) & (maxc != r)) * (2.0 + rc - bc) + hb = ((maxc != g) & (maxc != r)) * (4.0 + gc - rc) + h = (hr + hg + hb) + h = torch.fmod((h / 6.0 + 1.0), 1.0) + return torch.stack((h, s, maxc), dim=-3) + + +def _hsv2rgb(img): + h, s, v = img.unbind(dim=-3) + i = torch.floor(h * 6.0) + f = (h * 6.0) - i + i = i.to(dtype=torch.int32) + + p = torch.clamp((v * (1.0 - s)), 0.0, 1.0) + q = torch.clamp((v * (1.0 - s * f)), 0.0, 1.0) + t = torch.clamp((v * (1.0 - s * (1.0 - f))), 0.0, 1.0) + i = i % 6 + + mask = i.unsqueeze(dim=-3) == torch.arange(6, device=i.device).view(-1, 1, 1) + + a1 = torch.stack((v, q, p, p, t, v), dim=-3) + a2 = torch.stack((t, v, v, q, p, p), dim=-3) + a3 = torch.stack((p, p, t, v, v, q), dim=-3) + a4 = torch.stack((a1, a2, a3), dim=-4) + + return torch.einsum("...ijk, ...xijk -> ...xjk", mask.to(dtype=img.dtype), a4) + + +def _pad_symmetric(img: Tensor, padding: List[int]) -> Tensor: + # padding is left, right, top, bottom + + # crop if needed + if padding[0] < 0 or padding[1] < 0 or padding[2] < 0 or padding[3] < 0: + crop_left, crop_right, crop_top, crop_bottom = [-min(x, 0) for x in padding] + img = img[..., crop_top:img.shape[-2] - crop_bottom, crop_left:img.shape[-1] - crop_right] + padding = [max(x, 0) for x in padding] + + in_sizes = img.size() + + x_indices = [i for i in range(in_sizes[-1])] # [0, 1, 2, 3, ...] + left_indices = [i for i in range(padding[0] - 1, -1, -1)] # e.g. [3, 2, 1, 0] + right_indices = [-(i + 1) for i in range(padding[1])] # e.g. [-1, -2, -3] + x_indices = torch.tensor(left_indices + x_indices + right_indices) + + y_indices = [i for i in range(in_sizes[-2])] + top_indices = [i for i in range(padding[2] - 1, -1, -1)] + bottom_indices = [-(i + 1) for i in range(padding[3])] + y_indices = torch.tensor(top_indices + y_indices + bottom_indices) + + ndim = img.ndim + if ndim == 3: + return img[:, y_indices[:, None], x_indices[None, :]] + elif ndim == 4: + return img[:, :, y_indices[:, None], x_indices[None, :]] + else: + raise RuntimeError("Symmetric padding of N-D tensors are not supported yet") + + +def pad(img: Tensor, padding: List[int], fill: int = 0, padding_mode: str = "constant") -> Tensor: + _assert_image_tensor(img) + + if not isinstance(padding, (int, tuple, list)): + raise TypeError("Got inappropriate padding arg") + if not isinstance(fill, (int, float)): + raise TypeError("Got inappropriate fill arg") + if not isinstance(padding_mode, str): + raise TypeError("Got inappropriate padding_mode arg") + + if isinstance(padding, tuple): + padding = list(padding) + + if isinstance(padding, list) and len(padding) not in [1, 2, 4]: + raise ValueError("Padding must be an int or a 1, 2, or 4 element tuple, not a " + + "{} element tuple".format(len(padding))) + + if padding_mode not in ["constant", "edge", "reflect", "symmetric"]: + raise ValueError("Padding mode should be either constant, edge, reflect or symmetric") + + if isinstance(padding, int): + if torch.jit.is_scripting(): + # This maybe unreachable + raise ValueError("padding can't be an int while torchscripting, set it as a list [value, ]") + pad_left = pad_right = pad_top = pad_bottom = padding + elif len(padding) == 1: + pad_left = pad_right = pad_top = pad_bottom = padding[0] + elif len(padding) == 2: + pad_left = pad_right = padding[0] + pad_top = pad_bottom = padding[1] + else: + pad_left = padding[0] + pad_top = padding[1] + pad_right = padding[2] + pad_bottom = padding[3] + + p = [pad_left, pad_right, pad_top, pad_bottom] + + if padding_mode == "edge": + # remap padding_mode str + padding_mode = "replicate" + elif padding_mode == "symmetric": + # route to another implementation + return _pad_symmetric(img, p) + + need_squeeze = False + if img.ndim < 4: + img = img.unsqueeze(dim=0) + need_squeeze = True + + out_dtype = img.dtype + need_cast = False + if (padding_mode != "constant") and img.dtype not in (torch.float32, torch.float64): + # Here we temporary cast input tensor to float + # until pytorch issue is resolved : + # https://github.com/pytorch/pytorch/issues/40763 + need_cast = True + img = img.to(torch.float32) + + img = torch_pad(img, p, mode=padding_mode, value=float(fill)) + + if need_squeeze: + img = img.squeeze(dim=0) + + if need_cast: + img = img.to(out_dtype) + + return img + + +def resize(img: Tensor, size: List[int], interpolation: str = "bilinear") -> Tensor: + _assert_image_tensor(img) + + if not isinstance(size, (int, tuple, list)): + raise TypeError("Got inappropriate size arg") + if not isinstance(interpolation, str): + raise TypeError("Got inappropriate interpolation arg") + + if interpolation not in ["nearest", "bilinear", "bicubic"]: + raise ValueError("This interpolation mode is unsupported with Tensor input") + + if isinstance(size, tuple): + size = list(size) + + if isinstance(size, list) and len(size) not in [1, 2]: + raise ValueError("Size must be an int or a 1 or 2 element tuple/list, not a " + "{} element tuple/list".format(len(size))) + + w, h = _get_image_size(img) + + if isinstance(size, int): + size_w, size_h = size, size + elif len(size) < 2: + size_w, size_h = size[0], size[0] + else: + size_w, size_h = size[1], size[0] # Convention (h, w) + + if isinstance(size, int) or len(size) < 2: + if w < h: + size_h = int(size_w * h / w) + else: + size_w = int(size_h * w / h) + + if (w <= h and w == size_w) or (h <= w and h == size_h): + return img + + img, need_cast, need_squeeze, out_dtype = _cast_squeeze_in(img, [torch.float32, torch.float64]) + + # Define align_corners to avoid warnings + align_corners = False if interpolation in ["bilinear", "bicubic"] else None + + img = interpolate(img, size=[size_h, size_w], mode=interpolation, align_corners=align_corners) + + if interpolation == "bicubic" and out_dtype == torch.uint8: + img = img.clamp(min=0, max=255) + + img = _cast_squeeze_out(img, need_cast=need_cast, need_squeeze=need_squeeze, out_dtype=out_dtype) + + return img + + +def _assert_grid_transform_inputs( + img: Tensor, + matrix: Optional[List[float]], + interpolation: str, + fill: Optional[List[float]], + supported_interpolation_modes: List[str], + coeffs: Optional[List[float]] = None, +): + + if not (isinstance(img, torch.Tensor)): + raise TypeError("Input img should be Tensor") + + _assert_image_tensor(img) + + if matrix is not None and not isinstance(matrix, list): + raise TypeError("Argument matrix should be a list") + + if matrix is not None and len(matrix) != 6: + raise ValueError("Argument matrix should have 6 float values") + + if coeffs is not None and len(coeffs) != 8: + raise ValueError("Argument coeffs should have 8 float values") + + if fill is not None and not isinstance(fill, (int, float, tuple, list)): + warnings.warn("Argument fill should be either int, float, tuple or list") + + # Check fill + num_channels = _get_image_num_channels(img) + if isinstance(fill, (tuple, list)) and (len(fill) > 1 and len(fill) != num_channels): + msg = ("The number of elements in 'fill' cannot broadcast to match the number of " + "channels of the image ({} != {})") + raise ValueError(msg.format(len(fill), num_channels)) + + if interpolation not in supported_interpolation_modes: + raise ValueError("Interpolation mode '{}' is unsupported with Tensor input".format(interpolation)) + + +def _cast_squeeze_in(img: Tensor, req_dtypes: List[torch.dtype]) -> Tuple[Tensor, bool, bool, torch.dtype]: + need_squeeze = False + # make image NCHW + if img.ndim < 4: + img = img.unsqueeze(dim=0) + need_squeeze = True + + out_dtype = img.dtype + need_cast = False + if out_dtype not in req_dtypes: + need_cast = True + req_dtype = req_dtypes[0] + img = img.to(req_dtype) + return img, need_cast, need_squeeze, out_dtype + + +def _cast_squeeze_out(img: Tensor, need_cast: bool, need_squeeze: bool, out_dtype: torch.dtype): + if need_squeeze: + img = img.squeeze(dim=0) + + if need_cast: + if out_dtype in (torch.uint8, torch.int8, torch.int16, torch.int32, torch.int64): + # it is better to round before cast + img = torch.round(img) + img = img.to(out_dtype) + + return img + + +def _apply_grid_transform(img: Tensor, grid: Tensor, mode: str, fill: Optional[List[float]]) -> Tensor: + + img, need_cast, need_squeeze, out_dtype = _cast_squeeze_in(img, [grid.dtype, ]) + + if img.shape[0] > 1: + # Apply same grid to a batch of images + grid = grid.expand(img.shape[0], grid.shape[1], grid.shape[2], grid.shape[3]) + + # Append a dummy mask for customized fill colors, should be faster than grid_sample() twice + if fill is not None: + dummy = torch.ones((img.shape[0], 1, img.shape[2], img.shape[3]), dtype=img.dtype, device=img.device) + img = torch.cat((img, dummy), dim=1) + + img = grid_sample(img, grid, mode=mode, padding_mode="zeros", align_corners=False) + + # Fill with required color + if fill is not None: + mask = img[:, -1:, :, :] # N * 1 * H * W + img = img[:, :-1, :, :] # N * C * H * W + mask = mask.expand_as(img) + len_fill = len(fill) if isinstance(fill, (tuple, list)) else 1 + fill_img = torch.tensor(fill, dtype=img.dtype, device=img.device).view(1, len_fill, 1, 1).expand_as(img) + if mode == 'nearest': + mask = mask < 0.5 + img[mask] = fill_img[mask] + else: # 'bilinear' + img = img * mask + (1.0 - mask) * fill_img + + img = _cast_squeeze_out(img, need_cast, need_squeeze, out_dtype) + return img + + +def _gen_affine_grid( + theta: Tensor, w: int, h: int, ow: int, oh: int, +) -> Tensor: + # https://github.com/pytorch/pytorch/blob/74b65c32be68b15dc7c9e8bb62459efbfbde33d8/aten/src/ATen/native/ + # AffineGridGenerator.cpp#L18 + # Difference with AffineGridGenerator is that: + # 1) we normalize grid values after applying theta + # 2) we can normalize by other image size, such that it covers "extend" option like in PIL.Image.rotate + + d = 0.5 + base_grid = torch.empty(1, oh, ow, 3, dtype=theta.dtype, device=theta.device) + x_grid = torch.linspace(-ow * 0.5 + d, ow * 0.5 + d - 1, steps=ow, device=theta.device) + base_grid[..., 0].copy_(x_grid) + y_grid = torch.linspace(-oh * 0.5 + d, oh * 0.5 + d - 1, steps=oh, device=theta.device).unsqueeze_(-1) + base_grid[..., 1].copy_(y_grid) + base_grid[..., 2].fill_(1) + + rescaled_theta = theta.transpose(1, 2) / torch.tensor([0.5 * w, 0.5 * h], dtype=theta.dtype, device=theta.device) + output_grid = base_grid.view(1, oh * ow, 3).bmm(rescaled_theta) + return output_grid.view(1, oh, ow, 2) + + +def affine( + img: Tensor, matrix: List[float], interpolation: str = "nearest", fill: Optional[List[float]] = None +) -> Tensor: + _assert_grid_transform_inputs(img, matrix, interpolation, fill, ["nearest", "bilinear"]) + + dtype = img.dtype if torch.is_floating_point(img) else torch.float32 + theta = torch.tensor(matrix, dtype=dtype, device=img.device).reshape(1, 2, 3) + shape = img.shape + # grid will be generated on the same device as theta and img + grid = _gen_affine_grid(theta, w=shape[-1], h=shape[-2], ow=shape[-1], oh=shape[-2]) + return _apply_grid_transform(img, grid, interpolation, fill=fill) + + +def _compute_output_size(matrix: List[float], w: int, h: int) -> Tuple[int, int]: + + # Inspired of PIL implementation: + # https://github.com/python-pillow/Pillow/blob/11de3318867e4398057373ee9f12dcb33db7335c/src/PIL/Image.py#L2054 + + # pts are Top-Left, Top-Right, Bottom-Left, Bottom-Right points. + pts = torch.tensor([ + [-0.5 * w, -0.5 * h, 1.0], + [-0.5 * w, 0.5 * h, 1.0], + [0.5 * w, 0.5 * h, 1.0], + [0.5 * w, -0.5 * h, 1.0], + ]) + theta = torch.tensor(matrix, dtype=torch.float).reshape(1, 2, 3) + new_pts = pts.view(1, 4, 3).bmm(theta.transpose(1, 2)).view(4, 2) + min_vals, _ = new_pts.min(dim=0) + max_vals, _ = new_pts.max(dim=0) + + # Truncate precision to 1e-4 to avoid ceil of Xe-15 to 1.0 + tol = 1e-4 + cmax = torch.ceil((max_vals / tol).trunc_() * tol) + cmin = torch.floor((min_vals / tol).trunc_() * tol) + size = cmax - cmin + return int(size[0]), int(size[1]) + + +def rotate( + img: Tensor, matrix: List[float], interpolation: str = "nearest", + expand: bool = False, fill: Optional[List[float]] = None +) -> Tensor: + _assert_grid_transform_inputs(img, matrix, interpolation, fill, ["nearest", "bilinear"]) + w, h = img.shape[-1], img.shape[-2] + ow, oh = _compute_output_size(matrix, w, h) if expand else (w, h) + dtype = img.dtype if torch.is_floating_point(img) else torch.float32 + theta = torch.tensor(matrix, dtype=dtype, device=img.device).reshape(1, 2, 3) + # grid will be generated on the same device as theta and img + grid = _gen_affine_grid(theta, w=w, h=h, ow=ow, oh=oh) + + return _apply_grid_transform(img, grid, interpolation, fill=fill) + + +def _perspective_grid(coeffs: List[float], ow: int, oh: int, dtype: torch.dtype, device: torch.device): + # https://github.com/python-pillow/Pillow/blob/4634eafe3c695a014267eefdce830b4a825beed7/ + # src/libImaging/Geometry.c#L394 + + # + # x_out = (coeffs[0] * x + coeffs[1] * y + coeffs[2]) / (coeffs[6] * x + coeffs[7] * y + 1) + # y_out = (coeffs[3] * x + coeffs[4] * y + coeffs[5]) / (coeffs[6] * x + coeffs[7] * y + 1) + # + theta1 = torch.tensor([[ + [coeffs[0], coeffs[1], coeffs[2]], + [coeffs[3], coeffs[4], coeffs[5]] + ]], dtype=dtype, device=device) + theta2 = torch.tensor([[ + [coeffs[6], coeffs[7], 1.0], + [coeffs[6], coeffs[7], 1.0] + ]], dtype=dtype, device=device) + + d = 0.5 + base_grid = torch.empty(1, oh, ow, 3, dtype=dtype, device=device) + x_grid = torch.linspace(d, ow * 1.0 + d - 1.0, steps=ow, device=device) + base_grid[..., 0].copy_(x_grid) + y_grid = torch.linspace(d, oh * 1.0 + d - 1.0, steps=oh, device=device).unsqueeze_(-1) + base_grid[..., 1].copy_(y_grid) + base_grid[..., 2].fill_(1) + + rescaled_theta1 = theta1.transpose(1, 2) / torch.tensor([0.5 * ow, 0.5 * oh], dtype=dtype, device=device) + output_grid1 = base_grid.view(1, oh * ow, 3).bmm(rescaled_theta1) + output_grid2 = base_grid.view(1, oh * ow, 3).bmm(theta2.transpose(1, 2)) + + output_grid = output_grid1 / output_grid2 - 1.0 + return output_grid.view(1, oh, ow, 2) + + +def perspective( + img: Tensor, perspective_coeffs: List[float], interpolation: str = "bilinear", fill: Optional[List[float]] = None +) -> Tensor: + if not (isinstance(img, torch.Tensor)): + raise TypeError('Input img should be Tensor.') + + _assert_image_tensor(img) + + _assert_grid_transform_inputs( + img, + matrix=None, + interpolation=interpolation, + fill=fill, + supported_interpolation_modes=["nearest", "bilinear"], + coeffs=perspective_coeffs + ) + + ow, oh = img.shape[-1], img.shape[-2] + dtype = img.dtype if torch.is_floating_point(img) else torch.float32 + grid = _perspective_grid(perspective_coeffs, ow=ow, oh=oh, dtype=dtype, device=img.device) + return _apply_grid_transform(img, grid, interpolation, fill=fill) + + +def _get_gaussian_kernel1d(kernel_size: int, sigma: float) -> Tensor: + ksize_half = (kernel_size - 1) * 0.5 + + x = torch.linspace(-ksize_half, ksize_half, steps=kernel_size) + pdf = torch.exp(-0.5 * (x / sigma).pow(2)) + kernel1d = pdf / pdf.sum() + + return kernel1d + + +def _get_gaussian_kernel2d( + kernel_size: List[int], sigma: List[float], dtype: torch.dtype, device: torch.device +) -> Tensor: + kernel1d_x = _get_gaussian_kernel1d(kernel_size[0], sigma[0]).to(device, dtype=dtype) + kernel1d_y = _get_gaussian_kernel1d(kernel_size[1], sigma[1]).to(device, dtype=dtype) + kernel2d = torch.mm(kernel1d_y[:, None], kernel1d_x[None, :]) + return kernel2d + + +def gaussian_blur(img: Tensor, kernel_size: List[int], sigma: List[float]) -> Tensor: + if not (isinstance(img, torch.Tensor)): + raise TypeError('img should be Tensor. Got {}'.format(type(img))) + + _assert_image_tensor(img) + + dtype = img.dtype if torch.is_floating_point(img) else torch.float32 + kernel = _get_gaussian_kernel2d(kernel_size, sigma, dtype=dtype, device=img.device) + kernel = kernel.expand(img.shape[-3], 1, kernel.shape[0], kernel.shape[1]) + + img, need_cast, need_squeeze, out_dtype = _cast_squeeze_in(img, [kernel.dtype, ]) + + # padding = (left, right, top, bottom) + padding = [kernel_size[0] // 2, kernel_size[0] // 2, kernel_size[1] // 2, kernel_size[1] // 2] + img = torch_pad(img, padding, mode="reflect") + img = conv2d(img, kernel, groups=img.shape[-3]) + + img = _cast_squeeze_out(img, need_cast, need_squeeze, out_dtype) + return img + + +def invert(img: Tensor) -> Tensor: + + _assert_image_tensor(img) + + if img.ndim < 3: + raise TypeError("Input image tensor should have at least 3 dimensions, but found {}".format(img.ndim)) + + _assert_channels(img, [1, 3]) + + bound = torch.tensor(1 if img.is_floating_point() else 255, dtype=img.dtype, device=img.device) + return bound - img + + +def posterize(img: Tensor, bits: int) -> Tensor: + + _assert_image_tensor(img) + + if img.ndim < 3: + raise TypeError("Input image tensor should have at least 3 dimensions, but found {}".format(img.ndim)) + if img.dtype != torch.uint8: + raise TypeError("Only torch.uint8 image tensors are supported, but found {}".format(img.dtype)) + + _assert_channels(img, [1, 3]) + mask = -int(2**(8 - bits)) # JIT-friendly for: ~(2 ** (8 - bits) - 1) + return img & mask + + +def solarize(img: Tensor, threshold: float) -> Tensor: + + _assert_image_tensor(img) + + if img.ndim < 3: + raise TypeError("Input image tensor should have at least 3 dimensions, but found {}".format(img.ndim)) + + _assert_channels(img, [1, 3]) + + inverted_img = invert(img) + return torch.where(img >= threshold, inverted_img, img) + + +def _blurred_degenerate_image(img: Tensor) -> Tensor: + dtype = img.dtype if torch.is_floating_point(img) else torch.float32 + + kernel = torch.ones((3, 3), dtype=dtype, device=img.device) + kernel[1, 1] = 5.0 + kernel /= kernel.sum() + kernel = kernel.expand(img.shape[-3], 1, kernel.shape[0], kernel.shape[1]) + + result_tmp, need_cast, need_squeeze, out_dtype = _cast_squeeze_in(img, [kernel.dtype, ]) + result_tmp = conv2d(result_tmp, kernel, groups=result_tmp.shape[-3]) + result_tmp = _cast_squeeze_out(result_tmp, need_cast, need_squeeze, out_dtype) + + result = img.clone() + result[..., 1:-1, 1:-1] = result_tmp + + return result + + +def adjust_sharpness(img: Tensor, sharpness_factor: float) -> Tensor: + if sharpness_factor < 0: + raise ValueError('sharpness_factor ({}) is not non-negative.'.format(sharpness_factor)) + + _assert_image_tensor(img) + + _assert_channels(img, [1, 3]) + + if img.size(-1) <= 2 or img.size(-2) <= 2: + return img + + return _blend(img, _blurred_degenerate_image(img), sharpness_factor) + + +def autocontrast(img: Tensor) -> Tensor: + + _assert_image_tensor(img) + + if img.ndim < 3: + raise TypeError("Input image tensor should have at least 3 dimensions, but found {}".format(img.ndim)) + + _assert_channels(img, [1, 3]) + + bound = 1.0 if img.is_floating_point() else 255.0 + dtype = img.dtype if torch.is_floating_point(img) else torch.float32 + + minimum = img.amin(dim=(-2, -1), keepdim=True).to(dtype) + maximum = img.amax(dim=(-2, -1), keepdim=True).to(dtype) + eq_idxs = torch.where(minimum == maximum)[0] + minimum[eq_idxs] = 0 + maximum[eq_idxs] = bound + scale = bound / (maximum - minimum) + + return ((img - minimum) * scale).clamp(0, bound).to(img.dtype) + + +def _scale_channel(img_chan): + hist = torch.histc(img_chan.to(torch.float32), bins=256, min=0, max=255) + + nonzero_hist = hist[hist != 0] + step = nonzero_hist[:-1].sum() // 255 + if step == 0: + return img_chan + + lut = (torch.cumsum(hist, 0) + (step // 2)) // step + lut = torch.nn.functional.pad(lut, [1, 0])[:-1].clamp(0, 255) + + return lut[img_chan.to(torch.int64)].to(torch.uint8) + + +def _equalize_single_image(img: Tensor) -> Tensor: + return torch.stack([_scale_channel(img[c]) for c in range(img.size(0))]) + + +def equalize(img: Tensor) -> Tensor: + + _assert_image_tensor(img) + + if not (3 <= img.ndim <= 4): + raise TypeError("Input image tensor should have 3 or 4 dimensions, but found {}".format(img.ndim)) + if img.dtype != torch.uint8: + raise TypeError("Only torch.uint8 image tensors are supported, but found {}".format(img.dtype)) + + _assert_channels(img, [1, 3]) + + if img.ndim == 3: + return _equalize_single_image(img) + + return torch.stack([_equalize_single_image(x) for x in img]) diff --git a/cv/detection/yolov3/tensorflow/dataloader/utils/misc.py b/cv/detection/yolov3/tensorflow/dataloader/utils/misc.py new file mode 100644 index 0000000000000000000000000000000000000000..a16b92d0e86dd0ee4c20be3e1d6825aded38dd74 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/dataloader/utils/misc.py @@ -0,0 +1,33 @@ +import os +import sys +import errno +from typing import Any +from PIL import Image + +import torch + + +def mkdir(path): + try: + os.makedirs(path) + except OSError as e: + if e.errno != errno.EEXIST: + raise + +def _is_pil_image(img: Any) -> bool: + try: + import accimage + except ImportError: + accimage = None + if accimage is not None: + return isinstance(img, (Image.Image, accimage.Image)) + else: + return isinstance(img, Image.Image) + +def get_image_size(img): + if isinstance(img, torch.Tensor): + return [img.shape[-1], img.shape[-2]] + + if _is_pil_image(img): + return img.size + raise TypeError("Unexpected type {}".format(type(img))) \ No newline at end of file diff --git a/cv/detection/yolov3/tensorflow/dataloader/utils/pascal_voc.py b/cv/detection/yolov3/tensorflow/dataloader/utils/pascal_voc.py new file mode 100644 index 0000000000000000000000000000000000000000..d6094254145ae7f5c7dab80b494f39d71a6de9ed --- /dev/null +++ b/cv/detection/yolov3/tensorflow/dataloader/utils/pascal_voc.py @@ -0,0 +1,311 @@ +# Copyright (c) 2022 Iluvatar CoreX. All rights reserved. +# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + + +from collections import OrderedDict +import cv2 +# from functools import lru_cache +import os +import numpy as np +import xml.etree.ElementTree as ET +from PIL import Image + + + +from abc import ABCMeta, abstractmethod + +try: + import torch + from torch.utils.data import Dataset +except: + torch = None + Dataset = object + +# 继承 BaseDataset 的 class 需要实现 get_data, 并填充 image_ids 字段 +class BaseDataset(Dataset, metaclass=ABCMeta): + def __init__(self, transform, **kwargs): + super(BaseDataset, self).__init__() + self.pipeline = transform + self.image_ids = [] + + def __len__(self): + return len(self.image_ids) + + def __getitem__(self, idx): + image, target = self.get_data(idx) + if self.pipeline is not None: + image, target = self.pipeline(image, target) + return image, target + + @abstractmethod + def get_data(self, idx): + pass + + +class PascalVOC(BaseDataset): + ALL_CLASSES = ('__background__', + 'aeroplane', 'bicycle', 'bird', 'boat', + 'bottle', 'bus', 'car', 'cat', 'chair', + 'cow', 'diningtable', 'dog', 'horse', + 'motorbike', 'person', 'pottedplant', + 'sheep', 'sofa', 'train', 'tvmonitor') + + COLORS = ([0, 0, 0], + [128, 0, 0], [0, 128, 0], [128, 128, 0], + [0, 0, 128], [128, 0, 128], [0, 128, 128], + [128, 128, 128], [64, 0, 0], [192, 0, 0], + [64, 128, 0], [192, 128, 0], [64, 0, 128], + [192, 0, 128], [64, 128, 128], [192, 128, 128], + [0, 64, 0], [128, 64, 0], [0, 192, 0], + [128, 192, 0], [0, 64, 128]) + + CLASS_COLOR = OrderedDict(zip(ALL_CLASSES, COLORS)) + + def __init__(self, + data_dir, + split, + image_sets_dir='Main', + classes=None, + keep_difficult=False, + to_torch_tensor=True, + **kwargs): + """Dataset for VOC data. + + Parameters + ---------- + data_dir : str + the root of the VOC2007 or VOC2012 dataset, the directory contains the + following sub-directories: + Annotations, ImageSets, JPEGImages, SegmentationClass, SegmentationObject. + split : str + "train" or "val" + """ + super().__init__(**kwargs) + self.data_dir = data_dir + self.split = split + image_sets_file = os.path.join( + self.data_dir, 'ImageSets', image_sets_dir, '%s.txt' % self.split) + if classes is not None: + self.CLASSES = classes + if '__background__' not in classes: + self.CLASSES.insert(0, '__background__') + else: + self.CLASSES = self.ALL_CLASSES + + self.image_ids = PascalVOC.get_image_ids(image_sets_file) + self.keep_difficult = keep_difficult + self.class_dict = {class_name: i for i, class_name in enumerate(self.CLASSES)} + self.class_id_dict = {cls_id: name for name, cls_id in self.class_dict.items()} + self.to_torch_tensor = to_torch_tensor and torch is not None + + def get_data(self, idx): + image_id = self.image_ids[idx] + bboxes, labels, difficult = self._get_annotation(image_id) + # 忽略掉 difficult 的 object + if not self.keep_difficult: + bboxes = bboxes[difficult==0] + labels = labels[difficult==0] + image = self._read_image(image_id) + img_info = self.get_img_info(idx) + # 因为使用了 lru cache, 为了确保 cache 中的数据不被 pipeline 更改, + # 需要将原始数据的拷贝送入 pipeline + area = (bboxes[:, 2] - bboxes[:, 0]) * (bboxes[:, 3] - bboxes[:, 1]) + image_id = image_id.replace('-', '') + image_id = int(image_id) + + if self.to_torch_tensor: + target = dict(boxes=torch.from_numpy(bboxes), + labels=torch.from_numpy(labels), + image_id=torch.tensor(image_id), + area=torch.from_numpy(area), + iscrowd=torch.tensor([False] * len(bboxes))) + else: + target = dict(boxes=torch.from_numpy(bboxes.copy()), + labels=torch.from_numpy(labels.copy()), + image_id=image_id, + area=area.copy(), + iscrowd=[False] * len(bboxes)) + return image, target + + # 获取索引为 idx 的 sample 的标注信息 + def get_annotation(self, idx): + image_id = self.image_ids[idx] + bboxes, labels, difficult = self._get_annotation(image_id) + anno = dict(image_id=image_id, + bboxes=bboxes, + labels=labels, + difficult=difficult) + return anno + + # @lru_cache(maxsize=None) + def _get_annotation(self, image_id): + annotation_file = os.path.join(self.data_dir, "Annotations", "%s.xml" % image_id) + objects = ET.parse(annotation_file).findall("object") + boxes = [] + labels = [] + difficult = [] + for obj in objects: + class_name = obj.find('name').text.lower().strip() + if class_name not in self.CLASSES: + continue + bbox = obj.find('bndbox') + # VOC dataset format follows Matlab, in which indices start from 0 + x1 = float(bbox.find('xmin').text) - 1 + y1 = float(bbox.find('ymin').text) - 1 + x2 = float(bbox.find('xmax').text) - 1 + y2 = float(bbox.find('ymax').text) - 1 + boxes.append([x1, y1, x2, y2]) + labels.append(self.class_dict[class_name]) + difficult_str = obj.find('difficult').text + difficult.append(int(difficult_str) if difficult_str else 0) + + return (np.array(boxes, dtype=np.float32), + np.array(labels, dtype=np.int64), + np.array(difficult, dtype=np.uint8)) + + @staticmethod + def get_image_ids(image_sets_file): + ids = [] + with open(image_sets_file) as f: + for line in f: + ids.append(line.rstrip()) + return ids + + # @lru_cache(maxsize=None) + def get_img_info(self, idx): + image_id = self.image_ids[idx] + annotation_file = os.path.join(self.data_dir, "Annotations", "%s.xml" % image_id) + anno = ET.parse(annotation_file).getroot() + size = anno.find("size") + im_info = tuple(map(int, (size.find("height").text, size.find("width").text))) + image_path = os.path.join(self.data_dir, "JPEGImages", "%s.jpg" % image_id) + return dict(id=image_id, + file_path=image_path, + height=im_info[0], + width=im_info[1]) + + # @lru_cache(maxsize=None) + def _read_image(self, image_id): + image_file = os.path.join(self.data_dir, "JPEGImages", "%s.jpg" % image_id) + image = Image.open(image_file) + return image + + def get_class_name(self, class_id): + return self.class_id_dict[class_id] + + def get_class_color(self, class_id): + if not isinstance(class_id, str): + class_name = self.get_class_name(class_id) + else: + class_name = class_id + return self.CLASS_COLOR[class_name] + + + +class VOCInstanceSeg(PascalVOC): + IGNORE_IMAGE_IDS = ("2008_005953", "2008_007355") + def __init__(self, **kwargs): + super().__init__(image_sets_dir='Segmentation', **kwargs) + + if "ignore_image_id" in kwargs and (isinstance(kwargs["ignore_image_id"], list) or isinstance(kwargs["ignore_image_id"], tuple)): + self.ignore_ids = kwargs["ignore_image_id"] + else: + self.ignore_ids = self.IGNORE_IMAGE_IDS + + self.image_ids = [id for id in self.image_ids if id not in self.ignore_ids] + + def get_data(self, idx): + image_id = self.image_ids[idx] + bboxes, labels, masks, difficult = self._get_annotation(image_id) + # 忽略掉 difficult 的 object + if not self.keep_difficult: + bboxes = bboxes[difficult==0] + labels = labels[difficult==0] + masks = np.transpose(masks, axes=(2, 0, 1)) + masks = masks[difficult==0] + # masks = np.transpose(masks, axes=(1, 2, 0)) + image = self._read_image(image_id) + img_info = self.get_img_info(idx) + # 因为使用了 lru cache, 为了确保 cache 中的数据不被 pipeline 更改, + # 需要将原始数据的拷贝送入 pipeline + area = (bboxes[:, 2] - bboxes[:, 0]) * (bboxes[:, 3] - bboxes[:, 1]) + image_id = image_id.replace('-', '') + image_id = int(image_id) + if self.to_torch_tensor: + target = dict(boxes=torch.from_numpy(bboxes), + labels=torch.from_numpy(labels), + image_id=torch.tensor(image_id), + area=torch.from_numpy(area), + iscrowd=torch.tensor([False] * len(bboxes)), + masks=torch.from_numpy(masks)) + else: + target = dict(boxes=bboxes.copy(), + labels=labels.copy(), + image_id=image_id, + area=area.copy(), + iscrowd=[False] * len(bboxes), + masks=masks.copy()) + return image, target + + # @lru_cache(maxsize=None) + def _get_annotation(self, image_id): + annotation_file = os.path.join(self.data_dir, "Annotations", "%s.xml" % image_id) + objects = ET.parse(annotation_file).findall("object") + mask = self._read_mask(image_id) + boxes = [] + labels = [] + objmasks = [] + difficult = [] + for obj in objects: + class_name = obj.find('name').text.lower().strip() + if class_name not in self.CLASSES: + continue + bbox = obj.find('bndbox') + # VOC dataset format follows Matlab, in which indices start from 0 + x1 = float(bbox.find('xmin').text) - 1 + y1 = float(bbox.find('ymin').text) - 1 + x2 = float(bbox.find('xmax').text) - 1 + y2 = float(bbox.find('ymax').text) - 1 + boxes.append([x1, y1, x2, y2]) + labels.append(self.class_dict[class_name]) + difficult_str = obj.find('difficult').text + difficult.append(int(difficult_str) if difficult_str else 0) + + class_color = self.get_class_color(class_name) + objmask = self._get_objmask(mask, (x1, y1, x2, y2), class_color) + objmasks.append(objmask) + + if len(objmasks) == 1: + objmasks = np.expand_dims(objmasks[0], axis=-1) + else: + objmasks = np.stack(objmasks, axis=-1) + + # masks 的 shape 为 (height, width, N), 目的是方便复用对 img 的 transform 操作 + return (np.array(boxes, dtype=np.float32), + np.array(labels, dtype=np.int64), + objmasks, + np.array(difficult, dtype=np.uint8)) + + def _read_mask(self, image_id): + mask_file = os.path.join(self.data_dir, "SegmentationClass", "%s.png" % image_id) + mask = cv2.imread(mask_file) + return mask + + def _get_objmask(self, mask, bbox, class_color): + im_heigt, im_width = mask.shape[0], mask.shape[1] + xmin, ymin, xmax, ymax = [int(coor) for coor in bbox] + + objmask = np.zeros((im_heigt, im_width), dtype=np.uint8) + for i in range(ymin, ymax): + for j in range(xmin, xmax): + # mask 为 BGR, class_color 为 RGB + if mask[i,j,0] == class_color[2] and \ + mask[i,j,1] == class_color[1] and \ + mask[i,j,2] == class_color[0]: + objmask[i,j] = 1 + + return objmask + + +def get_voc(root, image_set, transforms, to_torch_tensor=True): + return VOCInstanceSeg(data_dir=root, split=image_set, transform=transforms, to_torch_tensor=to_torch_tensor) \ No newline at end of file diff --git a/cv/detection/yolov3/tensorflow/dataloader/utils/presets_classification.py b/cv/detection/yolov3/tensorflow/dataloader/utils/presets_classification.py new file mode 100644 index 0000000000000000000000000000000000000000..b3f559af4457bef4fe537e93ffa776947517735b --- /dev/null +++ b/cv/detection/yolov3/tensorflow/dataloader/utils/presets_classification.py @@ -0,0 +1,41 @@ +# Copyright (c) 2022 Iluvatar CoreX. All rights reserved. +# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + + +from torchvision.transforms import autoaugment, transforms + + +class ClassificationPresetTrain: + def __init__(self, crop_size, mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225), hflip_prob=0.5, + auto_augment_policy=None, random_erase_prob=0.0): + trans = [transforms.RandomResizedCrop(crop_size)] + if hflip_prob > 0: + trans.append(transforms.RandomHorizontalFlip(hflip_prob)) + if auto_augment_policy is not None: + aa_policy = autoaugment.AutoAugmentPolicy(auto_augment_policy) + trans.append(autoaugment.AutoAugment(policy=aa_policy)) + trans.extend([ + transforms.ToTensor(), + transforms.Normalize(mean=mean, std=std), + ]) + if random_erase_prob > 0: + trans.append(transforms.RandomErasing(p=random_erase_prob)) + + self.transforms = transforms.Compose(trans) + + def __call__(self, img): + return self.transforms(img) + + +class ClassificationPresetEval: + def __init__(self, crop_size, resize_size=256, mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225)): + + self.transforms = transforms.Compose([ + transforms.Resize(resize_size), + transforms.CenterCrop(crop_size), + transforms.ToTensor(), + transforms.Normalize(mean=mean, std=std), + ]) + + def __call__(self, img): + return self.transforms(img) diff --git a/cv/detection/yolov3/tensorflow/dataloader/utils/presets_detection.py b/cv/detection/yolov3/tensorflow/dataloader/utils/presets_detection.py new file mode 100644 index 0000000000000000000000000000000000000000..75946f0788cd0bbae50761134611cd3a2acf0e12 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/dataloader/utils/presets_detection.py @@ -0,0 +1,41 @@ +# Copyright (c) 2022 Iluvatar CoreX. All rights reserved. +# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + + +from . import transforms_det as T + + +class DetectionPresetTrain: + def __init__(self, data_augmentation, hflip_prob=0.5, mean=(123., 117., 104.)): + if data_augmentation == 'hflip': + self.transforms = T.Compose([ + T.RandomHorizontalFlip(p=hflip_prob), + T.ToTensor(), + ]) + elif data_augmentation == 'ssd': + self.transforms = T.Compose([ + T.RandomPhotometricDistort(), + T.RandomZoomOut(fill=list(mean)), + T.RandomIoUCrop(), + T.RandomHorizontalFlip(p=hflip_prob), + T.ToTensor(), + ]) + elif data_augmentation == 'ssdlite': + self.transforms = T.Compose([ + T.RandomIoUCrop(), + T.RandomHorizontalFlip(p=hflip_prob), + T.ToTensor(), + ]) + else: + raise ValueError(f'Unknown data augmentation policy "{data_augmentation}"') + + def __call__(self, img, target): + return self.transforms(img, target) + + +class DetectionPresetEval: + def __init__(self): + self.transforms = T.ToTensor() + + def __call__(self, img, target): + return self.transforms(img, target) diff --git a/cv/detection/yolov3/tensorflow/dataloader/utils/presets_segmentation.py b/cv/detection/yolov3/tensorflow/dataloader/utils/presets_segmentation.py new file mode 100644 index 0000000000000000000000000000000000000000..45e0d029b5998e27ffae96f60173a59d94cbdc74 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/dataloader/utils/presets_segmentation.py @@ -0,0 +1,36 @@ +# Copyright (c) 2022 Iluvatar CoreX. All rights reserved. +# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + + +from . import transforms_seg as T + + +class SegmentationPresetTrain: + def __init__(self, base_size, crop_size, hflip_prob=0.5, mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225)): + min_size = int(0.5 * base_size) + max_size = int(2.0 * base_size) + + trans = [T.RandomResize(min_size, max_size)] + if hflip_prob > 0: + trans.append(T.RandomHorizontalFlip(hflip_prob)) + trans.extend([ + T.RandomCrop(crop_size), + T.ToTensor(), + T.Normalize(mean=mean, std=std), + ]) + self.transforms = T.Compose(trans) + + def __call__(self, img, target): + return self.transforms(img, target) + + +class SegmentationPresetEval: + def __init__(self, base_size, mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225)): + self.transforms = T.Compose([ + T.RandomResize(base_size, base_size), + T.ToTensor(), + T.Normalize(mean=mean, std=std), + ]) + + def __call__(self, img, target): + return self.transforms(img, target) diff --git a/cv/detection/yolov3/tensorflow/dataloader/utils/transforms_det.py b/cv/detection/yolov3/tensorflow/dataloader/utils/transforms_det.py new file mode 100644 index 0000000000000000000000000000000000000000..405e760c03caeceea8ef79a464d86062bd5d2547 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/dataloader/utils/transforms_det.py @@ -0,0 +1,243 @@ +# Copyright (c) 2022 Iluvatar CoreX. All rights reserved. +# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + + +from typing import List, Tuple, Dict, Optional + +import torch +from torch import nn, Tensor +import torchvision +from torchvision.transforms import transforms as T +from . import functional as F + + +def _flip_coco_person_keypoints(kps, width): + flip_inds = [0, 2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, 15] + flipped_data = kps[:, flip_inds] + flipped_data[..., 0] = width - flipped_data[..., 0] + # Maintain COCO convention that if visibility == 0, then x, y = 0 + inds = flipped_data[..., 2] == 0 + flipped_data[inds] = 0 + return flipped_data + + +class Compose(object): + def __init__(self, transforms): + self.transforms = transforms + + def __call__(self, image, target): + for t in self.transforms: + image, target = t(image, target) + return image, target + + +class RandomHorizontalFlip(T.RandomHorizontalFlip): + def forward(self, image: Tensor, + target: Optional[Dict[str, Tensor]] = None) -> Tuple[Tensor, Optional[Dict[str, Tensor]]]: + if torch.rand(1) < self.p: + image = F.hflip(image) + if target is not None: + width, _ = F._get_image_size(image) + target["boxes"][:, [0, 2]] = width - target["boxes"][:, [2, 0]] + if "masks" in target: + target["masks"] = target["masks"].flip(-1) + if "keypoints" in target: + keypoints = target["keypoints"] + keypoints = _flip_coco_person_keypoints(keypoints, width) + target["keypoints"] = keypoints + return image, target + + +class ToTensor(nn.Module): + def forward(self, image: Tensor, + target: Optional[Dict[str, Tensor]] = None) -> Tuple[Tensor, Optional[Dict[str, Tensor]]]: + image = F.to_tensor(image) + return image, target + + +class RandomIoUCrop(nn.Module): + def __init__(self, min_scale: float = 0.3, max_scale: float = 1.0, min_aspect_ratio: float = 0.5, + max_aspect_ratio: float = 2.0, sampler_options: Optional[List[float]] = None, trials: int = 40): + super().__init__() + # Configuration similar to https://github.com/weiliu89/caffe/blob/ssd/examples/ssd/ssd_coco.py#L89-L174 + self.min_scale = min_scale + self.max_scale = max_scale + self.min_aspect_ratio = min_aspect_ratio + self.max_aspect_ratio = max_aspect_ratio + if sampler_options is None: + sampler_options = [0.0, 0.1, 0.3, 0.5, 0.7, 0.9, 1.0] + self.options = sampler_options + self.trials = trials + + def forward(self, image: Tensor, + target: Optional[Dict[str, Tensor]] = None) -> Tuple[Tensor, Optional[Dict[str, Tensor]]]: + if target is None: + raise ValueError("The targets can't be None for this transform.") + + if isinstance(image, torch.Tensor): + if image.ndimension() not in {2, 3}: + raise ValueError('image should be 2/3 dimensional. Got {} dimensions.'.format(image.ndimension())) + elif image.ndimension() == 2: + image = image.unsqueeze(0) + + orig_w, orig_h = F._get_image_size(image) + + while True: + # sample an option + idx = int(torch.randint(low=0, high=len(self.options), size=(1,))) + min_jaccard_overlap = self.options[idx] + if min_jaccard_overlap >= 1.0: # a value larger than 1 encodes the leave as-is option + return image, target + + for _ in range(self.trials): + # check the aspect ratio limitations + r = self.min_scale + (self.max_scale - self.min_scale) * torch.rand(2) + new_w = int(orig_w * r[0]) + new_h = int(orig_h * r[1]) + aspect_ratio = new_w / new_h + if not (self.min_aspect_ratio <= aspect_ratio <= self.max_aspect_ratio): + continue + + # check for 0 area crops + r = torch.rand(2) + left = int((orig_w - new_w) * r[0]) + top = int((orig_h - new_h) * r[1]) + right = left + new_w + bottom = top + new_h + if left == right or top == bottom: + continue + + # check for any valid boxes with centers within the crop area + cx = 0.5 * (target["boxes"][:, 0] + target["boxes"][:, 2]) + cy = 0.5 * (target["boxes"][:, 1] + target["boxes"][:, 3]) + is_within_crop_area = (left < cx) & (cx < right) & (top < cy) & (cy < bottom) + if not is_within_crop_area.any(): + continue + + # check at least 1 box with jaccard limitations + boxes = target["boxes"][is_within_crop_area] + ious = torchvision.ops.boxes.box_iou(boxes, torch.tensor([[left, top, right, bottom]], + dtype=boxes.dtype, device=boxes.device)) + if ious.max() < min_jaccard_overlap: + continue + + # keep only valid boxes and perform cropping + target["boxes"] = boxes + target["labels"] = target["labels"][is_within_crop_area] + target["boxes"][:, 0::2] -= left + target["boxes"][:, 1::2] -= top + target["boxes"][:, 0::2].clamp_(min=0, max=new_w) + target["boxes"][:, 1::2].clamp_(min=0, max=new_h) + image = F.crop(image, top, left, new_h, new_w) + + return image, target + + +class RandomZoomOut(nn.Module): + def __init__(self, fill: Optional[List[float]] = None, side_range: Tuple[float, float] = (1., 4.), p: float = 0.5): + super().__init__() + if fill is None: + fill = [0., 0., 0.] + self.fill = fill + self.side_range = side_range + if side_range[0] < 1. or side_range[0] > side_range[1]: + raise ValueError("Invalid canvas side range provided {}.".format(side_range)) + self.p = p + + @torch.jit.unused + def _get_fill_value(self, is_pil): + # type: (bool) -> int + # We fake the type to make it work on JIT + return tuple(int(x) for x in self.fill) if is_pil else 0 + + def forward(self, image: Tensor, + target: Optional[Dict[str, Tensor]] = None) -> Tuple[Tensor, Optional[Dict[str, Tensor]]]: + if isinstance(image, torch.Tensor): + if image.ndimension() not in {2, 3}: + raise ValueError('image should be 2/3 dimensional. Got {} dimensions.'.format(image.ndimension())) + elif image.ndimension() == 2: + image = image.unsqueeze(0) + + if torch.rand(1) < self.p: + return image, target + + orig_w, orig_h = F._get_image_size(image) + + r = self.side_range[0] + torch.rand(1) * (self.side_range[1] - self.side_range[0]) + canvas_width = int(orig_w * r) + canvas_height = int(orig_h * r) + + r = torch.rand(2) + left = int((canvas_width - orig_w) * r[0]) + top = int((canvas_height - orig_h) * r[1]) + right = canvas_width - (left + orig_w) + bottom = canvas_height - (top + orig_h) + + if torch.jit.is_scripting(): + fill = 0 + else: + fill = self._get_fill_value(F._is_pil_image(image)) + + image = F.pad(image, [left, top, right, bottom], fill=fill) + if isinstance(image, torch.Tensor): + v = torch.tensor(self.fill, device=image.device, dtype=image.dtype).view(-1, 1, 1) + image[..., :top, :] = image[..., :, :left] = image[..., (top + orig_h):, :] = \ + image[..., :, (left + orig_w):] = v + + if target is not None: + target["boxes"][:, 0::2] += left + target["boxes"][:, 1::2] += top + + return image, target + + +class RandomPhotometricDistort(nn.Module): + def __init__(self, contrast: Tuple[float] = (0.5, 1.5), saturation: Tuple[float] = (0.5, 1.5), + hue: Tuple[float] = (-0.05, 0.05), brightness: Tuple[float] = (0.875, 1.125), p: float = 0.5): + super().__init__() + self._brightness = T.ColorJitter(brightness=brightness) + self._contrast = T.ColorJitter(contrast=contrast) + self._hue = T.ColorJitter(hue=hue) + self._saturation = T.ColorJitter(saturation=saturation) + self.p = p + + def forward(self, image: Tensor, + target: Optional[Dict[str, Tensor]] = None) -> Tuple[Tensor, Optional[Dict[str, Tensor]]]: + if isinstance(image, torch.Tensor): + if image.ndimension() not in {2, 3}: + raise ValueError('image should be 2/3 dimensional. Got {} dimensions.'.format(image.ndimension())) + elif image.ndimension() == 2: + image = image.unsqueeze(0) + + r = torch.rand(7) + + if r[0] < self.p: + image = self._brightness(image) + + contrast_before = r[1] < 0.5 + if contrast_before: + if r[2] < self.p: + image = self._contrast(image) + + if r[3] < self.p: + image = self._saturation(image) + + if r[4] < self.p: + image = self._hue(image) + + if not contrast_before: + if r[5] < self.p: + image = self._contrast(image) + + if r[6] < self.p: + channels = F._get_image_num_channels(image) + permutation = torch.randperm(channels) + + is_pil = F._is_pil_image(image) + if is_pil: + image = F.to_tensor(image) + image = image[..., permutation, :, :] + if is_pil: + image = F.to_pil_image(image) + + return image, target diff --git a/cv/detection/yolov3/tensorflow/dataloader/utils/transforms_seg.py b/cv/detection/yolov3/tensorflow/dataloader/utils/transforms_seg.py new file mode 100644 index 0000000000000000000000000000000000000000..c091e7b60366cd89008edb67069cf52b56d8ac2b --- /dev/null +++ b/cv/detection/yolov3/tensorflow/dataloader/utils/transforms_seg.py @@ -0,0 +1,96 @@ +# Copyright (c) 2022 Iluvatar CoreX. All rights reserved. +# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + + +import numpy as np +from PIL import Image +import random + +import torch +from torchvision import transforms as T +from torchvision.transforms import functional as F + + +def pad_if_smaller(img, size, fill=0): + min_size = min(img.size) + if min_size < size: + ow, oh = img.size + padh = size - oh if oh < size else 0 + padw = size - ow if ow < size else 0 + img = F.pad(img, (0, 0, padw, padh), fill=fill) + return img + + +class Compose(object): + def __init__(self, transforms): + self.transforms = transforms + + def __call__(self, image, target): + for t in self.transforms: + image, target = t(image, target) + return image, target + + +class RandomResize(object): + def __init__(self, min_size, max_size=None): + self.min_size = min_size + if max_size is None: + max_size = min_size + self.max_size = max_size + + def __call__(self, image, target): + size = random.randint(self.min_size, self.max_size) + image = F.resize(image, size) + target = F.resize(target, size, interpolation=Image.NEAREST) + return image, target + + +class RandomHorizontalFlip(object): + def __init__(self, flip_prob): + self.flip_prob = flip_prob + + def __call__(self, image, target): + if random.random() < self.flip_prob: + image = F.hflip(image) + target = F.hflip(target) + return image, target + + +class RandomCrop(object): + def __init__(self, size): + self.size = size + + def __call__(self, image, target): + image = pad_if_smaller(image, self.size) + target = pad_if_smaller(target, self.size, fill=255) + crop_params = T.RandomCrop.get_params(image, (self.size, self.size)) + image = F.crop(image, *crop_params) + target = F.crop(target, *crop_params) + return image, target + + +class CenterCrop(object): + def __init__(self, size): + self.size = size + + def __call__(self, image, target): + image = F.center_crop(image, self.size) + target = F.center_crop(target, self.size) + return image, target + + +class ToTensor(object): + def __call__(self, image, target): + image = F.to_tensor(image) + target = torch.as_tensor(np.array(target), dtype=torch.int64) + return image, target + + +class Normalize(object): + def __init__(self, mean, std): + self.mean = mean + self.std = std + + def __call__(self, image, target): + image = F.normalize(image, mean=self.mean, std=self.std) + return image, target diff --git a/cv/detection/yolov3/tensorflow/docs/Box-Clustering.ipynb b/cv/detection/yolov3/tensorflow/docs/Box-Clustering.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..401c7715e2c5704539ed279fdbb5c3d610649115 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/docs/Box-Clustering.ipynb @@ -0,0 +1,538 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import os, cv2\n", + "%matplotlib inline\n", + "\n", + "LABELS = ['aeroplane', 'bicycle', 'bird', 'boat', 'bottle', \n", + " 'bus', 'car', 'cat', 'chair', 'cow',\n", + " 'diningtable','dog', 'horse', 'motorbike', 'person',\n", + " 'pottedplant','sheep', 'sofa', 'train', 'tvmonitor']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Dowload VOC-dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "train_image_folder = \"../../VOCdevkit/VOC2012/JPEGImages/\"\n", + "train_annot_folder = \"../../VOCdevkit/VOC2012/Annotations/\"" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "N train = 17125\n" + ] + } + ], + "source": [ + "import xml.etree.ElementTree as ET\n", + "\n", + "def parse_annotation(ann_dir, img_dir, labels=[]):\n", + " '''\n", + " output:\n", + " - Each element of the train_image is a dictionary containing the annoation infomation of an image.\n", + " - seen_train_labels is the dictionary containing\n", + " (key, value) = (the object class, the number of objects found in the images)\n", + " '''\n", + " all_imgs = []\n", + " seen_labels = {}\n", + " \n", + " for ann in sorted(os.listdir(ann_dir)):\n", + " if \"xml\" not in ann:\n", + " continue\n", + " img = {'object':[]}\n", + "\n", + " tree = ET.parse(ann_dir + ann)\n", + " \n", + " for elem in tree.iter():\n", + " if 'filename' in elem.tag:\n", + " path_to_image = img_dir + elem.text\n", + " img['filename'] = path_to_image\n", + " ## make sure that the image exists:\n", + " if not os.path.exists(path_to_image):\n", + " assert False, \"file does not exist!\\n{}\".format(path_to_image)\n", + " if 'width' in elem.tag:\n", + " img['width'] = int(elem.text)\n", + " if 'height' in elem.tag:\n", + " img['height'] = int(elem.text)\n", + " if 'object' in elem.tag or 'part' in elem.tag:\n", + " obj = {}\n", + " \n", + " for attr in list(elem):\n", + " if 'name' in attr.tag:\n", + " \n", + " obj['name'] = attr.text\n", + " \n", + " if len(labels) > 0 and obj['name'] not in labels:\n", + " break\n", + " else:\n", + " img['object'] += [obj]\n", + " \n", + " \n", + "\n", + " if obj['name'] in seen_labels:\n", + " seen_labels[obj['name']] += 1\n", + " else:\n", + " seen_labels[obj['name']] = 1\n", + " \n", + "\n", + " \n", + " if 'bndbox' in attr.tag:\n", + " for dim in list(attr):\n", + " if 'xmin' in dim.tag:\n", + " obj['xmin'] = int(round(float(dim.text)))\n", + " if 'ymin' in dim.tag:\n", + " obj['ymin'] = int(round(float(dim.text)))\n", + " if 'xmax' in dim.tag:\n", + " obj['xmax'] = int(round(float(dim.text)))\n", + " if 'ymax' in dim.tag:\n", + " obj['ymax'] = int(round(float(dim.text)))\n", + "\n", + " if len(img['object']) > 0:\n", + " all_imgs += [img]\n", + " \n", + " return all_imgs, seen_labels\n", + "\n", + "## Parse annotations \n", + "train_image, seen_train_labels = parse_annotation(train_annot_folder,train_image_folder, labels=LABELS)\n", + "print(\"N train = {}\".format(len(train_image)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Output : train_image\n", + "- train_image是一个字典,它包含了图片以及标注信息" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'filename': '../../VOCdevkit/VOC2012/JPEGImages/2007_000027.jpg',\n", + " 'height': 500,\n", + " 'object': [{'name': 'person',\n", + " 'xmax': 349,\n", + " 'xmin': 174,\n", + " 'ymax': 351,\n", + " 'ymin': 101}],\n", + " 'width': 486},\n", + " {'filename': '../../VOCdevkit/VOC2012/JPEGImages/2007_000032.jpg',\n", + " 'height': 281,\n", + " 'object': [{'name': 'aeroplane',\n", + " 'xmax': 375,\n", + " 'xmin': 104,\n", + " 'ymax': 183,\n", + " 'ymin': 78},\n", + " {'name': 'aeroplane', 'xmax': 197, 'xmin': 133, 'ymax': 123, 'ymin': 88},\n", + " {'name': 'person', 'xmax': 213, 'xmin': 195, 'ymax': 229, 'ymin': 180},\n", + " {'name': 'person', 'xmax': 44, 'xmin': 26, 'ymax': 238, 'ymin': 189}],\n", + " 'width': 500}]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_image[:2]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Visualize output : seen_train_labels\n", + "\n", + "- VOC数据集一共有20个类别,下面将这些类别的数量分布情况可视化出来:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "y_pos = np.arange(len(seen_train_labels))\n", + "fig = plt.figure(figsize=(13,10))\n", + "ax = fig.add_subplot(1,1,1)\n", + "ax.barh(y_pos,list(seen_train_labels.values()))\n", + "ax.set_yticks(y_pos)\n", + "ax.set_yticklabels(list(seen_train_labels.keys()))\n", + "ax.set_title(\"The total number of objects = {} in {} images\".format(\n", + " np.sum(list(seen_train_labels.values())),len(train_image)\n", + "))\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## K-means clustering\n", + "\n", + "在论文[YOLO9000:Better, Faster, Stronger](https://arxiv.org/pdf/1612.08242.pdf) 强烈建议我们使用聚类分析得到先验anchor的尺寸大小,原文这样说到:\n", + "\n", + "
\n", + "Dimension Clusters:\n", + "we encounter two issues with anchor boxes when using them with YOLO.\n", + "The first is that the box dimensions are hand picked. \n", + "the network can learn to adjust the boxes appropriately but if we pick better priors for the network to start with, we can make it easier for the network to learn to predict good detections.\n", + "
\n", + "
\n", + "Instead of choosing priors by hand, we run k-means clustering on the training set bounding boxes to automatically find good priors. If we use standard k-means with Euclidean distance learger boxes generate more error than smaller boxes. However, what we really want are priors that lead to good IOU scores, which is indepedndent of the size of the box. Thus for our distance metric we use 1 - IOU(box,centroid)\n", + "
\n", + "因此,让我们首先为K-means聚类准备要输入数据。 输入数据指的是ground truth bounding box的宽度和高度来作为特征。 考虑到在不同尺度下的场景中,每个boundingbox的尺寸不一。因此,非常有必要来标准化边界框的宽度和高度与图像的宽度和高度。" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "clustering feature data is ready. shape = (N object, width and height) = (40138, 2)\n" + ] + } + ], + "source": [ + "wh = []\n", + "for anno in train_image:\n", + " aw = float(anno['width']) # width of the original image\n", + " ah = float(anno['height']) # height of the original image\n", + " for obj in anno[\"object\"]:\n", + " w = (obj[\"xmax\"] - obj[\"xmin\"])/aw # make the width range between [0,GRID_W)\n", + " h = (obj[\"ymax\"] - obj[\"ymin\"])/ah # make the width range between [0,GRID_H)\n", + " temp = [w,h]\n", + " wh.append(temp)\n", + "wh = np.array(wh)\n", + "print(\"clustering feature data is ready. shape = (N object, width and height) = {}\".format(wh.shape))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Visualize the clustering data\n", + "先来看看归一化后的anchor尺寸分布情况:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(10,10))\n", + "plt.scatter(wh[:,0],wh[:,1],alpha=0.3)\n", + "plt.title(\"Clusters\",fontsize=20)\n", + "plt.xlabel(\"normalized width\",fontsize=20)\n", + "plt.ylabel(\"normalized height\",fontsize=20)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Intersection over union\n", + "\n", + "在介绍使用K-means对先验边界框进行聚类时,非常有必要来讨论下iou的概念,因为后面我们会用它来衡量两个boundingbox之间的距离。iou是一种测量在特定数据集中检测相应物体准确度的一个标准。我们可以在很多物体检测挑战中,例如PASCAL VOC challenge中看多很多使用该标准的做法。我们计算两个bounding box的iou时,只需要使用它们的4个位置参数(xmin,ymin, width, height),这里引用别人一张图:\n", + "\n", + "\"bbx\"\n", + "\n", + "iou的计算公式为: \n", + "$$\\begin{array}{rl}\n", + "IoU &= \\frac{\\textrm{intersection} }{\n", + "\\textrm{union} - \\textrm{intersection}\n", + "}\\\\\n", + "\\textrm{intersection} &= Min(w_1,w_2) Min(h_1,h_2)\\\\\n", + "\\textrm{union} & = w_1 h_1 + w_2 h_2\n", + "\\end{array}$$\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "def iou(box, clusters):\n", + " '''\n", + " :param box: np.array of shape (2,) containing w and h\n", + " :param clusters: np.array of shape (N cluster, 2) \n", + " '''\n", + " x = np.minimum(clusters[:, 0], box[0]) \n", + " y = np.minimum(clusters[:, 1], box[1])\n", + "\n", + " intersection = x * y\n", + " box_area = box[0] * box[1]\n", + " cluster_area = clusters[:, 0] * clusters[:, 1]\n", + "\n", + " iou_ = intersection / (box_area + cluster_area - intersection)\n", + "\n", + " return iou_" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## The k-means clustering\n", + "\n", + "K-means的聚类方法很简单,它主要包含两个步骤:\n", + "\n", + "\n", + "首先初始化类别数量和聚类中心:\n", + "\n", + "- Step 1: 计算每个boundingbox与所有聚类中心的距离(1-iou),选择最近的那个聚类中心作为它的类别\n", + "- Step 2: 使用每个类别簇的均值来作为下次迭代计算的类别中心
\n", + "\n", + "重复步骤1和2,直至每个类别的中心位置不再发生变化。" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "def kmeans(boxes, k, dist=np.median,seed=1):\n", + " \"\"\"\n", + " Calculates k-means clustering with the Intersection over Union (IoU) metric.\n", + " :param boxes: numpy array of shape (r, 2), where r is the number of rows\n", + " :param k: number of clusters\n", + " :param dist: distance function\n", + " :return: numpy array of shape (k, 2)\n", + " \"\"\"\n", + " rows = boxes.shape[0]\n", + "\n", + " distances = np.empty((rows, k)) ## N row x N cluster\n", + " last_clusters = np.zeros((rows,))\n", + "\n", + " np.random.seed(seed)\n", + "\n", + " # initialize the cluster centers to be k items\n", + " clusters = boxes[np.random.choice(rows, k, replace=False)]\n", + "\n", + " while True:\n", + " # Step 1: allocate each item to the closest cluster centers\n", + " for icluster in range(k): # I made change to lars76's code here to make the code faster\n", + " distances[:,icluster] = 1 - iou(clusters[icluster], boxes)\n", + "\n", + " nearest_clusters = np.argmin(distances, axis=1)\n", + "\n", + " if (last_clusters == nearest_clusters).all():\n", + " break\n", + " \n", + " # Step 2: calculate the cluster centers as mean (or median) of all the cases in the clusters.\n", + " for cluster in range(k):\n", + " clusters[cluster] = dist(boxes[nearest_clusters == cluster], axis=0)\n", + "\n", + " last_clusters = nearest_clusters\n", + "\n", + " return clusters,nearest_clusters,distances" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## The number of Clusters\n", + "\n", + "一般来说,anchor聚类的类别越多,那么yolo算法就越能在不同尺度下与真实框进行回归,但是这样也增加了很多计算量。(这对于一个号称 real-time 目标检测框架来说是极其尴尬的,因此作者也尽量减少boundingbox的数目)。" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 2 clusters: mean IoU = 0.4646\n", + " 3 clusters: mean IoU = 0.5391\n", + " 4 clusters: mean IoU = 0.5801\n", + " 5 clusters: mean IoU = 0.6016\n", + " 6 clusters: mean IoU = 0.6253\n", + " 7 clusters: mean IoU = 0.6434\n", + " 8 clusters: mean IoU = 0.6595\n", + " 9 clusters: mean IoU = 0.6712\n" + ] + } + ], + "source": [ + "kmax = 10\n", + "dist = np.mean\n", + "results = {}\n", + "\n", + "for k in range(2,kmax):\n", + " clusters, nearest_clusters, distances = kmeans(wh,k,seed=2,dist=dist)\n", + " WithinClusterMeanDist = np.mean(distances[np.arange(distances.shape[0]),nearest_clusters])\n", + " result = {\"clusters\": clusters,\n", + " \"nearest_clusters\": nearest_clusters,\n", + " \"distances\": distances,\n", + " \"WithinClusterMeanDist\": WithinClusterMeanDist}\n", + " print(\"{:2.0f} clusters: mean IoU = {:5.4f}\".format(k,1-result[\"WithinClusterMeanDist\"]))\n", + " results[k] = result" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "类别的数量越多,每个聚类簇的均值iou就越大,说明聚类簇里的boundingbox愈加紧贴在一起。有时候很难决定类别的数目,这也是k-means的一大痛点!在yolov2论文里设置了5个先验anchor,因此先来看看聚类数目从5到8的效果吧!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Visualization of k-means results " + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA3sAAAMLCAYAAAD3744iAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzsvXmQZdd93/c55y5vf71M9+wzGCwkAJIgIJIiKUs0IVslUUpi2UklJassxXHZLiV2nKr8E8euOK5yUkkqlbjKdtmKU+UojKI1FYlauVghKYkUSCzERgADYAYzg5me6f312+56zskf577Xr/d9emZwPlVAT79+795zX/c7v/vbvj9hjMHhcDgcDofD4XA4HA8W8rgX4HA4HA6Hw+FwOByOw8c5ew6Hw+FwOBwOh8PxAOKcPYfD4XA4HA6Hw+F4AHHOnsPhcDgcDofD4XA8gDhnz+FwOBwOh8PhcDgeQJyz53A4HA6Hw+FwOBwPIP5xL8DhuN8RQlwA/jnwFNAC3gJeAE4ZY/7+Ho/1LNA1xrxw2Ovc5Fy/BHwO6BQP/ZQxZuaoz+twOByODw73sY2UwP8K/CRggL9njPnqUZ/X4ThsnLPncBwAIYQAfgv4Z8aYv1w89uPAeeDUPg75LHAHawh3uwbPGKP2cS6Av2OM+fI+X+twOBwOx5bc5zbybwHSGPO4EMIDxvZxDIfj2HFlnA7HwfiLQMcY88XBA0XkTw++F0L8khDiC8W/Lwkhniv+/TNCiDeEEK8IIX6ziH7+AvAPhRAvCyEeF0J8SAjxNSHEi0KILwshThWvvSaE+B+EEC8DPyKE+GUhxPeFEK8JIX72Ll6/w+FwOBxbcT/byL8F/PfFmpUxZukQ3g+H467jMnsOx8H4CPDyPl/7D4F/xxjznhBizBizIoT4ReCOMeYXAYQQXwX+pjHmuhDiPwT+G+DvFq+/Zox5RgjxSeCCMeajxWvGiq+/CHx2k/P+58aYPyn+/U+FEP8T8NvAPzbGmH1ei8PhcDgc67mfbeQZ4O8Vjuhl4D8zxrT2eS0Ox7HhnD2H4+Ds10H6FvC/CyF+Bfh/1v9QCNEAfhj4kq2EwQOujDzlN4uvV4GLQoh/Dvy2MeaPAIwxv7DD+f9rbDlMGfgV4OeB/3Of1+JwOBwOx2bcrzZyDHjPGPNJIcQ/AP4R8F/u81ocjmPDOXsOx8F4E/grOzxHsVoyXRp5/D8Ffgj4S8B3hBBPrXudBG4ZY57Z4rh9AGPMshDi48BPAf+VEOJzxph/vFPU0hhzu/g+EkL8MvCjOGfP4XA4HIfHfWsjgRls1QvYvsN/scN1OBz3JK5nz+E4GP8WGBNC/LXBA0KIH2PtZ+s6MDBGf2nk8YeNMd8G/gEQAA2sMmYDwBizAiwXzewIIQIhxJPrFyCEmAKEMebXsf0FzxSv/wVjzDOb/PcnxevOFF8l8O8B3z/ge+FwOBwOxyj3rY0Efg/4fPHvZ7Eqog7HfYdwLToOx8EQQlzERvw+CsTAS8CLwGljzN8XQpwDvoQtMfkq8HljzGeFEL8FPAYI4NeNMf9ECPFhbLmKAn6m+PqvgJPYTPz/bIz5JSHENeAJY0wshHgG+D+K4+TA3zXGPLeLdf9/wBTW6H4T+C+MMfmhvCkOh8PhcHBf28hp4FeLY98Bfs4YM3sob4rDcRdxzp7D4XA4HA6Hw+FwPIC4Mk6Hw+FwOBwOh8PheABxzp7D4XA4HA6Hw+FwPIA4Z8/hcDgcDofD4XA4HkCcs+dwOBwOh8PhcDgcDyDO2XM4HA6Hw+FwOByOB5D7bqj61NSUuXTp0nEvw+FwOBx3gRdffHHBGDN93Ou4X3A20uFwOD4Y7NY+3nfO3qVLl3jhhReOexkOh8PhuAsIIa4f9xruJ5yNdDgcjg8Gu7WProzT4XA4HA6Hw+FwOB5AnLPncDgcDofD4XA4HA8gztlzOBwOh8PhcDgcjgcQ5+w5HA6Hw+FwOBwOxwOIc/YcDofD4XA4HA6H4wHEOXsOh8PhcDgcDofD8QDinD2Hw+FwOBwOh8PheABxzp7D4XA4HA6Hw+FwPIA4Z8/hcDgcDofD4XA4HkCOzNkTQvwbIcScEOL1LX4uhBD/TAjxrhDiVSHEJ45qLQ6Hw+Fw3KsIIc4KIV4SQsRCCH/dzz4mhPhTIcS3hBAfP641OhwOh+P+xN/5Kfvml4B/AXxxi5//JPCh4r/PAP+q+PqBxhjD7bl53rt5k7F6nXa3x8MXznF6ehohxJbPv3brFg+ft88D1jx2amqKmdk5Xnz9+/T6ERfPnkUIePjCeZRSvPj691leaSOE4NSJSRZbKzTqVS6dP8/swiJCwEc/9CFOT09xZ36Ba7ducencObTWvP7OO6y0O3T7EUIIxpsNHrt4gXa3R7cfMTM3x4cvPcSl8+e4MXOber3KzJ05FpaW6fX7TIyP8fjDD3N7YZ4kSSmXSpw5OU2706XT63Hj1gxCSirlEnmuyPOcTCkAykGA53uMNRo8dO4s12/N0Ov3qVYqLCwtE/geQkrGm00+9dTHOD09xeuX3+F7b7xJrnK0NggpmJoY55ELF7g9N8/C8hK9fky1XMYPfOIkQQpBkmYYY6iUQ+IkJVeaUhAw1qiRa02vH5Ok6YbfjweUo5QL7YhalLL0wqsYbUArUBoCDzJ7PVRKECXIWgWUpnL2FJXT0yy/8ial01OMf/gx7nzz2+h+DAIwxUl8D69RQ0UxZLl9TGnk1AQ6iqEXbfxDCwNIMwBktYzWBuLE/mz02OsR4DcaBBNjRHdmIcm2/Fv2JpqofgR5ca07IEohRmuQYtvjjq5ly3WuO64sBah2b+cnD6iU7Pux3fGlAG3sOhpVaPd3f/xR6lXQGvrx7p5fCvFKAarT29X13wv81B9uZQYcBUvAXwR+a5Of/RPgrwIa+JfAT9/Fdd1zGK3pXX6L1ne/Q+nkKdK5WcY+/Rlqjz+BkHLT5648/13GfvDTw+eMPt781A+is4zZ3/p/UUuLTH7hJ6lcuEjnpRcJpk/SfuN1kmvXUO02Y5//PBhY+fafUvvoRxEIpPQ48RNfoP7EkwCrx/3kJ4mu32D+j76GEIL0/Rt409NM/fgX0MvL1D/5KV6NUt65dp1zp6apVaqMNRustDsYDFeu3yDXmmatRhgEAFQrZT76oQ9hjOGF115nYbmF0RrhSRrVGlorWp0OptgXJppNoiTm7MmT9KOIOEmYGB9jYXEZbTRZlnPhzGlq1SqPXDyPNobX3nqb2YVF4iShVqkQJwkXz52lVq3QqNZ49fLbQzsbRRFhKcQYQ+D7ZLlCAFIIenGM73kIDEEQUCqFLK90Nvw+PSmZmpjgsYcu8N7NW8wtLJDrjRvbYLsvhyEIMAZC3yNJM4LA55knn0Brw/OvvUa+zt74nsfZ6Sluzc2j9OrPJPZDtYFcMfH152nOLSME+ONj5Gm6uS0dHkzafTzw8Stl8ihate2bXQhA4CF8HxMlIIqL2ozBz3wfPA+yzJ7rMPAE4fgY6UoHjAa1G6M6stbt7LAnQWmCU1NkK53Ve4y9EIaEp06Q3p6z9xK7wJsYQ3V7q/dD9wFHbSOF2eqP6zAOLsQl4PeMMR/b5Gf/G/ANY8yvFt9fBp41xtze7pif+tSnzAsvvHAEqz1+4iTh8tX3uDO/QK8f0Ysi6tUKlXKZWqWCAT506eLQ8Rs8f35pmTAISLOM8WYDgFa7QxgERHFMnCQsr7RJ8wytNAaolstITxJFMbna/AMkhCAIAru5YtAGmvUaY/U6c4tL9KOIJEk23ywLpBAYY0AIatWKdZTyzT+AUgqEkAhAKXVo97FCCEqFY9jvR3f3/tgY+1+c0Hj3JuOXr+Olu3BkHI4HjP0aMyHEi8aYTx3ycu5JhBDfAH7MGJOPPmaMebb49zeNMZ/f7hgPso3MO22WvvF1epcvk7WWyBcX8SdPEIxP4E+MAzDxw5+j9vgTqF6XpW98nejqVWS9hu72qDzyCM1PfYr2Cy8QXb2KCAP6ly+TLCxgjLYBVaXwqlW8sXHS2VlMEm+8CR/c2Hs+/sQ4MizhVauUH7qEyWzQr/v66+T9HiTJhtd3Tp7m6ic/Q1S2dt1Q2KkwQClNtoWN9D0P3/fIsnyN03JQAt+nXC6RJilJ9gG3TwObDYiFFme/+RKBs9mOu8B+bORu7eNRZvZ24hzw/sj3N4vHNjh7Qoi/DfxtgIsXL96VxR0mu41EvvzGm0RxQrcfkec5tUqFJE3p9PtIIQlD69DNLS7x+CMP8/Ibb9KPbDZgfmmJ8UaDd6/dQACXLpxHCMH80hILS8sYrOMlpURrTS/aJkI1WLcxpGmK0ZpcKYQQZFlGp9slzTLSNNvRcdIDI2cM3d72mQ+tDbC7yM1eMMYQpylsTLwdHWb4PxsFK5fofOgiUgomXnnnLi7E4XDc54ymqzaWd3B/28g1WbZP2nuW9osvrMnEDZj70m+Tr6yQLS+h4xjvxBSq2yVdXER6ElmtoXt9+u++Qzo3h4oijCeJrlwhPHuW6Pp1Wt/6FuULFwhOnaL72qvEd26DMQjfH64nX1khb7e3zp5obTMsKidfXERUKqQL8yQzM1Qee4zk/RuoNIV482z9Wz/wgyjpoZWyjmMRFI2T7Y1UrtSWwdmDkOU5Wff+yYIcGWbEZgNmapzbP/EZTn/9JcLuPis3HI57gON09naNMeZfA/8abNTymJezJ9ZHItvPfRt/8gTZ/Dz9d99h8tkfxW80AajXasRJRikMUVohpCCKE6SUBCWfWrlMo1ZjqbXCy2+8RSkscevOHJlSeFIyv9wiy3Mq5dKw5LMUhtZYGoP0JFppZFHGgjG7znL5nocxxq5NKbTe/Ws/kKwvbRACfInYTXmiw+FwrDK6k2zqfdyvNnJgH6OrVyEMmPmlfwNA5ZFHWPzqVzbYyHB6mrzXw6vWMGmKFIK03Ub4HqJeJxifIDh1ivjGDZK5WXSaYeIYEQbEV64iyiWCyUnwfYQQeNUqMgzRSYLwCmdPFs6UlLBJaf4GhECGJYwQyEoF1W5j8nzoMGxGGEX0xkur5XDbPNdxvOhyhYUfeoqzX/vOcS/F4dg3x6nGeQu4MPL9+eKxB4q5L/028Y0bNhIZ2UikjmOSpUXiGzeY+9KXhs89PT2F0op6tWr7usA6eoE1QrVaFSEEQggatSrL7TZRkhAGPr7vEQY+WmubxSqo16oEnocUAk9ah01phRSCMAx3XL+UcvifEIIwDAgCH8/z9vxeePKDLv4qyMabx70Ih8Nxf7EkhDgvhDgLtI97MYfJwD4Gp06R3LyJ0RqtFPHNm0OnbdRG1h5/EpOlBFNTmKIvS3gSr1xBGE04NWUDnb6HyTJUZwVZsw6drFVRnTYYPSy1DKemkdWqDYYGASIIQCn7fRjaHinY1hkTYQmMwavWkEEJpCSYmsYkm/cnZWFIGMcg5Iijd/z++X5s+gOPELZPvbtzJZTDcS9znHffvwP8fKHK+VlgZad+vfuRcHoafB+vWkNIiRQCpMSv1cH37M8LxptNKuUyWZaijabX6yM9iVIa3/cpl0oAKK05NT3F1MQ4vu+TZRlpmpJlGWEY0qhW6XS7dLpdsiynVq0ggDiOUVoXJelmtUdhG4QQqKJsxPd9lFIopQn8vSeFPe8D5OxtZru1Ji/v7GA7HI4PFkKIQAjxb4Gnga8IIT4vhPiHxY//W+DXgd8E/tFxrfEoGNhHm2WzNlJ4nv134bSN2sjS2bMEzTF01MfonHRxAREE6DxDlsp4DduzbrKM+kc+ggxL6H4f1euh+31kWKL+5EcImmOkc7OoOEIGIUhJ3u9ZZ1ApEAKd56tlnJtpGxR20RgNRuOPjeHVa6heD39s3DpzmzDz2BPIPEcU57Ecf2ZPHUF56H3H+vshYzsqy3cWj2U5DsdhcWRlnEKIXwWeBaaEEDexBisAMMb8IvAHwE8B7wJ94D85qrUcJ7XHn6T3ztsEU1Nki8WGoRXh1BQ6S6k9/sTwub7n8ec+8cya1+dK8d1XXiOKInpFz1ulUmG8aTNE80vLNGq14fM7vR5PP/k4UxMTa47z3PdeJooTqpUKougP6EcRpVIICKKRHr5yuczFs2d4//ZtLp45w/WZ28QjvQeVSoVPP/0U127e4hvPfZdcKfQmvQ1CCERxvFIQoI3Bk6lVuJQSY8xqTx828xcEAZfOn0VrjRC23DSKEzq9HlHhrEpPkhUN04YiImkMnuehtcb3vaFapsFw7tQpbtyaIVOqcHLXGu5apcJ4o0EvijAYktQ6z9oYe8NhDL7v02zUqVWq3LxzZ8P1elKubZgfDdYag0wyZJZRWmpteJ+GyMLQbKJEtm98D4HAaHW4x90L26mMgVXssk8c3kBthgwDdK4OT4XsQWWn93tfx+ReSD48sBhjMuDH1j38zeJnrwI/fNcXdRcY2Edg1UYKQzg1BVinbdRGyjDk7M//9TXH0GnKnV/7FbKVFtnigj3W2Dhjn/lzZK0W4fTJ4XPT+TkaH3+GyqVLG9Yy88tfJF9ZwT9xYmgjs/l5kls3KZ07N3xeMDbOqf/oZ4jeu8rKc39G1mqBJ4eB0+AjH+X0z/wsycwMM7/yf9F55WUYEVwJ+z3SIGBy5hbtM2fxPYlfreKXysP+8rSoztHrPsdSSsabDS6dO0e338Pa7phuv0+tUmFxZYUst8rRSunhdQisPZaetFVDQlAOw6F9XFxuEScJSimyPN9w3lq1QuD5TIyNYTBcv3lrQ5fCWL3OeHOM23NzpNlqP78QojBt4lBFZQ6TLbc3AyhDNl4/4gVsp8QJ4fgYWS9CCNDb9XUW6peOY+IetpNH5uwZY/7qDj83wN85qvPfKwwikenS4jASKcMQFUeEE5OUzp7d9vWbOYBgM3NRFLPcWqEfRVTKZQRrHcFRBv2AA4M0KAcdq9f5yIceG45qOHvyJK12m8tX3yMMAt66+h5TE+OcO3mSW3Ozw3EQ84uLnDt9ilKhAroZQgiCwhGrVq3YTJbnQwO04TMhrON2Z37RjkO4eIbX334XT0rOnzlNu9NlfnmJUhDS1WZV1bPYJLXWVCtlGvU6S60WYRhgtOH9mdvkSlmDIyS+7w9fWy6XKYchSZ4hPUme5+Qjxm7VMTQYrZmaGOff/QtWDG9heZmv/em3ieLEPk/l1sCO/I7AyvPLOEVgqN6c2/qXbTj0m3QhJc1HLlK/cJbO9ZvkvYh0pUPe3cMYgr2y3uBsdk2eh5ACv1oh70UgBX7NBiLSpZUNTw+adUQQUJpo0nnvpn1QgAwCdJqu7XsxZu17eYjOj9+sk7e7h3KsI+Og11qUjY/KVstyCZ3lNmBwj96wOe4/hvZxbhajFEbbvzkVR+i5hGBsfEcbuZkDaI8RY7Kc1p99i+DENMHYGMH41scb9AOusZFhwMSzf4HKQw8NxzeUzp5l8WtfGap8Im1W0hhD5fwF0rlZ+lfepfLwI5TPnKPz6itrzlPtdJh76BFMEFAVoKRES49q1Y45yCO1qX2UQhAGAdVymfdu3mS80aBcLtPt95kYa+J7PpMTY1y/OUOm8qF42wADhEGAlBKVqzX20QC+ZwOwctDjLwW+5+F5HpVymenJCe7ML1h7t25txkCuNRNjTX7qR/88YO3jK29eptVus9LpkmapHcuwPjB6zPiex+T4GOONBu/fmUX1+phijxeZIlhpE3QOWZzFK9RcRwLCaxACpLCZbilRcULt7ClUHKPSdKONFILS5DhG5WT92GoyDBwPKZBConOFDDy7jx+VjTyKgPU9iKiWMXFqR1UUl+rXq+RxsuvxEHeb+0Kg5X5mK0N0EEZHLpycOkGaZUxPTvD4Iw9TCsMNc/eEEJyenmJ2YW0pgtKa8bEmr751eTi+4Y+ffxGlFGdPTlOu1/A8ybvX3ydN7Qy8qzduUq9W6PR6nJ6e4oc/9Qm+8Z3vkmY5geeRFVk+Two83yPLbaRwablFo16jFATkeT50EAXgBz6VUgmjDWmec2J8jOWVNn/y/IvWOAk7IqIXRcRpSpzYxvzA9wDBWKPOeLNJvVbj008/xXdefpVev08cJyit0VqvMS6jamZpkgCGLMvxpKRSLhOGGpMkw9dY5xSyLC8yoZbxZpNapWqziZ5HP47JyIcjJNI4RRiNt9IlbHXw4oSwtYmjsOod7u8PIvC3nCdj0oz2lWv0bs8T1KsAaH0Im5Hvbb2p7SayqBTGSLKBwlma22ztFtVMWbuLCAN0nBTOhjVWes0aDEhp+3MCH5VmVoRoJ9ns3UZDB1FVzwOlEL6HOe6NvSh1O9R5QpscS0f7mI/kcOzAUdhHWBV+EVJSf+rjduzCww8z+eyPInyf7ptvbJi9N5plHKD6fdLZO/Qvv4Ws11j46peJb95EpwnVxz6M9APiVoveW29ilKL70gtDAbbq449z4gs/Qe/6e/Qvv2WdSM9j5ZFHMaUQWaujqzX6UYSOIoLAp1GrYbSh1W5bx0sIEAJPSjwpi3iW4OSJE9y4NYM2hnq1QqvdQQCdfp8sy6zDRuEglkLOnDxJs14f2sfrt24N7aMxmlxpknSt/dEa8lxRrZRJkoTrt2aoV6vEJPiFDsCgWkYASZKy0ukQJwnlUmnYlrK8skIpDBDC2lDf9/ANZFlmq2c4+mTIIMC8GblSLC63aHd7hGFAHicEiyv4/RgB5LUy5YVtKnI2P+H29nwne2MMKFuFZJQV0+vfmbMBkc3GchhDsrhMaWoSdH+tbZYC7QvQGh2rtTYySTFqhzm4e/gFCSHtcbPMHvMoqkz2iKyU0MkhziUEzCYzcfN7XK3VOXv3IYMRDY1arZjNE7LUWuGFV1+nUa8NHbfvv3NlOKZhsPF2uqvORqVS4drNGdI0pVIusdRaQamcPFfcmrWlGEmakqYZStvZP7VKhTTLiZMVFpaW6ccRudJ2TEPxoZZCAAJfeuTGZsnSPGdppY0UIMVqyQuARNAvhm2Ww5C5xUWkkGAgSVM86dGP1s7HE0W0sVmvUS2XqddqfPYHngZgrFHH8zxbeuIHLCwvIYXYUJoCVnI6zfOizFTb8xizNvJYfN+LIt6/dZtnnrRlRXMLi9QqZRuxFILQtzOSlNZ40lCulEijBC/wuTDfJnl/xkbc1rOfvXB0A95hEzOZIu/20EmMztS2pZK7ZpBJ224j38lI7PG9MGlGniv8Zg2dpOg0X3MM4XkYAV4pRMXJ6sDzndh12UtxMKXsINx7oV5DCJdpczjWMRjREJw6ZW/0a3XiGze48xu/QXhyepiVG1X8HM0yDshm7yD9gODUKUyaErdaZPNzGCC+eoVeHCHLFXSS2l7DE1PoKCJZXCR/5WVmfuPXEMZAnmOKIFG4tERVCNTUSTojIi6dbo84SdDKBrMKv86OhRCCNM8Ig4B+HNHqFMPJjSFKEgRijY1UWg9n51VKZerV6rBCaL19bPe66DhBbbGX96MYT0rKpRJJmhbBUkM64lAYbGXNrdk5vvnc8/z4n/9hPCl56NwZFpeXieKEwPdRhRp4mma2/UIppCcphyVri9P0SHbVneZJK63RaUKWZahyieziGWQ/orTcIehH+O09VsIYs3MQcTdOlDbDJw3LN7d5TbK4hAwCjDRDcRlyBWmGLIcYrTHaDG2kyXNrN7db515+IZ60va7G2CyflAfPdB0kGiDAr1ZJ4z0664fNPVDe6Zy9ewBjzKbZuK3YqiRzud0my/MNTuDLb7zFZ3/g6U3LQV9/+x0WllrMLiwWs/2suMtgIHuaZQghqVWr5ConyVI63R6elOSFctpwHdgSjVwpKwiTrpZ7qOKxQUyqWi6jlMLzfbRWCGV79KxBETbzZwxaaxK10QDkeU4URQS+x0q3y1gcc3tujtPT05yenuLy1ffIc0WSpShtin5BOdz0Rx0/IWwJynitQavd3lBiYkfm2Vv7uaUlnn/1NXr9iNtzcwgh6PYj+34UM5CEEPiDyKq00a75M5OM3bqDkWK1xOEg9fVS2vLQwGfsycdIl1r03t9G30gpO9PpsNhp3YO/X08cTg9BYTiElOTt3qZOptEKpEfe7eFVKraMSx3iDmvM0OBuGl3dLyN/EyIMhqVU2/ZmDLhXHL3BkGmH45AZncO32ey9zdisJBPfI751Ex1HG5zAuS99ibN/7ec2ZBkXvvKH9K9ds/v85bfsbL/mGDqKkPU6ea9LvrJiHb1KxY6CiCPy+Tn7mU5TGxQyxgbZSiWqUZebU0+ikmRNuabSGjXymfc9WQiw2WqRslciDEPCICBJrIgb2Oxblm2ceZvlOUQGrTTvvf8+j148v8Y+KqUxmDW9877noQu7CyNFJ1hnrlKq0en2Ng2cKpsKZGZ+jq8/9x2WWiu2913beb25Umiji3sKQej7GCkJg5Asz8lVvqHE86D3yLK4Nzo9PcViq7XtHEObTNPWLhuDrpTIo4SpF95A7mdv28ruDb344ovcpY0cOFBbvSGeh18pr7ZoSAEj9k+nOV61jIqSoY3UWXao1Skbq2gOwf4OKk09ae8BAh+TZMhyCbXD7GYMpIvLB1/DQfG3rr66W3yA5BHvTeIk4dW3LvPGu1fIc8X337nCq29dJt5CthlWRzSMorRm+sQkYiRrNjqmYadjhUEACDxPoo0hThKiuCjXkJJGrUI/imh3u2iji3JNuwZdGKzR8w5GNYxG1EYbtquVMuNjY5RLIZgi/S+lPb/WJGmKUgo/CFb3RbE2USM9jzhJydKMcqk0fO/KpRKNWo1uv0e31ysyjQyNmt6wJiskk2Y2g7laIrqRLM/53vff5K2r79HtR6x0umCMfT9G+vyCIKDZqFMtl/GjBLG0YsslRmvZ9+IErXf+pUSUS2il6N+8Y53ue0k62wxucA7JARi8b4PjgjXKAgh8RBhY9buizyZo1hh7/FG8Ugi+tKWO+2XkrRdhsP/jbMXI34RJM8hy9BZ9sGvwPAiCe2NGl3P0HEdA3mkz//u/y+JXv4LOUha/+hXmf/93yTvbT6AYjGgYxWQZ1cceG6p/wqoTOKr4udVxvGoVIwQ6y9B5VojJ2My632hihCBdXCBbWMQkKSZNho6DRSCUYvnUWUQQghi0TW28IfY9j8APqFYqBL5HXKddAAAgAElEQVRv+/HLZYSwdirJMtLUlkHKEcO45rqwQxmTbKN9HG82idOk6KXLi9VRzNBd/SyP2nVtbHkpwt4nyE0cbqU1ea54573rzC0u0e726MfxcKyDMatB4SAIqJRLI20WGwVc9uIqDERo1mOMYXmljSf3YAOkgMAnmxxj+WOP7GEVu2DQKzf4by9753a9cEoR1GtrnzuwkVISNGrD0sqBjWw8fNH2Be5DXX0zRBis9u3B4ZZOKo3JcnTRk6j6O4/DkNWyDTgft4k8ZkcPXGbv2NmqJHOQjduMrUoyHz5/ntfffmfNcwdjGrZicKw4Sej1+2R5jhSCZr1OmqWcP3MarQ237twhy1Wx+wqkEOTF53iwwRpsFLYUBvh+QJ5lKLUxkmazfilPPHIesIqiGEM36rPUWhn21OVa4xtNGARkuaIUBHaGYGEcVeFwNmp1mo06AsHicov5xSVWOl3CMMSXHgZotdubRiNF0fQ+1qgTxbHNqGi9rhdsFWPMsNxlsM7NMmY2K5rixzl5tUQpydBZvr89x7MZLTO6YWT58Pt0pUPQrN/dKgHfO1xnbjfkau01Ds6d2RIp20OXAx5epYyQwhqxNDtY6erISXfs/zssdtPgPpBuP+aeCIfjqNiqHHOQiduKzUoyg7Fxxn7wMyx85Q/WPHe94uemx5mdJW+3SW6+jwwCwtNnbHma71E6exYhBO2Xv4fJMlsWZzTggy7Ug6Vk0FNc7neZyBJ6zSb9fn9D+aQsVDP9IOCRCxesfRSGsXqDK9dv2FJPo222TSkq5TJG2B44KWyFyagD6UnJ1MQE1UplaB/L5TK+7yOFohwG9OOEZIsB8r7v4xVqo0aPZP226q8eqXrQxqCLipfh+4213f0oWq24YedSy+3wPA+97roH5wcbVLcB7V0yuLjAIzp3EvX6Vbzd7v2Fc4U2u9ub93rZW1UECUG0Tpdh+DyjCRp1kqWW/ZssbKRXDkEIjDocZ+Su2cdd/q3oaBBwuTdFU+4mztk7ZrYqydwuG7eVQmdebPzrncCBOudm5aK+5/GJjz7JG+9e4c78AlIIDNCPIqoVq6BZq1R56onHWSjGBswuLCCkYLm1YjfXQnXTAKVSyImxMa7P3N5y89bGEMUJ77x3jTAIMECzUWOl3UFrjZQCjH0P0iwnTu2ohmhDttNQLVeZmpzg1p1ZmrUa7W4PgyHwPZJMUKmUAet8bWbMjDFkWUar3QFj8D2P9IDRKPs7LAJ3viQolUgvnUGVAurvvr97o2EPBkpvrKkfuck3KkdFMcKzjddaK0yWHY0i1hrFy7vgZGxWxyOKB0cfV8reYGmDznKSxRb92QX0oGn6QZWkPsxyUofjHmOrcsytMnEDthJ+0Wm6qRM4UOjcrGT05F/591n6xtfpX3kHr1RCK02+vISs1ZC5ITwxxbmf/+vDkk+A7muvofpddJrabbIIPPlj44ynKd0kIer3UJvs0doY29MmJG++ewXf95maGOfGrVvERU+b73l40iMIAnTRh6W1QbP2prYUBjRqNZTW3JiZIc8VQeBzMgwJfR8RBExPTrLS6TAzO7epSmaaZcjcKnMiJVIKtDb73v6HGcGiF9GTNkuoC1u8n8PuNCNQG4PSCs+ThEFAnKRbO5ejjxvQvk/7yUtMvPLO5s/fgLDjjswR2Zst7ZjZtj8uXmrZ1oARG9lLs8NtSbjXMNu/Jx8knLN3zGylkrldNm4rtnICYa2C53rxlkF28eTUCaI4JvB8sjzD961BadSqnCrWWatU8H1/KEoCEPg+1UoFz/MwxrDYWhkKomy1cQsBqmgur5ZLLCwuF8pgZlhn3up0EUJQr1XJ0gzf82jW63i+h9GGTq9HN4rwlpfxpMf7d+5gDJycnKQXR2AMyy0rUay32HilEJTLJQI/oFyyWdUDYwzGCBr1KucaTVYuXyVB0B+r0/7oI0x87/LumxF2YZBEECCKSHAeRfiVCt7EGPGd+YNfC6yWQEhpSyUxhyPyshsG9foD5cuix0FKH3wP6Xs2e1dEda1wS0bWWlfm9SA6eg7HA85mCpnbZeJ2Yjv1z4GC53rxlnRuDh3HhCdPIcMSoly2A9rLZcoXL1I6dXrNWoPJE8Vw9Y4t3fckXrlMMHUSr16jOjdPVK7Ym+wtSgtFoXTpF/2780tLRHFis1fYZGGGIk5T64RhM3DlUolapYxA0O33yHLborFQiKTkecZEc4w4TcjznCTN6PT6dubeFrZGCIEfBEw2m6R5xnJrF73E2zDIDPq+x1i9AUAQ+Ky0OxxVXkhKiSnaNbJcIYXYUpBmiC1VwotivN5G9cXVgxc914XaqsAUoid30cmw4gBY26ytjSzuC5DSiuL5Pv6JceLZhc1tpOOBxjl7x8xWJZmbzco7CNuVi9ZrNaI4RQpJt9enWhiLUhAMHc/BOnv9PuMNO2D0wpkzCAFxoaQ5v2QbYRu1Klmeb9l3aIesStIsw5eSxZX2lpG5wRD0crlEvx/RiyOa9TpCCltyWjQsK60QCLI8Y35piXqtRppZ9UbPk+TbRHcmx8ZZabdprbTXlKDsl0HkMkkzbrVXSCohlbwE3S7eYF7PYeqG5Ip8qOAmUFlKNnvIs+AMRb2/OVxlKTlIgW7zHAFeuQQIq/QlQGcKiUEUUeE8SQjHm+hSiaS1srtonidX5/y5nrPNuQdUxBwfXLYqx9xp9t5+2KpkNF1aJJg+CZ5POj+Pf2IShLSz9UYcz8Fas8UFyufOUT53Dr/eAAR5t03/6hWyuR5iYoJaGJAibFbODoDdsJ5B61OcJNvapVwp29cnBErldPt9GxT1fLI8Z6XTxfc864tIj26/T7vXpV6tkeYRAmin6aZtDgBBECCAbr9PnGycsbdfBm0YudL0+tYuHtVWo4sRTMOWk21VpAdVMwa0wY+S7UcvjPaT5zlGisMTPdmN8JUAGfp45RJBrUY0Ow9SWuVvKVb7JbWmNNZERcmubaQIQ2AX44s+qIwqGN3jOGfvmNkuG3cYDEo35xaX8D2fWrUCrC0XHR9r8ua7V4Yqmt2ibKZSLlMplxlvNtesc7NyUIBvv/Q93r99h06vR7KNwMxwozWGXKkdSzCSJOXk2TNW9bLIHqZZRq4U9VoF3/cYbza5nc2RpKkdBut7TDTHaHc75EpvGckLg4AnHn2Yr//Zdw7UM7DmmKEtrUmShCxLUb4gPzGGEIba1ZlDOcca1jXUg7d9ieWoARktidyq/2v0oZ0csz0iiwZ91o1RGFIIHAjpEU40bUSy0wWl8atVdJqSR7FVsTOg0nT3jpvS5J0jHC7/ILCqLQFCUhpvgidJlttFP9J9YOUc9y1HNYdvlEHpZv/KFUQpJDhxAlgtGS1fuEjvje9boRZPks3P29aFsTGC5tjQ8RysdSv10Pkv/wHtl7/HW6UaeZKSBGGh1LlRQMIYW5apyNG7+IxZYTMD2LLIJE2JooiJ8SZppqx4G4IrN26Q5jnlMMD3PWqVMlrZsUKbjScS2HuUPM/px/Ghle7bAg1JP7bjDoLAvytbya5tvDGIwZy4ShmZ5YUtYmf7cogXIsshupgXu2YI+5q1WvGg0lgdDITjTdKVDsLzkEFIHsUIIfEqJXSek/ejXZc2mi36OB0Fo7+PYiZmabyJ1opspXNPOYHO2XuAWO+EjTebvP3eNeaXlimXSswtLqK04sTEOL7nD7N2l69eQymNAKqVcrEhCqYmxzc4ouvLQV+7/A4vvf4G88vLSARJlpKvF9LYhDTLkIVDmef5lg3agxaxNE0xWpPECXGc2Cgd0O/H5Jmi3e3ZSKExxElKFC9QLpfQ2hQqn96m/QgIm8Gs16p0+xFC7bz2nYiKTKcUAqWKGUlZjqhV6D18hspCC+EVYyCOoLzQROs2aM8bSK0hirLH2vkz1M6eoj+7QPf6LXSSIn2JVvtQCDsAuh9vnz0q3p+s3SFrd/AbNYJ6jWSpRbrSYbRPIbo9d7SCJR/kLFdR0pQstfDHm65X0HFfst4RK509y/Iff5Po6lW8ZoP+O+9g0pTKpYeRpRImy1BphskyDIJgbHw4RLzy0KUNjuhmpaDdty+j+n0W//D30WlK+OTHmC9VbAnnNgrKgzE+WwUqhRCriQVtUIUQSpZLMLbssNPto7Xm9pwt6TfFWIWBjRyUfgaBv+lYAiEFAkOzXmel27Fz8oRYo9i5H2yhiEalKVJKknR1HENa7C27ysIdEgPlcCFsJqxSChlrNKjlhvnW2/Sf/hATL7+DzjNMtkW/+hHYBz0Y3r3DsbOlFtlyC1kuE9ZryCBAxQk6TqwAizHoJGGlfcgVP45VCh2DZKmFKFTm7yWcs3cPste5e7B5T16v36dWqdCo1zHG9ritdLr0+hHTkxPDctGxRp1seppqIWYCVqClWa8zMzu3Zh2j5aBJkjK/uES719vXhqyNIcuzNbOGNr4XVt1rZm6ecikk8HxKpRLG2LKMgYrYoNxzcFwoykuFYHpiglwrWu2O9QX06vlKYcD33niLJEk3zTAexHcYyGKXwpAsjq145VjD9vQpffdUFEeuS0iJ8Dx612/RuzGDX62g49hWrKTrDPhuI5lbscsSlL1sinmnZyOdngRlS0tEGFpBmiMUjSmdmCBtd9Yqou6W+3kGnRS2T1Or4e8pb3edCqjjWNnP7L3NHLFseQl/fILw9GnQmnR+nnT2DtnSEtVHHyUYGyeYmkKEIcH4+PBYWWuZ0qnTG9bRfuF58nZ7WAqaacPC7/4OeavFYEB69dpVODHNakOyfXzN/LXBdY6oP69HsGrrkizDkxIBjDVqSGGDiZ7nFTa/jxhx0gavy/IcVShaa23IVc7AhRw4midPnGB+eZk8VwjMoWfgBqMY1mcW74aTt/5cQgg8IUjTjPk7cywnKX6S4C20UNHGzKYI/FWbcJTL3VV/P+goJgObMaboI5QC4QeYZKTqZXTe707sdq/fr53zJEGjfn/3EK57j+7Fslfn7N1jbCekUi6VtnQEN+vJa3e6LK6s0Gw0EEJw4cwZ+lHE1OQEk2NjXLt1i/nFRU5PbRSJSbOMdqfLnfmFNesolUpD9dD3bt4kzbLhRjmYkbfbPbpWtTOEEs9mAwcZvvWsCkAalNakaWrn4UkxdPq2qG4AY1hYXqZRrxEGPiCGvYJSWtWsheVl8i0yFfuxN6NGSxtj5wwB5IpqL1k17ncZEQaEE+PEi0uQWQcwTdKtZ9AofbD5NLvZ+G0SeU+Gcv2wcaNTO7Q0V8VNU7Hx7sWgbYfnodKUs89+lqTVYeGFV3a3Xs9DlkPCeo14Yen+FInRBtYp/N23jqvjgWArIZXJZ3/UzrvbwhHcrCcvmb1D/P4NSmfOgOfRfPoZstYy1YcepvzQQ6w8/11kpWJn5o1gsozyhfPM//7vrlmHShO8cmUYnG1/9zny9goYDX4Ankel3yMpVzDSK4zbYAPcuNna8QgUY4/WBUVH9k17GOumdbo9yqUSYRCuqlAX++JmDpQuxM7GG3WSNBv2Bw7mxc4vLdv+e2PY7JN/0ITWoOJGY22n73lrRjXcTfxCVTxPMzSGxJOUpGRybnlTmz3szTvK4NfAidrlOVS0TkxGGfBGeu2HQZHdl7TuvEaBX68w8eSHWf7+2+S9/u5e53uMPXaJZKl1ZOI8d4X113oPBkKds3ePsZ2QyjMfeWJLR3CzEQ7VSpletDp40hjDSqfD/NKS7W8ymsXlFudOnSQI/DUiMSudDkmSkmYZ42NN6tUqS62VYbllrnK01ms2ZbXHm9npE5MopclX2iilCXwfhHXGYBDotBucNno45F0bgy8FmdK7iv5pY2zppzE06jUC3ycMfFY63WJI/NF/MJWxsz2DG7f3bhkLtcmDbiAmzUgWl4eO3uoPtnvRgU65Ow56DsPaoaWD9+nQQtAGozWLL79Z9Njs8mVKoeOEXAj8apW840poHI6Dst3svZM//dNbOoKbjXHwJyfJF1cDncYYktu36V95F4TE5Dn9967az3KWIYtZbX5zjPkvf5n4xg0qjz2KV6vj1eqo69foX71CePIkOklsBYdS9gY7s/M+pdaMzc+ydOb8jtfarNfQWtPrRyitKflWdMUKjqxpGLKDpo0BZR2oTre3dqvaxn5orVnpdGk26tRrtaF9zPN8zT3EZoiBGMghYGBfjp7YwpHdK4N7j1XHSJCcGKd78TR+P944NmlEf+DIGLy3BzjHmkzTUQTrtEFFCb2bt8n30tuZK/q3ZwtP/z6ugLkPcM7ePcZ2c/e2cwQfu3RxQ3bO86xwSafbRSllnZtez5Z/aE0QBOR5TqfbIwh8fuRTn+D09DRJmvKN577LwnKLUhgyv7RMrxxRrZQ5dWKSTj/ixq1bw/PsZ6P1PY/xRoM0zbl1Z3bYfzCaYRtk5kYZGIL1FYc7kStFtVKhXCoRJynL7fauGt/3wsA+bPpeCDBSsnLxFKWbs7tPmAnwq2WEJ8mWD17msK8yxP0ihZWg1mZvoxrutRLBYs5h0lqxpWK+t/vZPUqTxykc0tBah+ODznaz97ZzBCd+5HMbxjjIIKB07hzp3Cw6y0jv3CadncVICXmOrFTRSYKQEhVFnP8bf3PY59d94/sYDPGVq+RLS1QuPYzXaBAkCencLP0rV2xGb3Q/K25mp2Zu0po+hcGMZPjWEvg+U5MTXLl2o0jISNvntskN8fpWiL0GXos3EqM1cRKTq4BeFO0onmYvaXfnGtj47YKrUspdnXPNcYGJZpPldvvwSj8HLQFZDsbQe+w8UrD1rL2D2ixvF0PYj6tnfJcVMkYpktYKnu+j9qBGmvUTyLN7rsdtyAPSq++cvXuM7ebuGdjSEdxshEOtWuXTTz+F73k8972XCYKAOE1Is5wgCFBaDSNZJbWaKez0ejZ75nl21p6RRHFML+pTq1a4dWeWifExJo0t5dxU+GQX1+lJj1JoB5DvdYPfK9posiwbzio6bEdPFsNh800EXgQgcoVRClWv0n78IervzexquLpXKTP26EMkrfahOHt3FW0wZh8Zyb0+/y44h1rlkGsM+7iewxQzkRJZCtHrS3Ucjg8I28/eM1s6gpuNcQgnJjn9Mz+LDENmfvmLeKUyeaeD6keIShWdJpgoAqPxq2v7/CoPP0L/ncvISpV8ZYXe5bcQ5TJCSEyuaDzzDK2XXoJeb0Owa3zeBji1kEMVvwFCCHwpOXf6JLWynV+bZtmBRVF2QhT39GEQ0GpvPQ5pv5SCwIqobXPc/ZyzUavxyMULvPrW5dXM3GEhi7myUbr9rL2D2p/NnHNPrn38uByO3d4raYOK4+Gc5F1zWL+zopR5sJbD48Hw9pyzd4+x09y9rRzB7UY4DHrdZheX8H1/qHw1GC5qB5fXAHjz3av4nsfkxDhRnJAW0rtpmpIqxTvXrhP6ATOzc2RZvqaxuTiZjahiM4tqkz48IQQzs3O0u118z6cclnYsFRl97X6idzZQZ6hVSkS7PNduEdj+Q601IhfD/gohxdCpNHmOUJpguUM23qD95KWto4QjqH7M8ltX8ML79aN6xJuklMgwQKfp4W7w6yPtRqz2Ax5nuYnW6G3GmmzLg2GzHB9wdpq9t5UjuNUYB6M13TffoH/lXUSpjD95AtV/HykEeZraMkUpkfUa8Z3b6KhP3unQ/OSnkCU7YF3Fke3NUxpZrZLO2oxXvrhg9wrPW+27kpLA93no+lVuPPQoxvNQA8VkrH3LlGJ2YYlOt09YlG7u1u7tN/blCYnve6RFmehhUq2UadbrdLpddGLvRzYb9bAf2r0eN2/fJvD9Q3T2is1yYAek2H7W3lFwSD3eIggwKj+aMTlSMpxJaNi7o3eY2LKq/b9+K/t4L1UZHYD79Q7ygWU7p20/A9ijOOb5V1/jxsxttNZIaUVUstyWJ5hCcUtrzcLy8rAfb2m5xdnTJ/E9+yfy+ttvE0iPeqWK0moo8zxgIEc9KGP0PYknBHge2uih2JgoNngDdHp9wiDg/OnTXLlxY8trCItyUz2iuLkfkixjfnGZ5BAMwhrZa2PwPZ8oi4ezCpECT3polWMwiMDH6/fw0gwd+ttHCdeh89yqTR70Zr0YQH9XN6/DOtVW1641RqltnrBf1vXmDbJzR6j4uWuEZCiaMriJ3M2aHgyb5fiAs93svb0OYc9WWtz5zd+g+9qrBBMTJNev4TXHANBZumpv8hyTJBCENusnBSbPaTxtbXXruT+zDmGpjKxU0GlKeu291Yye0tg9ZTX4N7YwR+X0OajVyI0mEd5QAMX3PBtgTVNKYTisGtmKcqmE50l6/Wjf21OSZeTtDroI2B5knxPYYO9gkLkn7XxcpfTQwZNF0OwwHL65pWX8HdRY98RAGVXarybLke17eCbrNq0FJstWM5SHzT3YYyerFVv5MkhEjCqmbscDbh+ds3fI7EcSerfsdQB7nCR89U++RafXJ/ADelEflB5mx6rVihVqKZy3UhCSZhlTkxPMLy5x49ZtpicnAGtMjLbZqlZrtd9tNNO25t5Y2QbywUbuyYFS59regiRNt3X0gEMtzTgMR08WSp66qLE3wHLbllja2dMSYwqHWoDQ1nHI6hXkZBM/ivcWJVQaI0dV2w6yeHG80bf9Uiy59tA5Kwke+PRnZjHa4Ner6Dw/3DLXe/UtktL2AQ04JtU6h2M/HKV9hL0NYc87ba7/0/+FdG4OWa+TtVporTDtFgiBLJeRZVvWKUtl/PEJhJTIWhWTZrRfepHqo48CEEyMo+IEMls1k9y6teosjVYDGDO8QQ6Xl/CzlJZoIGHo6AkYBg0N2GHmO5BmGSI9+KY1aMk4SFDV97zhzDqrcWJF1/qRFZkZBEkPU3HTaE12FEG4wuk11TILn3uayRcvE3b7h3+eg5IrkIJgvEnt1BR5FJO2OmTdHsLz8Bs10qXW0WT37iWktP3xo2MQjmom7H1WKeOcvQMyarzqH/0o8c1bxNfe21QS+m7z8htvopQmDAKCwCcMxuxcO+BjH3qMxx99hO++8hozs7MkSYohJfB9W8Ih4OKZ0/zQJ34AIQTvXr/Bc997BQApPZRelWceOHyeFDTqDQQQJTFptvqhKxL9+2aQkdyKu/m501rjSR9PiuLfq+WatUqlUDa1Smh60MMnJQhITk2SdyOa+r3dn3DQIL1fYybEYCgT99XutAm967eoP3wBr1SifHKKytQkWb9Pf3bhuJd2lzBrDfZR9CveawI5jvuagY1c/tafAALV6+LV68duH+e+9NvoNEXWanilEqZUQhRDzk/95f+AqZ/4AjpNufo//nekc/PoovxfGDvGpvnMJzj7c/8xQkqia9eY+bX/m6wYXi4CHxMX7QIDZ88YRBgy/iOfozMzw52wgoxjvCwlD0vDAOLgk7eXT6Dve+TbZC8Oo2RyJxs8IFeKMAiG5xy2eAgbHB61kUrvTlF7J8QhlYSuO+jqPiglydQECz/0FGe/9p3DPc9hoQ3Z0gq9TFGamqB2/gxZr0+p2aD7/swHY083Br0HcZh9MSxhO9rTHDaHmPf+4JF32sz//u+y+NWvoLOUmS9+kdaffQtvfBy/3iA4dWqoBHYc1Gs1qpWK3UyNjf51+xFaaU5Nrfb5PfvZT3P65DQXz54hDAIWWy201iyttPnT51/kj7/7AoEnKYUhK+2OLakc2fQHm7XShiRN8X0PKSS+lPi+P1T/PAi7dfR8z1szHP6oyPLc9lEA1XKZUhgihaAXRawUEvtq4OgNnC0hEFGCABY/87Fdn0v63sHKJaQcma1z/xPPLdKbmcULfHozs6xcvkq6sHz3FyKEbaK/m6yPzI4acP+QYncfhJsCx11h1Eb2Ll+m89KLZK0WMgiP3T6G09P4kyds5QSg+z2y5SWMyql++MOAzRSe+/m/Qe2JJ2g88wP44+PWeVGa+OZN5n7vd1h58QUWv/5HyCDEqJz49m10d92YlTy3JefGIMsVbpw6S685hqrX8Y3BE6sBw/1gRqpoNv35oKQNa6+GDtge0CNZuZ1Is4ysGBcksIJspbC0wUYelnrmke5YAwEdrfG7B+j3v0u2IouioY0UUrD01jsky63jcU728Xd2IIzZ2Ot42Nd9n5pHl9k7AOtlnsOT0yR37tB/+zKNjz+9RgnsODg9PcXtuXk8KWl1Otb5MIZcK27MzNCN+ty6M0utUuHO/AL9KML3PMqlEoFvlbOuz9wmDAOiOKZWrdCoVcmV4sbM7U3PqbUiShKU1uSFcTjKz4YQgkqpRJzYOXpaa5IktfP4imHr245E2IS9REEHM5CEEGtKYNZsN4MIoRCYShk63T0ZDR2nOz9plFGpZClBD3raDhHfQ3rehgHndwUp8MslhO8TLyyvDra92xhjS2LvlUzYUZWrOBz7ZNRG5t0uGaDabXqX36Lx8aeP1T7WHn+S7ltvIgKf5PYMJkkxRqPTlM7L3yOYnCSZmWH529+if/06yY0biHIJf2KSoF4nPHOG1rf+FJMk1J56CmEMpdNnKPk+7ddfhYHDVwRbBw5D+/nvEJ5/iIWTZzBGo8IQNRjRsM99Otvms+97HgLIiuBjkqZrxiAIIfY18mAnBsdTWnN7fh6t9NY28oAc2siF9YwItKANtZuz2z9/9KWl0PaKDQK1hyS4sv1J7Xn8epWgViFtdeyMveMyT+Yeso8fcJyzdwDWz/sJpqZJ7tzGq9aGz1mVhD58jDHcnpvn2q1bPHz+HKenp9dE7MabTWrVKovLLQLfp1IK+f/Ze7MYybL8vO93zrlLbLlWZu3VXb1MbzPkDIezcDGpGe6kHwQJlm0JJC1IgGEINgzZMGDYtCRQpuwHU4RhmFoo0RT9YIoGzGlKHGtIikOZy0xP9/Qy01O9VnXtlXvGHnGXc44fzo3IyKzIzIjIyK0qPqC6MyLucuLGved//tv3+X7A2TNz3Lhzl3eu3yD0A8q1GlI6Vs40TWUnkSIAACAASURBVImlxGLRWuN7HsVcjnqzSbPVxliD2TFp+Z6HxZKmmiRJiePkyOYWa+22ngZjLaKnL3CU8o6Rth9iH50LyS/dHOocQw6o5+/ObzXmXyQdv3zFwKeuNUhrDaJqDWuOsWetY8QmhmyCCfqi10b6Cwsk6+ugZNdGHqp93Kc/MLx4kWBuntbNj1BhDjE1jcrnKX78E7Ru3eTmP/xlZC5H+/ZN0mo1I3pIMI0GxlPUv/0tTJIQnr+AV5qief06aXnTCan39oZbC8UiRBGEOZJqlfz1D7DTs7SmprMSTxh7QC7Dzt64nVJJjjhlsHlUKTVSr108gMzQiYTt/gcL+OuD94Xb4wiEZuNtL6/RVhLpe8fn6B20/WSCsWLi7B0AO/V+vKkphPIQUnTZwPZiAjsI2lHEezc+YnVjk8Df0sh77qmrbFaqXQfw+7/nk0yXiqxtlLvljXeXlojiGGMs1UbDkadYg8kEW00UESUJoe8T+D7FYsGRkFSqJMnDjlySpl0ns2uzjvH57j11b0/hyYCL8kazJaaOeyijQoAIguMxZj3Qx90of2LuqQExjBj8BBOMAb020puaQuZCknKZYH6eeGX50OxjWquy8cdfpXXjxkP986pY2uYE+mfP0rp1C392trt/+84dZBjSun8Xm/X1mXYEUYSuVtD1Ol6xiNUp/oxj7/SKRaI7dzDt1sNl940GKIWwBhvF5JMEIxUGVxJ6HGX2o5jpcZKqnA5+i2yEUUzQiqi98CRnXn93/93kYei9DQltMPoYbfTO775TN/BRxQnNZE6cvQOgH83zzKe/tyvSeliw1vInr36T9c0yi/NzhIFj0fzOBx/y/kc3mZ2eJgyCrgO4OD+/TZ/PUx6tKHbipgKUVKTaILMGagQoIWhFbVpZ1qxYKOzJitll5LTWafdl5CUnAYHnjYWF88CwFq/eQkYxXvMUi2Jb8IsFR8BzQn7jU4PjXOGMw9HrUJKfQGM2wcnDThsZXrhA6YUXD91Grnzpd2jdvkVar5O7eAkrBOt/9G9pvP8ehY89R/ujLRI1b3YW02hA5uwZY0jqdezqKniek9YREpMm3YWcUAorQDca1K69jX9/DlUsYpp70PNrnQm0W6SRnLtzkwdPPk2cLzj7ecT9TZ0nuJd45SgDoyd+BukM0Fi8ZoQJPJLpwkC7CqVAymMPiJ4oDOronY4owN44gQ7fxNk7AIaheR4XOhm9Sq2GtZaV9Q2W1taRQtBqR7SE0+XJhyHNVpvX3v4OZ2ZmyIU5rt+6TRgElGsuQ6eUJE01Gp3R2ft4SuD5HqHvs1mugBDUm00qtdpQ4/Q9j1TrsfcBjIIT4ehlSIt5hJIkM6XjHsqBEG+MUWBWqcdHQuBkzf/Do6esaYIJ9sNx2Mi0VqW99IDo/n1kPk/tzTfcWAoFGteuEa+sUHjxJXStSvPGdUwUge+T1GvEy0uYZhMTx26x3mhAmpDiZARUoYDRmnDxLCZJ0PU66cYGtt12++yF3gWgksw36iwDSqek8vAc3/3Qj2ztoFBSPlQueurQYbA2BptJ1AYDlnEOpOs2QX84vY7TKxNxwpy8DibO3inDm9feodWOODM3x8raOu0oIk1TPM8DIdBpytLqWuYAun1W1jcIg4CL585y+/4DJ/INpFmkv0NekmqN7yl0qqknCULKjDVaoo3ec43XG4zpCLOfnNLJE4CeRm+bC0nzITrwUae1l2GceFwcvQ6URHjeJOo7wQSHgJWXvwTGIMKQtFrN7JAlrZQRQUi0vETr7h1Uxl5rUo2QEu376EYTksSVbTYaXdIj26iD6oieu+yXabddhk95mIyZGd/f3q/XCym35jpjCDfWCdotrJKYMDdWwpLjxthlEI4TAkypAGlKfmXjeIbge1hjHx9bqRQI83iUfR4RHh0+9scEpWIRIST5MMTzPCygraEdRcRRRKq1+5emxEnqxFmFINEp95dXyOdyxHGybTIWQhD4PnNTUyzOz5NqTTuKXWYuk1PYj4zD7vhbZ6LqAIVciJRyJLrnfhBCII+a0rcHUgiUlF0toeHgFh7xwizVF68ewugOiOO7rI8PtMHGCcJTxz2Sg+MYn8MJJuiHYHERNTWNyuXAGmyaoBsNTKuFiSNMreZ671otdKuFTRMnyl3exNWoe+haDRvH3flQhDnyV68SXryEv7BAtLxEuukyeqSJK8+M4y32wX7oXagbg2i3ufrtN5haXyNUytnIMXx/p/JzvM9lLgi6Pf+nGhlDqpUSqQ2NCwvHMgyb6sfH0QNIUpfZO6325QQOe+LsnTKcX1xAG42UkisXznP5/NkupXE/d8wY66KQxmXuwuDhydd2JAuShFYmYdD9zJiHHBo5RDO55ym0daUiY9PU6RVqHQDjNnympz9xpMlISESUoBonsG/vOJm7BkHP9ZZhcHr1AztCyydl/MPcx72bPkoR/AkeCRSffxGMZuqTn6L0XZ905ZWdDF0zI3WyWZbEGNdLlyaYKEKVptz7SeI+68z1aUK0vIxu1N3tn6ZbTLxabz3HQ8mfWPL1GqFUqHarKxV0UHTkhkbFWAKpGQv2OAldjgUdLVUpQCl0qYDus4Y6dFg7uI1UW0FEeQSaw4eHIb7zYUNKRD4cYocTMu4enJCVxgSDYnZ6mnwuR61ep1ypcPv+gz1LJgR0M32B77NZ6V9znmpNvdlkfbOM7ZmgLX1KMoZY4KWpE1YNgwApndB6vzFKKfHU4JmOYfoBDqOc1GKZnZ5iulgc3JkUotsD4Lcicmtj7Hs77Ri0Pr/ntzRxchLn1MFgjIvWnpC+FpkPHWHGftnGHc3zIvD332eCCY4QHVKY9r27VN98fcsB63HegK2AC0CaYtMUq7Xr4du5nVKYRoNkfZ1o6cH2zzOHsfssD2FvpNY88drXeOn+bYppTA7b19mSmS7eILZmFLmhXhzUWQQwWb/+dKGAOq3ZmQ6y+0QHPslMkfInnjmecQz6m/as38xpbhOxHG8ZZ89tKzyF8jyCuRlEOEB/bc9v5U2XToTTOnH2Thk8pfiBT3+KH/3B72d6qsTM1BRBEOwajeudHqQQeJ7q3sNKKZRS3X2tdVlAvc+kMrQOndFOqDwTWt8J3/edDmA+f+zlJ4PCGMvqxiaVer2vA7srlNvWq9bxqnswt02wP6w93TX9x+joCc9zzp3vuUiwMRQunyO/eCZb3Oz2HIru/2QYoMLAPbMnJUM5wWOPDilMePYcufMXkMWi66ULgu0Z7E5WrmPPrEX4Pqqzve8jwhARBFuOYsepG+Oza4Wgulkm1paYhx01KQWe5+H5nhNIP6CN3G9326NTOyqixLWKlOv1fdcTpwLWOhJiqQZm5Bz/GEbY57RnVo8RMgwQnuecO2OxxhLMz+Dnc/vYSLoPmQh8VBggw2GygoeDCUHLKUapWKRYyFOrN9C9zd8ZBM6hM9YyVSySz4Vcmpnl1v17RFHsSF1wDJ9weAxaqTYkabTr5x1JhyRJxpKF6/Q+HAUbmLWWZNAJ1RiIYvL3V/HiBHmY4+tY9EfB0J40HAet8pjpqG2aYnsYz4zR1G/e6y5qgrkZ4s3qw4va7vcWjtQiipGeh05OYEnyBI81gsVF/PkzRCvLECfuEep9bqXMFm3K3fMLi3hTU3hPPEH73l10udydR3W1upUJHOMCOgkCVp98muWnniHZpbLFGEtsBs/Q7GtD7dFKLJxq7Mjw6kJI8eb94xvPBP0R+DDmLKZpOwI1ITxsmqK1pv7RXRcUkgJZyKNruwTsM9tqT1Df4cTZO8U4v7jA0uoquVwOrTUSV47ZmZ6UpwCBxPXOBX5ALgzwlCKRkjiO8T0PT0mEcMLqh4FBjUonopkPQ0cKM6IxOin6fg9DgO/RunwOcevBWMpldsXEkB8OhEDmQsK5aZKqY+hLa/WHylD9OOLc8m3Ort5jql4m125ipKRWmuXu5We4e+nZ4YzAYfycnTF3nFfp9KFskhKv71NiLLJgSpygxSkuFZrgkUXx+Repv/cu/vQMNo4RnofGIn3f9fEZl8mzSYzI5ZBhiCoUEZ6HPztPvLKKsAZZKEAYuj6+vs/h6JGY+8++QBKGGDFc/+7OwOwwzptTT5nYh6EhBAhB8d7KcY/keDDgbS48Rbg4j260yS3O07i3hGnvHuwfCw6xXNWmqWtVyJ63zvyxq6MHruJISUhTorWNE6FWNHH2TjCstTxYWeXm3XtMlYpU63WevnKZ84uLCCGYnZ6mkC9wxlisNbQj5yBZa52jZMH3XKlmrVbHU4qNzU2stQSBT6lQIE5TcpmW3mFF+gY1REoptNa0oocnBk+pgZu95QF7Fg4NrjkRpKT55EWq1Qalj+6fPvmFcYueniYRVQFCCuJyjWBmitbyCv040y8s3eIT116hHeZZnz9H+9wTBHGb88u3+e63v87i6n3e+NQPH2/UzzUB9Vx7sa1fd08YC1EMnkLmQmwrcs/4iQ20TPAowhpD4713qXzjFYJz54iWl5n93OcpPv8C4cWLBLNz8ITBGo2JY4QfoBv1rftUZtk6Y0nKm6jpafTKCiaOCebnu5lumcuTPLjvtvX8rJRTdx2AUTXB/GaDxvQMOpcbyNnrTJU7q1aGmUInWb0RkF0v0Yrwy/W9txXZr/GoXeIBv48MA5JKnXB+lqhcOXxH7zDRIegx1v1Tcn89zQ60AU+hcjlXSWMNNjq+td7E2Tuh6IinL62u0Wy1uH77DsV8nnqjycr6Bs8//RS5MOQHPv2p7j5/9Odf5/rt2ySpMwQdGQaZSSv4nsdquYwUklK+gMUSJwn1Vquv8QhzIVE7GmnOklK6dLcQA5dT7iXAPgyr14l09LrVb1kWRQkaT14gLeY58/q7xzq0oTHuy7vzeFlf44nsxzMW3Y4pPXGR1up6X0cPoFGc4rVPf4GVxcvbHLr3nvsefvBrX+bC8m0eLN9m6fyTRzTwPnACm1uvdxJYDIJUY5ptsObRW9xMcKKR1qps/PFXab73HvHmBpWv/znemTMkq6s0P/yA+S98cZuge1qrcuN/+iValSxrrXWXndMagyyVIEkc46bno0ol0kqZpFqFdEsfD2OcYxYECOU57e1Wc/8BbxNVV6S5PO0zC9QXz5EOmNXb7REbxuZNHL0RkP12hZv3EfutZ47i+nZtyoBO5RG2Hug4IZyZRvoeyfI+jvFJh7Vbzz4MH8xMtdPuPAHO/8TZO6HoiKfXm0201hTzeZI0pd5ssVGu8Oa1d/m+7/lkd3trLbfu3ydJdZfVUmclnSaTCChXayRJCkJQKhZcr582GGMQQuB7Xrd/TimFNZZcLiQfhmzswuK5E55SSCXRqcb3fdqDRkEedXRCr53KuTjFBB7JdPE4RzU6lMQr5tHtGDtKZlK6iLiQAoTEdhZRxiKERIY+utHa/zjH0JsolCR47x2evfY685sr+HFEEoTUSrPcufwsSxeusn7mQt994zDP7SvP8fwHbzK/sXy8zl4/SDm8QZtk8yY4Bqy8/CXSSoVoYx0bRagzC5hWi8Ru0L59m5WXX+biz/4c4Jy5u7/+z2jd/AirFCIInDZeD4OmsZZoZQWrNcHcHMn6uivh0tpl8Xx/S3IBV/Isg4DC00/TunuHdHV1z/GKIMTiCFeEH3Dv499NZXaOVLl2iwlOIHqdJAvty+eotuP9K3KkQAY+SOmCYcOeU+AySZ5CWJC5AKtNt/wYJV0wdBCzJ51W4JHZyCRF+B6Nuw+wyTBSJMNj33aJyx8b7wmzTP9QjtsJCa5MnL0TilKxSDtKCIOAZquNkAIhBGHg2O+miluMUJ0sYIelq18WLM3op421mOxvJRVRFGMhcxC3bkqtNcYYpJQEno+Scl8dICncGIu5PNZa4qE0hx5NPER6k00UXqqxQpCrNo+H8GMEyNBHeB4m1dg4Ia03kUEwXMCqQ4ogwMvnMLETNCZ1JVHC80BJ19g8EGxGmnB01+/yR+/y8be/hkWwcvYyjeI0YdxmprLOk7ffZ+nC1T33N1kU356Qxu0uOrphw+BRLVma4MQjWFwkbTTwikWSJEEKgZYSVSiCpwgWF4GtDGB0/z4yCND1OrZPUMNUK86hEwKrjevN0Vti1jKfxzQaXeF022qhtSZNEvfYeF62AO8f/LBJjCwUkIUC+ctPULpwibs7s+uPIU5TFb9RkmR2iuqLV5l764PtH0qJyNZRNtWYKHGv5XBlvkIphJRYa1C5HCaO0O3Y3YeZ5p8MQ0yrPdi9oyRYcaRBuWh9c/CWgCGvTy+OrF3CU1sZvmGH2vl+B/ie48DE2TuhOL+4wPLaOqVigUbTZTistZQKBbTRnFtc6G7byQKemZ2h2Xo4itTRsbPWOuMlBPV6wzl+1ommW2MwmbPWoV7ubN+Ko66ztxc6juRmtYrveadfUHUM6Dh6ro+QbEENqadQcUz+9oPTYe2EwAqJiROk72NtDBZMO3JR8kEzuMZQfPIS7ZV1gukS7fWyM2wdBwhLOFUiLlf2P5aSbkF20OjhEM52qV7m429/jdTz+frnfpL61Oy2z3PtveU0hDFcvncDgNWFS9s/lOLh0sqjgJKIYfr1evGYL1QnOD4Un3+RxgfvEywskmysuze1wV9YwCYxxedfALYygPmnniatVdH1+sOMmlK54Eu77Zw6nTgShnbLsXViXQWDEM6piyL3dxzTeucaMpfPDrTH82AMJoowrRYtYHVqDjM9s00E+1HBMCbNsncfoexZkxwrBNhMhkM1dqyzMir+cGGO9vJad1505B5Zie6AC/1wfgbp+8SVKsF0kfZ6gpAWax3LOEoOXE0jMsZ1e8SB94GrfQ7Q7wpH1y4hpMCOuk7rfL9jdPRg4uydWHTE0xvNJsYaGo0mylMkSUyxWGR2erq7bScLGMUJso9TZumUdLoJc6ZU4vL5s2hrWdvYZKNcziSE+i/24hHK9JJJVm8bTJb+F0Ig2glSG2Si8Tdrmc7Z+K6XzIUEs9O0l/YuKxoYGa2xzRqtdzpX2xw9iYsi7jTc3eiWJKnWMUlCc2nV3ZzSzaLC9xFSkDZcxlCn+5RxaoOacqVR1ujRHeYhHJYnbr+PtJYPn/muhxw9gHZu77Lc599/g6l6mZXFS6wtXnRvZiQRKhciEOgkcdf0iGyDkAqbnDKSoAkee3TE0+PNDazWxOtryCDAtJoE82cIL7rnq5sBnJpyZXD9gjtpAtYDIfBnZyl91yexaUq0vET7wQNMtYpNE1fG2bFtnWNojWkM2JuUOIcxLZeJdLqV3c+yhY8Khp26eh09JcQ2bb7D6MEPfZ9o0Dmvc79kDp3xPXJr5e2f43q72g/6MHWmO4Lk/e6/TqBPuZaG1toGwtgtG2mMyxLmAudI9epD7jl2tiRDTmK5/T7fYaa8xlM3rzG/uUKQRCR+SHUqa5c4f3TtEjY9/T3pE2fvmNFlE3v1G8x89nMUn38BIWVXPH3Pfa3l/vIKH925S7laJQwCAt8nThJXgpmxUnb09sCitcFay/Xbd4ni2DkfCLSZZOHA9VOA0zYaOyxYawjjBLW2SbhaRmoNOy698D2QEhuN1u9oonh8jh4MR2tswJVW9kTsvCxybQ2qkMOkmm7sVwj8YhFrXT+CTVKX5Rtw4ZM0mt1s6b4ZOiW7hnNUzJbXgD5ZuQHw5M13ePrmNerFad76rh/c+sBYsBpdH4Dk4RAwkqN3SkqPJzjd2M0+wpZ4+l771t+5Rv2992jfv+eee6XADyCJs/JvQ2ceksUCNklJajXKf/LvMFnvkfB9V71QH4BVcJBFtbWQJBQ216nOznerGrrP0wl2+npoQQ4NVgjEHpm8cbCJDuzowdaXta5XLp6dwqv2VHAMO5Z+2wtXZlm4fMFd5GrdtTdkn8lciPA8bJq1PUjxsBPZ71RJmtm9jFRISdijEkYEvqvw6EeOdsQVSFfufMDHr73Sv13i1vssnb+65/5jbZc4iY7ykJg4e8eITi9B68YNZKnI+u9/pcsi5k1N77lvO4p4+/0PuHH7Lknisnr1RjNLlAg8pVBKdglbOmWEFqjUakfy/U4jDsXJ6yCbLCNPoeZnmHnnZt/NbJoebFLdy/hIQW5xnqQVoauHyJTVex172Kx03fUo+tNFrDak7YikVnP9ekJgUw0KR4gwCJIUlc+B72PSdM+GcL9URIUB0XoZa60znj09OYPAT50D3s4V9tlyO5689S4ff/c1aqUZXvnsj5ME4daHp6GMdycmjt4Eh4yD2MfOvo333iPeWCe+exeTJl02TeEHiNBlSazReNPTrpWh1cImcTd7ZyO2+owHwaCLQmtJg7D/QvQEZ/mO4qnfr13ksNlElVJIAUnHbnXmZyEgTpCppvaxK+OVTcqcq9bdB1itkUGIN1MgbbYx7chdkzhxAxlyjSKEEwAXQqL3YleXknB2mqTWQEcxGIMMA8AFkI/SRpXqZT5+7RXXLvH5n6ReGmO7xGOKwVU8Jxg7Vl7+Eu3bt/HPncMrTeGfO9dlEdsPb157hw9v3cZaQz6f48zsrJM7IHu4pSRNNUoIx/7V6dkbU4TiZJqig8P1Nx7St+s09gceaT4kDbz+8+dhTqrGEpdr6Hrj0H9E4ffEknx/qzfFWpJa092Lqe4aL2uMM6h6uJJM3Wqjo7i/o9dZNElBUmsQbVZc7b0xrixrFzKF/l9IkPjO+OXag2fhrt58h4+/8yq10iyvfPbHicP89g0mftMEEzyEg9jHzr7J5gY2igivXnVlcEKA57uGhmwOkLkcKl9A+oGbe3a2IBjj3u/MJWNyxArlTfw4cnPQKQqePKq2vwOtNWlvZqvLxpnZb2uJ5meovnh1rOdV+Rw2Y9g0cYyJEudkdc5th3f0AGyq0Y0WOo737t2zlrhaR0dRN2hhpcgqcQaEp8Zyg2xrlyiNqV3iMcfE2TtGBIuL4HldFk0hxDYWsd1grUUbQzuKSLUhSRKq9XoWkRJ4noeUkjAIMIA1liiK9tSxGxbjME0n0Wi4Kr9DMrydRUK26Ki89DSV559EB/7hnG8XODZWcehOxjbna+eCxhhMKyuLkgJ/dmbkRZTwPYSS/W+ozjl9D+EppO93y8C6Qqn7QW1Nk5X5swAsrt0baGxP33ibl959jcrUHF//XB9Hb4IJJuiLUe0jgL+wQFKrkmysk9ZqJMvLjlhFKlQhjwpDhPKQYYgqTZFWKiTra3s7XT0yDePA7PoqhUr54exQ5/uO5Szjx+lxS0eH2GmLrAWcwHaSC4lnSw+TtBzohE6fjk6g2VrSdtSzZpB4U6XRAw1K7psxFmGADHyE3CIMsq1osMqXjpQSuEz4ATF0u0TP19q1XWI/jGHcJxmP9rc74Sg+/6IrGemBTZIui1g/tKOIb737HuVqDSEE9UaDSq2OsSb7Z7sMkCaLBkklEVIQhuGux+0HdQQsYcX8Y7j4tRaSFJ3P0XzyAuVPPH2059fmaFcSIjvnzqxyZ9FkLMn6ZkZbPkLkMtm7fBOAOEUqlUUphzxHT5T31pXnMELw7PVvU6qXH9q0t7zk2Q+/xQvvv0Flep5vfPbHSYLc1oZCOOKbUTCCwVfFfLZYGO2UE0xw1BjFPoIr4YyXl2nfvImJYtLyJrrVxCYpwhp0o+ECXsKxFcrAR4ahcwa9ATtbpHRBu94FohDdQN4gDJv5eo00DNGe1/eZdnwdEnlCSzofZWyvgOrpVBQCCjlM4BNUxtgG0ekl7w0+ar1lM7UhrdZGDzRo42xkv3up41+mKaYdoXLh8DbGZFnP3fr9hsRI7RJie7vE1z/3E9vbJfaAVypQvHwB4R0jM646XHds0rN3jOiyia0sd9/zZ2a7LGL90JFZmJ+ZYWV9I5sjHLmFrzxQrmevkHcLy8TzMo0+SZqmA7cHCVxZXT4Maccxoe9jjBmrdp4FEp3ie97jxd4pBEJJZJJgwoBkunQMQ5BYxlDS2xF3ffgEbBcgPSpqyR5B2l5Y6zKAOnaZ293GveexoV6c5jsvfZ5PfOcVfvDPfo+Vc1doFKYIkoiZyjqp5/PK536CS/eu89yHb2GEYGPuLFfvfbDdmEtBs1Di3oWnEZ5yvYo7ISUy8PEKeWya4k2XMFFMtLox3LA9RenyBfypItFmhdrt+3s26Y+MXi2iCSY4IEaxj7AltWDSFJPETlYhdoQswvdBa7yZWVQYdks4ozTFMyXSWnWwwXXIXoLQ9Rdbi/BdZkRXKgNlQ7Tn4bdbMDO3a9ZFG4PqMDVOcGSQQnTlp5wNE1s+nwTrKxqXFsmtbu5zILkV7NwPR1HKK3jY9nV4gXBEMLq9C2PtfugQx4zyPaToPps21VvtElGTRjDrBr4zWKycFIXwfcK5GS6+8TWef+dVajPzvPLZHyP2BkxuKEnh4jmC6RLSV9TvPBhcOmKcGIOTvBcmzt4xYj82sX7oyCwopVicn+vq6hXyeRbn57i/vMxGpYo1lrNn5lFKcXdpmcW5Oe4tLyN3inzvBgG+7xGGIVGS0B5UR21IjCLrcKqRTaI28EnmZ7BJSv7O0pEPY2y6O51Fz26LG+vKQ6zWh+8IeD7odLuj18MKmlbryHzO0Z+PsnrKjnPnyseolWZ5+uY15jeWOLd8hzgIqU3NcefyswAUmi7qK63lqVvv9j3c+vw57l142vVp9GjsicCJ1yvfI39+kea9ZUyakNxdcn2Q+RBh7P5srdJl9GUuJH/+LMpXVD68NRQhzX4IF+fR7Yi01jixpBITnE6MYh9hS2qh8NRTJOUyKpdDt9v4s3N483Mka2s0r39IeOEihWeeIa1UaN2+iVeaQrdbbq7qZyN3LoBzOYKZWdJqxRG7NBvo1uCL3fvPvkCzNLNFj9/BDsdPH7M+1+OIh+Qeeqc2CyI1+PV9pIFgyz4+FPzsgZSI0Hclk4eJjiO2837KGGRtmqJbbRd4HHUqH+Veza6JjZNuprw8u8BsZZ3F1Xs0ijMQMtYKgQAAIABJREFUeKCzfn7p+m79Qg7peaStFpde+1Oe+/YrVKbmePUHfho7Nw+blf2fRSFQYUBcruLlc7TXy/0Dr6PCk+TPLdJaXn+4F/ihbQ/XHZs4e6cE1loerKyyvLZGq92mkA+3Ca7nwpAHq6tsVKoYY6g1mzRaLQr5HKnWrFfKeJ5HnFEO70ehbC3ESYqSMTNTJWr1BtqYQ2fCemwgBFZJED7RwhxxqUBwTNT7B4Klv/PQc5+MKiExNPrRae8wPqY1nj6L8twir8/9hV0//+Bjn+SDj33y4Q86xr5XQL0jHZHBaoM/FZJU69Su39pmfGzidL6sEPtHX611h45TVl99E+l5JPXG8Aa5EwkWgMio5TPNqWh1Y6tk7TCyhRNMMAB6JRpyV65g4+ghsXWZz1N74/WuI9d45zu0b95AFkuYOMGkyRatf0ebrHdu2/msNRrEUUxw/jwsLKLLZUy97oifBkGakAYBk9rq04AeL004rT1/0DLObfdQn8+NOXxHD3af93sCG912iKNc5vVW/hjnzN2+8hxP3H6fZ69/m7WFi9tJWowl16wRCTfeZz/8Fs912iU+82MkVjpHb5AvIUBHCSap0F7beMgWD4zebGlHfkUAqaG9uuGC0PvhkKvbJs7eKUA7inj3+g1u31+i2W4TxzHNVpvpqSlMxia4ur5Go9VGCMGZ2VkQkCQJjVaLYi7P1SuXaUVt3rv+UbcHQCrH2LkbrLVEcUyUJGMld3ns0Vmka8dGGc9PsfLD38OlL//Z0Zr9UUoZJ9jCbs7WHk6YVyi48rK9HGCtidcf7gfsouMk7gWlwBpUGGKSBBXm0ElGzCPoX+raD1l5Te7CHPMvfYzc/Cyr33yb5tKKy+Zl451gguNCR2ahef06OompvvYNCALCc+e3ia3X3noTYQ3B5Suuf9da4tu30LrCwk//DEIIKt94hfad26AUMpfDRBFEeyzEdUq8vOTYrpNkKD2uzYtXMP16+ya+34nBlvNPjxPgHILGE+fI71fGedJw4vVRBV4hT90yeLvE+29stUv0qaJp5kvcu/zM9jc7WU4pkZ7n+OqMBWF7OA0GvFY7bKRXyPPgj79OUm9gU308JaF9MHH2TgFe+9a3WVpbJ9UaJRVB4COlpJTP81M//O8B8Pb7H/D+RzdJU42QHfYySeD5BIGPEIJcGKKUIk4SV0Y+wEJ/oJLPCYZH1lvmjAlYpag+/+R4tXv2g5Qj0zkPhL3KO4dFlsnySgXSUbJTA52D3aN6vVmtDnYzBHsYiLTR3GJc63ueLGO333PXkVPRxvX8mUyovvNMZ9ddZ5n/tNGGXrH7/a5fp1lcSJSSRKsbPPj/vsH8d71Ac2V1y9GbYIJjxsrLXyJeWyWpVtGbZUS+gKk7eZmP/f1/0NXku/kr/wvNjz5CZg6WFAJ8HxnmuuyL/uwc7Xv3QGtMo7H//JUJpI8yG4XNOs2+eoETb++koJjPU28+XHEjdEoytTf9/0AYlERhkEOFgYvhpenuQdyDOHr72fOdlR+jnMta0qzCaZztEvefeWl7MKZj/1LtSNukQCiF7QjVD8Iz0M9G/rtXkIFP2m6fuED6xNk7Bdio1ojihHwuRCDQWlOuuZvcWosQgvOLC9y6f58k2ZqYrLUUi0V8X1FrNChXq44MJUkIfJ+oX9nbKYRSciDHtYNutO64oRQ2S/mrzRbx7BTVF68y99YHR3N+rQ/P0escf4wQqmNIJDCmY/f09G2b23caYYuTjxAgwxCTpKN/v4y5bF9ncY/ooj9VQihFvFF2+oTaspdxsnGMCIKMeGmQrKAFa/CmCthUYzKWtbVX3xrkG04wwZEhWFyk+sYbgEUUC9hWk7TZRFTKrLz8JS7+7M8DMPP576fx4fa5VSgPf/4M8eoK0f37qOlpUAohBXavjN5YsEWzP+l3PZno5+gB2MAHIdCBf7Dg7DjNr7GovCMlMfoQWif62bud9jOrNJNhkFWvjFgWmaE8v0+7xIuf7t8uAYQLc0TlquMKSPfJuhuLFYaBByslWToQv5THJKmzkaneu2rnGDGRXjihsMZQf+ca937zN5iz7ia01lJvNmm221hjSNKUb737Hu0oYmZqCk8q6s0mlWqNeqOJsYaZqRJJkvJgeYUoimhHERYeGUcPBstQ9uJEOHodZL0hOh+STBcR7SOaKAYt4zsxsI4SGhhKCH0/7HYNOm/vzMJJ5QgcDjqG3RZ41iI8hQhDUN6uDmFSqRFvVtyLAe9/G8eu12+nnpAQiMDHKxURgZ9pJgEIdLONSdNuqYtjl5ssTCc4fnRsZOP99zFpgjWGdGOdZGMTrEW3mrSX7pPWqlhjELkQ02rTfnCfeH2NeH0NrzQFxtD4zndIazWaN25AEg/n6I34PEyvrSB7xdoPcKxxYyL30AedayKyOnhjxi6sfhAIgctOHWE1luiQz3SQ2Q6TpKP3vw104uyce7QhRWubW58PYiMzQfv+9tGjdPUyIvAQvodfKkAmxaGjGKu1s5Hb9hv42xwJJpm9E4i0VmX9q39E7c03SKtV8vcfYK5cZbPVIsm0yKSULM7PsVGu8Nq33maqVEQpxbNPPkG5WqMdtQn8gAcrK8yUSnzsqSfR2vDeRx/Rah9BM/AEA2ArfWQ9Dy0F6cwRyTAct5/XydINWhdvIW1HSKnwi0WSVstN5L2Rxd0g5VC9NL0QvhN1Nol2kU2tsUIRzM64mvwDRHVl4IMFVcqTlGsgBFJJZBiQNgdgegNkLsSaTENpkOvYacD3VJZhxJWhBD4yDLDGoPI51zdYrnZZW7tH9iUkJ6s8ZYLHD0mlzNL//S+pf/vbBBcvYaOYuLzhAiQme1aVh0lSln77twnOLtK6cYOZH/gB4vv3MUnC9Ke/l42v/hHpZpPiiy+RO3uWyhuvoytZv+ygPbkjBg9n11ZYaTdpedNbi9dOf9gxrxSllC5TMUF/SEE8N01+eTgZnEEhPC8LKg5+b5k4ITYNlO+hrc3s4+i2bxDYVCMC39mJHmkhr5gHKUir9dGDytIFJlXG5m21BZxDZgftq8sCmR1Jh4FgTGYf3fpESIH0fZJ6ExmEeGFAMDOFxTF8G91nPX0CeyMP1dkTQvwU8L8CCvhn1tr/ecfnTwD/ApjNtvlvrbVfPswxnXRYY7j9T/4RjXfecTfW9BT5lSWKuQKt+YUuja+1lqXVdRbn56g3myRpSj4MuLu0TLlWd6Kg1qKUohVFpMYQxzHxhDHv5KDj62XMTTLV+Ju1XbY9eZPHgWA6Ub8hvlOaIqdyrgyxs9t+hiRbRInAH8kxs1FPP07nN0i1y6odcD3WKfcwG1k2V4A3VUSnGZEK7E2iYy2mHQ0k4PwQUt3Tg2GwNkAGHrppkUoRN3ZxNpPJAvCwIIT4FeAzwOvW2v+y5/2/Avw3uLv+H1hrXz6mIZ4IJJUy1//HXyReWsKbnSVZekBw/hxpq4FttrpSBqZeo/3RR5haHdNuoWZnad+6SfvefdLKJs3338tKNiWNt94kuXiReHVlf1a8Mc3D+XqNoN0mKhQxnV5d4LgdPYB04uj1R8cGWLC5gPbZeey7N8f+iw3r6HWHpwTGGKTvuV60AWW2wDk0ZliJLdsjASRlt+LFSfEMd6iHYCwYjU6dLXK96Rbpec7ZG2Z8O7N1+6HrGFqsAas0Nquwk2FAXKk67oA9znvScGhlnEIIBfzvwE8DLwF/VQjx0o7NfgH4bWvt9wD/MfCrhzWecaG3vLL+zrWxpszTWpXV3/tXNN55BxvH6FaTtFbFC0MaYQ4vTQl8n0I+h+97NJpN7jx4wML8HMYY3v/oFuvlClrrLoOUELgyzpVV1jbL21g1XVWWeyKVknijLBonOBgyghShNbLZ3l2k9QROHgfCKN9HKaTvORti3H0sfG9vwpOsLNKfGkPGtFveyOEQ21hIW5FrJM965lQY7G80R1wY9PZg6FabeKOCjmLSdtstNiY4MgghPg2UrLU/BARCiM/2fPy3gS9k//6rox/dcDhsG3nrV36ZZHUFlETX66TtFmml4kovlUTNzuLNziIKBdLyJu37d7FSUnv9NRrvvkO6seZkWlLXd2vjmLTRoPneu5hKZetkUkIYOiOqFMHlK2PVwpLGcPXtNymVN/eWeJjgZKGHRCuZyrP0I5+leWFhvMUyI94DwjriLhNlgU1P7R8MtHQTCAdCP/KyMdpIm2r33TotFNm48QZYtx5wDjJJQlKpY+KE9tqm6wU8Zc/pYWb2Pgd8aK29ASCE+C3gLwLXeraxQIeOaga4f4jjOTA6FM+tGzeQpSLrv/8Vmh9+wPwXvthl/OqgV/dn5rOfo/j8C4h9ogsrL3+JtFIhvHCe9p27yDBEtyPK+ZRUSie2LCVRFGOs07yT1r2+ee8e0Y7MhbWQ7CWtQC9Zg5hE844DUoIHuphHF/MsTRU58813KC6vI05VT90hI9Oliyu1bXX6Nkmzkovd79384jzRZvXgJS1HwK5ldvQK6eZ4dAH3haecsTcG3c4czgmOEt8H/EH29x8C3w+8mr2+DnSo/6pHPK6hcBQ20sQxanoGXa8jfA/TaJCWy4iOIxYn6MT10SAEQkhqb3yTtFp9WIuzk8XrZ/uysu0OkvLm2Bd4+XqNsFaBuTNbb0765U4BLAiJzucwSrH6mZcIGi2mr92gsLR+OLnZ/Zg7Bc4RavVk51KNCDzsXiSanofMBa6KZRgG7f3GcwjrF7sz624MHElXgQAlsFFyaqusDpOg5RJwp+f13ey9Xvw94GeFEHeBLwP/xSGO58BYeflLtG/fxj93Dq80hX/uHO3bt1l5eXtVTVIpc/fXf407//hXiZaXWPvKv2H19/4VaW1vO+0vLJDUauhmE4whNpZ7l67w4MIl8klMLCRJkmCtJfADAs/n8oVzLK2uEh+gdyjwvLHr6E2yhENAShd9kxI7VWDthz7FxsefQQf+cY/s5MBYZ4T6BS/2qcVvbVSwOh2trORxWXglqTOkfrZgHqbsZdgSmQn6YZYtR66Sve7gd4A3gDeB/+2IxzUUjsJG4vnoWhVrNLpWc6XM1iJ9N1+aOEJ4Ht7MDDIMkYUCtt3ed57YE1pj6/XxMAz7vssYeh5RoUjt3EUkj89U80hASheA9DxsPsSGPmkhZPPTL1B9/snDsd37+ReWrZ7s3rfjvcuSbZqioxhvqrh3lcyw43mUYIzr+fMUMgxAnb6H9bit9F8FfsNaexn4GeD/FEI8NCYhxH8qhHhNCPHa6urqkQ+yg2BxETyvq8kjshRysLjY3SatVbn5D3+Z2huvI3I54vsPSCplqq9/k+u/9Pd3LWtJa1Xi5WWi27cQykMoxd2rT9GamaOUzxHOzGBwtfTaGKI4xlhLMV8gCIIDOVfxfj0KQ0JJied5hEEw1uM+FshKhmovXKX8iWcmKwCcfpDK5Ube37baGG27vZHuoANe11MYwRsJWVmqVyq4bOkwGdDJLToOVNiqcpkGyj2f/R1cK8SL2d8P4XGykcnqCkiJabUcy2bg48/NYZRyjLNxjGk2SSsVhO8Tnj2Lmp1DHGAOGSu0RuXziFyOD7738yTK21FlM8FueO7P/pS/9XN/jb/1c3+NF//4q8AxMocK4ZyjLFBrAh/VaJNkEkpHPhZ1gOV8khI3GlvzvuzD2vy4QxtXRtqVOjpdOMxf8x5wpef15ey9XvxN4LcBrLVfA3LAws4DWWv/qbX2M9bazyz2GI2jQi/Fc7K6sm0BaJOE4vMvdF+vvPwlbBIj8gVUECByIdHdOzSvf4gMAtZ//yt9I5grL3+JtFpFTU+jGw0sllwUQRAQP/cCm7kCge/jeR6+73H2zDzTpRL3l1dotlr4gX9i1lzamK40xARDoEPpnC2Qak+cp/L0JdY/9TzthdnHI5CmJGQlyzIXogp5p6/nHXCq0mlWt5y9HtaJOylO9zCR104vwyB9GxnSZtv1QQ6DEyYee0rxNeBHs79/DPh6z2cR0AQaQN8I2nHayN4ePREE2Hh7KfI4bWRSqSCCAIxB5HIIpZyKTKuFSFNkLoe/uEh46RK5S5fxpmdIKxV0q0lw9uzJWMAag240QEiCVgvjeU5vdRtJywQ7UVpf54d+8zeIdzjt5rgCcr2/lZLYMCCam6J+4QyNc2doHZbNls5GynyIVyrilYqoQv7ggcko2ZrLjT1UFs+xQHT+bf8dup/tu79AFfOu/HtAu2q13p/AqQ9kPtx/7hmk9/AAOMyZ71XgY0KIp4QQAY6A5Xd3bHObzMAJIV7EOXvHF5bsgw5pyvrvfwURBsSrq1Rf/ybte3eJV5bxp2cIL17sbh8sLuLPn0FkTaTJ+jomThBhSHjp8q5lLcHiYhZdN+iaa/6crpapl6ZotloZ0UqCMQajDesbm2xUKpSrziCKE+PqOcRJcqR6L48MeievfMjmZ16keWGByvNPHl55yEmCNl0KZy8XIqRC+T66dUC5kE4zN9n/B31cOsbjJGT4erURheu18Odnd9++U7aWbu892tOwRbEr51QS4ftuEeGpXYkpZDG/Vfo5wciw1r4OtIUQfwJo4LYQ4r/PPv5HwJ8Bfw7802MaYl/02keTxNTefIN4bbVrH8dpI73pKaL79zCNBqYdIaXEau2cvkIBkySYVou01SLe2KB97y7R0gPitVVsq0Xabp0cZypJsE3H5mfh5IzrpMJavvhr/5h2qcR3fuRH99/+yNCrvQfkc5DPkU6XWPmhT7H6mZdIx22zjbORUimEJ11QNBeOpUdO5jJCsGGCioeJvYbRCd5au+VIde20s/G5cw/ljnr2t1htMtmIAa9dj7yEDHz8mSn82ek9baAI/MHYQw9SZj4ADs1KW2tTIcR/DnwFJ6vw69ba7wghfhF4zVr7u8B/DfyaEOJv4362v25PlOL1FmmKf+4cQghmvv8HSNfX8WZmufizP/fQ9sXnX6T+3rvIMOeid9ZgdUowdQZvaqpvWQtA7soVHvzW/4VpNbNokCBYWUa1mlQrFbTMCBR2XB6lJEmqmSmVSLUm2oM6VwiBFAJ9BE7YifoRTyM6TcBSoqeLRL5CGIvJBcy99cFxj+7QYa3BaI1JU/wwP66DAo7B02q9f0ZqRIMnwgAbx/s/BJ4aXCsQth+v0zOy17PcyRRYs33f/c5lLCiBUBLdam/NOR3HN9M4kkHg+qV6S38mpWgjo1duIcMvZe//BvAbRz2eQbDTPqpiyUkG7WIfYXQbWX/vPdq3bzkHTym3rzHoegNEE+IIhHS9dZ1nPQiQuRwyn0fX66h8Ht1q7d575weuCuAoApVaU1pbobywiOlk9qx9bBy/s9c/5FP/75c5//575Gs12sUSG1eucO0LX+T6579v27bf/fv/hsvXrvGl/+4XuHztO8c0YreG2rZE7dV662olAp7ESp/W1QusTRdY/NO3UAfgVegHay02TvCUR9oaD5GXaccIJbFC7El61sUIZCUyH2LSdH8ZHwFeqUhab+5/js7zKjLWGGtBSWTgI/M5TL/rI3D2axjitt6f3vNI29GW9ISnMmH2bCMpnQRGnGRlseKIyGT641BrGqy1X7bWPmetfcZa2zFcfydz9LDWXrPW/qC19pPW2k9Za3//MMczCgbpQdi2/fnzoA262cCbm8NfPIvwPHJPXu1GH3aWtQBUXn0VE0dZNsw9aDJJCKtlrDaEgd+3L89al0XbrFb3ZdO01rp64wlOCUSPDp8kmS2hGkfEznjc0AZrLCoXYo3Fy4+p30YIwtlp1CD9pMaOVKLohMkHcFA7WndKDedYZnORTVKSWn33PsROxHOnnRzkVNpkbIbZa08hPc8JwctO/QxbeolSDnjgCR4lDGsfrTEk1QrRvXvIfIHck1cJFs8NZCObH37oovBSbvW3WSCJkZ6XySSwvc3CWnSjQVqvY1rtLvnZrjgqRy+bf+bWVgjarf609Y8wXvzqH/GXf/Hv8dQ3X2Pp2Y/x5k//DLc+9Sny1Sqf+MM/2Lbt3L17fN+//C2+9RM/xYMXXjymETvsmovYVjUiQEhnvhONkWq0Hr59bIJutpG+TzA74zbPhcOfow+scE7SYBuP0g4hkJ6/v4yJdULx3Wqn3S5HjzmiK7buqt2a91ecY7nL8d3/R3jeBOgo3tLulRKvkN/6zaRAdsoys4q947aOk/qbfVB8/kUaH7y/7b1+hgi2aKeFlBSef4H2jRtYa/Dn52m++w7RvTsE5y8QLCyQVCts/OZvdCmnw/PnCc9fIFpdRWCxicBiKZbLlM9eIG23UZ6P7hNZ0lrvy6YphKCYz3Pp/Dk+vHnrSLJ7ExwAnYwMjjhDpilCG3Jr5X13PTAOmqHpF+2TmQE0xk2Evodp7y3gGkwXOfOpj7Px1jukptkjAn4ASEm0WTmcEmMBMgxBSUyS7C2ILsRWdk7r4VLh1m41iOtORLkn699Lid3P0O13LuEyIo6oJds41RitEb7ffc+kaU8UUxx6GcoEJw+j2MfWjRsUnnuOdLOMaTbx5mYJ4mhfG5m/coV6o4HK5zFRO7ORKWiDaTUR+by7Z3vmHyEktt12bJzuHXZ7AESphD83T+7CRapvvQHRLqXjB52HMkIPyKQX2m3ahdJjk9Wbu3eXH/4X/wdxPs/v/MLfZfPy5W2fFzfWu38LrfnRf/Kr1M4s8PX/8D866qEOCbF9DpYSQh+5URksSOt5jlU2DDBRPFDQwSvkmHnuKnG1SlKpO+Hxg8zDnkIIsa9tHglSIIPAyaFkDtCeWTUlkb6PFTinKsuDPPT47vK6qxVr9nmmRhGv9xypUjdTZ4wTku+Ukxrr1gBZfyVSuL5c9vht/MPt2Zs4e/sgvHgRf3qGeGW5+54/M7utB6GD3pKW+re/hTVOC0/lC5Q+932k6+vIfB5/bp7Nr/7RNh2iwjPP4M+fcT0JnUnfGKY31qhUK0T5AspadKlE2kNYqgfMPCgp0VoTxzH5XI56s3nwizPB4UKIbkmI9p0hSAMPn0POoQzr6O10DvtNntYCBhX66EQPZEystiT1BlG5ik4SnLYRo9UIZwtA6XuoIMAaTdpojS+KLkCEoQvExE4epa+j5zlh+NITboFT++gOSLCCvrTZg5x3m3MtQKg9DH7v9rt9dUv/MlTrsokoicrlOPf9nyaqVNl86x1QCtNbwtLvvBM8chjVPgohaN24QVopo6ZnmPns57DW7mkjZz73eRrvvYuu17YCntZCIQ+tlnPoxPa5aCdZTEevs+99qg2kKTIXuGdoty990IBTj35fR1j9vU9/nnax5Bb8j7jD9/F/+4corfnaX/xLDzl6AI35Lc3Bz3zp/2Hh5k1+53/4u+iTzu4tuv/ZctwFRGfnKN5ddm3je+0urHOGOo7QvrbJdm1k2mg55+Kg4zcWlfdA+K58coxQhQJWp5h2eyvwu+38ApUPMUkKCBY+/Ql0krD59vtue4YMinbRsY09V3+PaztIG0Y3qLTtTQtaIzwFvo/yfc5+7pNdG2n2c8LTw03ATJy9fSCDgIs//9cH2jZYXCRtNFzvQqHobhhAFYrd8pbo3l1Mq9U1eLZYon37NsnGJrmLl2je+BATRY7iNUkopgn5VpNWPk87n3fOnWRgVjHf8xDZYtxTilqjSavdGvFqTHCUEEI4fThjsLmA1PNY/+TzTN1+wNRH98feAzAyehqWEQLT0cPrzWxlCyw9RMQwqdVZ/trr2zJGIvSdbtCwTlpmfK0xWMCfKpE226M5e1IiQx/TIY1RWalkqrNo4h6OVKoxxhKXKyS1BgKLsdb5sMM6sl2nrcdIKOV6EneyqWXbqkIek2pU4Dtnd5eoqgh8Z3ykcIat9zjGYoxm+euvY5PURZO1dT0Luzmsj35l2mOJUe0jOLuY1mp4xRLAvjZS5guEFy8RLS9BmmKTBJTCy+dJW7vfy9tgjMusdRbTvu+y1WlKeOUKenOD6je/+bB4cwdh6ITZx1gZ4EURypqTwRR6BDj/4YcA3P7kJ/fc7uyHH/K9v/syb/30v8/yx547iqGNGQKUwhpL49JZmCoydXsZKrUtZ3Abs7tGJ0OszSxE5QrLf/paT7Bvn0DBflU71mKNIZiZdvZx1Pu804NqTHcdYHWKTXR2fv1w4NZadLPtKmQ8n+qNW5h2hLAGa/psPwh6r3HnmkvhjG1vn1/nM6UIporEFbNl9/qdV4AqFjBx7OYhu/W+tSBSjRWw9CevInyFzAWYamPvsR5y+fbE2Rsjekta/IUFkvV1EJZgwTEC2SQh/8yzpLXaQz0O4fnzLPzkTzH/xR9h5V+/TLB4luaHH9C8fp2n3/0Oz509y90Ll7k5e4ZUuBLP/cLlfkcsXbta89RoallG76FG4wlOHCyA5wPGTUS+QJ+ZplIISaeLLLx67ZhH2AMpsJ7CtnvKTw5CyS+EIwfZARuN6OBmtfQq8EmbTUfSMOz+xjlLXj7EakMcJcjARwQ+ut7YfYG4E0KQVOsYY/BLBdJWhE010peuNLLXGO/VAN/7vue5hvpUb48g+t6Ws5yV5wjfyzJ/uz//Nk7xS05kN222EEq6bKw1Tkg4itF2aw7yZ6aQqSYdJTs5wWOBnSWf/sIC7ft3u/YR9raRuUuXuPw3/iatmzdZ+dcvk1YqNK9fx6Ypcmoa6fuklUoms7JHb1XH0VMqi8a7AFD7xnW3TZqC8vo/e3E89szb0jPPEbSaNIslrAwe+XLOIGMhbczN77qNK9/8R5TPX+CV/+CvHNXQxojtRCHRuTm8MMDkQma+8bbbZAzrL7sz4LsvkckelRdCZhltQWttc7QBSUl+cR6TppmMj49NErSJXf9d75pgt6EKgQiyzGKm9yeDwAVqtaaXkbpbUr1rlUrPB53gs7ZbgZVM5slmJCrCWuJyFdu7tu53bAu62cIr5rFKYbTeVk1jO61VAkiyOcP33NxyTMvuibM3RvSWtFitscYtfHS7hVkTWCB5AAAgAElEQVSJ8Gdmmfns51n7ype37dfb49A9xvIyutFANxvIIECGIRuFIqmnUFgkgqywbVdorbdp0PSKtk4cvVMC2f2PgwWbD6k/fRl/o8rU9buHy7I0KIzFNtuI0NXk2/YBpBKyxd0oZY3C9zJSEusic9Z2HT0ZBKhigbTZwkrlMlLxAA6pr/CnSuh6ExMnxGmKVAoZeK6PrW2Gm8Cti3YGhTw6ijJOCQOej9AG21vXP8hzKlwJkAhDlwU21kVCtdnGDiZzAaUnLrly4FZE88EKu/UQqFzgDFhiXA9H76JCG6Tvu74SnOFM6o1J9m6CPbGz5NNqjVea6tpHYCgbmVZrWWQ9RhUKWYbO9cmIMHSVNTszE73Pk3YESTbKgkq9/UN6twy13fuZHIGdMGg2WHriKZBq6xiPMOJCEYDi5gbl/KW+2/jtNnNLDwD4z/7Gf9J3my/+81/ji//813jrJ3+KP/vZnz+cwY6KTklndj/YXI76gk+p2cZ6CnHQ/uaOozPKcQIfYS1CKcdGCW4a9xVeqeiSXuvlLQbJ3cqedxxTusMQVWqOpCwXokKfqNl0AcZBK5GMRScJynekYDpNs9ML14PbsVlZNc1AUBLpeRibIpQCbLdvvzMuISTBTMnxbJRKmCSm9WAPJTjh1hTatLFRJ3ia9eD7XlauvdXTLrDHyr00cfbGiEFKWkwc79njIIOAs3/pL7Pxx1/F6pS0XqNZqXIXSTtNkcaglcducflu2bg9uNioUorA94mzWvD9SGAmOGwIujOq1lQ//jTtiwvMvfE+wZjr60eFjWJkMT98SeK2g9gR+9dETy19Fr0zNpMSUJgkIVpZz3oi0q3h7bNAK54/SzA7TdpoUbh4jtKVC7TXNql88BH1Ow9cqe0wMBZdbzL/0nPEtRrt1U2izTI2ThB7XbTecXaMV5yAp7DaIJR1mcHe6Glm0GTesZpiLTPPPcP6m9/Zs/fIWpCBh5QC6Qck1Vp2bI3wvczR6znHhO9pgn0waMnnoDZy/Q//gPad26TVCrrZRNdq2QEMNor6P9OeTzfjAtufgWFK1oRAlkrYNHWLxU4p9Qg2d3pjDSszuvvs2I8ylp59lrMf3eCJt96ifLG/s6d9n2t/4Qt9P1u8eZPFW/8/e28WJNl1n3f+zjl3ybW27uodxL4R3AVClC1RguWQ1xhZClqj8NiyPPY45s3vGk34fSIcnoiJsD0hS7Zlj215FBKhsWiTlAiJFAmBWEjsbKDR6L2rqmvL/W7nnHk492ZmVWVVZW3dje78IoDursrl3Js37//8l+/7LnHjiSdZP32axcceP8LVHiKkoHPmON7TD1O/cBV1EO/YvSQ6m5GkLn/L9IaYYqUgbbUH44ubPF23nVyRgvq50wDMPPUoAMF0nYXvvUba7rpCsB7DimgYaYbOMuaefYrerRW6N5dcYjruV2OzjYnFJXfWYNNN8VE69dFC+Vt4itKJY6z8cOfJKRWGhHNT6F6JSK/mgi3GFZCH/PiK97F3OEZOkr3bjN0CnjWGa7/1r+l9dInyY49S/eSnuLC0TCIV1cY6RkqysERaGki7CyEIPI84dV/iw6qwa63BU9TKZdrdXeaNJzh6FAlUPndupCSZm2b5Jz7NmW++fKdX1x+TMJ3enRHk8FSe3OV31cIWAHYWVdhlg9a5sYRJM0ySEsxMceK5z3HjW98j7XT3rRcDsPLWj1CBI3L7tRpZL+rzfHddp8ltVKxLZqWnkJ7Kye1bYXoxQkni9Sa3XnuT6NbKyMf1H58keOUSabeH8jVeKSRpuoBt4yNQaptgghx7iZGlxx6j/frr+SjX0PejrxKr3HhzWHLdOj2k1nmQYqi1mHYbfB//2Bw6ijHt1r5es9xuEURdovr01k3qPYh3fvYv88y3/phnX/h9rn7mM6yd3arG2Zk7xp/8o3888vlf/L3fZf7yJc7/1Jd572eevx1LPiCGBLGMpfPAKaynmP3B+b29zE7qzuOuJPAHJuKbrjO7HZ/esjNFwVh0kiCUonXxCl69ysm/8GMsfPtlsk4XISV2r+Ij+fdo/fxFhHIKoXs6/mGeHvnET2FFtPk1jHETAsYCBq9aYe2d86OVrIegBbQv30CFIaXjc/SWbg2m5w74OR0FJsneHYY1hs75H9H4/suoqSlWv/NtspVlRLlC78KHpCu3CM89SFKrE6QZsqj9W5MrFIEUAt/3SbIsF1Q6vF5xL07oHXBzd5AN8QSbkZ9NpbAhaGORcYoO/EMTbFHlEL2PqqMIAmzBs7sTH/iWRCcfXwzcSOLYKnqeygVTZF+MQccJJs1oX73B1W98h8b7H1GaP4YVgnRt3RHP94Bi3DVtdTDlEtWzJ5FhwPpb5x1nQcmdJbSFGBxvMTYiZX5fGK065lUr6F5MMFPf/fMxlqTZBiBLU4TyJobpE9wR7BQj07fexKZDPDopN3XrNIjc3FhnrrNnza4bufEWZiFJSJeWOEiUk0FArdUgqtYHwhb3MNbOnuPbf/8f8NP/5jf5pV//NT76wo/ROHWKUrvN/MUPScsVXvi1X7/Ty9wWUkqkELv6GveRj1tJT2II0JkmmqkTHZ8hXF4fvy56CAnESI6fEPj1GmmnO16MzL0EHffbKWcm6250M6uWUe0OP/qt/4LONKpcQvd6CBVsnAYZA6rqaA5WZ/gz0wTBNL3F5SHRtxHft2EBmuGuZd+GYSjBlWLgy2ctUkln65Kk2xZNN6DTwwqBBtIGOW1kT4d4WzFJ9u4gslaTlW99i+brrxJdu+rGUIRwJrWNdbS1GKC2uECzPt0XVdF+kHd43IywNqZvpXA3Xmt345o+thjeU0gF0qJDn9UvPMXxP39r3w014fuO52XsvhI9YJDo3Q0Yuumb3QKYyg3Bi8dl2nniCPdvEfgE03VMnNJbXuH6N7+NKpectkOvtz/j9SRxJHDhiN6dqzcIj80OlMt2G9ExZnAtSOFMpY1xVVRtRqquycAnaXXo3rw13shaTjBX5ZJbT+C7oHkXVi0nuDexW4zE9/PrMd/EjfquW+O6cLCzr9eBcIAoF0WU1tbwjp0g8wPHxbrH8d7zf4nVc+f43Nf+kDPvvcfDr71KVK+z8sAnePcu7dYJQObKy2MnekMweWfJVMvoTNN88kHCY9PUjkpZe7drfajDrbfzlCzgqQH/O/+v6BAKXzpv6dPzJI020fKaS5aKGGT2Z5mge3EewyzJyjrBzFSel+3wYttYQEnlIZREFxzFgovY76S7n1ljyaJ4/MKwtQRTNYSU6DjGFJNFI5Swd4U38dm7Z7Hw//4OnfffJ1646bxH+pvNDCsE2eoKKI9yFOFHXaJSmV61ls/2W7g7pDkmuO3IP//iMsgy0qkqzScf3HfgsAf16DkMHGYLeEOiY3dJUIYqlX2+wqBDJqwl7XSJV9f74y9Z64BjzcW8tQWUxCLIejHh7IxT6rTGcTJ28q3zfUhSx1XEBRn3sjbn0A09Vwji/SisWcfXMEnmgqy1rou4kyz1BBMcEvox8uZNTNTbEiNJh2TKRn1XNmy0xBElegdHUqtjpbrnu3rDWHz8Cb7+T/ZuqfDKL36FV37xK0ewop3hqPIHvH4EYA1ZtYQJfYxS6FLA3Bsf7P5cJQfjl+NgD9f6bpMvIlev3FCELNZiLV6tTNJoES2vuc65xWl/HSQ+DJ1rEXpgDf50Hd2NXHJafLe3VRgdvLnRGVL6g86/wSmP9vn2At3podm7LZnwPEyaDuyO+qI2+QPG/bwOKtqzCybZwh1EfP0autNBlctbL4hC1lxJZ7z6zps8/trLTC0vIXTm1JQ2PUfcR4HivoZgsCkQAlOvkYQhvZPHaDz90J1c2d4xPLZ0VD5TuwRoIQVSSfypmrtR52a4SIHwFMYa0mZ7kKAdNoyrkpokQccJ5ZPHkUIi1A7nw5JvdAFt0O0u1li8cgnhefna89HOQmJ+PxCCrJXbShiDU0RznRV/qoYMQ7xaFa9eRZZL+3uPCSbYBvH1a2SF8MqozehuMW/4upfiru2aVRvrCK2HBCUOyCmc4O6FlOB5GM8jma2T1qvowN/+8cL9J0rB4XLhh6+vXRINqRTC8xz3DVziKUVfkTJtd4nXmwNuYv89Dmmt2qKTLPd19Qim6ghErqy5DYq1WHKfP430PUTgu+NQ7n4gy+GBzmu0uEzSaA/xGgUyCEBJhO8jSyH+zNQdj4+TZO8OovzIY5g4JltvjOYQGA1RhAhLEAQQBMxfv4qwFiuG1LtyTFK9+wz9hA+olYhOHaN3fIZsp8BxpyE3XaVSIsshqlpm5olHePArfw1VrdzW9QipUGGI9H2k77sqpvJQYeBu1lINxFAOe/9VmLxCzhNwXn7+VA3he8hSuP1zN62lUOKUoY8Qzn5CVctbH7iXotDmDacQqDBAKom1FiEFXqVEODNF5dT8+K87wQS7wBqDmp4lXVl2FfhRBdGie+H77j9vl2GlfKN9t2Fq5RbKbHOME9x7EIAnMYFPMlVl/VNOxXJkwVMqUIrq/HFmnnqMT/zCz+XUg9uEvCArlXIxMgxQQYiQLgF0xUo94MUdJsSg+GqSBKsNXjmkfOoEMvBQQbBzjByCTTNX2PU9SvNzCOsKl0J5B4zrdlCIyvl/xRSM8Jy4jFcKXHw8qoL2GLj77nr3CbJWExPHmN4ukvnKQwRBXwJ9vtvhZq9Ht6ocr2gIbgR5YpZ+36EYZ5CCdG6GWz/5WU782RtHwwM4KIZHLpRy3SHctdu5sUDa6rgxkJ34BkWu0ucubuWnjQuvUqF69iS1B86w+u4HAxK5AB1p8DyUl5uhHvbIohxU8d14jMAITfPiJSd13YtRlfLu3Iv890JIdJrilUuUzszSW1pBjDovw/eHQlZ7MyF9+Fj7yoZuBCbrdJ2XmVGoconS8Tmi1XWim0v7PBETTLARWavJ6p+8SNZoOG+tnVRqA1eU8coVTJZikwTT7Q42isVItjFu4yzEQKXzLkG53cIU653g3saw4qoQmFJAMuO8B7fc56UrrqEkSatNst4gXm8ilXL8sHH3egfgqvrVCuHcNFOPfIKFl384FCMFKIE1xhUa4XBjpGDAYS/oCiEkjaYbFzUGlMIrhZjd3jefdLE5B3D2ycdoeJfo3lhEd3cZ3Rzutg+Phfc5j/TfXEiJTTOs1ghPIX0P5fvIIKS7sDNXXoRHW6SfJHt3CEtf/X2i69cQYYgsS7L1bFAdKFrTxoDOsGmCrFQxaYIRguOryyxXq/SE2GiaPkny7j9skeq2pNM1Fp5/lmOvvbc3ta/bDaNJ1xoA7sYY+PRW1pzB+I7GxZsCl9h/hMnaHVpXb2CAeGWI01ZsvDKNTjMnWX3olgPCjY5a65JcKTBp6gRicnVPvVn0phjhLZI4KSifOE60uoYKgn7lMl51JHlTyGzvsIbhkeDS/LEhW4aNibn0FP7sFNLzMVmKP13HZprWpWvoNN1xXLZ89uSezswE9zeWXvgqWWMdVa8jSyEmEe6WYHIikBCOO5okoDXWWEzuBabqU04Ioxg9TpLB/SQ3Xb/bII3hxJXLXH/iafeDSdJ376L4bHPBEyslVm6/FddRBBaM50YQ9er6ILkaB1K6kcV90g3TdofKA6eJWp2NRRcBCInRuafcIVhDbICQ+JUyOkldE0Pg6A7xUBFba3Sa5qbtIxJO4fYW/lTdJWHG4lVKNC58RHfhVl9NdOek2fYLRCIfW+0niBu8bxXl+WPoJCHr9FBhQOXcKdJWh87NpV0VgOc+9dQ+TtL4uPvuevcBslaTaOEmycICwbHjqEoVwqFW9DBZVkpsmpK1miAEN598hpUHH8ZUq4dqsTDBxxlDGwMlMEFAVinRfPwBmk8+uDMf4E7CMlD2SjN0FGO1xsbp9jdfKQmPTeecAbnh5/uF6Ua0zl/cKg2tc1WtfFxM9Of9D+l8GuPMytMsN4JOtnInrEVVSkNdQDaZtVp6t1acAqdwo28yDDCp4/+I/DW2hbV9OW7heWRxMlo9zGistS6AnZrHK1dIVpv0bt5yiV46YgRtCHFn78T3Ce5feFN1eteuEV++hD8/j/SDoRFwywb7BGtBO86rNz2DDPy+wTGbO4K5au3dKNQyt3Cd/sZygnsfSuU2P4LSrdXRjzG2L4Ri0xSbxJhcNXvb+63vudfux0TrhNv3C2tpvPsBq6+9ORBoyccVSTP3PSxGqguO+GFcwsZx5QvvOtOLMSO8AG2SosplZLHP2cQZtNq9jkkSjHG8vXi9mb/uGEqZRXHVWmQYOL7fKK/OXJxFhQGqFCIExMtrdG8sOSG1XaaPmpeujXFS9o9JZ+82YNgnKDh5kpUXv4X0fEQYOCKnlCjPQ0uJKJX71UfheQgpkeWK22gKybFHHmEZiTEWKYVr5U9wYDzx3T/jL/+rfwHAi//wf/mYmLXmEP3/9W9CFtClkGRummYpYHY3ta8DjEIeCvJjsDspUAIYQ3xrk6rkURQ9hs+FoN/Z2zLuuBl7PI8yDAhm6/R6vdHNSSkwaUYwVSdZb278nQDhB1idOaK6EJTmZlHlEIwlXm+4pG8YSm2vuuYphLCUTx3HGIvuRU511Dh1NZumrmL5YAlWLbrXc53IMc6/2bz2CSYYgjWG9nvvsvKNr7t7V6dD1mzgzx1zDYTTp4mvX8NIiQpDTByDkFhrEErhHzsOaUpw7BhTX/gCS//fH7jXKTakxZfrMPz1jgjVZsPdOzbXre5xk/X7EyIvWGgwhsrVxfGeIiRit0LFlpF84ZIwaQ4W43cSXpG5YMsRKEqq0EeF4cA2YTOES/hkGGDycc+NVAWZ67QIlOfj12t4lQrdm0tk7c7Wx3tq43EU58wYTKbxfI/SyeOkXWe7pHtR3wqpt3ALv1bFq5RI1luknWhspfN0ZR9q2XvAJNk7Ygx8gl4hvnHDkTaDkMwahIXMGLJG022aggChJCa1kCTYJEHVanizs9gkwZ+ZpnzxAmJmHl2t5uqbk2TvoKitrPBTv/1vSUolgugu8orbN9yIUyHvHG5OjoYeNhh3OIJraS88Acv43jabcdRJqlKuomjHOJY9rsXECb2F5R1PvU1S0lEJlQWrM4LpOrobI6TAGk3a7jrz2VHP2eHzsEkCvofuRa7Lapw3n0kSsKAqZbIoZu2d9/MKZ4Dne2Tt7kRIYoJ9I22sc+P/+Q80X30F4XnIMMREEUZrZKuJkIp0zd3D1NSUi43WQhI5waBaDa9Ww8Qx6foaKy++iPCC3ANT83GJkdIY6stLtE6e3prcTRK+Ow65iTZzIBQFWm0I1lsE6+3dn2OBJN371ayNm/w4LIzaKigB2dF0y7M42dnqyIJOEkQ2xK0rIARepewEXuLE6Rq0u3RvLm4wVN+AnWJkmiGnamTtLiZJEEK6GJmmrjETBmRR7KZgahVsL0ZYs3uR+DZgkuwdMYZ9gvrNl5xjEBw/jiyVCOZPEi/coP6pz+DNzJCtr9N6+02EUgg/QEpJlqakrTZZ4yZ8eoZM6773yQQHgLU8/xv/iqhW4+KzX+TzX/vDO72iQ4Cbn9e1CqLZJjk5R5pq/OuLg4rVkDCHLIcumTnsfO8uHJXaF47S/yYnjO/8e7YPFtpVG3UcYXRG1o127o7utFnRpu+3JKTCn6qQdboYrZz6ptbIwCftdBGd3sB3b5LoTbBPZK0ml//5P6P74YdYKZDWYJREBgGm1URVa9Q/81m6Fy5siZHrf/4SIvAJT5zEak2ytgradfp01IPdjKLvQpy8eon28RPYu1Ax9F6GEAIpBHpTzAp8jyS/9x76Xc5aN01hzO7dursJo07E5gmSw8Q4QnPaYEctwVrX7ZPCjXFmGWmrPeAWjjqWnQq21iKVh5ZJLrySx0PPyymMAlUpk7Ta0OndVZMEkzvKEaPw0vNqNWec7nmYqOcUjOLY8X+kk39V9ToAql53iZ5UJAs3UfUpdNRDtFrcePARanGEEgLtediwRHeS9G3AiQ8v8Ln/9jVOvX+ecqtFVK2x+sADvPszz/Phj39pw2M/843/zrl33+Wrv/brnHv3nTu04kNCoThX/B3A91FC0nr0LF69QvX9y06l0w4SCNP7+G2KjhKuUrczB+22oLBlKILPNuvJWu0+N2GgnLmPsVwBaEPtwbMkrY4jv8cJGIvJ3LhmwWu0hTntBBMcAEsvfBWTJMhy2V1PnoeNE7S1yDB0SdzS4tYYWauBp9DtNonyyDptN76mnOWIkDKflFGuM613GQ+/SzC3eJMbrQbdmblJJ+82QQgnwa+kREhJNrRBT4aKbIcmgFeoNwoBShLN1Gk++SC1j27cnQrao3DYYiz7hadyHrveNhs3w0UfbQYjp/uYCJJhgE4SKifn6S0tO42BnNtvhaNcIKIBh/EuwiTZO2KUH32ceGkJWamQtZrY2I0Jlh98iPDUKWqf+jS9S5dQpTLp8rJrN6cp3vQ03tSMUxXrOBUkayHMUqzncSzukbUSGrNzUK7e4aO8e/D0i9/ip//tb2Gl5KPPf4HGqVOUm01OfPQRn/qjb25I9mavX+dLv/OfefPn/io3n3r645/swQahklKpxOOPPMKtl14narRIaiX0Jx9i9o0PnHpV+vHYAB0IUiB833kAFTLJnnTeedtwAPpz/3cKRYdVCMdPyjcAdlSVUAr3WLUp+drL+ov3k85YPm11iG6tUjo242Tv9RAp3to8KdSH3wme4L5DMD+PN3eMrNUkazSwcYRQChkElB95lJkv/QTR1avM/vTztH74OunKMiZNSRYW8MoVqE9hi3FNIZClEsoPnIKhzCAIN6px3uXwsozP/ekf8YPn/wq9qemN3+PJKOehIvA8Pvn4Yxhj+PDKVXpRdHtE7zbTJzw1Prf+sNH363NedkIKbGbAky4Z2m6qRZvRQl63A0PxyiuVMEmKVbIvNLYBw8JmxVr3moQVia0QSM+pUndvLqLjGFUuI5TA6qEJlw32DNw1MXKS7B0S+iIsr3yf6S8+R/XJpxBSMv3FH2f9z18iXV1xFYa8qpM2nOS8SVOM1iTXrlF95tNMfeHzLP7uf8GrTxGeOUPp3DmstTS+/33S5VvMBz5XpEBoWKvP0CnfRgPquxyz16/x5X/3b0jKZX7/1/8pa+fObfh9dXWl/3ehNT/7f/8LWseO8+e/9D/e7qXeFkgh+NHFS/iBolwto7MU1XHFBpvtZm/AXXOTOihsnGxIoAR5BW7HJ93Bg7fknQyVd9ZGfFZSOg7hdgFsh6ql8NRAVa14v/w51lgnBgX0bq04w9ktz899+e6R62OC24NRMbL65NM0334Lk6T9+Git+zNrNmn98AfIep2lr/4eNsuY/x/+Fmt/9m1MmlJ+/AnC+Xks9ONj6dRpdBShowhrLaax/rHsQM8s3qRXqw9smCY4dKRZxjsfXCAMArTReJ7a0Mm7bRCSZLq6Pbf+KN/az+/lebHEZrYfI62+S2NkMbwS+Og4HtgnDEMO/dvYQVF0vxAC6XlkUYwqlZC+j+7FjkuYi6P1C6H5eC7Z9t3GO4FJsncIKAxgexcvImtVVr7xdboXPmDuZ56n/OCDjiCqNd7UtBsZyAnout1ChCF6bR08j7Vvv8jqi39EcOoUWes6WdMlhKUHHiQ4OU+2uoy8eAH5mEfb8+nOlLF3r4vabcczf/xHKK156ed/YUuiB9CZO9b/+7Nf/T2OX7rE7//v/xQdBLdzmbcN3SgCCel0lV6tDEC91XX3vt3ERu6im9SBYAd/qlqFU1/6PLJc5urXXryjy9oVxmJtuq1CJ1LiV6vO4NySi7uNNzqyIdEbqkKqUogqhdhMuw5f23n/4ftgTZ4ru/uNKpe2egBOMME22C5GzvyFnyS7tYT0PMIzZzfERxtHeHPHiC5fIltbJet0uPzP/g9kuYyq1uhd/JD42hUAVLlMKgXRtauIUgmTJNio97Hp6G3G8RtXWXrwYQxgJwnfkcDiEr70jvCq8upjniAYYyktr9/2Vdho49SGX69y4sc/52Lkf/1j7uaNwMbJnHydQ+OlXrmE8DzSVhvp+86bcK+jp4WvLRajM7xqBVUKnTiL77mPMMuQoaN+qCDEZKkriCJGT+NsB+9o6ViTZO8AKCqV1//db+HVpyg/8ihCSmy1RnTlCksvvMCZv/v3mHv+Z+leuoQ/M9N/buutN0gWlxBeA1EKSa5dxcYxeD7p4iI2y0jX1pClMiaK0d0u0g8hS3jw7R8iPI/Oj33JJTBiwtkDOHXhAgBXPvvZHR934sIFfuwPXuCNv/Y3WHz8iduxtDsLpRzHCmg9+RDRiTmOvfw2Ybs7+vFH1NUL5mZI2p3xCNdwOGMiQ8/X7S4LL7+B8hReOUQnqRv9OOj7BP74x7QXbLck4WS7szhXJSwCmKecca6U4wmnbFIiM2lKd2EJkd9PZOg789iiSyhA+D7BzBSnf/pLLPzZKzm30aCTFOl7JKuNAx3yBPcWdouRy42vbRsfsYLu++fR3S46isgaTZAC3euhWy1UvY5JU6TvuwKGAFmuoDsdwKleF7SJjxuqzQa1xjqt2WPu3j0Z37y3MDRpgpLo6Rrh3DRKm52VJ48YaafL0qtvOcGaUugSqmJ8eL8xUghkKbg92gDa5LxdyLoRwbEZsAw8dIePYxzenhqyYZBu0qZ3awWBi5eFlZHJpwd0kqB8j6nHH8amKb3CP9EadJq5z3a786iPNrGeJHt7RBG81r77HQB0u4MMQuIbN7BaU37oYWQYgqcI5ucBqD75NJ0P3t/wOqpaQ/hrpGurrjpgbH9kwxYcA60xmSZJ8jE0KV1lvVTGRD16tamNZN/7HEHX3SQ7s3PbPsaNb/5L1k+d5uWv/O3btbQ7j8J/z2jS2TpLf+lZzvz3l0YTwof4BF6t6gRADgHJ6qbK5W4B5Aiq8rrVRufBYORanKTWnub6BYCn3HKN2SiUc0AIpRzfcBh5cu54ipgAACAASURBVGd1vPXnhajLLpwKWQoBXLKWv37R8bNohKfQ3cgFQyURvoeUCmsMwlPEq+tMP/4Q3RuLyCAgXm2Q9SbG6RPsPUZWn3xqa3ys1REW0maDeOGmM1VXEmHBGudNphsNEMIVGsolRLlM1lgHPxhwdD+mkMbw0Ns/5MLnniWq1dF+MHSPmsT6uwWu8bMPS4YND3f37BuPP8Dpi/sw1j5MsRRjSZvtQSFw1HH53lYvv52WV624oqpycVWWSpidpkL2WmzezJEbOhfJ8ghP3uL1d/rMfI/S7DRJs+0SuTy225xSYcEVVdOsH3O9Shnpe2S9mOjWCtUzJwlnp6icOoGOE1bfeX/79yvWfoSYJHt7wPAoSu/aVUy3g3/yFMH8CbJ2m6zRoHP+R9Q/81lsmlJ98ikAwjNn8KemSRYXSRsN4sWbWGPRzYa7eLJsNC8HQEpnmixctb6vLCYEpV6Hrp9XQydBgKTihGqqa6usl8+OfIwfRcwu3ATgf/2f//7Ixzz/m7/B87/5G7zxV/4q3/27v3I0i72dGL4uSiVElmECn+t/4y8y/eYF6h9e2+LjC4C1LtE7jA7bqBv45tdUEiGVe1ixWcsV0rY1JlWOMN2v3I2DzYFxeB0WZMnfUxWyTwwfJ4hICUoipRxrzTLw0NGYs//F+/btNUY8SQjHzdAGFfgblcqGX2p4JFQbrE2xgUCFAed+7ssky2ssv3+J6idOk7a72CzDr1VJG60xFjrBvYr9xMjN8TFZXkLV6qRLS5jUxTuTOvNjC1sLKTpz41LtjuMfxbG7zj/m4/nldotKq0kWlMDi6AaThO+ugrvd7yM2bhBpwXW/ioRou8RNkPPDZH7vTtx1n/OsR9rzCEDmY8DjcldHFSqHjzHTe1Kz1O2hTqVg50RPSaTnYYxxvMFxDMmHlaHHipOb/uyvbbDPEbiilduXF4/f9ARrB5+XtmTdCK8UUjo+SzBVp7e0SvUTp0naXWySUDl5nNaV69uL3hyxX/Ak2dsDll74KlmjgX/yJFm7RWItutEg6vVQpRJZs4nwfZKlRfzpGcIzZwCQQcCJX/hFVv/kRcz5805auttBlMrQ7Q78qjZDCCcpaxxfBuUNXdSW41cvc+WT04PH3udYeOwxTnx0kU+88QbrZ0Yne9r3efenf2bk7+YvXWL+8iVuPPEk66dPs/jY40e42juE3MfKjfpB81OPEZ2dZ/b18wTbjXUeRoV8p5cQApRCePmNczjRMBo7il9YBEtjsPu9jeWJj8wDp/A9F2i03pshfA7pB260Y7fzlWaM+8o63oa3Nw42PU94Xn6vMQglyaJo+9fedOzC85zPnu9x/Zt/RrLewJ+aYv1dpx7nlUt3hXHsBHcW+4mRm+OjV68TXbqM8BRudjiPbTuZHfd67lIuHmtt7nH18VWaksbw6BuvcemZz9KaO06qM5JSaUDbmMT8ewD59SkEabW87WcqAr/ftRJSoKN4SBHZbn/vtbkIizX7EyraFCPBjfdbk0+g7QVK5d/hzYFp6EeFfUF/z7t711JIgR3xsnuF9D2E76G7zhotabQ28ts3w1oYKpMLJRGBT7y8StJoIQTEb64jPc/FR2MRSu78mkeISbK3BwTz82SdDkIIguPzpKsrIBVerU7lscdIbi1x4m/+POWHHtry3CIIpmur/QqNaTb6X6aRyEc5+xWHbFDlSIMAIyc3/WG887N/mWe+9cc8+8Lvc/Uzn2Ht7FY1zs7cMf7kH/3jkc//4u/9LvOXL3H+p77Mez/z/O1Y8m2GGIxnCLCewmhNPF1j+Sc+zZlvvjzyKUe+VxICFXgusTHGTbWEPibTeOWyk1bOR1CFlM47K07ojy/vl2BvLTIM8EohidbO29JTeJ5CC4FUygmg7LL2YmzTZNmO50sE/ngJkXB+Pl61StJoMnZmuANUpUz94XN0ri+CMUw//jBr734wtsiKzcdCk/Um1hhUGBItr7gOYTkEa92GZIL7GvuNkcPx0UQRcqpOtrLivtu+v30BZVS1vcDHUIVzM6QxKK2pNtcRmWb15CnSau1OL2uCQ4PtT4N468V+kJFTMNL30TrBZhohBUhXgPOnauhejLEGkV//FvodJKv1/r8Lm2Kk9DyXFAFaim3tizZACBfPk2zEgQ39SCn8StmNkRbYtsvpzpM/M03aaB54j6IqZaYe/QTWGNqXrxPOzqCjiGi1sfO5K36XT8vobs/tTeIEGeTFX9yo+fSTjxCt3H7F1QKTZG8PGObeqXodGZZIG+v4c3NbunmbUQRBGYTYNHNVESEGyRxsPy5XKsEmPsyNx54iDUOOXb1M8+Qp0rA0eI37FGtnz/Htv/8P+Ol/85v80q//Gh994cdonDpFqd1m/uKHpOUKL/zar9/pZd45iP7/8uvEYEsB1lrU+iZenpSoUohUEpOmLhGDvXX5tkl8hKfwymWscZzUYLpO1ovAxoBFeD4yCDFZD53zV22WgZD41QpZN8rHSJyCpPAUOorzilmhcFZYE+y8RBMnaCH64/JCCnQvRobB7olecT7ycVNVCrHGDFmsDB+0GIxqFwnipo6+8H38atl1Fo3Fao0KA4xI3UjJAXgZJsvcmEm5xNynnsCfqhOvrtO6dHX8EdHi9lRYQuRr190IE2jkXkZpJ7gnsd8YWcRHValiej3HhSn4r1m2r077vYKg2yH1fVbPniMNwo3dS7ivY/7thBzBzfM9DyElWmv0fhIqk09aaE315qq77pXEr1RACrJ2F1UOc64YYAwi8B3dIXOJhDUGo3OlycB3iaA2WAHS9xG+h0lFn2/WjyNjjmKaLMNob2OM7EbYca87azFJilepkEXx6OKsFHjlktsHFGsbQYlQ5RLWGoRUSN8DY1Cl0MUj2H5EcoxjTPPJptKxOaYfe4i000XHH5A2x6AmWItUAlOMuCJcomcsYNG9HtHSMnanYHvE3+NJsrcH9LkFS4vu36dPU3vqaU798t9B7sIPKIJg1mw4Dp5SbqRqA7m0+PumXfII4YMiAERTM1iphh5/f9/433v+L7F67hyf+9ofcua993j4tVeJ6nVWHvgE796T3br9YJj3IUBY0loFHQao/obdIqTAGEMwO4O1lmhpZW/J3nbF+EyTdrp41QoykGS9yN3kjc0rZJqs20X6PtWzp+gt3sJ4HibLSNabgxeSgmBmimC6Tvf6orMKGJqvF0qBFDubxyuJMQYZOEW/rOPk2rNOb4/JlbuhbzjmnIshhERVSlhjsCpzJukjApkMfdJOx+WOnueOoX8aN1V8N/j6bLOkoWCuwpDpRx8knJnisf/pb/Hev/7P9DaT17dDbrwrpcq5FGCH+YkCN5ruTcLJ/Y79xsgiPvrHj9O98D4gciW8fGM4XBCFwxkt/5hganWZ9uwxUs+fcPbuIDZz8wpxFmstlTCkG0XovRYkpAArIdMkM3X3M21IO11XyAw8rDYYrR03XErnExvFIKB8ep5wdprWR1ddwdNa7PDov6ecQEgUEa82BkkRUPi5FpSObTtYnkIgCKbqpJ0uWaeXq9/u4Rq0kHW7G5PLYoJVKVSlhF+t4NerTsFyVEKoJCLw0J0eZAnq2IzrFhbbZymx0u6tKJR/n4r4CBBM10m6Eeuvf+iKzeNAClS5DFGMSYyb7iz2D0KAVPQWbu07GT0MTKLzHiCDgDO/8qv7em4RBHu54qZQKvf+0E4euiCDbu7uSem4eunGi64IAH6aEGH7qnkTwOLjT/D1f7J3S4VXfvErvPKLXzmCFd1lGO7wYcGA9hXrzzzMsdfPux8bRzh28/kGv1YlCZquWrVTEjRcLdyciOQqmF45xKtVkZ4i68Wkrba7CeZ+NoUEsdExnesLWKwzgd8cAIyld3OJ6NaKGy2slBAW/OkaSaOFVApVKRMt3Np+vdYihMjHGQV+vYr0PYw2pGtj2ggUnbqCKC7l4Pzm5q4mSZGewvoexCmjMjSdJ5oIgcliZ6Vg7YAk7qn8o3OiTS7Z2mFdeTCXvse5v/JlPvkPf5mk2eLKH36LpT9/Pe9cbpMtKoXI+RIy8LHGYjK32ZBBPpIjHVdESJdU9wU0RsGbeIXdD9hvjOwnifnYp4kiVKnkNrpJ0pc4H5nkqaHvyT2IcruFn0R4WUpWGDgPY5L83RZsmazE+fSVgoA4SQgCnyRJ95bwaUc2s1K6e3vg45VCvHIJ6SlkENC9uTRQZLbWjQnm34Pewi3i1YajEBgLm4zQTTeidfFKPkoZ4Ner7rH9TEvm9jrbr1ngxjCT9SZCSrxK2e1bsZjOmArMUiJ95eKGMSAFwlOOHuDnys9CUj4+w7ZBzRiy5sC6IFltIIIgpzhprLLuNVPbV/7ctXNpLTL0N8THa9/8Djf+5CWSZtslbdt0QGW5hNXajdV6iqzbG3AcfR8jihhtkJ7jK1q5/ZpUrpB9VJgkewdAITHdeOX7TH/xOapPPoWQoxOuIgjOXrrE0n99gWD+BCaO6Vz8kN775930WTZiVM4YsFu9wIoAkAUBplBb2hwIJwFggjFhfY9kur7xh8a4McdeRNJoASLvSLN9cBi+kW2+p2kn2+9N1XjqV3+Jj37/v9NdWBr4ywzLJ+cNbpOkfWL66IUPyOlWa/x6nRPPfY7uzSWi1TXal2/ucuQbxy3SRmtfUtbS95GeR9bpuoCT6Vyla5CTmWQXAuTw8ZOPeA/XfTyF8n0qZ0/R/PAy1uzC/7MW4XkgFTbLSJotPviPL7D+3gVMfryjhaFcQq6jGK9WQUqJ8JRT3bTGKaRJp5rmTdXxp+tOGU4begtLezltE9zjGDdGDieJvaEYmXU6rP/Zd9DtFrJWx3Q7I9Q48wLLYagG34WQxvDQO29Saqxz8fPP9S2aJrjzsNaSao0xGp2463LUuOe2KAr00tI9fQyZZsyvtXj6732Fxe//kKTZoj08ar/5dT01UFTeideaK7mrMKB25hSVc6dZe+99bKY3qmWOenqSEK8k+DN10mYbsw/F5WC6BgaSrA1CgTUu0dMGq10jI+t0abVHfL9h6Ls9vL+wzpu6/2/X3ROBT2l+ju7NJXaMt+DuG9vFR2sgtYPuZ6F3kKufSiXJkhThKYKpOjqOMUmG8N1IatrrUT4263jtlTK6G9Fb3D4+Vs6eHPt87geTZG+fGJaYlrUqK9/4Ot0LHzD3M8/j1af6j9sc7MoPP9Ifc+l88AHZ+hpWSFQYoDvZ6O7eiC9xEQCMlLz9k8/TqU/3jbM3PG+S8E2wE4Qb48RTGH/E7WDYd0cIgtlp0lYHm+yvim4zx0O79AffpPGjD7d5UH9x41XrBU4EolzGK5e48eJL/fn7XYnpZoStwTiJniw4d7hAmqbO/wuQSqGToURsmJ9XnO8dYpD0/cGoJ4Dngc4wUYIQktonzhItrxKvrO+4uRWhT+3MKWQYkLY6vPMv/wPLP3wHE8cEszN9cRabaWy+LJREFKOfpRImzTACPM8J5eAphHI+S6pcovaJ03QXlgmm6/SWVrY/qDs4vjLBncE4MXJUMlh0+aLr12i9/Ram23UWK+USptcdzd8zBsLQ2S7cozi+cIOrSULm+9hRHb4J7giy/sSJxfe88bl7w/s8a9Ha0nngJP7cNLdef4vWR1dpfXh5h+eTT4mMASmQyoNME601aN9YdB29cZLSnF6Rrrf2XUxJmm38Shm0dpMgSm0UK8snYDZ8r4e/5xum3cRQjHTJmPA9bJxi4gRVLiE9D79a3ZVv51VKVM+dJmt3ufi7X2P13ffpXL2B9DynBpx77krfRwYBOopcEpgr4gopnGhNKSBpNF2Xz/fQcUJYqzH18AOYVNO6cj0fCd2+4Nu6sMNnfQiYJHv7xLDEtBACW60RXbnC4le/yvSzz9J45fvUnnmG6Np1oksf9YNd+ZFHOPELv4hXn+LCP/3fyJoNhLWYOCem7vHLJI3h4Tdf58LnnyMulzGF+WqBgtdzn3P5JtgFQu7sF5QnNcl6c9MNeTyS9zC61xcJpuvgK8i28ZcsllXIRmc7JGB5FzDr9Ehb7b1ZAOy3EVDwHQtbCGNBWILZKaqnT9K8dM3JY4ucS1CM2Qwf69Ak7fDPTJoNHieH2pxYdC9i8aXX+nzEfld0xPqmHnmQ2rnTtC5fY/38h30RG52kxKuOr+dM1V2BSdYrhDMzVE7PEy0uU3/oAbxqmaWX3MinCHKF1NCj9sTDeEFA3Ggy8+SjTkyg2yNZXd/nCZ3gXsOoGNm7fJlrv/Wb+LOzI+NjkQye+ZVf5dpv/gYqCLGZ85nVjcb2frRwTyd6AF6Wce78OzTnjrF28gwmCCYJ312GLMu2anMxRpgRAjtVxTY7sLzG8rLb+LsCxzaKyUIiPJk3vHYR8DIWaw1ptwu7jG2OxEG9BC1kUYwqO1Xo3uIKaafbFzMTm5M/yJOqwfMHP98UI0VuZ5DvRXS3R29pBbHLd0MEPpWzpxFCEK03iRst4uVVTKqx2rrOo9V5Iu7OVzh/jNrZk6TrTbxalbjZwsYJSbOF8H1kGGLiGK9SpnruNL1bazz5q3+bpVd+yK1X3yRptrYvfG4zFXhYmJC89olgfh48r39BCSEwRpMs3GTlG1/HpAk3fvu3WX/pu6iZGbxaHf/kSaIrV1h64QUAdBRjej3nERTH+5bHrTYbzC7dpNpoILTeGhDvvcmWCQ4TQmAFaCFYQfA6Hi/hcxW5UfW/mIMfvp72YwQqJEmjhReWKJQst2xaco6XKoXOekDusqkROG6fsa4TdpgcMSGonD3FzKeeQPieM34NAqTvocol9145/yDrRqSdLtJTjsaXC7+MxCjO3eYRWYsL4kPf56zVIet2OfVTz+FVKxvHuqTjZsgwwGjNylvv0b58ne6NJaeIVi33g6XJhjhQvsLGKb0bi7Q/uorNMtbeOc/Nb3+ftNtFx2m+6bCknS7N9z+idfUGXsnxFnS3R+n43A7ncPzTPcG9gc0x0iYJ0fVrxDdujBUfo+vXnTBFr4dpt5yC9T04prkXTK0u05mdw0xGOe9KjLo6x7pic65XNlUhuLVOut7EpBmqlNvZbE4EBM7Xbbj7tVty46khfrnYPaYOr223hwQ+9cceRNWqLh5JFyNVuYTwPbxKiAwDdBTTXbiFNQaRi5dhnfL0Vi4q28TITfzcoQmbArrn+HOVB04jy+GG1xae6yyqMCRttkhabVZ/+A6r77xPXzUbOxjbxE3JmDQjurlE6+IVsiSl8f5F4lur9JZXSVsdTC9ynT8gaTRZfec8QkmufO1bdG8sUjo+R2luZoezeLT3tkmyt09Un3wam4umWGtJbi3RfO1VJzN94gRerU5wYh7d6dB934leCCGc+l+Wcumf/zN616460YkDBrBipPPpl79DudVAmhGby00y7xNMALgbLYAQJOWQd4IyDSHpCcmHeLyBRwdYR/C+kVy1krfweBuPNTYKcnjTdZf47BZ0cAmeUEOjG5vGNBzfTDlVzO24ZcNIc7WyYq5/tyRUCrx6dTz+i7V0F5ZoX76ek6gFJo4xSYpOU1epKwSSjMGmGcc+8xQyDJzvkR1jPcMQwhHPh3kCQ78DsEnG8utvI3xvYLgrBML3CY/PIcOA7o1Fslanfwxpp0u82kAWfnjFun0fYXMzWyzxeoPu4jJxs43uRZgoGRSi8k6gSTN0N8KrlFl7530aFy6TjmNVMcF9gyJGFvFx7Tt/SrqyTOmhh7aPj54iOH6c1jtvE9+8jl5duWeFV/aDcrvlOPrDBbJJIeVjAaUU4WYv0uFYmVsmyG6ElQIT5QrVcgSdQcp+QQ8Ya39nejF9aoQZIyYJEP543qk2SelcvemESHwnmGTiBJ2kWJwJvIlihKcwUYL0FOHstIuZSu5rfyrDcBC/NxehLWTtDtGtVYLZGWQp7Ce5wnf2FCbLyHoRyVrTrasXkaw3XXwctqgQAimEE0Ur4uONRWfNkKXoXuQKuoVQTJo5mwspyHoR7Ss3WH37PL3lVfxaZYfzfbRf5MkY5z4xzCtIFm6iW21kEJKurtL94H3KDz2Mf3yeeOEmqlIFwEQRrbfeRrea7iKNxjM0HhdelvG5P/0jjJRc/uSnWXrgYfSw3PVmm4cJ7m8MUcestSAV9U9+grU3PkICRgjWreQHBEwLQwdBD88JLwLLVjKL4SkyQsCmKSoIdjXqNonjGWSACAM3LpHzHoTv50FPIzyP6tl5kmaTZAxlTKGk6+ztxg8Tbjwm6+xtnKXw3RNCOo8hY/rvJQIPYZwgSrS6TtJsU5qbIW61kYiBapeSuUE5O4vOJAl4EqwEho5naHQza7aR1XLuNVSi/ugnSJttjn32GVqXrxKvriN9n2StQZIVKmhOTS1ZG1L3HRo9spkZCNQM3y82idbYLCPtdFh5+0cozyPrRbnK2zanfMxNwwT3DsIzZ1ClEq3XX0W32o4bmmWkSwt41eqW+AigOx0ab/yQzn/895jOzsIR9yOkMcxfvcz1x58a+ukkln8cIIXAGIuUIhfI2gRrUb2YxmPnOPbmBTKtEaXAqR9H+f1ayn4x1GpD7dwZ0laLrNtzCpm7UBikUoMEceQDhjqFKvfyGzMHM2nqhGmyjIGytjN0t1IiKyU8T2GsJW21MWnmBNtqU6C1s4Uwjv/eX8cOCaCJ40FxeTiUDtmzmCgmvrWCUBK/XsWrlJj/4ucpnZjj5osvkUUxOo4hFrkYnEBIgd10inTPeQAXypsmcSPjul0ocLJxrdpgLXQXl1HKcwWvtaazn9gG1XOnxzvR+8Qk2dsnCvWwG//ht1FhCe/YMbJGg875H/X/rD3zKYTyEFIQXb9G+5230a1WTu48ui6bNIaH336D49eu8MHnnyMplTDBJlnXiXjLBJuuQR3FZJ0YhHD3TmuxQpBYyxqSDECIQeohYMVKvk/AHIaz3Zhp7HhbDyGwSeLGIoeCi1RyQGQ2Lijg+/2lCt8bVNE2H82mJE+EQT7mkncSBc7IPcnGl4zun5yhREc5c1fdi/o/t1GCLIeUjs0Qr6zh1atMPfog7Ws3aV+6RnhsFiEEWRST9SKnaLkbjPPeM72h49qUIJpuD4REG0Pj/EdUHzjFrVffwKQZWaebd+sGz7PGuMS5LxYjXAKa6bw7KB0fUOQmvIUn47ARbzE2o42ragYBJoqcJPg2sJOxs/sOMgiQpTLlBx/eGB+brS3xMVlaxKQpnffeJWu19k1puB8wt3CdhYceRQ8rkE5i+V2PdIdiWAFdDkmrZTIlUcZNq9g8MRSecqOQvchNvkgB0hVqdZz2DdddfDQjt5hmOO4IkKWSoyBlGV655LpRrU5egN3jd9BYyAu5/UJlETeMQRhD+eRJsiime3MJv1Zl7tNPsfLGu5g0o/7gOZJ2m+jWKioMXHF1t+ajlAPPvyGxm2HYNMOmYKIECyy9/AP8epVoeY2020MFnkvmcrGX4ly6NxD5xM6g86jKJXScDHj42+kWGOO6s2GISRInTLObbdURYpLsHRDB/DxZp4MQAq9eR5VKZM0mwvdJV5aZ/sKPceqX/w4Lv/OfiOp1l+wVFY8jRrXZYG7pJmlYpnHsGEm5unH2exIk7l8MWnpu3F0bsm5MvDJkWj5kZJz1n7RJKVYIUmtZFJIYOCYkZ4TG36UqV1x7dli1UmunZOayMoQ1JK2O63IVbxf4CClddXKnYOQpwCKVQpS93DPPJTYHGguTwo2qaENQr6ETN8aBdKMqnSs3AMh6Mb3FZfd+QhLdWnHvX4i17AbfQ+b+Yapadu8xshpMn8hudUbnyg3CuVmSZsuNtW5WB1Aefj3ExBk6TZFFN3RIEMZJYm/HM7QbX0+bgYCA3eG87tLtneDexLjxUXgel/+v/5Os09n5vjFBn6O/fPYB58ELk4mdjzOGExUpsUrSfPohZt/4YMN3wWYanQ2KlNZa4uU1sijpx7T+9IgVo+Pj0HUiwxCZd9zo9EhbnT59Yr/fQRH4WO34eH6tivA9koaLRcZoGhcu9W2OkrZh4Xuv9fcCjQsfufioNVm6e0dRlsK+d204O013YXm0GXv/CZKs3UH3IuJGs5+s6e7Qc4zBn6ljjEV3ukjPwxqLtfl6hHCjqclQ0qzNDgmf7cdHu4vKd+fStZ0P+ICYJHsHRPXJp+l88D7gFIXqn/0cya0lTvzNn6f80EOAk6COFm46qVspYZyq/iGg4PIBLJ85xweff86Nn21R65wEiHsRO/v92MG91Fp0LyFr9UibO3W8hjgiwy+bjzG0kWggtoInxgkWO/kCMRj3HMbYHbnMjU1mmYYugzz1IBYAIvcZ1G6UwxbEcmu3qmIWwVfr3EDW64+xjYVCQEW4ACpLoeNcbHvOyBN3myeW5F244pc5koQ0zbmNvocMA8dvyFKkH6BqZdLVxuD5mwNYv1gkJt2XCXbFuPFx9esvEt+4gQwCZ7Uw4eltC2kMj/3wVYS1rM+fJA3DQdI3wZ6gpNybCfpRIu8iRXNTlBZ2sLHJYXoxxm4qohmTT2TsAmvdNIaS0Os5P1YlIc32pma9CX61QrLWQPgh1lpMN3KvJwQ22jT5MRyL82O3Wo/NbzdZholiZDlEeB6qHKJbO6w95wVak7k45ikKtc1hpOu5XYNwkzVYQdbJQAr8epW00R6sWbCV/1j48uldCt5b1jf+Q/eDyR3igCi4e8nSYv9n/vQM4Zkz/X8vvfBV59VRraCy1ElIFyhmk4e6KEcR6GaWFgiiiLhW2/rLSVXwnsRwoieEGFgrWOsSlcyQtnt0F1ZZf+vSeEHCvdo2NBFBhqFrj/A6kmOSuWVujZCPKYJygVAIJzKyH1jbH6kxSeqKN0oNjHG3q9wZu7ESuIf3w7oRUREGeJUyWa+3czDs30ssWDfmw+acrDh3aYaWSR7Eapz9uS9z81vfGyTzo95nj2bzE9zfGDc+Zo0G5YcfIWt3sFHkNn3DKGJT8f2/WzbodwjSujezxwAAIABJREFUGB594zUuf/LT3Hz0ycEvJrF8T7hrEr1hBCHZ9Ih92mYctAPuKTAW6QfIUoCJYszwmP4+kHZ7kIufmDjucwyl8twI6U4F3r0WYvPHmyghbXVQno/x/e0pEsPvbQxo4Zqq272+dXZOwvfwyiUq55xNQ6PZGexBRj3ZWOffe5dhkuwdEAV3bycE8/OkzSZeo+H2UVnmqpdCIkslTJa6bl+R6AUBJMmAq5QdvBPoZRmf/dNv8IOf/eukpRIT7737ByJXk9LG9G0XRWpIezG3XvkRyWr7UN4nAzKcguSaMMwY1wE7VEPtcYNzPiqCAYvGn51GJ+57tu8QmRdmgpkprDWYOMVK4bRWoiPy+Mo78SZOXLDco6rnjsmZcN056QVMPf4wKvDxKiWSljeyuis8dbDO6AT3HcaNj1mng1ev49VrmG4bjXBxTylk4DgvZKnrJnv+VgGH+3D0s+Dm33z48a2qwpOJnbER+D7GGLLbOKkgpcQaM4hFw0V+rfHXdjYDPxTkqpwmjkFJgtkp4kYL29tnLBMCjEZVK6gwJGs0sUrhV8qk7c7GcdVDhPAU6XoTa63TABgX1u5c4C50XjLN9DNPMvPkI6y9dyHn0efnaAcRs7sNk2TvNqAYZal/9nOAG+1qfP9lghMnMVlG58MPXHJXXDQFRykIII4R5bKrVow7ArYNvCzjqZe/wwdfeI64WseO8jeb4J6DMcapf+VVLJNqspUWcbtL2tibXL6QInc32P6m3QPeVCEnhOGJUKCyPYqhHAHStUYuvZyPb4ybtEg3ugn0E6Ck0crHMp3CpapV+mOihzKKUbyO54HOBgle8Wfe3RDeCCNaGKru7/YeTl3Myoz1H32INYa009t2jGcLEX6CCQ4BRXwUSjH1+S8AEC8uIIQgXW/QvXYFekP3qSxX6yuVnJF60e3TZmfe6D2KcrtBb2p2ayyfJHxjIdmBVrNhIuYQYYyhXqvQ7UaYIunIu0X+eoPyrbVDf8+tixgcl+n2iHpO7MtZITBeYVXle0hjwRpsqtFZ10295N26JFe5PJJrUanB52MMthAJy8XGkHL7fbOnILPbF1BzETKkZP1HH4K1RLdWMcM6Ax+jWDhJ9naANYbO+R/ReOX7TH/xOSqPP0H3g/f7/64++ZQjlG56XPVJJ4tc/Gzq81/Aq0+RLC6SNhqkK7conT1HcPYcje99F9pDnZUh2Vg6HSiVsVF0aBdVtdlgbvEmjWMZnZm5STC4l2GtG+XUNpfFdz4z3WtLrL52wSlV7vG6CsIQqRRxr+dGQbe5UWptuAm0IsvngGDko24z7B6EkYoqnXWdeKegm8OYDaIxuj1Gwryfql8hYS2B3NZBlR0pPVlv7c7/M2agJAYbP+vir1KgKmWk79G8cIlst2P5GAW3CY4e1hgWXvoel//gD3jo53+eE8/9+JYYCYwXH5cWwULaaJA11ik/9hgmSTDLy1vf2Bjodl1BpNis36ex7Mw77/DhT/zkNr8tqlAT7AfW2j3V8Dyl8H2fKIocT22H+2Vr+F47pI6cVSsk1RL+euv2fnKF2NdeYJwq6AZq+GYO+zgxY7si4nbCJwW0RlXLmDhx9g6FgFuauqLlTglrkubJ6s5r9KplvEqZzvUFouW17fcQd3FXD0AcRdXiKPHss8/aV1999cjfJ2s1Wf2TF+ldvIisVcnW1rFpivR91OwMpt2h/MgjTD37LM1XX+0/zrQ7fT5CfOMGslZFt9sIP6Dz/nlMFFF+9BHiy1dI19ec7G0U3XYOQmdqmrf/4vPOh29zkLxPg+a9hOHvtY5TdJT0uXqtDxdoXbiO9BQnz51mfXmVuBshPYXONHaEbLMQAuV7SCVJ9jDmIYVgRsAzWY+PldPabkFmJyinBLrh5r/T6/k+ylMY41QwrRnBScq5D8r3kYGP9BU6dR5GWXcXHh8gQh+b6i2vK5ST8w5nppwSZ2ZIOx1Mpgcqm/0HM6ji7gN//b/99r6eJ4R4zVr77L6efB/idsXIaGWFD/79b7P8+g8IZ2eIbi1RqlSYf+QRSidPjIyF28VHVakQLy2Rra2i6tOk62vo1RVMlmHjHYSJJsBIyTtf+jKt+XkKnnIfk1h+IHie4qlHHuH8xY/QRqOUIt1m8kEIgVLSiYLtETLJIMswvgcWZBwzdf4y9Y9uoPbD9z5qbE7OdsqIRyVywzYDxu44MSI85UzkPW9AlxiOY1IiAt9REsLAhSmlMHGC8BRZL969yLvd+wuBKpc49pmn6S0tkzTa6CTGK4Uk7e7WGHlA7CdGjhsfJ529bVCQxv2TJxFC0Lt4kayxjpqaZuqBB7DVGtGVK6x/77uUzj3Qf5yt1lh/6bsATD33JWyS0FtepvvB++6Ck5LOW12MNQP+0LCR5W1Cud3CKjn6l5Pxj489nEiUG9PT3RiTaaLFNVS1RPz/s/fesZJdeX7f55xzQ+V6qXOzA9lscjhDcmeGM0OOVrvSWJJlBa8NwdYqrAFDsgwDTmvDgC0JK9mCIK2shWwYglYryRa0VrAsCzu7Chu02jA7M8swDM3MZud+/fKrXDeec/zHuVWv3uuXutmJnPcF2Oyuuu/Wqfuq7vf80ve76gSCPM+j3+lRa9YBmD4yS7/do9fqbASLAoSQCCnI71JkZGDhNXzqWE6gmdqvF98ID+H7MSIgoSRetYJOM+dZt1c1TW4WWBJhiDUaFfhOXbR4L5u8ArMMnWWuSjFS4FSqmCew46pi0KgTTjcpzU4hpGK4sEza6SL94tw7bYgFeJWyM0y3BpPl7r0Y4zRcAp88SjBaUz99nHhl7XaBDFlkQIsAVvg+shyiu/dm3vMAnz5c+KmfIlpZov74WYQQJDeu0752jXhtjc/96I9OcKGg8dWv7cqPyfVr6Mi1e4tS2VUYRpWRg0BvV0hjeOq17/DmN34/eVg64O97CCEEy2trBIGPUmUqpZC1Vntbzzxr7V0FeoAL8vyRD5vFhAHD08fQ1RKzr3+4n4U+2O/JhBCQqpYpzc0wuLGwfVC1dV2TYxS+B0IjPd/xree5+8CEHZDVBoxB57cnK8efc2PwSiG1UyfIk4TSzBTRyhpZf4jVGh3voowpGLeCy8DHau3uO8XYgvA9BreWyaOIytE5etfmiVud20ZBNnkAj/jSbO93uP067u93dofd/gGCQ4fA8xDFL0BVqiAVXtWpJAkhwFMEhw9vOm6U4Mh7PbLVVQYfvE9y4/rGL10pTBK7WYM8d1+OhyBhLo2htrrywF/3AA8GNjek6z3SzgDhSedzVS2h45Ss59pHtNbEw4huq4OQAp1rKvUqnu8hpKQ+08TzfSr1yp4eMTvBAAmGSAhWhORDfK6i2HfYKAXBdPOuXvsTQ0oXlgpRCETsPTM7MiQfE1WSONXLQeT8erTZCOK2Is/HGU+hJLWzJ/GbDbx6FZQk6/bo31wg7Q0oH52j8cQpVClEBv7OLTBSuGDRWIJ6Fb/ZxK9XkUqC7+HVKsjAR6cpJk1pvf+xW99Wg1dj3EakaHuxZntj+wN8/6B2+hTSD8bc51WrCM+jfOgQUAhDlSvISmVPftRpWsivK2wSY5Pkno4vfNYRpClf/cWf58SH7yHTZEMN8OD6fSJYY1lrd5BCUgp80izb+CwLZ92g5D3YRo9ut9LNmYk0w/geWWMfqpxKEcxOffI13A2UQirlKm77UaBUyo2PjN5vlrsxkyR1aqAjP9lJ+rHFXN2IlwrLA1kKqT/+GF61jF+rYoHu1Rv0bziOrJ9+DK9UQvo78GPBZcLzEEAw1SBo1Jl66nH8SsW9VnFMHkfkgyHDlTV0sqVSOJq8mqz4jk3Z7+CzcS8+R7ud/r6e/VOM6lOfw2ZuLsdaC0qSt9bdZm60kcsyml97yR1nLcmtedZ//d+SrbcQnkd06WPyft+p6AEoiZQK5IRy1ihzOfpF3+df+CQO37jKvVGUOMAjA4uT+hegSgHJSod4tcvqax+y8vIHtN66DNbiBV7xf596s0FjZopao4pSElP04Q86PXSuifrDTzik7oa4LYKhgAUk1/fbVGAhbXf3Pu4+QCiX7cu6vX334+84J1D4CClPosJw+6+dAL9ew6vVCJp1vHLJBeGjNk3h2jhNmhFUq/iNGvHqOnlvsP1iJvx/vGqZbBiRrK+TtLquZdRYdD9CD2PKh+fce9xqELu1+q8NwvfdfTDL7kz97ACfKRx56evoOMZaS//6dVY/+IBobY3pJ54YH+PV6qjC7sfEMd03XiddWsIaw3CSH7VGlspuIz3iR603xMpGWW/Pe6Ac+WnDzOI8cuuM8UF19I4hhCgEywVT9RpCQBgEHD90GN8b3fOcwvW9s28oLI0EWOn+Hqx39vwptH5oHIk1ZP0hSbu7v62kLWyItjvW97Cj+bkdRgX8apVgqo5Xq1GamUKVQkCgk8R1txjrODJJ0WnCcHmVrLdD98loJl+7LgJVCtFpSvujK2T9vgsC7QZHBtNN8t7AjVlMLi+YGFCx1lUufY9RakuE+1QsuM9FnwOm3gEjf6B4/ibp4gJ5t4fwfaKrV8jW1wiOHiWcO0T9uecZvPcunddfI75x06nn+T4yDJwKYhw7IQUpXdZSF61gkzdf30eWSggh0L0HILlbYGZpAT9OnBUDbBDqQQvIpxjOWBspUKFP+dgsw4W1TWbp1ljyQlEqS1JW+wPCSpnFq/OAU9wUQo7FWExRAdwVgvGx29/0xTitHwsw1slOi7En3M7v565vgp9QHdOmLpix2R4n2Y/4irWQZpgwwO50La27hnmeYq1FD2MXXAkBnsQrhahKieHSCpf+33/pNsmTG18pXfubdX8XnsKvVgiadQ6/+EWu/cK/wWa5q/Ti7BwsoBNL1usjAp+gWibt9jcCvi3vS1VKTlZ7OMQY67KmnofJc7xKmazz4O5fB3i4aJ4/j1+vc+Nf/yvitXWk72H6fRa++12UNQTVKuHRY4AlvnmD3oW3MFGECEvYXJN3u07coeBHEQbYPIMieTpu35YSUSqhSmVEEJAtLjzst/7IotrtuMrJAT4RRsnNPM9Za3eolEosr65xY2FxfIzAjUJYa/dl2+AKUq41eSeKHD0hDAhjqdzcZ/fV3bSPiqLz45MIixTdHjZJduRb4XvjVsxdxzH0Dh0vk4dkGZ4s7hMC9DBG+R55ovHqVWyWY7RmuLxK7/J1t+3wPeykgmbRmmlzDVJQPjxL2Gww8/znHEdq49S2ddG9YkEnMaIvCaYaZL2+EzIbdfAkm/uU/FoVk6boJEVVKq6LphSQJ+ntxvIPEAfB3g4Y+QPd+r//ASos4c3OjmV487U1vOYUx//kj7mDhdsce9UqJs+wxpB3e0ic0l1QCslbLSd2NLJYUApZqWAGAzAGE0XIUvmBZuBGVgzvvfTDTqjlAJ9ubFHHNLmme/EmvUs7b45Gc3jJYHMwaNHEcQQWPH9vaZXRcLo1BqmkKzBuR0BFImFFKERQ4vFAoOLU3ViNIZhuoqPIJfeyDOl57jx3FfCJjXaQTcPk+59v2MmGYAwlXcDj41o99xIvKeZ2tyU9pRBK0nzyDI2zp8h6fbpKkl2bx2Y5WZaT9QYbP6sm2mFgbKgufIUMfI68+CXO/of/Lle/+StIpQiadaLlNcgn2mGsdXxmNMr3xhYdrvXzdmNrkzqxHyHd4LoKQ4zOMf0cnTw8IjvAg4dXKuFXa8w89xzVEyfH/DiYv0mrN+Cr/+OfA5zY2ZW//r8ipERWKm5WVGtnKSRA1eqYaIiJooIfgbBEMDdHtrqKTYuWzjBE9w+SCbtBGkNjdYW14ydAHWzv7hWG8e1CHMaOVK73B9fu6aqBe/FPqdPD7/QJh3HRSeHu1zbXSE8BAlUOnQ1Q8fgdw1oXfH5Sy6C9gkUh8OtVV21Lkt0Tu7uJtQiBVIrSkUMIoHriiLNF+PASSbdXtJLa27leKpwLcAEpkJ6HV68y98LzYAzlw7OAC9R0YQwPE/P30hmr5yNBlkmV68klBsE44SmkpDTdxGjH28Lwya/1J8BBCmgPbJ3dG8/qFXMJAPH8PHo4RNbr2CxzhJVnmLVVsqUlZBhSeuwU4eEjbvav8O0a+XehtVNieghEVu128NMtN7KDlo9PFywTA9OMY5w8TkjWPkF7hwEpFV7g4Ye7B3zWWPIsRyqFHwYIIW+f+xpDoJEsp5q3+ilp4VeHlKSdHjrLMXEC2mCSdO9ZgJFK5HaPb9fC5ClkKbg37WDabVxHLSQ7vmfhXlcoj3C66doft7RI+rUqU8+c58Q3vo5QkmM/9FWsNa7yYe3tmdHREPkkrB2vJ+30WH39HbxSSLS0Sml6auxFJqREeJ4j4loxkyklOopRQUD15DHXfjIKCt3Jx0G5zTXS9wmaNbCgSiHNJ05/8ut5gE8Vts7tCSGQnk/t9MZnYfmbP4fNUkSlis0yTJph8xy9topebyHDEFWro8plN99XLiGMJu/1XJdCsYHLWy1M/0AQaC/MLtw8aHV9wJA7ct0GtDEEvo9SavsDRjSVa8LlFs13LyPipPjO5AikczXINTqOSVsdxz97BXpq5xEhu5OAiJQbP7c1qXiHsIVitM6y3WfYpERVy8jAR1VKt3GpkILKyaOc/oPfYOa5pzn+u1+icfYxTJI5HtTbBNGmaBvdtCCXmE07PVTgjfkxWlotEtTCJaY8hSgS3dKThDPT6ChGZxl+rTqepR9fLyk3ZtkLHlaFbYMA/HqV2qkTd38hPyEOUj97YGT4OgmbZWOvIIDKuXOkK0uYQd9txibbNC2kKysI5eHVajRf+jrd773mNmSDoVPdC0PnGfQQII0hGA6Jq06RcZPPn2tafyjrOsCdwY4V2IpqjTakrcGm9s27gdGauL+/c1hj0Vajs9xt/nZJGlgsOaCxXEfyhDDI0Ef5PlYb8v5g8uCdMSKw7SplZiIAnjxHrpFBgCgrvHKJZK39iRIcmwezrevXzzWb2lOlQpVLBLWqaxMR4raXzHp9lr7zGvHyCuH0NDd+8TfIB8Od3/92VUQhXCYYGC6tIN4W1M+c5NgPvcitb/02g/kll12VEmEtxhiy7kS1UAh0ljG4Nu8CUunmLVVQbOiNAaXI+wPSXh+T5+goQSjpCPoA31c48tLXWX755U2P6SThyIsvjf8dHDqEPzNLcutWIVRmNsSOhHCCZUULlzc97QQfophsfd3NTjUaqEqZbHGRA+yNqeVFZJ5j/C3dOhMKige4tzD7sKOxdvsK4RhOQhssDE4cQvuK2bcujl4AnaUEtSp+rcJweW0jCbgLxi2UxTk2YReVa6EkXrmMNRoZhqRrn8DkXZui46jgw8mZ8NE+oeCY+umTDG7cwiIQMnPBUwFrLN3L13n/7/0TaiePceOXfgO/WiVu7zHXOPkeBcgwwOY5MgxYe+t9mufO8tyP/ynaH1xmuLSCjmPG+yjjAkU9iGi/f3H8HrIkc8nbQsRNhT5+rQpA2u5hMic4Nby5iCyH5FGMH/hke43D3Efc12BPCPH7gf8dUMDftdb+1W2O+Y+Bv4j7GLxlrf3j93NNd4rR7F66vDR+zG9Ojb2CrDH4hw6he73CZHoiu+B5bhNULmPiBD0c4jUaePU6yeqK+yDn+cYQ+kNCvbVOb2YO6239OByQwqcC1rhkUmHCbbWhf2WR1oUrhfLjg1xLIV5knciLUh5Ga2c1MsFLOQJfSWy5Qqo1l9KUI0JRH8Ybay5MZnfr86+cPArWEi0uYxFIqRCeRFXKpKutcc/91jXmgyEiCPBmyiSq66rrdxLvjQhrUkZ6tOYsB99z2V6pUJ6HzjI3F/D5J9GJI7Hll9/EZLlL+IwqZtbQ/vAyQbPhMqH7MqQFoTyEp5C+59osfY+s3aXV7jJcXGG4uEI43aR5/izxepvqyaOsvfmua0NKsw3SHSepJjKiUhSy+COl0EJxNNfkvT6yVEIqSfnQ7B1cwANshRDibwAvAK9ba/+bicdngJ8G5oBftdb+5Ye0xNvQPH+e8uHD9K5eHT9WPnKE5vnz439Xzj9F+5XfdkbHW1vYfB8ZhCAFeaeLTFLk9LSr6Fu3SbT9Hqb3kAQoPoXw8pzH33yNK8+/ANaiPW/cTXRgy/DoQYotc3yeIpudwoY++Y0lvO7QmYeXQmQYEK2su3nyMHCcscuoQdBsuHbPdg9jDV4YkA8iV8FSApLtudVmOZkZUDl6CFkKSdudO5vtG82xe2pDSRM2bymVHHeYCCEIGjVqjx1HJyl+vUrv6k2y3gApJTbwsJFTts6zPp2PriBDn2hpZXeOFCOtAIvwg0KPQLhAVxuyXp/elWu8/pf/D6TvU5qZJlpeJ2jWiJZXHfdlufv+mC17hFxjlXKzg7lBr6zjDhgl3SEfDhFJTDg3jfL3CPa8HSq+9wj3LdgTQijgbwK/F7gJvCqE+Hlr7XsTxzwJ/E/A77DWtoQQh+/Xeu4Wo9m97TAyXh9cvIisVMiWioBQFEIJuBK2SVL3u88yosuX3bye56MfUjVvK2YW57l17vzeBx7gkYEUwmUTrUUZQdIfYNKMrDMkafXoXVrA83236b/Xs1T77Du3xmKVccqPcFsvfqYNIklJjAUNnShj1hqOo/H3EejhSUozUyRrLVSphI6SIthJnI/cNq8Jrq9eCJCex/DWEiOfHb9aIRvGO1ssFIqaWFtU5sztBDj2zssxQPn4DNJTpN0B8XqLtbc/xKtWGN68hfCcSb0ZzRrAuCXX5BopJbs16MjQx5+ZQveHhXde5s4lQNYrSKVIWh10kpIPhsx9+VlKxw7RuXiFaGHJzR/sNCNRVPVFMR8ipBjfxxAKWZi0Wyw2y5GlCqtvvLvzYtXBBnM3CCG+BNSstb9TCPG3hBBfsda+Wjz9F4CfsNZ+8BCXuC28Uomv/dWf3PH5vNel++brJPO3nGr1aGZ1VFVIU0wUERw65Oba8wxVqWKyzIkk7FYJ+YygOX+L2soa5U6HcqeLynPWHzvB9a98+a7PObO0wMKgR1Srb3Q/TCRygO+boE9Jua1i5vjdj/wc9wlb3P/vFUzx2oV2IwUJkJdCll94huO//NsuoOgP0aNOD7GReNst2MsHQ/xahbBZIxtEmCTDr1dJVlvsSC5KIoRElUuk7S46zV1QFrjgcs8Zek8hhHTXyVObRUkmR060wWpD6dAsQbWCNoaF33qFoNkgXmuR9wdI30d4CjMcbupksUYjCPYM9GpnH8NqQ7S86gTJJtTvg6kGJssYrrVJugOEtUx94TzWaAbXF9BpsmEDsTXQg7GXnpASFfjkWTauXMrAd4KLWYY1YIYxwZE6yS7qquK2Ysu9xf08+1eBj621lwGEEP8E+BHgvYlj/jPgb1prWwDW2uX7uJ57juVv/hzp6gp5v4cZxhAEkGUb7Y/a9f/qUZuKzum98b1xa9Sjgmq3g0pT8vJBV++nBabIlplcE3cHSE+5dg0lx3N6eZY5Jah7DDfUvU3FbBvo3CA9idmunx5IM43E+fGlSHpC0kXxnAdepUTW7U8MSbteeltUlYQQRMtrmDTFaBd4bGr/3AE2TZHVMjpNNyoNUqJTJzyyo1KaEKgwQBRCKnl3cLv5+BbEay2njlfYt0RLq7hWELurmEs+GBLONN3Q+TbXTXgefr2GGUT4tZoLcAPftX0aQ9bpo8olBK4CKTxF5+IV8ihGlUo0njjNYH7RZUa3XceojcW1nJbmDhGtrIEt5rKUIk9ShFQIX+GVy6jyLm2c4v5mLT8DeBH4leLv/wZ4CRgFe18A/qwQ4jHgz1prv/sQ1ndXWPyn/w+Djz5Elcvkvr9RtR99J6xFJzHx0iI2SciThF6nU2TeH7z/7MPA0Q8+otzpoj1FVi6jdpKKvwN4ec7zv/FvWDjzBNeeeQ5TzOc+SvuOB4WdrBHGd739BnoT1bdRcDgO+iYD6LHIldgo9Gw5z/jYreuRYhTrOb4ZxpsXOx4LEHjlkktqTibrRnxf2AmALZKLC8hyibTXJx8MdudubbAKlwwUIKwtZrQ9F5ju9BFSToAGC6VD0yTr7V2TriPEay2SVmczRxbf/R3nEY0lj+JCVTPf9v2oSgmvHDK4voCUElmroOOk6KKxZL0Bqhy6pGoU49cqrL/5HsL3KB+dQycp8VrLBdPbrd1ayA1WWkRZ4jdq5MPimhV7FWKD9BSqWkGVAvyphuPobWDt/e3Cup+7+xPAjYl/3wS+tuWY8wBCiG/jWj3/orX2F+/jmu4JrDEMPvyA4aWPSZaXkWGIrJYBgx5LRltX3Ru1keUTLVmbbj7Czfhk+7aZvueQxnDk+lVunTvvNtJSfV+SwqcG1o5bhrMocdUXpbDaYpJs05ye+SSyyju+/B30O1rr9FV2+ZHJFWosa8AVDSej2N2gRi0hxm708AuQvk/a6mBxpqxjZRqpXOVt9D3bhuz1MEZVynjT5bFHkbWu2kcQOGKLE2ThkSM9hSqVqJ0+wfDmAtHSKkJJJyCxS+Bmk9R5Jk1mNPejBmoNMvCRpdAZzUqJDDystkjfw2/U3LU1CfHqKkJ5brA9CNBZVsw+OhEViyFo1BGhT7Syhh7GWJ0Tr7d3Djgnsq/4PkmrkHQft+EV6nBYlOfhVcq7twwf3E72whRwufh7B/j8xHNfB74ErAP/H/CDD3Zpd44RR7ZffQVrDMGhQ3i1Glmu3effU8hy2WXstXaiZiPoLZUDIV2L00PkyPuJ+ee+QFoukVar1FbXOPet79yzczfWV/GTmMSvH3D6J8BOnHfb48ZgJmT+hadcO7/YJom4NWCEDZ4sviNmJx9TbZwyMyA8ic2L+/ImvncdIsOFJYTvuYBKGxDScdduSqLagLTUTp0gGwxJ1jtYY1Gl0M25r3dQpcAFgWGA9BTlI3Okra6b5U6zcVLQSokKA2dXsN013JYj2XXP4H7QEM7MEq8W7ZPCqWxiDUiFVyoRr7bI4xgseM3VPrZxAAAgAElEQVQaxAmqXELHCSr0kUIggwCTZfiNGjrXZO0eaauD8P3d5yInHs+jGL9acZ1FaYq1zt7I/R49/GoFALWbL+2djJHcBR52KccDngR+F3AS+E0hxLPW2vbkQUKIPwP8GYBTp0496DVuwqh1M7p8Ga/RJLpyBZumePW6Iy5w3lhSgOcXRLaH3OwjQGIzi/MsnXmCPAw3Hjzo73+0YN0fFsam2ABpq08ep7TfvvrgZ/T2gzsSPxEYBEu4t3euXMILA9L1TbcEZKXC4Ze+SP/SdaKVdYxJxu2YwlMbAd5O18NadBS7dk7fZb1N7HznKodn8Spl+jdvUTl2uJC6dhnIEz/8Ioe/9gNc/Nl/Tu/GLfrX5smHkSPend7n1oBqt6CvmAWUYYAMAudd6Hsoz0MoRen4LDPPPMnsD3yBqz//ywRxTP/6vJu9G0lwG+PmDIwLGEeS0cn8IrqQjo6X1/b36wD8Wpny0cOYOCFeXUf6PlkUF7OGrvJn8hxvt8regcLvXugAjeLvDWDyA/+RtfZ9ACHEth/oR5cjGyS35slbClmuILo9rM4RZsNDj+Kzu2PbtjWQPYL3tX2gst7i0MVLVNfW8dIU7ftEzQbrZ07RPumU+fqH5u7b65f7PWrtdZJafZtntys7HWA77GtywYJOc4Y3VlBlFwBJ3yOYqu14mW1RDBDYcVvgRPmQtFbZdU1IqBw+hM5z4qXVzc+XQiqHZ5HKI1lrjQMXGQauADfykdsJxjJcWAal8Kplpzhd/Ezt1HFUGNzGkRbLs//Vf7otR+6a5LyNI3de1vj9SYU1mqBZR8cx0vdRYUDQbDD11ONjjrTWkrY65N2+4/04cfPmUYJfKRVtmAHxaousP9ioKu5z/EUIQfX4EYQQpJ3eeIbeZNm4ndPkObavd+fI+7x3u5/B3jzw2MS/TxaPTeIm8LK1NgOuCCE+wgV/r04eZK39GeBnAF544YUHumuwxtK9CqvvwuwzhvYv/F2ia1cpP/4Ewdwc3vQ06coyJkudclgx1+NNTeM3m1hriT7+GOyj3ZJS7XaYWl5g7cRjWDnRcvV91t//aMMWyS9L1hmSrvfG83nb4g785O4Kd3B+UXjweb7vBFt2knwukEtBrRLQGkSsxDlzUtE0esyZJoqIV1zgISZngLTF2twFTVIifIVNdkimGEPeHyKrZbwgcPLIzTp+pUzzmScZ3Fygf32eoF4DIKjXUKWQj372n3PkxS9x7k/8B3z8D3+OpN0lbnVYf+s910o7uWkdmcaz5VqNMpm3ramYJ2g0yLo9wtkp6vWaa1EdRuT9Icsvv8HyqxdQgUfS7o69FW0hgCGUh/Q9pj93jsH8EtXjh+levYG4y5betN3DaoNXKaPCAFkqM/XMkwipSNttEJKk1cGrlHc+yd34QH1/4bvAfw78U+D3AH9/4rmPhBDHgC47cPbD4khrDIvf/Q7Xfv7nOf2H/zBYeO8n/wpzTz3F3Je/TMX3SZeXMP0BWg6RpRA91KhaFVWtYZKYrN2BNLnvm50HjZkr13jszQtYIegeO0JSreElCZV2m7nLV8fB3v2ENIYn33gVrTzax46zWfr+gNP3jbHwWPHHyBZg1OWAxebGiWN5kqwXIZSztTFagxZFcCbcfXjcHOF4QOcaJS3lsps9N2lK7imCzg4tvQKsgPLsDEmnt21roE0zdJRiZFbMqUdYjEsMFjwzrqBP2OtM8pJJUpCC8MRR8m4PFYaUZqeZ+9IXyJP07jlygguF77kk9VaPvG3e8+Ta/KarVgeNGt6xw8UMukHHCe33L7F24QOwlrw/LIzSC7GYYm64cuwQ1eNHSVodgmaN4eLKXRnMW60ZLCxRmp4inJkiNIY8zamfOXEbR4YPkSPvZ7D3KvCkEOIsLsj7UWCr0ubPAX8M+L+EEHO4ts7LPCLIBpalV6E3D0p2ufGzvwZLt1C+Jb58iby1Tv255+m/fQERBJROnCCen8emKY0XvoJQimxtjejaVUh2+UWO1YEe3oZIGsO5N19DWMvq0RPODuIAjxRGgZ7NNTpKNs3nbf8D93fPJ4q5BLvL7BngvPdKAckgQu9lQitACOk2hc0GtwYJ0uTcsoIuimNofABj6V+fp3xojqnPnSNaWKI/vwg4MrWFlLsqV9DG3j7EPiH/bAYR6SBClct4YYhXreCFAUd/8Cs0Hj/N6T/4DZJ2h4//4c/x/t/5J9ROH+fav/y3TJ07zdk/8gcY3Fxk4Tuv4pVC+tdvES2vYDK7hby2tvtsM4fn+8jQJ6hVqZw4QvfSNbJOj6BRg9zN4aX9Pn6lDML5743aJ90sgjNLt1ojwoDK8cNEq+u0PryEzfXG/MQ+IXxvvDFR5RI6SZyFTDlkcHMBr14lWWuT9QZMP/sU0cr6HZ3/ABuw1r4uhIiFEN8C3gSuCyH+XKG8+ReAfwyUgf/5Ya5zEvHaGhd/9h+w+vobqFLId3/8xxECqnNz3PjOd+itrnLy61+ndPwEebeLqtUonThBvt7CP+zsGPJ2m87rr5GvJbu/2H4Emx4hhN0ej715Ae15fPzDv4O40dj0vP8AJdilMZx//WXe/p3/DlG9sXEtDzp3dkdRdbOjsQlt0ElacItg5ZX3Sdd3nq90npOSqS+cRYa+q/JN11ClSWERgdGa4eVFaueOMRxGKCndvddC89Y2MhaFAIjVFr9eJVpe257rjUWFHkJ5PPXH/n0u/7N/TffyNUdFSrrgQghEGDh+3Gn/aSzRzUVQEun5eIXFwJ1y5PyvfZv09EnitfViFn+UpNwHLxWfVxkEiMBDCkk43SDt9EjbXbxyyZmZW1vMMULQqLuRh2bNKQEXXS+IIuBGUD52iP71eTem4Kk73jOJwEcqhVetIH0fpCAbxPi16haO7FM7c5LOlRt7n/Q+4b4Fe9baXAjxXwK/hJvH+z+tte8KIf4X4DVr7c8Xz/0+IcR7OG2g/8Fau//+ovuMG78GWR/CacPw1/8edv0KJjyCHixTOV4j73QYJhcpnz1L9Zkv0L/wFrJWw/T79N++QHjiJP70NOHcIZLFhZ2/TI9AsAeOFJ5463u0jhwjPyCCRwcjwjFOinw0E6Dj9BP76H2iZe3DW8gdZ0iKzY0baZVICeVaBYGg154IWK2rX3q+TyYEJdxMXy5gwUp6CJ4hRwBZp08+iIlW1111YHwCOToReX9A5cRR4uV1TDRxrbZZu45jknaXcHrKmZFXK5z6A98g7fZ4/a/8TQY3F8EYOh9fpXL0EOvvpyy/8hbh7DR+rcLgxi3MaGbjLgJtm+eoWpXpLzyFCnwGNxbGHknRyjo6TVFhCb9WQwY+w1tLTpgmzwGBCArje2NcxeW3XsVvNAinp0jbnWKucZ8oLDxsEbBm/QEqDPHrxWZFSXoXrzhPRc9j7bW3MfrOgskDbMak3UKBv1w8/h5u1OGRwoWf+imilSXqj59l/ld/lbTTIe12yPp9pk+fonfjBpd/8Rf53B/9owwvXnSaZXlO6Ykn6L72CpVz5/Gnp/Gnpslbrdv5z/PGbWNOCVd9aoK9uctXEday9PT52wI9gGy3DP99gBNs+RXe+uHfS9RoblzTA56/DVvn8Kx1XGtzTdJyrYB5nJK1d1dTt9aiM83amx87+wAL08+dpXxsZiycZnLDcHGN7vs3CI808cslcgzK9yhpzZxfYtHzWcotFktbSE5gOWEEUgn680s7//6sZXBziWC6wbt/+x85Jc+RgIw2GyIyee44cmnZGZRvB+GE2ZJ2l1Kvz+DmItHy6pgjk3aHV/78X2e4uEw43aR/4xalmSnW37845sj+9XmywdCNPOxz77Dpl4CbgVR+4CyEllfxymXyYTTmx9HcoCqH5ElCtrJKODO94TVYJC+tsWSDAcvffR3heZSPHnLK3HcIawwWQT4YOhP1Ssl1wExyZOo6jdrvXbyryuG9wn2d2bPW/ivgX2157Ccm/m6B/67475FDaQaydpf03V/Ddm65z9twCUGM7hqXQVeSZHGR6OpVTByTD/rYKEKUy2Tr63jNJvXnnic8dYruq69sL+tuH425PXABX2NlhfXjJza8eQ7wUGFH8lwC8mFMtLD+cDz07hIjzz2LRSlFfbpBGiWE5RL9Tu+246WSzBw/hFcu0+r0STpdcgt5IZF9HeXsGazFak3W6RbtSRZVeL7lw8hdN60ZXr+1+5zcCMIZm7fev0hpZopsELH6vbcZLC4TLa5iUteDr+OY/o1b2CyneuIo5aNzmDTDZJp4ZYcs6/4uFFmvT/viZY68+CVUqYTJUuKVdUzqZKP9aomk3UF4npsDKIRrEC7ItQDaoKMIm2tUGBB3es6jaC94ygm8RDEjfyIhigqfVKgwGKuPJstrmEyPfZ4+LZ/FA9w71E6fImm30FFE2lonWV9HKEXa69Gfv4VXLlObnaXz6itkrXVkqYyJhvTzHBEE9N++gNdsEhw9CkaTpxnZwsh43W7mSmM+NYEeQHXdmVB3jz46blLSGA5fvcTNpz6P3jqbDwdB3yipih23V1prSdo9ln7tLWc5cJfnHQmlrb95Cd68tO1ht375dfwwJCi5OS9Pa5YBU6rQHSZkuA37NQltz+erXzhHfukKphSSbZlp33htS9ruIj0fYzUqCCgfPUS0sIxO0iKppxneuLU7bxmLxYmxDG4uumBu2nHk4ndeY/2t94lW1pxKc3+ILAUkrTa9K9epHDtC+egc0coq2a2lTxTw6GGESTP6C4sE1Sp5q4MMPPJB5MZb+kNMmrkKrDUI6TkV6dF8sBM8ACnJ2l1MpUw402QwvwD5PtYlhOsK0gY8D+lJhOfjlYJCHK/vKnxs5kgQdx7g3mM8bIGWRxqNM7D2L76Jsm3k7FnsykdYVcEvK1StRHjsGEJIhpcuYhGYLAMhkdWizD07S/nESUdygxvIMMSIwpJhkrju92zVHWJu4Qa9uTmy8s7DwQd4MLDGYHJDHiXk/Yil33z74S1mP1PqQriP85Yb23iuzBoGvT5+ENDv9J03zdbXMJbl6wtYa5FCECMxwiIsZAKWrCRBcN7mzv9Gee7/gI5itDGuypXnTll2k7Jf8SZ2mJezVlM5e4ojLzyLBQbzi6y95dxihJLO4sLKcdtkODuNEILWexdJe30nn7yvaf7tYbUmXlxl5dULzD3/OZ7+0z+KCgLW3v6A9//OP8akqVMgHTqFTq9acZ8RnWMzF9xpgDzHpCnR0i7BpxD4jRpT588SLa9x5KUvYYH1t96nd32+UCnLsWmCKgck621nqA6kRSYT+f0p534AOPLS11l++WWW3nkHa6xLCghB+ehRV81PEg598Yuwuow3NY3u97EIhO+DtWN+9JpTmEGffGkZr9kk7/VB55+q4G4rVHFfy0oPtoK3F6bWVljIss3B3gHGHSWje7dOc4SAeKXN0m++c89eRsidxx6stWidkQw1urDtCkoBSZKNpXSMgBxBTxu+/d5lXiwrstXWnq9r8gyhFCZJ6V+bL4JZ6wb/3ItPLJId+dFECaIqmXr6CaafPoe1lqXvfI+s1ydo1Mn7A4TvYeKUNE6RYTjmyMH1W+gk+WT73UJlO1laQ53wOfyV53n6T/8o7Q8vO37McnSSovsDQFCanUKnGfkwdoIpSmKscIGddarcw8E23VEjBXClKM1OI6QgnG4y+/znsMDyd99AF5ZP+TAm6/bwpxpjjrTWkvT6W2YiH+4e/96bcH2GUDkE3vQh8szD0MBSQpghNndeHX6jSfnMGacyphTS95HSGVIK38er1sBTBIcOUT53HlEquc1SWEJUqu4DUGQBHiVMLS8SxNFmsn2EgtHvG4x8fQpbxrR1exXswa5nP8fYMZkJKW4zn1VKkacZSRSjswydu+BISBdI+WGAxZKlGZValawwJweBFWCFIJaCvpQbvj6Fbw6F9yBQDIFzW2uY8BTC2+U7Zy39qzdZffM9Jx/tKaqPHUd4Eul7Tnmz28ekKeXDs6jAWTP4hY8OI+uVu4TwlFNLK9QtR+dfevkNp4YmJX6tiiqX8Colgqm6s5lIM7DGkanWG/YpO31vpSScm+bIi1/kS3/+v+bwV54nXm2RrLaonjhK4/HTONGBHGMhXe86UR0pwWg3N1jc8/b1wTgICD9zaJ4/T/nwYUyeuxbeUat5lpENhlSOHmP62Wf3xY+lx89h0gQQyHLBj1K6Vs5HkCP3gi7W7McPr81+O5T7PcKoj9hOifER4fgHfqcoqnm3PWYt/Sv31vp5a6AnlXQCYwUEAq21G9cwmngQQdEZIzzXXSGEILcwNTu1v2qjxSUyc73RZSOKJ/Q2ZuF7CHnpQUTng8tEq+uuAlmtEEw1kZ5CeAodxWSDITrLqJ85ucGRjXrxGfsEnzOlUIFPMN0EY8YcOeZH4cZEVBgW/Nhg9oufd+r4phCnGdlUjLw+4XZ+MhZVqzDz+Sc59kNf5dgPfoXqiaNjjjz8lec4+ft+CB3FmDgBpZyQmbFYIcj7fbzAdwbznrevql5waPrur8s+cFDZ2wXSF5z5jz7H8r/4iOCQB/wAAOnKMof/0I9QPnOG6OpVehcukK4uIysVdBQBFhWUCebmMFlK6eRjRPM3MYOB8xOyFju5IXzEMphenvPMd3+Tq08/x8rZxze+CAf9/Q8GdoN6Rn5xVhsGNx+ZcdZ9YbsMZhEGOmsAIVBKoXXRBigEOnUtNJ7vcf5Lz/D+Kxfoa2egPlLRskXQoZQgjxI6CFbwOISmOWrBMc5gXgixaQDcptnen2Fr6F66hgAqJ45y4htf5+N//E20cRYqKggwWlM5cZju1eu0L14mWWu5+7mUn0hVy2Y5uYmIgfDQ7Pjx6rEj6M/HhNNNklaH9geXsNaQrLTG2VLpeRuEpxRGsPNapMCvVGg8fhoVBDz9p35009Nv/LW/Reejy8X5XPssAqQQhDPTVE8eZf29jx2BGrN3a054QDWfNXilEl/7qz/J2oULvP2//Q3qp0+Pn+tdu8az/+2PU2k0GLzzzv75cRSETHLiXqJOjyAGM9NU2m0ai8us1LezPXg4kMbw+DtvcfPc51g7cfL2UY37yPH7rW08sJDT3hbiTSQscvIkI1q4v5x7mw/ueKu1sTIhBEYbl2fLdTHRYTj72FGayRStDz52NkKFL9z4OzTqahmdy7r5axH4oHOsmhAkmVTH3qudUQjyOGHhN17m8T/y7xHUa9iq86tNi/NI3yeo1QibDdbe/oDVN95xgdZWVeo7RZ6jrcGud/COHx5z5Hb8ODKeb739ASZJEYFfJEXtWOTGxMnGtdkEixcElA/PUTl6mNN/8Bubnk27PV79iZ8aK4DapBC7QUCWUzpxhPrZx1j+7TdctTHae08gxP2tvR0w8B4Ijx/HbzRJlzeGN/3mFOHx4+Pnw6PHSJYWMMMhNitEEKRExxHB9Ayt7/4Ww48+QnhOJn5kJAs8MrN6W3Hr3NP0Z2dvv/kfBHz3D9uQj7UWk2qGC+tkncFDWdbdtiVKJW8jszzd+Lw701XJSNfDajtupUnjlI/f+oBStUy/03NtLcYirHYD88LyTmKReOTC3chuWUUXyzFh8K2FXG8sWxR/jPrtd1y0dERrLIOFFUqHZ5n78rNc/eYvY3JN0Gw4VbY4ovX2R+SDCJR0BrPdffx+pHDrMGZDcGIr0WiNiWP612+StDsMbi7R/uBjkk6XYKqBX686uedbi0jlocIAVQopHZqld/WG8wsU4JVL6Cgu2i1dFVR6CiElc19+Fq9cYubZp8Yva42h9d7HLL38OoObi04ynKJiKgAD2TBCpymluWm8Uol8MMQvlchsXCgZbE9qftHafoDPHkYVvt7Vq+PHykeO0Dx/HinlnfGj72PSdCPAe8QSofvF6uNnmLtylSMffET3yGGSxuaAzx9GD1ykZYRyv0eYDKl22gyaU4W/2/3n+EejblhgO641zoNt6bfe2VVl834iz4p77ghiI/DTuR5zsRKC19+5RK3kc8wKakWHi80ngrsd7sUmy/AqFdcuPYkRRxajFNtCgCwFjmO0pv3hZaonjyKEJFpaRYUhQbOB8n2Ep1j41ituNlCpcXVtT4xslJTc3o5BGwyatNsnWlwmabu5vda7H9E8/zjhTBMVBkTLqwwXVgCLV6tQPXGU3rWbbia9SF6qShk9jNy8uu+7QD/XTD/3NDPPPEm0vMb0M+fGLz3iyPf/7j8iHyZFMn60Pusqpp7rAPIrZVQYYnPnr6fz3AWbO6Bx5v76o4qtykOPOl544QX72muvPZTXtsYw+PADOq++QvMrX6X61NObSvA74dJf+gskyyt4U1OYOCa+euWRJ7GFM0+wevIU/akZrLclJ3AQ7N17jMhngmid8mZG691r9C5utai895Cewvc9kjgd32CFlAgl3KDxHUD5nqve7XqMwvN90th5VJZqZTejN4yKwA+8wCeNE5SShOUSWmvSKKHSqKLjBJHn1EsBVZ1j45wehlx6PHuoSbCy6mb5JryQnOT0zt89r15x5xWKqc8/SWmqQfPcGYyxDBeWCKebrLx2gXhlnaTVYWTkvm07zDbwp5uYLHMEY+wmC4hNkAIZBoRTUwhPUjt5jMH8omsJwaKH8UYLjzGUj8whPEXa7hKvOKGM0uFZ0k6XtDVSO3Wziqpcov7kadL1Do3HT3HmD/1eqo8dZf5Xv83q6++QdHpkvT7xWru4T03MOHqKmc+fJ1lrO8P2ShkEJOsdTJoSt7uwze+9+tgxfvhnfnLvC7QNhBDfs9a+cFc//H2Ih82RI9+9Mz/yIxx58aU9OXKSH9GaZGUZvf7pt/GYuXKNx954CyslnWNHSWpVvDSl0mqjPY9LP/Q7AGjeWqB5axEAL45pLK+QVCsMZl3VIg8Dbj37+Xu+vkGjyUcvvEju+2R+6JJPk9z+WeV562bHgQmuNZhU07u2QPutq7cLTgnww9B5s+b5pq4VIYvOh/uwlVa+KpS4LaVqhfpUnSSKSbp9cm2QQElYZvOMUyWfsLAPGFtEGIMMfKTnkUeOc4TvETTrCN8nXl51yc9xS6NFeN7OdghSuFnuOKF2+gSNx0/RPHeGE7/nB1n41qt0L18bc2Tv2ryrnI05cn8CKMGhGdJWx/HILqMIohQQ1GuYNKd+9iRZb0A+GKIqZSh8D4NGjeGS888rH5nDZBn9GwuYLKdy7DBevUr3oyuu4ukrFywD1VMnyIcRXhjwzH/xY8w9/wxZf8DNX/kWq6+/Q+/6LXSaoUez65O/s0qZyvEjqMBHxwlepUw+GFI+foT1Cx/cHmQX73vuy8/x1b/03+99jW770f3x40Flb5/Ie13Wf/3XiC5fRtaqrP3yLzH8+CIzv+t349Vvl1aeRPmJJ0mWXe93fPPGIx/oATTWV2kfOfqwl/H9gRFPWBj51uk4Jbq15rz0VnZQ2roHGElAIwRB4OMFPlmaYbS7wSpPFRWeCeyj0heWQqJi9mAn6ExjtKE+1UBISZ5l6FxTqpQRQhCUQoIwYG1hBakUyvNI4gTlec6ENvAReU6c5gxyTQpoJDUpuBalVLyAIzrDtwavXCYbDHEDkNtkCwvkPSdPLetl0vU2Amh/fBUV+OP3krS7JP0BIx+mkTjMrhCAVOT9wYaBLOzSyy8wUUIULxNMNxncXKQ0N0281kJIxfFvfJ203aX17kVX/bu1RNBskLS6rjoJDBeWkb5H+dghSjPTlGZnUOWA9oeXieaXkYFP672PWb/wAX6jjvQVJjd4YUDaHxSBMhMiLBahFNHyGjpOUKY0zjr79QrRerZtoAeMhV0O8NnFpO9eOD3F+z/9t1l55RWe/LH/hNLs7I4/t4kfFxYw3c6Ox36asH72NHGjzuGLl6itrtK8tYAOA6JGg7WzGy2v5XaHmeub/bfCwZCwMMpOK+X7EuyV+z2COCb3/NsDvc8wXPeI87cbXF+h++EN0vYuXRnFuEFYCsiz3M3UFQQolURKST5x33PK0+w6pyXkhtrnbjC5QShJUA6oNqpIpdCZxquU8Sc4cn1xGSkFT3qSrNdnLKVctKXqJNnwtdPateenuUvmFvOlyvfJBsPdLZWMdQGclBhjSNpd2h9fJe30OPa7XqT94SWsMfRvLU20SO5+LcZQrqKXjpOM7NzyqSQ2yUjidVCK3rWb1B87zuwPPMPq994GBEd/8AXSdpesN3AcOb/oRGryHCEE0eo6qtujevwwM88/Q+XwHJ2PrxItrzKYX0JKQZZr3vprP83hr30RJPQu3SBPUvxqmaTd3ghgZWH3JAQ6Scj7A2SzgU4SrLV4pZBwpnlbYDiGtWT9+1tNPgj29onlb/4ceaeDf+SIK91Wa8TXr7P8zW9y7I//iV0rfs2vfI32b3+XZP4mpHfgdfUQUe73KA36yJkcvZUIDlo57ynGDSWCcV+91QbhKfIoua9eemGlRKVWpdfqUptuksUJlVqVQa9PUCqNb7Zmsqd/j/u2KMhvP00D1li66x2UpwgrZaLB0AV65RKNmSYgmDtxmPZqiyxNi5jDOm2jUokoSREWEgu2GHjo5oZhd0hdQBoEPHt0xrVepunuXnNFQFY+PEtpdhqwREurdC9fZ+bZzxEtrdD5+Arx6jaeYHtAlkKEVM7raD+YILu008PkOWm3h7XWeSKtrDv7ByxetUxQr6PjmNLsNHNfe56s1WVw4xZ+vUba7VE9foRwbpq1N98jWW9jc002jBBSoNOMtNNFKOWCPtUgaNSJ46SYn7KgBCOxOul7SN8njyL0MKJ29iQgMIOFHd9Osnb/EhYHeDQw6bsnhCCYnmb93Xe48FN/nWd+7Mf25seFW5hon9+PTwmGszNcnZ3Z9ZjFZ55m8ZmnH9CKNiCN4cw7bzJ/7mlWjx6HQkjjM4dRYwebgyuT5Xt71QpBWA7JU5eI9DwPr+aN+bFcLTPsDcZJLqHkhqfbLpBSovdxnLVOWCXJtRM3y0XfvbMAACAASURBVHLSOCUIA/wwoFQtg4X68SPYpRUuJIZY+AQWHvMttZFw2SSMdabm0gWDfrNB+dAM+SDaB0cKykcPFfwIaafHcGmVtN3Bn5qi/dFlku+su86VzW9kz/eqymXHj/vh1slrpzV6ENH64BJpt49XKWPhNo7UcYoKA5pH56geO8rw1iJ+vUb9zEkQgsH8ItHqOtHiCkIJ8iTFxglCKeZ/9dsIX+GVXSLar9dQYYjOo83vT4D0PCeiVgroz/eZ/twTVB87ztK3X8PukhgeLtxbMaCtOAj29ong0CHywQABpCsrJLfmUY0G4YkTrPzLX9i14lc+fRoZ+KT3OXK/l5DGcPadt5i7eZ2Pvvw1klrjIMC7D9iU2bMWYyyDG8usvfLRA/Eui/pDkmGMUorOWgsp5Fj2WQjIsnzPdswRpKcK9U1LdodJDZ1rhl33/bDWkgwilm4sUm3UUL4iGSboCaEGnWukUk4FK81uiz9zoG3BRxCePE7/3Q8RfgC7EVmxKYhX15yhuDWk3T7kOatvvYNXLpOstu5qwNzsx+duJ2hNPojwq2XItfNI6g9Q5ZIjnmqV4994ieXffgOUonvxKmmrg/R9eleuo7McVa0QrbfoXb3pTpmkLrssJQLhcgy5Jm13MUmKDNx8sSoHhalwgpCK8rHDkGvyOHatNlLQuvABwvPwahXYTsYayIafrU38AW7HyHcPoHf9Op0PPyScnqbk+6z98i/tyo+qXCLv9z+VYiyfZpT7PYIkKopAW5O4E1HSpxXFvfp24VHL+huXGVzbw0jbWpJhDEASxXiFONeIH6PBkDTeuLfvFugJISjXK6RRijH6jnkkHkTjGfg0TkiTFAQEYYCUktU4I9Yj7WpoaziG4jFp8a25PUc77i5xLY6tCx/sgyMt8aqz8/EbNZJ2Fx1F5MMh3Ss3yHpDsBOJ4TuAs0u4Cwg3h4h0VU2bu0RzZxg5His4snnuDL1r81ht6Fy6igoDBvML5HECWFSlTNYfkvUHbvlCIKR0rZ1KODuJKMGrVTF529kcxYnjUSRW5wip3HXpdBncXHAzfm9/yPo7HyKV2r3TaZd5vnuBg2BvD1hj6V6F9cWnEcvvki4ukrdbiCAgvn6dvNUiPHaM4OixHSt+rW9/C93rbcz2fIpQ7Xbws5xkJLt+oMx5z2GynKwzJOsNyeOU9tvbzAzcL1inCFZr1Dh86jgnz51CKsV7L1/AGE2v1SXaZ7Bnco3yPUqVMjrX1Jp12qstBJDt50a2pT8/TzM6O3gIWWsZdPtUqlW01Lermrm3xmqS8wvfeYuyBc9qTiKYGtcAt0GusVISr64z7q9VEpOkJMPk/rVg7+U9VKiy4ilslpF2e5SKdtZodZ2P/v4/w6tVyLp9vGqFcHaKrNcnG8bIwGP9zfecdLfvOXLTBouzkzBZutGaawz5cAhDtx7taWySjduBooVlJy9tDV45xG/UwELa7u2qQir8A6r5LGLEj6vvQvXUSyz8xm/Qu3KZ4cIiXqnE6quvIOOII1/8Il6tvokfj//JH8MaQ+/tt9zsSxJ/Mg+uA9wxpDGcefcCw2qd9rETW579FPP7eC5iS9xhLVY78+1ofvWOTvn4F57k5LnTm/hx0O2T7PMza60l6g9pzE4x7PZRnkJrg5JyX/x4G8dZy6DdYzhRTRzdxi2QAPNIzP/P3ptHyZXd932fe99aW+8btgFnw8xwuIhDihQpUbJEy1IsybbkHIexRVlUFOXoJFaU5JwospLo+MS2JOfIceITyVYsM7a1HC2WRIkhRVEUV5EccmY4C2cGgwHQQKP3rfZ66703f9xX1dWN7kZjBhgMMPj+gUZXdVXdevXq/e5v+X6/rsO0UaxpybTOrWL10NOk2w1Wv/DVI5udG22INraINres+iQC4RhUGt+a/W2/qSYkMvBJmx0QEEyMYbJ8ECM7C8voPLNKoaM1HN8nixLUyjrSdYi3G4V5vBi8D+PaSSUzpFmQd7sgpD3YRRxF2c/P6IxkYxsciVsK8UdGCcbH6F5ZwWiFX6uSbO2/p5E32WLmbgQ+BFnXsPY1aC+BUz5O9/IqUrVxRwNklllCudbEVxYJjll1TiEEuA7uSG3Q8YsWF8jb7duyaim1ZnphHnX6PqKx8T1J3h1Q+bvF0GlOd2nz2ryBm4xWvUWaZrS2GpSqZSaOTZEnKVE3QrrO4X4+RYSRjoMfBpRrVZpbdZpbDYzW5Ee1ItgTMB3XsQpkB8D1PPxSgDbFa+wTcDUQGxv4HAQ94TEjNCd1zoGX1mKUFimRoW85bK324bwD54gE9MNe89D7NdJ1casVkkaTyvFZxt98htXPP46O06Kq2UUnKWmSkm43wHWQrltUW22ypvN8hyyvNDorzKv7pq9SIBwXU6gECwOi6PKpPMcU3ntIQR6nOEGGP1IlFW280RF7nPZ5K3v9Fu/i9sdwfHRL0Nk8w9az8+hkC7daRiUJ4dQUWbfLxY9/nEc++MFBfPSnpwc8+K0//3OMyu05dxvw2e9EyP417075nu6XfxmDynI6F1epPzt/3QXVSy9epNvucuK+e6zJdhASdSOCMCCJ4ms+3nEd3MCnVCpRHamxurCMVvpoXnn7QEhhLXaUGpi1D79lA+A6bEsX7QWYtMMyhWI1anf8u57YpYp4Iaz3nzdWQ6cZpnPw/laGAUYpK/zyCtW9rwVvYtTaQBTCdqMP3os3Uh3ESFMkZ1olxHFCvLZpTdNnJkiabQZ+i2boWOQKIwv+gtjx5bMdv2J0VwhkpWSPQaECjtLkUYL0/YEfoDEGtxQcmOwdNuJ5I3CkZE8I8R+MMR+61m13Gq58BrIOBOOQNn305AcgnofJMUbP2ItifGWBdGu3F4vJMuIrlnDtjI2hL5x/VUbLtxoj25vUZ44RjY7aE36AOyQw3AoUpq0UYiw3k5d3VMTdiCxOGZuZZOXSIl4YEIQBfuiT9OKDRxD60yBKEXW6qDwnfTVjiwWGpab7EEWQcT0XKSVhuURQDokvLx/4PP2nyIVEG80ygk08HuTqKqd9P4NSISbPSbPs2gTzfrAU+9g7DCWCMvAAYeXlryPgCSHJkwSVpKg0o3N5mWh1ExVFGKMRQu4Q4vvIVeGjZRCuY0n9RdcvWtsk63Qpz04TbzcGHA5vpApA1sxs1zdNkUGAyrIdKwvXsc8trd+QKrz9/NEq3YX9138oD+QubksM4uOYpnn2S2x85Y+p3vt+jGox955jAGSNBttPfJXS9PTgcSbLqDz08IAH706MkyxeuXMSjdsQta0N6jNzGCHujM9hKNMzuSLvWS/S+rMX6F65vo5eH3masXZpGVXw5uJujzxXCMkg6ToQQqByhcojOr5Lt9k5XAjlCDDaoHSOF3i7BWKGYqQQAs9zqZY86i1DVwhSAykuD/Aqmg9FcUDnGXmnZ+0MDoFOs52iYj8eml2BfVBgFY6DUfnA8ke41j/wWgVR3YuJCz6icCRrX34K6VkbBJPn+5/X2nrVOkGACezki1sKCcZHac0vYJTBq5bJo9iK3EiBEwaYLMMULhnWl1FdrWBqNGm7Td6NcCoh4w/eR3fl4LHh61U8v14ctbO3SwpKCOEA77zxy3l9oD+a0l60uU3cgLQNsvYw+fY5ZA90apC+QPg+peMnrvLh8yYn6V25Quvpr5M3GnZL6bq2u3ebjamUOm1KvTatbAodBDt33EmVwNcYWmuMNmSdiPozF2/1cgZQWrG9toGUEhMlBY/OVhCVPkJwMNyQRG/4+Xb9WgQZx3XwfI+p4zNMzE7S3GyQ9KJ91c2Gb9FCkCBwpGFJH1Dl7EMpe0E/BDLwkL6PihI7s++5+CO2upg127jVMv7YKPHmFqrgXAgpdxZVcArMNRJKk+e28ifsKLhKEnSa2uq0AXNAMqWTFDxn4CEVFkT8rNOjdu8pSrPTiMAja3fBaLJutNtGwhR8iKHkdSBCoHXRue3ijVR563/7Y3z+x3/mgDdwe13z7uJwGG0wCrZf2qJ74d8TLX8drzpGtDKPitbI3/qduOUybq2GEJLa5MQgRvZ9av3pabJOh3R9jbzVglIJut273b1bgLHNdTqry2wfP2nNtoHbcnJnv+uMkAhXkkcp0cr+XZWjQhvD9tqmNcAWgjyzRTHrn3q0dXXq7Ve1hr3Ikt0joHtj5Mz9p8nzjF6zC3FGJDSO1mRw8HTLUaHN1WIse+DWrMeqihKM0XjVCjpOEIGP6kW45RJOKbSdNmOQnovqm+9KifAckGLHEP0A5J0uOsswaHRsOXwiZmCnsO9jjbEdR60sDcV1cMqhNUtHULv/JEYb8oWimJxbMZjBcxWf+76JvjagFRrbeR156F5GHngT53/zD/ddvznK/upV4NBkTwjxs8A/BEpCiL5ZkwBS4Ndu6spuEYZHU7wKbL8I0odwHKR/HBWOorvr1L8BtZPgj40z98G/a9u1Q+g8/zzbn/ssut22CVGe202U675ujdQPQl+spTE9R+R5u7uUdxO+60OfSyAERimitVcXfIQUtqtzrVn5oc9ICA7t0gkpEUJYkZVivWpoAyaEQLoSdR2VqKAUWN8818UAaRSD4LqeA4rRFSmZnJtm+sQs0pEsnJunNl7Dce26Va5Ioni3gujOMwCQICgFHu0sIdMu91+ryuk49vs7bM6uNV6tRmlmkso9x1n74tesqWytStrq4JQCZt/7GOHEGL3VDVa+9MRg9l/4HibLcVyXcGrcKm6m2eEVUm0ANRirdAK/UJSLD+4SSoGUDlory7lb3UTnOU4QgBE0XjxPODVOaXaaaHXdvse+jLTWA8W24e7kgL8grAFvMDWBlA5P/8KvHLz2u7neHYN+jOytw/rnfpm8u044fS9OWVA+WaP98p9w5U//lKnHHgNg4n3fysM//49ww3DX84Qn72Hr03+OSWzXhW53UN2/m/C9tnDThKz/+fSP/W1mlzJc6CuYZOg0I1rZZv3xs9cc2xRS2imW6JDrKYY8U7iesMJl/b8bjqcCaw90RK47gBt4OI5NzrzAJ40Tkp6NYfvx0fd/A8UPsTtGrlxaxHEdRk/MkWzVibpWkGchE9yvr9F8OMgHdt/XL2Zohv7cqZQIp8ZxSyX8sRrNsxfxR2ukrQ4qTXFLJWa+5R2YXLHeixCua5NHIcETCCEQCEqzk0Tr21dPr+xZq07SIkF0BzEy6/YO5ZP34xhSoJK0iJEZwnHoLa3hVcuEk2P0VtbtKKgjEcaA49iipzHFGK3Y2Q+LHQN5Gfi4I1VW/uLLpM3Wwes4xP/3RuDQZM8Y8wvALwghfsEY87M3dSWvE/RHU8IJQINbhqwL0SYEIz7OA3+f0hzUTsHx9+1soPcarjefeByTZYggwKTJ0AcforUBdfvx90qtFtE1PAXv4nAY7PimijN0ktJdfGUjJX14QUCeHWFEzhgc18XxnGt23rRSA+s4a4MQWPPzJEHniqAU4ngu7e2j+2ElxUXaqTg8+I5HWLm4SK/VIREp+TXI6f0Ezwt8JmamqE2OIIVka2WNqeNzKKXtd8rYgO96LnEEshjb3PdwAKkxJEYwhh1PbCLYwGEatXu8U0qk61ihFl1c3B0HgyBttEAIag++CbdSRghBMDlOMD1BvLaFUwrZ/sZLdK6sWKGTohLoVSvkse3ORetblhN3BN4HYMdFfBcVJzZpPywYC0F5bhqVZHgjFSon5ggmxujMX6Fx/pIdcer2cMIA6XtoZVVOZWjHX0BYcZWiEy28wnB3sEEQ5J2u9YW8m9ENIIT4gDHm00O/f6sx5i9v5ZpuFPoxsnIMwunTdKI6eSRQKZSmPOa+7X1MvfMx3vwT/9XgMUZrVv7yi7vM1ptPftV2tIMAWi17HrsOTm0EVb/9TdVvJ6zed4aw10ULQTQ6hgSy2yHZKwzHBTZWmSGLBZ3ndC6tUH/20o6J+iEQAmpjI6R9Q/J9X8/+Mxyz+sVPKa0BuhCCIAzoHMBf3g95kpGT4fkeWmtK1QpeEKDyjG6zc82ET0iB67qURyqUazU83x2ohI5MjFHf2ML1XDJt8ByJj6GEOJw/J64j0ZMCt1RCqxxdCHrh2AmW3soG1XuOIf2A2n2niDe2CWcnSbabBCM14rVN4u0GQkiyZgsppaU7aIP0PVQ3ore8fm2O5SDx1pjMgOeSdbuWuH/osZO45RLHv/09aKVJW23SRovWxQWM1iQNy+fzahXSds96K3peUWQ1OGFg7aZMBMqKkZmh80PnimRzm+SavPybGz+PNMZpjPlZIcQJ4PTwY4wxn79ZC7tVCCcgj4oihQMTD0H9PJSnbIJnjKZ3/izp1lfpjL+HykMPo7qdHcP1SoXV3/9dktVV3GoVkWeF2IHN+HWva5/c8+Eom/TXEaZWrrB98tTVd9zt7l0Tey0W0u0WaatH1rw+URY38FFZjpQCrTXpYV2dPVB5vsu+4CgwhfR0gk1EpOsQdXpWbvh6iNbF3yVRwvNfeabowOVH4i1Ix0EKwfjMJForonaP+mYdRwhK1Sr3PnI/rXqT6ROzGGNYvrjIxW+c4/63nqFVb7Eyv3jVa2kglQ6lssv0WJXlrSbNLMc12pLYjeEYGk/YsUUM+GMjxFsNnDDAq5RJG220VqT1Jlc+9hcE46NMvfttRCsbpFstVJax9qUnyTr2Oy881yaKQpAXfoIay2GSnocMfTsel+eHB9lig2MKsRUZ+lakZb9j57ogBP74CGhN5/IS0domKk7wqmWydhfhuiT1FkZrHN/DHx8lHB+lu7SKznKcUojR/aQwJNM7lVLhSFTvaEnqGww/B3x66Pf/Abgjkr1+jJQuHP8r72Xhj76CNwr+CNROCVqXEpwg4Cs/8z/ypr/5Nxl98Aznf/M3hszWf5XFP/ljylrh+D6m2djVRVad9t3u3msMv9cl8zzKnTa9kVEyP7j2g24x7Lgidl+lFaqXgtb0rmzSOrdEnmXXxYszwPba5pF88vauQ2UKhZ38ENjYLBCY6yyA9dpdhHQsD8wYpBBH6uw5nsvo1DiVkSr1tS3cwMdozYXnXuL+tz5EeaTCzMk5AOLtBhcefwY9N4s7UUU//xI6yyzvcHhUskjYhHSswIhSVqm5T2l3ncGxkq6LPzZC2mzZmFGuQGHebrSidWGBeKvB2Jn7qJw8RvPcPCpJiZVCtvuFRXDLJfIowSkKtzpOrRG5EMjAFiM5aBpozx5rwKFzZEF/2P84ClcW0zUdknqDpGG7b26lZEdPMeS9BNWy1mtetUJpbore0hpGG2qnTxBtbuNWQlRsk7xd6qr9yvktroUeVaDlF4EPAi8A/SNtgDsu2Rt5E7Qu7/zuVUA6gIBopYVa+Ax05pEP7ngGpevr6DjGGRsjvnyJdGMD1WqRra3utHSltOObrt3w3W6JHsDY+ipWqUjeTe6uA4NEzxSk6iRl/S9feEX2CnnBzXo1wo+vBn3lMKNe2ZVLK7VzBSnQVxI7CCrLUcDq5SWCUojre+RpRnlqjFa9Sa/dHXRMt5Y36LY7OK7L8vwicS9CZfm+XL4kzRCuZKHewnguJaVACxxt6CJYMA4POHasLJgYZfTM/TRePE/W65H3ImTgI5UiL8ze02ab9cefwSiFTlOEdHBKAV65hFetoPKc3sqG5RBojVur4HouRmmcwGfkwXupP//Stf12ijEdLbTlFfZHS7BKh1JKTFFxDMdHGXngTQRT49S/cY5oY8sarTdauGVrNKuTgvunFSoxZO0O0nVxSiFTjz2AW6uw9fQLAxEXEfgYbacVzFGV5N4glwshxIeBHwPeKoT4PDslka/e0oXdQAzHyPKJM3ijM0RrlxACGmcTovV1lj71Z4STU7z4r/413eVlysdmGbn/AUyakq2vsfoXf4GD4dipk/aJpGM3RX2LH8e5m+y9hhjZ3qQzPolUOdrzGIzjvR7jvLEplNEGYUDn9vqeRwlZJ6Z9ZZ3slQhCGculPwzXilX2sJnrGuEchi5UkvsYXF2vUVjNk4zNpXW2VjZwfZ+K65B0I0Ymx1g4N7+L5rG5tEYvU1TShOdf3ECkBmMks1oxavYIliltPWdDn2B6knwxHajKD679jsSfGGXszL10llaJCu6dLuIS2OOWNtpsfv153DBA55ZWoLOMysljlOemSdsd8jgh7/bQqcEIkL4HuZ2Wccslemubu2wQDoQQO9xype3/i7U4YWC5hlmGGwZMvOVhavedIqk38cZHab58CaM1/tgIRilUkhUFWGWneZotjFLIwGfybQ/zyE/8Pc7/9kfZePI5ks0Gwnd3j78edat0k0UcjyrQ8oPAQ8aYG6i88PpEeRq8KsRDUyQTj8C93wurv/NR8qkm7kOzdmRgxHoGpdtb+DOz9M69hI5jdJKg02TX3O7gC3wb2i/04eY5U1cus3n6vqvvvNvduxpm8M+gG6OVonNp7bXz0StwzSD1Cp9z5+29gufuj/hfx7qSKCZLUkq1CqVqBQF0mm3GZyZwHIc8y5g5OUfU7TExM8X8i+eJO9HV71+C5/lM33Mc1WxRcgTSsXLKKs1QQtKTEueR+zh17wnO/MjfxvF9WvMLPPcvP4LOctvZyzJEX3IZbS0PhFW1dEshwpEkWw1UmhFMjhXiJ3YdeWEij+ugkpTtZ1/cKQwdcn6I0Lfchb4wgOsg+wqfqcJ4nq12p5ntLn7lKcvv0wZU4ZVnrNcUWmFkX7HTxRQWDULAsW99F8e/61s59+9+r0j0JFmzvfu8PireIBOexpiPAB8RQvyAMeZPbvV6bgZ2x8iQe/7WL+HVbIx84ud/DrdaoXLipB0BHx+ndfEC9RdfZPSBB+m8dBYdx5g8I09Trnzjecbm5qhOjO/Yc9xmnPY7AaVOGy+NWbvnviKWFxvP12FcH1xKtBlMqugsRwj5ypWtpShixDVe+4ixSgx53w0StVdjOXCNxw1b22RJSqeuCKtlSrUKTpzg+ZYC0djcJupG+BMjVN50iujCZRrbDWSSooygBVawTACuixQS4dqOuzAGrxxa+kBBrRCOy9Q73szb/rsfxw1DWvMLzP/hJ0maLZrn5pGui0pS61+nNTpOSNOMYGIUnSuEMfRW1ijNTGHy3MY1bTBFmtsvLicb2+Tl8HDu3TCGRyk9B+G4CKxgmerz/rT9ULaff4nexqYVQVPWnkilKWo9s13FovAhXKtuKjwXlWWUZqd4y3/zo0QbW/SWVslaHduRfaUCdTd5T3jUZO8iVrjnjk/2pCe4/wf2v8+fnibv2lZuurFBsryEMzJC+f4HyLa3cMplW9F3nB2iuZRFgndn7HbmLl1k8+Tp2468favQ/9SNNugkQ6XZK5Z+fqWQjjw6yfs6MAh8Q0nf9eB6x1yElBijrUlqp0fSjQirZVSu0BrWFlboNNs0NuuEpZDNxXWM0filAMd1iAv7CCEgLJdwfY+RqTFaAi7NL3L8vlOcfuQ+1i4vk69scM+ZN3Gp3ePChSV4+iXOPPYIabON6sVknS7GYMdPRMHb8DwrzwyoKKY0NVF461iPne6V5WJTYdUxBwa0hSiKjpNrb6ykKIjcxc5BG0ya4ZTLSNfFq5ZxAp9waoL2whLxZh2d2GopCNxymdKxGdJGC5Wk6BysAppHeW4a4Ti4YcDx73wfp7/vu/jCP/hf6C2vofO8sGAo+HoCa8EwLKF9mLnwtdTq7jwkQog/AEYp+prGmO+6tUu6MTgsRlZP30PSsKJT7YUFmi+9hBP4A86UUy6TdTp01zdwpMQvl9iYv0S3Xmfqnntw/ZtrLHwX+6Nvrp6EZZpT0+RhWFyLxOsn4TO7o4VWuR2vixJUmr8qr1o/8I9kbH5U7DsK+kq2gEdMEI0xhNUSaZxaHvZQjERAuVZhdWGZlYtXiHoRjuPw/Noz+L6HJyWlaoWqzun2EhaMwyOjJZvgSIEThkTrm+RxzPQ3vx1/bITt584SjI1Snp2iu7TK137+/+DeH/xeHN+jc3kR4Vqedx7FViilHKLb+SDpzbsRTuDj1qqoOEI4DvHmtlWDdp1CyVLvev8qTtmVjfctgAbHakgYpRj9tFN0Cm3AK5dww8B29owhT1NUZHUIOpcWwUAwNW6LtAVPXaX22Dq+hxuGeKNVhJCDGOn4Pl//xV8ZxMirPq/DYuJe7BF5vNG4lhrnv8QuvQc8LYT4NEMJnzHmp27q6l5nqDz0CJ3nn6e7tkperyN8n3hhgWBmFicsodpt8k6HvNnY2cjdYag264yvrVA/fnKfe/vlq7sACoNOg0pzdJaTNbuviKd3I3CzEj7g6CTuPbjebqAeSixUnrNyeQnpOHiey+w9x+lqmwgGpYAkTkiTxFbiHIe8F9P3xBGORGuF51c4/8zZQXX4ysuXWLqwQHmkSlAKufTiRUt89zz+5Nd/lwc/Mc1xz2HiLQ+x9exZVGpHhYTrQmFIPoAQJPUGshjPfOjv/20u/M7HaF1cwB+r0b60SN6xZud2JmlnQyVcy9nYO6vrhAEqSQaG5zsHElQcIwOfYGIM4Xu0riyTbjftdWhISVSlCWmjhXRdwplJouV1dJbjlkukjRZaKdxyCel7xNsNeiubVjjGcazk9FAw80dHUL1oR1jmsM/zzqh1XQ9+Efh+Y8zBBpB3IGbf+z5WP/d52vMX6a2s4oYh7dUVwqkpGi+dRacZK08+iUpTSmOjNJZXMErR2tygU29w/7se29WluIvXFpMri7TGJ1+XI5yDS4gx9rKZayvTHyWv2qt2OLbccLyap72Ox2ZJthPjCwP51YVlPN8j6kS4rosbeLiF/ZfOFVGek0tJuSzZiDNcA1Vj0EpbLzljSOpWhCze3GblC1/FDQO8kSql2SnWHv86RkiklHzj//p1wskJRh44jerFpK3OINnDGKTroIvx1j7tImu1qZw6xqM/+SEaZy+y/JkvoZKU3toGeTfa6XYNfPiK8e5+3OxDCmTggzJ2wmXvXkcX9QXMSgAAIABJREFU5vVC4YQBaS+yHb4sRwQeJhdgNGm9iVer2uJtEOCPj5J3egPD9HS7uU+M3LC89X2+L04Y2H2C4ZqdO+Hc3O/btTp7TxQ/nwT++Kau5DZAcPw4yfoqqt1GBCFkGe7YGKrTwZuY5ORP/CSX//n/Tr69de0nu00htebBpx7nq9MzVmRmGHdzPQuzk+gZbdBpTndxg8Zzl17z8U2wPATHda7iyr3eIKQ8+PjsrZAV/9VKkRlDa6uOlJIsTcnSzBLkhUBlCk9KwkoZleVkWUa5VqFcrbC5so7RhspYFUc6pElKr9WhXW8SdbqFmqchCH1GfI/VK6us+h5l32UqDCmlqTVjzXOccgm3UiZ12mx1IjYzw3QrxoiYdmqorW4y+7530ni576m454tSJMzCc/FqFcuHkIK83bNdEbP7fe+CMZhcUTo1STA2SrS5RbqxtfO3/cKTMRilrcJZnBCvb2EwCM9BxYnlCmqNTjIW/+xzXPjtj4IqfKT2js8YrGCL7yMciVsKccKA7pWV/T+/N57P3hO8ASZh9mL0zBla8xeJt7dwy2VUklCem2PkwQcJxsepHD/B9pNP0NvaorNajLMXokWdzU2WXzrH7H334t7kKvdd7I9KfRsV+K+vRK8fT3fdZkg2m2S95IbE1aOKhb2qUcybAQFCSIQUlpe35zprtCFLM7rNNtWxGiaHuNMbFFq10ijXIavWcIUkjlOUIzGBi+nFaKUQroM3UgVAdXtkRRIXb9atqJfnkSmFWwnRSlF//mXyOMHofBAfheMQzkyTd7rkvQid2ZFJ4Ti0Ly+x8InPcuz978GrVQYedza5K7hvxXqFFMggBMxA/dN6xJr9z5M+tEHFMdXTJ3D8kGh1Y+cYDfkUGqUQjrTCY3FCHsf4IzW0UvvGyJd/8w/RxTTPVTFOCIwxeJUytXtP2QQ2Ssib+/ssmsNsJW4ArmW98O9u6qvfZpC+z+R3foDepUt4Y2O2MrG5QW/+IiOjo2x+/GOoqGftFURyWxqoHwVunvPA009w/p3fstM67+P1MvJxC2GMsSTtKEEnGa0LK7TP38ICv7l+PzsopKxfw/N3b8CWUu4Q5vc1y7XjNwjJ0sUrSGlHi4W0NhOe75FE1j4ADGMzE2Dg4Xc9yvf/2H/Kv/jpf8Lm8jpSCOJetDPGYyBPbQVSOpKoG6PTnI6AXBtKwnAhzRnxPSrVCidKAdUkJjeGJcenWRKUZyaZb3RI8xwnyfjEr/0Ob/ue9yNKZeKN7SI4Xf2ehOsgPQ/6Pk1CgBHgCITr7FgfDBPQjeXbuaUSSaNJe37h4A2JMeTdyFYuSz7hxBgz7/kmNr/+PPHGtvU+KpfpLCzbMc+DhAacwo4CQzAxTlpvkCd3uVZCiC9gj74HfEkIsV7cZYwx337rVvbawA1Dzvzoj7L1zDOUZ2eL8eUrbD71FE4YMv7oozjj4+i1dcxQnDDGkGUZmwsL6Dzn1FsevYXv4o2L9XsfoNRu0Z2Y3LnxFofzwQbeUKgCJzTPLdE+v3TjXuOo0ymvw+2cVe5k/7WJooiKoV1vk2cZjusgHcd23ESOQNBtdxidHKcc+IydmEVNjHFsdYXNZ1/AOt1B3ovJ49RaFGUwnaWMFgq6Rtv9TpzWrWKn40CWI0OfcGrc8vMwhFPjRKuKoFYh6/aK5Mph7ctP0bm8RPX0CXrL6wfGR6NNIWjm2f2CkNZ2I/CRjoPR0k7qaDMUI5UdvCliZOviwsEHUxvSRhvpWX5eOD7K+FseIpwcZ+OJZ6+KkYNEcx84lZJdW5/rJ+SBid5rgaOqcT7H1adSE1u9/MfGmDuulWW0oXUJNp+HqbfAyGlbVag89Ajdl8+hk4To0jx5vYFRGcnSIngeIggQvg9xdEcmen1MrK0gkxgdlva5943b4jPFVdcoTd5NyDoRyebR/ehuOITAcZ3rVwcTu8csHddBFRfNm44iQAkprfS01khHIgx2DX0YSIcsB/py1dbPADKjKVXKjEyMMTo5xskHT9Out5iYnWL++fP4oY/Kc6KOIkv3l+m2yaYgyTJipQl8j1aao42hF6f4SqFLJSYnJsh8a3I+HicsbDToRBECgSMFWjp84WOf5b5HH+SHf+a/pHN5kad/6V9Z3kmnZ7ttaWalpztd3EoZ13EIxkbImm2cWtVy7/ojnEU3b3DIfBe3UrJKna6HRuxITw8hnJkknBijcmKOmW9+O+tf/TrRZp3W/CJohQwC3FoZnVkfyIPghIFV80wz4s1tgvERZFB4S72BYYx5/61ew2uBg+Ij2FHO9ccfJ+/12Hr2GXorq+gsRWtF4+yLlCanaHkXIE12x0itSaOYTr1BliR4wetf/v9Og5smJOXKnhB+i2L50LlhO8CQtSKSRodks3HDXmaXmMqreZ7DJlNuBgquuOM6BOUSSuUkBS99AGNFTvTQZIzKFUJqpJS4vsfo+ChTx2c4+eBpAFrbTZRSvJQoXC0YRZN2E87mOat4BALGKCyK9I5FkYoShCziU1E41VFCvLlN9dQJ3FJAeW4Gb7RG/YXzg/giHAfjSFoXLhOMjfD+X/0ntC8vMv+Hn6S7tEraapN3ehggnBgj3qpj8hy3UgagPDdti5hJSt6LrP8dXBUjZSnAq5ZxyyFp32Jizx7dGx8lGKnhVkpUTswx/a63sfipL9C+tEhneQ0dJ0jft1M3UXLwHt91CMfHUFmGihOaFy4z/uYHidY2Dqa93OS91VEFWj6BHQL7reL3DwJlYBX4f4ED6Nq3J7KuYe1r0F4CtwTLX4L2ZZj9ZkNw/DjeyCjNrz+JSTOE7+NUqohKlejcWVSSonq9W6eN/xrBzXMeffyLnH/s3aR+iAqCoY7eGzDRM9hxOyEwBlRs+WKvlkvw6tf1CmWg91x41FFVsHjlyp+DTqIBozSq7+HjyIEq12FwPBdjNFppvMBn7vRx0iixI51S8tKTz6OU4srLl6yBa5yQZ0cZ3zHowmpCKYUaEgpQSrOyvs2WdKhMj1OqlLi8vEGcZsU13WC0QCgrKz//wnm+8NFP8473v5NgYozemjWLzbrRoFM2cv+bmHnPN9FZWMIfG+Glx5/hucurJBruCVyOSY0wGiMkDQSLBmRiOLO2zekHT1vlzTS7evTVkWTtDsHYCMFojdr9p5n/o0/SWVi2qpy5Qqke3ctLhQrZgR8UOs2Jozp+rUIwPkrW7uDfFW0aQAjxb/fclGGFzv7N7V4cPSw+ehXB6JkzlGZmuPKJj5PHMU5YGlS3OwsLyFLJ8mqk3C2kAGAM3UaDZz75KU48/DCzD9yHvMmS5Hexg6g2UiQGGsQt/D4bUygD70wK6TQjbXZveEy9EYkeXD2ZctNhiikiB+JuD620jb37ZA1SSrRRlpqg7eSL67nMnT5Oa7uJkJJzT73A+OwEi+cXSKIEz/cQSY5MFXU0ubGWWxGQ4hACqdBkQnK/Toq4fXXc0GlGe36Byok5gqkJ4o0tdG/n8zNGo5TE8T22X3iZS3/0Sea+/T0EozU6C8u2iKvt3korjVctU5qZHsTIYGyElce/TndhEbTt8pkk3RkDFQKUttw7ranec4Ltxll737CFlOug05R4a5tK6RhuKaC7uEpvZZ2s07W8PKWsX3G3d/DnUpjRx/UmArt/wXHoXF7CKYeozgHn7k0WpzpqsvdXjTGPDf3+nBDiKWPMY0KIH74ZC7uVuPIZyDrWPFYIG9C6q3Dls3Df9/kc/5EfxZ+dpXfpEk6pRHRpnuTSvJU6bzXvWHGWvai0moyvrbB17KRN9vp4o41y9jf/RbJijMHkms0nXjpQHcz1PVtxu828pIQUxcjIzkVSOs4uH59XavFw0MhoP1mTjih4dBqVazucOfQYrfRgHUmc0G110LkhiWOibo88zYi7VolMOhI/PELnoHj6/vvOtLEWDcUGQRVqmNrR6FaHjeUNtMp3Fe+UMTja4HiSidlJzj9zlqc//wQf+L5vJ3jmeUozk6xuNLi8tMaxSshDH/ohFi8v8uXnLqAdyeLiGllxmpxPYcPxeVMes41gQ7goNMIInlnZYr3Z5b7xUUQUY7KC6ycFwveozM3ihD5v/akPM3LvPZz9yO+S9yLCmUlMnlu+XUHcbyLYwGEaxSh7vJeMsSIxQpB2I/IkxQkDkq0bV22/A9ABvgg8DbwN+AAwD/xu8f/bFofHRzvK+Z5f/CVq997L+uOP01tZpreyQh5F9FZXdzz1hrikw+hvGBdfeIGls2eZfeB+Tjz80N2k7zVAqVHHm5gi8YY2nq9lPDf9fwT0EtJeDI7EaMPWIfF0L/bGpNcKNk7JnQJr/7jdxCkvlVuVS8d1cAM7XaKV3pmCEcWEigEtbDcrL3jtnXqbPM1ZubSIlA5L5xdQRhOEgVWrdFxSFNZbeeg1MXQBjcQ1hgyBH3g2ydoLbWwRNlOsf/mpq+O8NiBsolqem6Z1aZHm+csEk2Oc/v7vYvOZFynNTBJvbNNdXMGpTHDs/d9M/bmXiDa3ac1foXtpcZC42TXsjP4OFDyVZuuZFyjNzVmxGK13OIGOZOT+e0AZhOvw1p/6MMuf/QrR2gb+aA0n9PFGq/QWVq7dgSs6hqpbnKuOi19wEVUvPvBh4nXis+cIId5tjPkqgBDim4F+2ef2NY47AOEE5NHO91QIW+QKx3f+pj/O2V24jOr1UHFE3moh/ACTWsNhHBfyO5fH0pdrDno95t/yTbvtGN4ICZ+5uoYmhLCjedHh1cc8zW6LBqh0rY1IX+XLdV38UkCv1UUIwcSxKZoblqjtlwLyLD+8k9hXnMRyMaQ8gkpoQbwOSmWkEKg8pzxVxQ8D6utbZElq7ReGgrsQgqAUAnD/2x5k7coqWWI7ef1jH3WPVh12XBfp2GQvT7NBl6//OsKR5EAtDOj0fej2EPmzNMN1PbQ2rC+uEZQCPv57n2TMFZQuLtGKE3zH4Vy7x8Jv/gmu57LV6VFvdWwgBySgjaGp4RsiIPBd/DDAAEmWo4xhw/M48Z538W3f8U4u/v4n6K2skRfEbxUnjD54msqJOQBKM1O4lTKqFxFt1kFAZmAFhw4CR8Ky8GgZzTGdc1XdUYiBqXve7oJ31HDyhsDbhtSqzwkh/oEx5ieFEP/1LV3VDcBR4iPYcc4XfuVXAEPW7RKtrtnxbAHC9xGeh05TdBwPKcbu7kYbrVk99zK9RoPTb3srYbX62r3RNyCqzQZOniG1RiNuutHzVRAUY24G4zuIzEU4knijcV3dvNc00dtzzoblkKgboZWiVCnZmNEXGBHCxp+DnqqwFxLiOqZjzM7P2mgNhKDbaOGXwiLWCXrtbjE1M0TNcGxiWhmp8uh73875Z87SrjfQme2kabP7ODpSoAZrEkiw5klCcMUv8VDgkOX51VNtwvLN8zhC53nBOWd30iRA5zmluWm6i8tobVBpyvrjX0c4Dq0Ll63qs5ColXXSeoOR+07Tvrhg/WKHn2y4EB341voF0HGCCDykhHv/1vdw7K98y64YqdMcFSdMvOUMlRNzlGamyDpd3GoZFcWvYHRYDGJk3u9kHvKZXqWyfYNx1Oj848C/FUJUsR9TC/hxIUQF+IWbtbhbhZE3Qevy7tt0bm/voz/OGS8ukm1tArZ6LhwXk8T2hLuDE71hjGxtEPR6JNXqG0esZZ9ED2xVOtloUn9u/tpjHa9jSudALlkI8qELfpZmqGKkIqyWOfXgveSZottsFfw5c6CwixBip5ImAM2RO5u+7zHwg6tVkK5DZaRKt9Uh2VMtE1IM1Da9QujED32ElJQqJdpphuO6ZGm6K6AOj596gWcJ1XlOeaSClMImitke0SWB5UUKQRxZ89o8y/F8j7yQrjba4LoOru+QRjFJHIOAUqXEwvI6nu/z2He+Gz8MOPf1F9lYWsP1XEwpwIlTqxQHtmpb8BJLjkQIQZxlaG2TwDzLwPco1cpUTswRTowOeFQAwdgID37oh3AKpcPxNz/AxhPPUl9cAWNVOhdSTWogFBIweAi6GhZwuR+7jkHXTytGJZDnGANNpdnAZaqQfd08qDP4xsAXhRAfA74BPAp8XgjhAF++tct69ThKfASrzFk+NsfGE1bUWzgSITyrUBzHkCQ2ySs2RMCBHZDudp2LTz7Fm7/jjte4uaWoHzuOkQ5unJCWy7ckhmttQGnSdo+s1SOP01umZH0ohLiqcWeMptfuIh2HsBQyeWyGTrNN1OmSZ5nlyx0UH6VV1TQ5BxaCD+MFBuUQx3PJkoza+ChCSmIg6vR2PUZIgeO6+EHA9voWfhjQ2KgTlksEpQCVKyt2YgxZutOpc3x/4COLgaBWRscpQsLYWBWZJThhyGY3YhEHAZxAMSasx10/KRaOA44ErQecOiElwfgYvZV10noLf7RGd2kNJwzpLa8i/YDj3/VeGi+eJw998l7M5lPPUTo+Sz5/xapMe9Ly/7TGaIVRBul71jZB26kf0VNkThenVrlmjBx/8wM0XrpAaWqC5ksXbYfQdQvf7COgn1wLYfmJ1/gaOTeZo3ykZM8Y8zXgrUKI0eL3YcWJ370ZC7uVKE+DV4V4e+c2r2Zv70P6Psd++EcIPvcZln/jP+CUSwjPJ1m8svPNl04x+y6u6bFxO6PUaVOtb9lkby/uxITP7J+n6cyavNogdXUVcmRylDiKSXt7JHZvkJzzjfTS6weHfKhL1w9S1q9G8D0f+hscO3WCJIq49EJMlnYPfR/GmJ0ZedPnERikezgnT0qr/GiMYebULFmSkkQJ64urdJptGyCHum1GGzrNNo4jyURG3IsJq2XAUBmp0a63yJJ013vrPw7sOEy5VsUYQ2u7Qa/VpVQt2Q6fEDZQFXLxCEGlVsEPAxtUi+9+vzrrFsHXL4WkSUqn2cYLfCbnpnAch6AUorKcy2fneeDtD6HynMZmHS/0qY3VBuvqq4oZbZBScP/p47xwcYm47/VXRJI0Tnn2i0/y7u/+Vh7+Lz4I2IT68osXef7xpwleXuD0I5YHVTkxR/nYNI1zF6yaWqboIakLQQ3QCGIEgXRxXXgZHyEMSaZwgWVjq35TKDaQbCNIhGDVuOTYjVDdCGbRnBrdT8jpzoUx5n8WQswBp4F/YYxZLe76n27hsm4IjhIfwY5zvvsX/xmf+dDfI97cIpicJFpZJU8t36U/tlQ6fpxofR1ziHq1ynO6rTYvfOGLxO0Ok6dOcfLND+Pc5YneUATdLrXtTbpj46SmZDt7NzN+D01BSCEol0Ka69tEjQ6Nb8zbsc2ioHYj4HjuK+Ow7wdj9j1djTYYYW0FzrzjEVYuLbJ0YYGgFNI6ZNTdJin9px4qmg7tD0xhKbQ3WZRF0URlOVPHp0mimCRK6LW7ZHtGK40uxjiVBmFIophnvvAEY9PjVhSpE2G0JomTXcXQtG8NIATSlVRHR5DljPraFmmjizdVoy1cFmONKQqn53GZDVzOzE1h6k0bvzzX7i+kBMfYMc9CeTveapA2bHoRTI7bxLQcolNF88XzSN8nWVoh68Z41TJZs12odhubCCtlj5EUuJUSWbe/J7EnmnEkea/H2he/xj1/7dsHMdJoTf2F86w9/hTNly8x/sgDlmM4WiPeatj4qw37MSJlKRgUsI3SluIh2OlwDltIHIKJtzx06P2vFtcyVf9hY8xvCCH++z23A2CM+ec3cW23DNIT3H8NyZm83WL7s5+hd/5lnErFdvf6mXz/i6j71UquFku4gyC15sGnv0Z7cpK0XL36wnzHJXy7RwYMkDa7LP/pEwc+AqDX7u0/XnKDTosbZpreD76Ow8jkGN1W2/ILh5/fGD7+6/8R4Ui8wKPX6V33+9Ba43reboXNodcHu4bj952kPFJle3WTyTkbyOafP08cRQcnicYUqmMSIwXdIiikUQrCdul2v4711pFCUh2tWmu5NC8Cq6bTsCqTjucyc2KW1naTNEnJkpRep0eapORpjtYKsGOvUlqzWcd1SOPEGtUW62ptNRiZGMPzvSLB2+alJ59na3ndniNa2yQx9MjTjFwbhCuQnsvY3CTj73gUubJphS4MCAmO6+GXQoQQfO4PPsVf/9EfpNvq8MSnv8zShSuUqiW+/InPs3Bunnd94L1URqo8/OP/Ofq+03zht/8/Go0WnSQjN1AvgqMDpECkwDcahQ0aAqgIl66ENe2AMKQGEgSIIrACHSFIDXgzs9d3ctymEEJ82BjzESHE/8bQN6LYoP2vt3BpNwxHiY8A8dYWS5/6M1Qco+KItFG353ZR/DRFhTxaW7dbKNeFw0aZlKK7ZTPM9YsXaa2tce9j76A6MX7wY+7iujCyvUlnfJLM93fvZYTYScxuFPrTMYPtkqbdaNkphU60UzA1HLp3ko4ccNKuhRuW6BUQQuCXQ4xS9vpfZGtaaaJOl8/9wZ/hhyF5lu5Y+1zzSRlQF6DgHw7FuX6iJ4RNPUqVMtMn5wgrJbZXNxmfmSTuRZx/5uxVid4wtLJdRhwbkzaX13E9Fz/wSaLdiZ50bGHGC3w83yv4s4ZukoEUZFnG08vbCMB3JeMn5mivbdGJEi4lOZ2LKzwqDMJz0XlhHQQIITEuSCnQWTbgtGVty3fzx0bBCHSaorKceNWarQ8ndtoq1RSJsbAWC5USYw/dT/3sBdKtOn0bBiEEThgAgvn/+Ake+vDfIW21WfrzL9K8sIBXLbPw8c/QfOkCJ/7qt/HQh/8O9RfOIxxJZ2WV7uVlO5I5dGx0lNhkzpH29v0aO0cYyT353Td3auFanb1K8bN2U1dxG2L9o39E3mziHzuOPztH+9lniRYu7XzQQoAfQGFKabLsjhZukVoTdLukpcodltjtwXBXr68WBnQvrR3t8Uc8Nje0AnlESMehXCsRdWKUUlaIpBh/2E+NMykqfXHXEngOUuEUjvXCcVzXGrw7Dmli1buUUkgpMMIyAMKy5dkZA2PT4yRRbA+4tpXOrdUNlgq1sCPzMozBLwVUajWmjk9hDCxdWCBL0mI/01csNRx/6JQVKNmsUxutMnNi1r7uygZRL8IPfKQrSaJ4kDCqLMdozej0BOVKie31LdI4xXFdhCPQiR6ITpiCHN/YqNPr9PA8j26ni+u69Fq2ii2l9UCKuxHSkYzPTTExM8lf+7s/AAY+9pHfY/Hly7z5W97O2a99o9joWIW1Sq3C6NQ447MTaK356K/9DssXrzA6Nc7myhozJ+ZYvbzE5/7gU3zHD303T3z6y1w5N8/CRoNMKZw9cuvKWN6mUYoIGzBiJFIKgukJklabXpKhtcGIfvl56BwXkAqHKxu30H7ktcVTxc8/v6WreB3g2V/+ZaKNNe77zz7Iymc/S/vyJZKtLWtCLAROWAJsRV6l6eEKsHthDHGvx/nHv8o3/Sffc9PewxsNpU4bL41R0gUhd8U66NdxdsewfhfqyBhKZPrPa5QhbXdZ+fTTR1JeBjuBYUW59GvCf5eOgx/66FxZVWalcFyHLEnQ+T4bfGNVrONeD6ONXa8xV6l/9uOmcCRuoVqrcqv6CDapk9IWIx3HsTxxKRifmUQphe/7jM9MkMUpQgjWF1dYfPnywCv2MBhjEMbgeC5hucrE7BT3v+UMz37pSRrr2zZ5khKlLCfeGJg5dYzWVoM8y6mOViidmLGFzzSj1+xgMHS6Ed00wxQNrYaGy6HP/WNV6PbI2m0rZhP6lscYJ2SNtt0ra0Oe9sgTa9tgEzWHzpXlQYFAFt3evNvD832Ofc/7kK7D7LvfweWP/wXt+Ss4pZDZd7+d9a8+jUpznMCnfGyavNMjnJ4gmJ5k+xvnePHf/Bb+SBV3pEbz5XnKJ+ZoX17k/G99lNLMJM0LCzihT/Ps/MF7+IJnuus8lJLqvSfpLixhjuBzvPqlJzj2be+65t+9UlzLVP1fFz//0U1bwW0Kf3qavGtFKvJeF9VpF+1aO4ts9fetSpJJ0zt6jLOPke0tkkqVtHxnJnx9W4D+F9pWJW2i0Lm4cs3HH0bM3gutNaVqGek4xL3oNUn8tFJ0Gp3B73ma0W409w9kV8EMRlAGEFjlS9dBCoEfWgEXx3EIqyWbzMii2uY4GAwj42PkWUapWkZIwYn7Tg04eI3NOosvXyaJrJeQkNbuVe/hIwwnnMbY0ZgsSmnrJt/0/nfR2NoeiLN4vjeouBpj2Fxa4/TD97G1ukmn2aFcs6PJXugPVEE3ltZBCFzfwwt8VJaRZzmdRouxyTFm7znOxpXVgXntXk5hcbRI44Q8zShXLSdQSInne8S9mNlTc0TdHipT5HlOqVLio//P74CxSq7rS2tkaUapUqaxuV2M3SaElRDpSNaurPBPf+xn0cX52disE5ZC4m5EqVxm9p7jfO4PPkV9Y4tuu4sT+uRRPLCLsOqjRYdOG4zngtIY18VxbFW33e6SRPtUjsXgnwG6rc7Vf3cHwhjzTPHfp4GfBMaBnwO+95Yt6hahevoekkYdx/OYeuwxustLlqNTxEgV9RCeB0LYRO96Y6TW5HnO+a89wcy991KbnLi+pOMuroLUmtlnn+NcFhI+cBKpJcLbGZXtx7y9zIPhsUKBuEby1U/w7D5JpTnJZpNorX7kRA9sQXTq+ASdZoeoc8DUzA2EMdoWNoewlwqwF8N8MJUrW/AUZtfxclx3YC3gei6O41CbG2F7bRMhrWp0lqT4oU+e5pRrFbSx45f3PfogQgpqY6N84IN/nf/zp/8pC2fnh5Q4rz1RprVGx3ZCpDY2glKKXjuyiWShWG1yW9jWRSzqtTtknXQQI7XSzN1znIVzF+m1eqRxinRdW4QEpMpZyzVOqnjLqTl6Kw46z3D8gLTVHnD3BmOqUkCubGLn+0jPxR+poZIUk2VU7jluj3+nR9rp0VteI5gY5YVf+02SZgs38Gmdv0wwVsOtlEnbG+gsI9qw3rXGGFb+8quc+/e/bw3Sl9dwXI9gYpTW+cu4oY8MbEz0x0ds8hj6tvPgaShEAAAgAElEQVTYP56uA/nOcRaOwB8btYJo2qCzjM7FhSNPPK19+cmj/eErxFFN1c8AvwrMGmPeIoR4G/A3jDH/+Kau7nWMykOP0D33EunGBo0v/6X9sP3Afmn7QSvPbWArxC7u1DHOPiZWl9g+fnL/O2/nUc4hMRaDIat3aV9apfXS4s17SaWJOj2bZOwTAF+pl911QbCLC7fvnxSmrvsGvaKyqbXGDwLajRZSSoJSSJ7laKWYmJ4gSVLCcogfBriex+L5BZpbDRzXoV1vUapWGJ0YJSiFjE6NU1/dJE1tFVMIYU3UC0jHQel81xoAlFaQQLfdoVPv4EhJlmYkuRoa57Rdt5VLS7bbp8wgKSxXK0ghyXOF0b2iIylRWWbHbApfn62VDSojVVzfQzqSTqO1w+Mr5vr7QjWVaoU8zy0PUkMeR6hcEZQCom5EfX2boBQyNj1Oc7s5qGBnSYof+PTaXbzAo1yt0G11qIxUiLoRL3/9RTvC6kjSKMFgqNSK14rsiNH6wgonz7yJF598jixKd46BKEZr+tcwaQOwSm2iOxgLGt7tDf5/m36/bw5+A/i/gX9ojMmFED8NfOwWr+k1xex738f6V77y/7P35jGWX9l93+f+9rfXXt3VK9nNfRkOZ8ajmdEyM7ZGsiRLMSRDELzLQRLACRAnsIUAjmE4QJwY0R92YCOIEiuRLcOwFcmyLM1IIw2HI27Dnc0me1+ra39Vb//t9978cX/v1dJV3c0hm91s9gHI3l69d999v/c795zzXehdvcql3/r35vLyXINyKa4vnWXg/uD+UlpKWguLtJaWmTgwx+Enn7hvxv4hoiMtvp2No+abTM9No2wLxzKwt9G9S4jdz6/FX+ZZZhpDaYZdLRk+GRT3CT1SphzeLlRi+GPJevcDrTWNEppLa4UC9m1GTd2iOuZOPt3wz7ZjF7QCYZAPW/Lq1iZwohR+KWB9eQ2tNYcfOoLn+6zML+GXfMJ+aETJophyrcr7r52gNt7g6a88yyvf/B5+KaBcqzDoDlBS4nqO8ZLdCsfdKTowzJF5zvzZSyRxTH2yTtjrkURDQRbzIMdzufTeeSzbRlgCpUyO9AKfiX1TLF9ZJHUzkjgqjnwCVUA2pVQMsowTS+tMaY3SgtVexGSuqQvLqDypYuorANvGLvmgjR6CTFNTfNUq5H3D+w1Xm3j1GtUHDtJ69wxKSmzfI+sNqByaI2l1kHGC7To41QoCyKOY/lvvgVJYvkfS3DAc+0qFtNujPDtNstHGa9QQtkXzjXdJWx2ccskUe0P+3dZzWcHfTFqdYtBzvSLpzc7/t1uA6FZ1dX8N+B8wxrBorU9gjNU/VaGVpnNRc+H3NGGrQrq2Rv+9k4ZYG0XocGAS1+jmVnzANyCe30thfPcW9+7QfgL3QO9Q3RRCgGPj1csfy+tncbqrctfHcrDW7PHaWx9iICDDEIWJqSi4apZj4xZmoa7r4biugd5ohet5KKWZmJ1i5tB+xqYnWLx4lSQyMNIszei1uixfWWD56iJzDx5EYHgDaAovITXqnpbrNRqTY5RrVWzHxvU8HM8169OABZfeP8/0oRmCSrlYK6NkJwqp8TROENrIWM89cJD6RIMkijlw7DD//T//B/zF/+qXKJVL+KUAIawR1DRNUsLegOZyk0Gvj5KFqpnahPsO99SxbbI8M0IxaYawBHkuSeOYyX3T5FlOGqf4ZZ9jTz9iFEgLTmFtvIYXeKRxQme9jWXb7Dt6gGe/9kOgTIGNANd1cH0XLQ3nMA4jwt4ApTT7HzzI7KH9RL2QQa+P67iGGjOEowxj65R06wRVGFiRObzc/FLa2uH+lERJa/0tNq2JPhUboJVi6cUXeOVX/h7dSxfpX7nK0vPfRUuJHAzQWYZTKm1K+luW4el92IOOUmzMX+Ptb/0Ri2fPf+L8S++GSLTg29k4MRZZJyRc2iBZ75L1YmSUkPUiskFcTOTY/K8Iozws0XmOjFMDWVTaTI6kNOIVWhe8Jo2WmjxMP5RRuhxa6dzuuMWzy858aXjaBZXBskzBx5YcOYRlFugWCginmfK59Fo9HnzyIR77/FPMHNpPGqdEAyMEFvYG5FnOxvI6r3zre1w7f4WZQ7MFt96sIyusFyzbwrJtauMN/HIJyzGQ1GGOFIXISRRGJFHMvsMHsIvJHEORGBg1+2SeoZXm4WceY+6BgwTlgFOvnuDAg4f4W//wv+H4049SrVfxSwZpkkhNpjSrvYjVXsR7/YxTkSS3bK4puCr1sLgw/xV5SMYpKk0RlkUexqAU5blZvPEGcbuDziVuo4ZlWbgVg4SyfR+7FJANQuL1FjJOqBya48DXvsTc179MWvycFfjYvofwPVCavNcn64f0ri6gtaJ+/Cid81dIu31TvyU3scvSRQE4LPSG56Jb1OsQ1u0Vm7pV64Wy1vrVHRCJe85fb2topelehuZ7MPUklKZg9Q3oLRgT2YV/900cPYE3baOVJN/YMAkr2nLDCoLtf77HY+i71xufojc1ffMf+ASGlkZYIGndmrnr7QrLEti+bxSyPu4aeiQ5LbBti6BSplKvkSUJtfEGWmvWFlaMSIltuHjGgy9DZkbABI2Bp6QZnu8xMTuJwMJxXWwnwyqKg6F/XjyIKdcrhL2QPM+3TTZt2yaol/nF//ZvcOHd00wdmOVbv/EfSKMEmUvDS7At0IKw2+fU908ShwZCqmE0OdVak8UJacF/S6KYoFJCac3k/mmaC6v8y3/4v+OXjbJkEkYjzh8w6nbmSYrjOlTH6iDEddAfAKkUKlWj9SllxGSCSomF81fJ8wzXd1m7tsL3v/k9Zg7tp722QVAu0ZgcB2Km5mY48OAh+t0+Mpecf+c0tusgYkFQCciSbHMqLEBJjV+yCTs9rpy6MIKaylySpxl+ySdPM7SGoBog87zwiDKF+ZBvOOwOCwphhFtQk73tU+i7L84KIX4FmBBC/B2MBcM9FTtzpFdd5/xv/iuab76FPz7G63//f8T2XapHjqDynHBx0QhZ9HqmIWpZ5tePsjDTmoVTp2gvLfHAs89Qqt2XG7jVOJmWiYfuaUrReudC8S+b5z5hWYw//QCl/ROmgPDcQqlQoRKD1lC5JO9FoDX5IMaplAgX1wlmGliO8c3LugPSbnhbLRUczzWF5geAhn7YGOWl4RQUk5/GJic4/MhR1hZWkTInCWNaq+uGGmAb+L7nu8SDGCUlfjkYKSy/8Z1XmHvwEBMzk0zPTbN0eQFVqDIbLr0miWD+7GXKtUrB+94UrdFK4ZYCHvvck9SnGswenuN7v/Nt+u2eaVQK0/QsVUokUUK72aK5uIoqBM6E2BR/k7kk6ocIS+CXDD/wgSce2pYjf//Xf4vORps0To290ZBkp0HYgkHh4VfyXTrC5M0UixTB8Z2oHG0UqHUhyOLUKqS9AelG20BPhaB3/jLx6jpuOUBJhRP41I4eIu108SfGqR6ao3pkbmTKLmwHyy+gyEptn9BJhdIZ0rZonTqHSjLswCNtddBSYQeByfFhPCrgVZqBZWH5nhFMK4p1oY0H4ebFceOiT8V7G65/FHGrxV5TCHGMIVhHiF8Abk5S+oRGNtCsvLZZ2C2+BGkHvBoEU+Yzk9PTJCffJLfBGWvAxsb2Jxn6B30KY+bKBXrjE0adaGcr5JMM5wTiZoc8TH4Ag82PNib2TWM7NsuXFz7+F9ea2niDz/25L9FvdZG5pNqosXjpGtfOXzHqkQWsUxVCLyIWptATjLzq0jjBcR3yLMN2XY48chS/FBD2Q7zA+P1olSGETZalvP3dV6lN1LH7DloqgmqZ+nidsB/iBz6v/fGLVMdqvPmdV0jjhCzLRn6BAhAW9FpdoGt4hEUCGRY8sAm1zNOMaBDx/qsnGJ+eYPVqTGttA7/gHU7OzaCUorO2YZJVnGDbpjtqOw6qUDeLd+HrQVFgWmITigr4vseg00MgTOe1UCod9AZceu88tmMT9UP6nR7VsRpRP6IxNcH8ucsoqXALSessTalPNui1upvcDW0+iziMsWybC++eJUsyqmM1HM9BKz3q2tquje1aKGk60mRq9G+jw4y1i1fUPaw4/APE3wO+Dvw2INkUbrknYrccufjNX8V2Vqk9+ABCCKpHD7P6yivm4OO4m1x2MMJlpRJCG27LRxpaM2i1eO+73+P4Fz5PY3bmPpfvJtFVFkv65vBXrRQbb1+Aty/c9LFgisOxp47ilDxTAMLH5pv3ma98jhMvvfmxFnvDpla5VmVqboaHnnmUxQvz9Dt9vvDjX+GF//gdzr75noHUF4/VuUTaFklUiBVlJveo3Nz7Ldsiz3L2HT1ApVHD833SgsOXFRYKjuvSarbI85zaeJ1qo0ZrZZ2gWjZc+SSlubSKXwk4/dpJ4jAmz4ywlnETstBSo5WiW5xtLGc4ddyu9D2Eb6axsRI6/fpJGpNj23JklmbUp8ZGOV4pTdQbmAI1zrDRxJmZ+Lpak6PoY9GwbKaUNKfGEZVAoKXCrVWQScq1C/M0bYf9ZZ+GDVm7S7rRJu2Y86awLJJeHzcIzB4uLpH2+mTdHpbngjJTZhzHwC63KmumKdgWaZYh4xSnWqY8N0veD9G2RsZGL2Bo1G7uK0Z8UYXR5tl2qA66NR/erCl6m21kbrXY+9vA/wk8KoRYAC4Bf/m2reoOx/xzkPUhmDCfnVOCqAmDFSgVAyt39lHiU99B513Sq03zQLdIaEoZ1Z5P0VRva0wuLbD04EOE9bHdL+BPSMG38zCrtUbF2Q8MOblh3MJ0ZGusLax8vLgwsakK5rgOB44dRknFyvwyaCMm093oGENW10YUnnBgEkWeZrsqeuZZTq/V5fyJ0yxfnieOErTWDDpG0GMI/xPaotfp0W62RuIsqtcHpcmyDKUUrbV14kHE8tUlhGWjdTYSAdBCb0tYKpdYnoGSbYV8bRXhcTyXNE64evYyMs8JKiWiMMa2LBYvzmM7hkwvc0kSJQRlH8u2KVXKNJfWhk+46z6Wa1Uc1y5UO22CcolyvcL8mcsorbBdx/gcFZAp23UpVUvkaWb4gJZNqVLi7FvvkYQx9YkGYT8kLu4568XrW5ZtuJdF4hHCwg+M8XueZ7RW16lPjpFneeHTKEcT1zTJrjuQjQ4o0sBshnLWqugw7xVB+dPlswd8E/gD4MqdXsjtiN1ypBUcIVxqUXvAfGcrBw8h8xeQ/T7CcbDLFbQ00x+kRCfJbQUlaCk59+pr5nvq2MweP87M0SOFbPz92BovpnVC0xLb8S8fLsuYCeHFD/Uco2V8wIvlzee//7EiCowRucL1jTqmX/KZP3OJjZV1GpNjvPbtl1g4f8WgXaQw0qZDnmOS4XjOdQqaWimkUmysNOl3e6P3I/OcQcc04CzLIk1MUdVttmkXPnNaa6zYJhqE1MbqKK1YvnyNXqtLHEa4vmdyc5ajtUBKtW2/VG5ygd6hvDbKo0Uuc31vM0eWS/Q7/aKxGOH5PnHB6UuTBC8IcByLNE5Hebd4F0jgDBZ9y+ZI2SVwbfIowXZdnGoZMVbn8tVl2kLhSMXVJKcqJfssG8cyBZjtueRRYpq45YDawf00X3uHeHUdp1ZFbnRw6lVUp0vW6xt+uqXNeV1QeGMXxZzWJOtttFKU5mZJmq0R/1JpUFF8faNqa74f7ZPYcubd+3qsHTlwkyvsw8WtFnsLwK8DzwETGC/dvw78o9u0rjsawQTkW4p0IcBvQFKoh2utyDvL0F+FrGsukkJNacRFkPJT2+V28pxnnjfK4ye//KN0J6aNctHWxHE3F3y6IAkXB3+tFfkgpnPmGr0Lt2mg/UEvlR1cwh80LMuiXK8y2JJIdn89M+WRhd9eNAi5/P55Bp0+x556mPWlNdrNDZNkcpPwhtYGaL1robc14n5IPAgRbJ8YjaCalk1WiKFIlY9MwPvdPsIW5j10BshMUqqWCLsDgnJAEsabOiJGr3kb/MWQ+zeT1+i9CoGUOVliCkZhCfN7pUi3WG4MDVzRmiRKKFXKhP3B3t/9LWT42liNQXeAzCVBucT60hq2ayMzA+0cQlgB6uM1LMdMNONBRBrFBCWfNErwSh6VeoXWWgvHdfF8n+pYlcbkBK3lNcJBRL/dNfYISMJ+hBd4+KWAOIzpbnRM0vZcbMehNjHG2rXlG3beK40qWhneyGh/d7WcHe79p+6A3dJa/+M7vYjbFbvlyMajXyJefgWtNd1z51h+6UXUwMDddZYZDhfFud22Px4uu1LINEWmMH/iXebfPcmRzzzN9JHD96d9RSRakCBIr5NwuIv25we4TD6qQm/Id7sZN9AgRDRplNBe3UBJZRohnsvU3Czt5obxEVQKx3MNn1Gq0T1e3kD1WklF3DeNPGFZ2+7NSil0qk0TYzhYKhqiaZwghCCJYkqVMv3OAFnYH2mtjZq0VGilsBxDo8jTfPN5tCLbUoBalmW8BAukSH2iwfLVZaMWbpnXMfQN29gd2A6WbWyElNLIPEflalctAIUpSFYBcs1jtYCe0iwPMg74OauL66SWTdm10Zkk0ZpFBR0teByNPz6GznOyQYQcxMRsoNIMuxQYewnfp+96LHRDDo6Ps+/JWVCKztlL5GGISjO0lHQQrOcw41jUfY+8H9LvhViBh+XY2OUysmvQQfIGqASnViUPw82i7yY+yMHU7fULvdVi73eBNgaKsnj7lnN3RP0odHf0Yy0XSjMQLXXJr3wHef4PgEJtc2gIO/wCujsgK5/iqG1sMKg2kHbp+txxtxZ8Q8GqolDRSiNT+YHVwu7qKLpNbuBRaVSJw+imyWwrt+3qmUu4vocXeJx48Y2RWXIaGQ+twPVxHAcpJaLw0Bv6Bu0ZwyK74ANu/f4kUTxat+3YRYfN3L78ks+g02Pf0QNkcYpV8OS84uYss3wkjGKmUabTbztO0RU1IjiGuiCM5LTvoaQ21g66+DWXxfoEtucwe3A/Wmu8wKc2Xqe73uLhZ59g/twVrp27TNQPsR1n5Cm4ufWmwBz0BqN1jE1PMD47ydrCCt1m+zoz3EqtihbQHXYaazVc3yOolui1uoTdK7i+ZzwM44QkdFmLlwl7A5Iw3jbVHEJoh5xKz/MAgeVYlGsVZJZvm35sVZgTlsC2bKSU13MRb9C49EufDoXELWbqjhDidzBcPQ1wr5iqw+45Mph+mNK+Glf/4PdpnzplTNMdB0sYDtjQo0q4ruGz2PbIWP1jC6258vY7LJ49x5Gnn2RsdvZTXfRpDa+lVQbXHQU/vXsCm/c8x3WYe/AQeWZUmmHvInLrPXvQ7RNHcYFo0Jx+412S0BReWmnyJDP0BkuAEibfKGUEKfWNDeJHhd4W2LzWBlaJ1li2ZfiKhdWDEIwalfWJBp3mBr1BhFfyCcolIxJWcBuHhafQAsu28csBkJDnOZYlsCwbSxmuuRf4DLrhqOAZUiDMehReyac+2aBSr7HvyBzVRpV2s0W/02djeY1Os0WaZqaAzHI0RgHSxsLOFZejjIEbIMoWq9U6Uml820I2N+hkCUlmrBkiDfOWzSPlALlqtDOsUoBTCnCqZaKVJomGtuPTjlNcx+Z8s03HspnNEtppxrKyaGgYYDNAYOc588piolZhOoqojFWxHJs8Tsj7xnJN21u+I0PLteH14zrkvR12QzeiOViCfKh8epviVou9g1rrT41PUHka3CrEW2h4Xh0e+ElY/I1/xyA6Qxbk6NxC68CYxFqGrKlzCWl6v9ArYmJ5gaUHjt3pZdxyjGB86MJGQ6OynKw7+Oihm3cyiuszCWPWFlfMNGvIw9qJPNwihmLZFrXxBmmcEIfRdg85sfnc8SAeHf6H5uy3vrbR/3b/x6Evn1aF9YOD47k4rsPK1SWUNBLXWSE2srMTKqXEcR2CckCpWmFseoLO6gbhwKibhb0BSZQYHz9hmc6uZRdwFuPt57oubmCml6VKyTxftcyJF96kVCkVTYztHoAAQaVEGidUGlUe/+LThW9gQmt1HYA0Tpk5tB8sCLsD8iwj6oesLa0yNj0xqqcczyMaRFRqVbqFLYOLKSL9ko9Sirgb7a2CqQ0v0fU9lJKUa1UG3T69PGdidgrH97ALqI3j2mTJZiNAKkne335IF5aB86R7JKyhX9OnIIZm6n9yR1dxm2O3HOlPBLgVG2HbeGNjRac8J48iLM8bHYZkXHhV3cEcmYUhF159nclDBzn4+GOfSruGRAsuyhI9nOJu++ku8LbGsLmVZzlXz16iXK9i2w5KyxtODIVt0ZhokEvJoN1n0Ont+fxb0S55nuO4jmmI3urXYuf3R2/SJjzfJ1FxgVACx3XIhn6wnV6BVEmNWihsKURE8VszGfSDgMMPP8jS5WsoKQ3qBG3sH+KELElH5wZ7SNmxdLEGo/ZZqpTI0pTG9CRn3nzfNCST1MBZNUUTFQMLtW0yy2K55LP/wUMcO36Y1rtnyKOYVhzTihJ8P8CbnsID2qvrSClpS8mZlRbHbcPZQ5lzghxEOKWAC1FG1g8JbAuhBBXPZeC6vLXewdWCTMM1yzUgPQQe0NCa9iAisiwed20s10F2uqhMEtaqrOaKiZKilmQIu7AjUWY/27liDYdpJI3ifVlWcR7YDeUkBDK+O4q9l4QQT2mt372tq7kLQitNb978fv+XoH6EbQemeGEBGYbYY2PkGxsI24XEdGws30eGIeT3C71hVLodqp0W3clpg4fe2UW9S6Z722AFxYlaCEEWxURLG7ROXLrthPLbGSN1rh0hLAvXcXjwqUe4cvoiWhm+WDyIjF+S3t7JNApn0sAjdya9LX+0HJtSuYRSmixNDGdO6Rvu4U6Pol1DG7ltHBslFbXxOg88cZyv/6U/zxvfeYV+q1eIwGS0VtYB053VRXFjCkUL1/epT4zx5Jc+S7/dYeXqIvEgNjwH2warKFKl8ZdTekiezxmfmSTPMjNl03pUcNXHG0x9ZoawO0DYFsuXFzeTd8FvSGPT/R10B7z//RM8/cOfw/M9eq0u+47MceKFN1i8dM10iYsEbNvOiMc4e2Q/aZzx5JeeKZROjeVDHEZMzEyOtmnp8gJjMxPMPXiQky+9tSeMVghBdaxBqRwwe2SOBx4/Tr/V5d2X32Lf4f2szC8b5TfHNo2PPT4/XRD294rhWu/10Fo/f6fXcDtjpwLnzvx45l+cJut0Ke3bR7iwgB1UkVGEALyJCWSSmBx5F4RWiub8NQatNrXJCSYOHqQ6Mf6pmfS9n5eJtIWnd36nPx3v/1ZiOCWrVquoaoVBuwslA+k3AmLb9871XMP1GsQ3Pi+IAiVhOziOPVLOFGJvKDxsb7zeKAa9vkHueB7leoW/8iv/Je+98jbdjTalWplBt0+/3RtNI/2ST5ZkRUGisW1j8L7v6AH+wi//Av/6n/wa3fV20UDVBVfPBzQyywv0jpnoOa6H44FSml6rQ6Vepb3W4uKJMxx+5AHC7gDbdSjXKlw4ccbQHjCqpcP8ksQp185dQQD7n3gYz/coNdu01tYJe32aC2ukSWI46CWfrtIgLC54HlM1i33T40w98zjCtuleuMLESou+61Aumo75IGIlTnEmx5HdPqGKkFvgqjGQIigrODpeQTz6EJeXmkw9NsUgV6yublCeqrCRpPRWm0znGWm1xLV+bGwchMAWcEnZaCE4LCWTCoRWKGABi2vYeGgeQDJe0GRuZ9yw2BNCvEvRSAb+phDiIpBQHIe11k/f1tV9zLGbwljvCsx+QeOUoHsZEn0cna7g1X2kY2AowrYRjmtwz40Gan39Tr+VuyYspXjg5DucfvaHSBqNO72cXWMvH7v+tVWaL5/62NdzO0JpdT2MoMjpjueydm0ZmUtsx3j/WJa1a4fReLb1b1r4Oq7x7kFm+KUAMNAWgJ8+/X0OdppMDzpU0pjMdmiVqry37ygvHnmCgefftLs5LF567R4XT57ja3/pJ5ncP83Rx49RG68ThxGv/8nLpijVhiMnhMANPIQQNCbHCPsDVi4vMHf8MNNzsywm86RxQrlWwXZs4kFEPFKoNLdKy7IIu31K1TIamJidYmpuxkhMK82181eYnptlav80nucyNjPJ0uUFFi/N4zgOjmtjuy5JGCPznDOvn8QvBQTVEs/8yBd4I3kFpVThz6ewXMfALQthnObiGhMzkzQXV3A8D7Q20Jz1Fp1mu3h/4HgOE/ummD93hTTZuwiTec768hp+4NNa26DbbONXAvI0I0YwsW+SftsU0GNTE3SaLaSU2JaFVMYSY3gt2QWnc7fort9Z9dr78eHjVvKj0/g8MrlEMF3Gcl3jkeW6BBMTxvC4VEL4Pjq5vV3sWw6liLpdom6X7voGkwcPMHP0iPlu3ePhasVl5RHisFng3S/0doYQglzm+KWAPM/xSyWULbfTHorcmqc5oQ6vg+FfFxpsx8EPfGzHMVDKLLtps9O2bXJ98+mfLmD7Spl8/fI3n2f28D7C/oCHP/s4UkrOvvk+K/MFEgZTqAnLxfPMhK5Sq4LWvPh7z/HMj36Bs2++z+IlkyM930cXhd7Q19XCwnIcY5ukNZ7v4QW+4fZNjjGxb4pus836yhqVWpWpuWkeeuYx3njuFQadHt31Dq5t4bg2AgstYH15jeUrSzzy7OMorfhzv/jT/Kf/+7fIU8PfN5QIiRTQTXOoVliLUjYGKU8vruK7Dl3Ppy0VYa+LWzfG6nbg4zou3VaHJIxI0+vh5Aroa7gS51z6/rvYls35LCOoVxFphoWm5Ln0GzXOK9j3+HHS984Ttrv4tkBaFmmUoNFcEA6xa2NlksvCItEKLQQRmne0xRySrz5yexFwN5vs/cxtffW7LHZTGBssw5VvQzBmkpw992eIL30ftRbhlmuAJFldNXwf2xnxEu7HZpT6PWrdFkmtdtvlZT9w7KWjoRTRtbWPdy17xS4ctlv9OcuyDF9rN2hkIT4jc0lQKeH6HutLa1jCwB4t28BAiDcAACAASURBVEIXNguDTh+Z58ak9ZZC43ouUuYMukawZAj3+JFLJ1loTHF+9jADv4SXZxxcX+IbZ9/gi1dO8c++8p/RCSo3eF9mOieEACGIw4hf/0f/nF/6736Zq2eM8tv82ctUGzW00kzum6a93mLQ6ZGEMX45oLW6jut7NFearC2tkhUql0kYE/UHCGFtvlcBbuAh0wzHsQ1XrlKiNlan0qhx+fQFeq0OFP5UvVbXGLIfO8z82ct0Wx2jRprm5K7D1P4aWZySxil5llORiiiM+KN/83tGcrswxdVQiNwYIn0cRtiOw/rKGgjBX/67f4tTr5/k6pnLVGoVeu0edbtRGKbPsbawQjyIcFx3z8PHsDhLopgsNfAaIQTTczMkSUp3o0MWJ0zun6Y2XidLU7rrHaIowilM2408t2WS/x7FXjS4O6Y59+MHj1vJj5PP/iyrL/0HBotd/LEJtJLE6+tGJCVJ8BpjBNMzRNfm7/TbuS7ibpeV8zFJGPLAM5+508u5rZFowbzyC67evVHg7UVD2PsHuE4QbGcoqUijhMbkOBOzk3TW2+RZhusVtgeF2Ipt2YU4ySbv7WZhCQu/FNBZbxu0SoEoGop0WfbQd9YeedvJXG4iYPbiSBcokuGE2vFdTr78FitXZ0f3cdu2cYrpmuM4eJ7HyrUlsjQlSyEoBURhRHejw6A74PLpC6McGYcxMk82J4wFrWLIT1RSMnlgljzLqY7V6DbbLF1eoDpWM7ZBdSNM5nguRx89TtwLaa9tkKdGEVpKh0qtgswVvXYfz3e5cPIs4zOTvP2914xKdQFPFUKMOPdOEBD2QizbZilKSDb6PPLsE6wtrDL11COcfv09uu0+s0fmqNSrsLxuVFCDgFxFe+auXj/CtS0gQypN0upSqpToeT4dqWhv9KhNNBjfN0Wv2SIbDOgnGQhFreST5xLf91ivlFlfWR/t2fDD0kKzgMuJpXU+e0tXzg8WNyz2tNb3pGz0XrGbwpiwjeVCHgECwsERnP2fg7hFLjvo9jkDb0oSoy72CYb63a6wlOL4268D0Dx4ZFOxdBh3Esq5xw1TJgnRUutjX862GE7ithRqI5jHrSQ0baAUN4skilm+vMBP/JWf5Z0/fYOwP0BphY5TZJYTDUKEZTqRWinGpsfJ0qzwrNu5ZvB8H4ExaR1y0aBQCBOCv/+Nv05ub956bNfAFH/y1Kt8/dyb/PjlE/z2kz+8tz+S1gXlxyRagSDqh7z8zedpTI6zsbKOlAolNY7rsrHSNMVGwUss1yrUxuoMugNaq+tmiiYlbuCDEOTJTjlliPuG/xaUA/yyjxCChQtXh/9MGseAwHHMJG7QHbByzaiUDYtGjTElX19q4lfKlAKP4595lPqE4UC+88KbRL0BXiH7LHNpOrlZZlQFpUn0lu3QXtvg1/7BP+XgQ0eIwxjH85g+MEvUHxB2B8wc2oe8YjwEb+XwYaafEplLXM8hDiM2VjdGMNR2IRoz5EfmaUZeKA5rbZTgvJIh8+/6/J8+U/V7Lm4lP2r7KSae+SmyzgqWq+ldeJ6s10XbNiqOSTuduzpH5mlKd2X1Ti/jtsd7WZnsOquFT3bRp5U2/LAsu87CYPcfYMtAc+9mqtaa9aU1lFIce+phVueXTVGUZUb8KpdgaxzPQWaSSqPKweNHOPvW+9uFsUYvJRC2RXW8RmtlYxMlU7y8zMz9WklFKhMsxzL317JvOHLCoDySKN69UC3EyIQ9LH6NmFl7bYMkikcTMSkVfuCTxinrraY5K2iTj2cO7sN2HbobXdIk2ZYjh/SOLRtkjOKjCL9UwisFIzXuITVESUUcxrieS7/bw7ZtOmstfvOf/No25IlRJ00ZKM3UgVkqusrRx45RHauxvrTG+XdOk6WZ8Q5MMxzXiKxlaTqyDxKWadQuXV4g6g145AtPsXzpGkGlhJI+g5bxsp3cP0WeZbRX1296nMqVEb4ZWjjFUUI0FD7Tmn67x4kX3uTAAwdYd11EnCG0Qmc5EuhlEtXZKthy/Xft1Ltnb7KKDxe3ytn7VMRuCmMqh8qs+XuZgFYeEX8RXz9HuXIJFXmoOLo/0btJDAu+JCjRm5w2Bd/WAu8OFHx7dfRknrP4rTc+VjPWXWMXyOVQ+njXte9IWKLgnN30ZZRGonjxPz3H41/8DAI4+NBRnvv//pDWctN40tkWCoXt2IS9cITb37mOI711vvrOuxxuLlJJI0LXZ6k2wauHHuGd/cfQWm8r9IQlipt1xomDx/j6uTeZ6LZuuvfb1D+B2kSdjeU1Dh0/wvGnHuGdF1+ns9amubSKzDP8IDDG50WXNI0Tqo0awgrobrTxfI/uRntkBr99W4VZp2OPlNTiQUyapCglDadPKhCQRHlhxbA7D3ToeSeEgbnkacbZt943gjBovMBDWBbRICQrOHCWY5OkKbZl4wYeKpeUqmVkLrn03jnqE2OUKiUDaVGKLM1YX1zl6OPHWLp0jTRKiMLohns6PHAMp6XNpbVRl1wIgV/yicOIrOi+lutVBr3+SJFVSU0a7W4gfz/ujbi1/BjQ+Mz/irDWyZu/Qfv9b6OlRMXxXV3kbQ3nHhdrSbSgpR36245/n+xCD4wIiVQKmcnrRLlGscVeBxg1qtR1vMXtoZSi02xRHavzM3/z57lw8gxLlxc5/46heZhcaJ4/SzJ67S6u55HE8XWNWcuxsW2LjaXmTd/TkNenbWPpUG3UCQeD65WQ91izLUwj1LJtGpMN/FJgBMS05ss/9WM89++/ZYzNfQ9hCZLIKEc3l9ZoTI0bSOWOHLlrZVQIsbmBmXJ2mi16rY6xWyimlgJBEicQmz3f2Sw2SKICbSQVaZLiuA6LF+eZPbSflSuLuJ6LsAXRICq8YvNNjq0w6uKWsFC2yXVxGHP19EXSOKFUKZEmKbWxOtEgZO3aCk988TO89scvGYRQvveeDpuvQ5slw/9nBMd1PIdBp8fF9y9QatTIBhFag1urIgDXMnz93XUJzPqHRf7tivvF3pbYTWHMrUHag7QPKFAZuBu/i0raxHoaO83uF3q3GJZSPHjybRaPPYIfhSwcexjtOJtF3sdU8N0QtpFLlr/7zjay7l0RRSKRylxrdkHqHk7LzPBv+/u6lUIPTAHpBB69Vo+Xf/95StUyp986RdTrG5Ut18H1XOPhFni01zYo1ypM7Jsi7PaJ+iEyl/zQwhl+7q3vooTFezOHaVYaVJOIg501vnzlFO/s3w2TLkacgceXzElyqTZxi3uy+X6jfsiDTzzM23/6Ommc8sATx7hy9iJ5khm+XdHEth3j+1OpV1lbXMUtuDlDe4JR0WNbWIUNAzCCwqaZ8Rl0fbc4KJjJmVab1+6uUyy9+WupVubJH/os8+cus3Bx3pjhbrRJopRKrWIKvSQrSPwWQRCQxHEhUS2xXWPmjoawZ6CdXikwuUdpamN10iThredfxbZtyrUK0wf3sXZtGdt16Le6ewutaOOFNOycKmX4glE/NAgGNFoqonyAbRnvqTzLTUK/Qbj+vc+ButfjVvMjFix9+1cRehUtLIN6+QRF3NtdQfFeiZNpmSV97x398ixH5BIsQOnNHLkV2rn11lwc1ve6F24NNzC+eFdPX+T//cf/B/WJMfI8R2uTi72CCy6lxBKmoVgbr+MnAY7jEPYHZHGK47uMz0yyfGXhhq9nOZt5ReYGQWE5NmG/f2tTy+K9DqGJSkl67R7lepXTr5/ELweszK+wvtwEYQRaRvZDlrEbMtYIKVP7Z3Bcp6AYbJ517R3qoWmSoYoiF4ygmcqzUdN5aFtkPPqu3/Ph31m2RW2igR/4o89v/vwVBu0ewrZM0zHZfF438KjUq3TW22RxaiCqjoNEEkcx60tr+CUfv1xCScXY9AS263D19EX+9Hf/mEqjxsTslJmkpinttY09G6MjVXLHLtg1JucbcRsLJSVhd4BSRtgt7Bm4quu5e09ii6iN12/tc/0B4977xn+IsFzBsb+w+eeh8tilb0E2KM6LNihnGivZQG2cwtoJ+bofN4xSv4ebxiTlyqbk79a4zQXfXrAH0KhcMbi2RrYxuG2v/6FiuPSicBFCIBzjk1auV+mut3adTN0slFKkWywUwt6AsPCAQ5jJm18KTBERJTieRxIlxAWEJc9y9ocdfvat50k8n9/8mb/G6Wj7Pjei/s6X5ccunsBXOaUs5UB7lQdbKyzWJvjOg7vzZYRlpk6CYcfT3kwQls2l987hlwLGpsfZWG4SlErESpNlhmvgOA5pnKK1IupHhTdRsu1yM7wPUyhLQQF5AaU1tusWks7m9XzfI02zzcR1i5zKNE658M4ZMynUik6zbRK4VnQ32gVXY5PbGsfxUBELUQi1bKysk6dG8rnTbNNr9aiN1ynXKlw+fYEkSlB5TqoSwn5I2Bvg+i5BuUzUH6CSPQ44wkB/kygeTfWGfFGtjZqq6TsIHNfGsd1tHoh77cFnf/QLt7Q39+PujZ35EUyOvPC7kHQMWMNyze3JGz9E/9LbZO1PnjepknIESbuXQil4Jy1xijL3Enxza2itQW4KahlUhoXjGKpAlqa7F343iTTcbFgoKdlYXkPYxoZHSbktP8ZxTJakJHGCbduGA25ZuL6H67s3mPBshiq4eY7vGFNzrdGSm+YYvxQgc+OTOrRPGOYnJRXt1Ra1iTp5mtHvdAvERoxWGApCrkwDL82MwJrWNBdWtgiU2chCIGbkyWebxwWVEiDI4sSIjpVLdJptwzXc/IBuutfDhmOn2aJWUBzC3oAkSUjj1Pj9FZx9bVnkaU5vvYMXeCMuY57lxIMIqRRZktJv9+i3+0ZMLcs4/85p81xC0FrdoC1aVOtVyvUqjakxWss3FlkUQowanJZtG56lzFFSo7Uq/A0Nb1LmkiSKzX7e4KL7M9/4yk335sPE/WJvj0h7mit/BK3zxmNPWGC75vdSPYq98U2EbKO1dQ/dKm9/WEpx9L0TAPS/+g2ixtjHV/DteaPRyDilf2X1k2GxoDdH/kII8jwDFPkHhJ3uCXUpQhbwzSxJ6SvFoNunXDVqVq7ngVUkOgFffO8lbK147tEvcC6zQMht97VOqXrd8//YxRPU003oxOnpQ/zbp3+Ugb/7IUtrcBwb0JTrVWpjdTrNloFL+C5plCCslH63TxqlyDwnzyVaG6ETa8v7tRxBqVo1CSHPzQTTsQtFMTOx0krjl32SKMZ1DVfNLwckhWF7v/ALu9k+7gzLuLdz9PFjLF9ZxHYcJvdP0VxcZdDtF7wFNSoqhTBJfPrgLN2NDhsr6yPPP1uLokBV9Ns9wt4Amee4gY+SxoNQ5jlRP0SpEn4pMOpvxQFia7i+UfLMtkBUhol3WwhAC8Pl2Ma/3f37ZdkWX/6Zr97y/tyPuz+00mycgvnvGiinG4CS4PggrHVUeJHw6svo/CaqhHdpnPzOczzypS9RnRi/00v5SKKrLF5O66zhcq8WeltjG9JACHJt1Bs/ytBSozEFVb/TG+XHPE2Z3D9DHMVE/RDbsZFSksYpjufQWW/dUl9w5MVXPFgrVVgc7P3DeZYRlEtG1CvwqDZqdNZa5Pmmamav1aFcrYBtXkMpRRJFaKU3C1ABrufgBT79Tg8pJZV6FZlL0sQUjkIYkZnhJDComEaiF/gmh2a5sWr6gMg327YRwmL64AzHn3mUc2+fxnYcamjWFlZNwV4UsMMGsON5eL5PuVahtbo+alY6nmPel9CkSUJ7vcXSlQWUNGcbSxguZNQP6Xd7lGplsnj7AGfotzuEcArbQuWb+V5JSarUZj4VBS1CCKRSaG326UbFvRf4PPMjn/9A+/RB436xt0tkA82pfwVRyxR5/WLinkeQhWBZcwTeOFbcQuiMvWWR7seNYmx12RR7u8VHXfDpHe41WiOTjGSjh0wyumfmSdt36UTvBqELueeN5XVz6AejjLil+DBmrfK6m41tW0j0TcQzBGNT4xx94iGy2Ez1WmvrLF26NuLtWbbF4fYKACfH99+yItr/9I2/ihCCctjnaGuFnzrzGn/nhd/hX37+J1hoTF33eNdzGZ+ZMIpoSU6e5ihpOGpJHON5Lr1WlziMRo/fmmi2Qke0Hk4HLfLULFblapSkwEA1amO1Ag6TE/UHpHGCZQm6rS6WEFi2XRilp4Amz26sxmY5Nl4p4OgTx0xiLgxnhWXhBT5JVBjVFgXh1ueaObCPeBCZz03qzcOAENiOzdT+aeI4odtskQyi0XOA6XRPH5zFLhRWbceQ9MN+yFCV1bIscpnf8HqwbMNP1EOOS/H56xFHcQtn1BL4pQDX83jjO69w8PiRPZ/3fnxyYmjBsPR98z3K04KvB2QRrD7/q+hsDacyQdq6+1Q3byVUlnP++6/yzJ//iTu9lA8dSsEfp+OEWGxRJLmTS/p4Q2szcVGbPPOdfnW7Newc1yHPc4bIhr2iOlbn4c8+PsqP7eYGnWbLWALIfJR7LdsiiZMPZJxu27a5txY+fIi9f9B2jCKm63vI3EyZhhPGofVQ2BvguE4BwjDnBWvL9G9zz0AWHrNg9spMAE0RIwqKgeM4OJ5NHCZ01jbQGvzAI40THM81+S1JRjnSTL/UnjnG8Yy6s+s5lKplgFGOVFIzuX+a5cvFgVwMP0ON5do4rs2+o3NGrbqIPM0NJcO2sWyLselxooEpbJVWKLEpfBZUykad1HWoTzbYWDacyixNi5cTpqmcpNfn+K3Xh9HEGT3Gtm28sk8SxmBtp3kIIShVy0zun+b7f/gCP/df/OKen++HjfvF3i4x/xzIuOAfKOMFnsegpZGbdkoePPA30Av/BhFfAKUQroMlUlSWoqObk2fvB0wtztM8eJisZL7U1xd3W+WyPlxsF4/SqCQzuGxtpnpZ95P/mQ3vNzuTVr6lO7jt74fdzxv1KrSmPjnGwvkrTO6fxrME8SAyXnS2Tdjt45dLlIoOfq9cK6ZhxQ3xBknNth2CckBkWbxXrrIwNsOvfPff8kvvfJf/7Ud/YdtjhSXIs4zm4hqlSolyo4rruVQaNbI0Mz53UiEsjGiLMAWa5dib+Pst71PlkrgfbTP7djyX6liN2nidQcdM2NprBho7nLTJPCfXxqx27tghVuaX8AKfaBCiZJF4bGvUJR29fvHalhBGPdNxEa6g3+mzvtwkGURgWRTsy+sK5jiMuHLmIq21lkly25KLRuWSyf0zXDx5dpRMtNab0uIawl6fmQOzZImxfUiihFKlbKTEC05d2t3qHXV942DnoWAo3mPZooCwbFlWYbRuWRar80t7Xwj34xMVQwsGtw7RismLWKBTwIbS/iPk7RZTn/sGG2/9Dmm3h7BtbM81puqfELGWLE1I4xgvCO70Un7g6CqLN7PajkLv0xlaa2zbRmp5XbGxGzJjkxJx48pMCLEtP0Z9I2AWVMuUEPzwC99iaukaU/0WpTgis2zjKzt7lBeOPE7o7X59CduiXKsgpaLf6RoeWpHjhuvfWrRKKYkGIXEU4fk++44eoN/uUR0zljl5kiJz4w+YpSnlahUlJV7g7yr4IvOcQbe3yW2UknK9ysTsJGmcMj4zyer8Mhur6+gtxY9Rhza53S8FlKtluq0OQJEjYSuMVViGKqCVGqGJUJoojFi5ukhrdZ21ayumiM225KctySbsmKnq2dffNxBUNs3ptVJIpfFLPq3l9dHUd5Qfi4a341hGzTXN8HwP27EpVcpExd5UG1UGvQEq2o5W2M3oflvORFOp18wem2785rS2UDINe/3bniPvF3u7RDABeWKKPcsFZZr2ZmztgFuC+mNzpHof2ZWr6KRtyHyujbf/AMnVy8aG4X7cMCrdDpNL11g5dBTt7ibg8BEkpx0TvSHvKFnvknZD2u9evvthm7cae3Ufb4YZucE/K6VoLq5RG6vR3eiwvtzEcR3i0EAYkzglDCMi23x+kyphOfG2ePvtHXmWkSQCyxLITNEKKqxUxznQXaecxqMkODIYd2zQGtu2ePorz9Ir1rNaWBwIIdAKsASua/yjtN7Sgduxnm3ec8IUMr1Wd2TToKRE5mrEA9iqsJklKc2lNbzAGMCPz0zSa3XRWlOtV0FYdNY3jEJmoURmuRaN6XGqjZrpfLouAsiGvkFS7rllSirWFlYMFElpU4RtmaRpNKvXlq7jbA7XW6qWGJueBGERDWLKtQpj0xPMHt7PhRNn8AKP7kYH2xaM0MDFxO9GYdk29cmGKZ6jmDROtu2zkpKwN6BUvYFv4v34RMXQgiEfgCy+QlqC5ZlbTe3ol0hXXqF25CDR4j7STgeVGpVat1LBnZwknv8ETPw0nPyT53jsR3+YUq12p1fzgUNreD4dY3CdxcKnN/byUvswkYQxMpNGzKrwr4vDmHgQMzYzzrPvvMLi2BRnJw8QV2vYSczB5hLfOPcGX7x6in/25Z/bleagpSIchDiOgxDWdfd2r+Sb+y2MPl6TKzWO6zC1fxrPc2kX3oCmzhBgCSwMHDQolxh0r+fTmwUYtIuwxEg9PeoNWIpipvbPsDq/bKyLgJ27mqe5KZKEwBJGEC1Pc5RWVOpV4jCm3+4WzUDDdxOWhV/yGZ+Z4NEvPEVzYYWFC9dGkMskjG54Ga8vreE4xpBdoTYLykKTQWZ5USwLtNzeVLUsi6kD+0x+7Buv26m5WY4//QhLlxcAzaDbp9/pbc+RcBNkFIxNjlGulIhrplhkR05NwqQQlXvohs/zYeN+sbdL1I+C/SpYUeEfVJxbbQ+cGkQbkA48asf/GsKaQp/9bfy5GbyZabLVZYTrou8XezcNSykefPdtHnz3bQBe//GfJi1XPjp1zuJ7rpVC5wpZHO6zfszqi+/fvUXeXYQKtj3HmK0vN8nzjKn9s7ieS32iQXNxxRRhls3izByHOms82Vpm/cgkjgtpFN9Y6UwYUjgYDqKwBfXYmG/rbaopBdE8l2g0aZrx5ndeYfrA/hFPTRSCNZZtkWcZSmn2HZ1jY2mNqFA1M9j7TXK3EBa2YzM+O0l3vY3tOKRxbMRNlMbz3eLy2+zEDaGRru+ZG7+weObHvkBjepzOWotLp84js5zJ/VMGTqpN19D1PabnZnjo2cexLIvFi9e48O4ZgnJAfWqcsNNDFX5Eex1IRpQAW1AplwvvIpOYStUy7bUNtAK/HKCkMga1BVn/0MMP8JN/9eeYPjDLH/7r/0ivEM4wXEa7KFQpYDt7f16M1mAVn71FEsZYtsW+w3NcPXNp1x89+fLbez/v/fhExdCCwatBtGbOLgYOVlwe3sPErRmEuIrtG+/KYGqKfV/9GkJKwuVlmp0OeffuF2+RWcbZl17mia99Fcf75CjKJlpwIS8RIcjZ+Z2+X/h9kLBd54Zqw36lRDKIaC6u4ngu49OTNCYaZuKlNf/zL/xtBpkkCDxTbGCaqH/2xIt8/dxb/NkLb/PbT/7wrs/tuh5+ySPPMqQ03OxhoZLGm2IzQ+uHIf88SzNOv36S2UP72FhqGr6fXXDPitzqlXweefYJ3n3xTcKR2Ig1+lVmEsd1mT44A0LQXW+b85RUrFxdKugA1vUQ0IJrnsQJMs235cdrF65SrVUNJNJ1CXt9sjTDyi3KtTJj0xM8+NTD9Da6nH7tJLbrsO/IHJZj02t1jEL0Hirjujgvup47snQa5kfbdZBSohV4vnddfjz+mcd2zY+ttQ1cz6W5tDbyG7yl74/YFDeLw7iwfGgQhzF5dv36tdK8/8qJmz/vh4j7xd4uUZ6G8qzpXAqrgHM6oHNImmCXwGUB3vl/sHpXcGcbqF6beNAjOHqEpLmOTpJhpXGn384nJoRUH5lYi94yJle5JOuGxCtt7LJP98z83VXo7VQx/DgLvZsUllpq+u0uWZaiFaxeWy5+To+SDlLx0qHH+Pz5d/nyW3/Kydo0yQPHcGcn6DTbDHoDGmGPTqnKVL9N3y8Tux6lcgm/HGBbNl7g8+WXvk0tjbg0Pkvkbnpdqdx0TLVWI5uJOIy58N5ZgnJgoBDZEE5ouGhKSlbnl43QygjeaojaWhnyen28QTSI8AIf27HJ05RoEBe3ck2aZNiOve1aGfIUVS5BaazA4urZS6hTF5C5JA7jAv6VUh2rGUVTBEkUk6U5Z998H4Fg0OsbiEg/xC8HRra5sG/YDRZSvDhSSoKSgcfEYYRfMj/7xJeeYXV+iaVLC8bEtlAhA0NSdz2Xyf3TuJ7Lz/zyzwMw6PZ5/U9eRuaS5uIqa4srN/b6KZZk2RblWhUwCmx+EFAbrxNUSnsWewaqcz/uhRhaMGQDM81DMTpJqBDsSkDjyf+c5gt/l7jZZOyhh0l7PeSgT2l2H06/sDZwXcjufjVrjWD53HkOPvH4nV7KLcfbSZkFAtLrCr1PYOxouH3ccaNC71B7la+deI4jzaXrfGWX546zdPHa5vO4Nq7vEQ9ME/Ta534Izr3FVLh708N2HSb2TSJzSaVRp722Qb+zxRbkujODgdEPofthP+Tq2cuGhy0VlrawbdNgzbOMsDfg5CtvkSZblUZVITBieN1BJRgpiQrLIu6FhR2RLmwhdjmf6WJtSmP5RX48fRHLEmRpxqWlNRzXpTZeozpWK3i/RkBnfHqSt7/7KpZlIWyjZNnd6BTCYnahErpHfkQbGydRqKQq9ZHkx4UL8xw8dogLJ88WNlM3H+SUKiWU0riuS2NqnPpEnZlD++m2zJR1t9C3+at6W4s9IcRPAv8UsIH/S2v9v+zxuJ8Hfgv4gtb69du5plsJyxU88guaS9+CcAUGS5s+Qk7J8PnEtX9GpruIyiReWZApTXZtnnR5CXz/jt2YPsnRWF9lrVJG2zsuyw9a8G0p9LRS5N2IvBfhlH3yu5Gf9wGulaFAxkcVtm3fENqipCSVm5w3IaxdBUgWghq//eRX+Pl3X+C//s7/z96bBtl1nvedv/fs52697wAaG0GAm0SRWihZmy1FkSPbkR174liOXbEn2go2/gAAIABJREFUziRT46RmMuVMKi6PZ5zKUs7ELquc2BWNZDtxxLEkS5apldpISaS4kyD2vYHe++73nv288+E99/SC7gZIAgRA4fnAAvvevvfcpc//PM/zXx7m1O4DLDpl3MBjYmkO3zD5T+/4CIeWZvjx409xdmCcWrGM7xYpBR57li4y2GnStF3+4p53rz6wyHIADZ0wSZBCCcqDLCpCzxy1hKkaPCkltmMTxwmGoTM8OcLK3FLuzgVKyK4bBpoQWI5F0PUplEs0q3UMw8C0DIJMhL0R6HsCctuxicIQ01a5gz2jFNuxsRxb3afgcPCBe/A6XZ559AkVq6DpSCTFconx3VOcO3KKNE4IwwiZpFeV+VSolGg3Wjno9Q31U+wrMcpEJl5X1Ng0a7DcUpETzx3hz//DJ/joP/p5yv0Vzh89wxf++GE0Q6M6v5zTUa/GOS1NU8IgYHBsWL3+xRWqiyvr9RQbKr7NdHjDVC+CIY0kx/8CGqcUPspUqRnSEM5/+pdI/SrW0A6sAQ29UmH2sceI63V0x0F3nFtG6hB5HukthOfNVOM8LuGm9M1bcOgi8//cVPX2C8f46ZcfRwrBy6PTKlc29NjZWN40V9bvqIGfpis823/hGAAL/ZebkYFquJbnlnAKNrpmEGYRN5eZyYi1xlkSdEEcxWqbZxpYtpXhpSCOE2xHzzDVoFguUyyXadcbdFvdVUOvDCPdYoFuq4OTpMp5u+CgCUEcxwSen12LrP9shK7hFgrEcZThY42eDkrTNOyCQ+SHREHEobfdh2VbLF1a5MzLJ3jpe88idB1NEximMpoJ/UDJNNjESGbdG6awychyA9uNNpquYTs2SRgzumN8U3wcnhhlaXaRf/9rv8k7f/JH+ZGfeD+XTl7I8VGmkjAI6TY7JFGcD3y3c9eMoxjTsigNqAB3oQtOvXB8W8d0eRXY+1rqujV7Qggd+DjwQeAi8JQQ4gtSyiMb7lcGfh148nody6uptYD23MeVNiHLs0YzAXsU2emg6ynBwjJJo7560X6LhcjeLDUyc47lyR2XN3tw9Q3fGl+L3hq9cfoSnbML1/JQr29ts227mmbgldQr0jBcoRl4cudBFvuG+BtzJ9hx8Sz7w4CO5eSTToCTw1P8oNtkd3WeqeYyThwS6SbLpX6eO3Qn39l1N13TyjP0dEOj1F+mXW+h6ZrKupOKimlYKrNIIhUtI8sFCoMIwzJwy0X8jqfcSCPlrGY7Nv0jgxlgSooFh7Fdk4By71y6tJC7Va4NVu1tDTVNkKbKxrkXohtFETJREQxRGFEZ6qdda9JYqnH0qZdoLNdI4pSh8ZFc7K3pGhdPnUcIgdfpbp45uUnZjk3o+coUpu1B9tpPPXdMUXykRNIDe/UlalUbaIbOiWeO8Af//N/x5nc/yMrcEp2W0iBo2XGbtqlCbNNVvcNW4BoHEYNjQzRXGiRxQqmvjN/pZq6kl5d5C1HgblQJIf4f4EHgWSnlr2+4zQXOAh+TUn79RhzfxuoNRdfio24AGlj9e/DmGhiWIOp0qB8/RtJW2qDE80huMROzhVOnGd+/75Ywa3k8rGQaqluwsbtFaqxV46dffpzAsPj4Oz7CQnlw3e1b5srGEWUdpmqL7Fq8yGxlkK9P37vpc6RJgmkapImk22igmwZ6hv8pEk3XSaIYy7HQDZV3qmsCp1DImyQji9lRjBil5QuDECklxb4yuq7lsoWeq7Jlm/SPDOIUXYbGRlieW2RkxzimZdJtdZSbpZTopkGarD/f9yQSXreLaZmKOimVK6ima9gFNzcvC/2Q5771A/bdfQenXjqOoeuUB/oIPB+nqO7X7HRXg+GvohkqVoogNJJYMWC8TpdQCGZOnsN0LKJI5QfGYZRfY83PzCEAp+Dw9T//a575+vcYGBnM8dEtFkgSpcnULSP7qxKZpn/zY4qCCNt1GRwbIvACWrWmCnVvd0m2uIazr/O55Xpu9t4GnJJSngEQQvx34KeAIxvu938B/xb459fxWF51aaZg4m2S2gnwlsFwVN8Rtx9Cb5wgqV6CYAuB6+16RVWu1xi/cJaFHdMkPYfOtXU1Dd/GRkkTDL/lwK3V7G03xOy5Oa3tal9laRlFcb0F9VYUiau7/WxlhD8eGCM99G40QDd1omB14zNfHuRz97wLITQs22RgdIhmrUEUxETZkKT3CZu2iSY04iDGtG1kplGLtVAJ4XUDr+tlxiwpSaqmikIogXhzpY7lWJhZU6hpGk6xgFMscOD+Q7RqTab27eShD78XgNmzF/n/fv9TKrB8k43ejv3TmJZFt92hvlQlTRIqA320TRX5oGWaQK/VUe6gQHBxgcBXgaqdZkdFudTbCAGVwT5kkmIXHEoDFWpzK1sDWpZp1BP/CyGwXZsoCKgvVUGAbvSaNZmDe69kkmIWTdrVJj/46uMMT46h6zqmZSnDokzov3aTKdb8rfW0iiqsF0p9Rdr1FpN7d1DqL9OqN7Fsi1ZtC0qSfvvCc7sSQrwFKEkp3y2E+EMhxFullE+tucuvAi/doMPbsjbDR4D+ez5KZ+YHBO2QzpnnVielt3Ad+c7jHHznO3BKl5tp3CwlJfhoJJs2ej8cf4OaruXastdapmWq3NFeZdD70IUj6FLytf33X9bowVXmyo7u5OE3vY+OeflFvhACzdDoGxpQTs+ug9/tqvNzxrABtYHTNJUfWCwX8T2fTjbAE7rAsEx8TxmbyCQlTjOjFk3QrjWIkzTTpqsYIV3XKA/24ZaK3PHmg7RqTd76wXfy0Iffy+zZi3znL79Gs9bk4slzlxmcWY7N8MQoftej02yrCIOBPjRDZ/78LAKIwxDbdZQ7aBTjFl1efvIF4jihUCkqJlYU0VgOAEllUOncNF0n9IMth49CE1i2rS4RpcT3fGWomA2NexgpU4lMk3VunaQSKUQWc5FQX6pRXVihf3gA07Jy2mYSJ8RBlOvVN15/9aQKErBti537d9GutxifnsS0TEAq87ctyi1f3/PK9WSJTgFrLbcuZj/LKwO4nVLKv76Ox/GqSqaSxhnJqS9I/Bp05pVbdNhWoOYne4DodqN3DasXuL7n8PNbW3OrQK+tH2TjbRKSLbYNN1Vp5AGhG0toKkfNsm1Mx7pmBi6GaaAbxrprgHUPu4YF1Lvwv5LzlNA05UrWazaEWNc09J5EpioEvtPqUB7oY2BsANM21c1Sce+tLC8oSWLGd00wsWcKu+jmuUNRGJEmyko6r1SiaTpu0UFoAr/rqaDxrIlp15s0V2oEfkAcRUwfXKXajEyNMbZrkjiKL+PVx2HMzIlznDt6ijiM8Fodgo5PdXFFGcSoN4k0TbPJJ1iOiWWbGIaBTFI6jRbtWmudZqDXPMd+iDC2vhgb3zVJaaCCpilTGS1ranXTwCkXGJ4aY/ehvbilgtrqbfg7kKhJqmmbOAVXaQqk2lAGnk8SX05ZzV1I6VGiVa5fmiS0G22WZxdpVOv0DQ8gkxTLsbbU5o3tmtr057crr3cAX8v+/XXgod4NQggru/27N+C4Nq2t8DHqKi2fNfoBdKtC59wbo9EDiLpdTv3gqSvf8QZVIAXHksIWLd2t3+iZtrnly9CzAPBCdsF8LRo9FSxuYZiX70Sm64sAHBvZmemy1UBwu/rtD3yM3/joP+b//ODH+NQDH2So0+SfPvYZdrarl923d75dnlvE73jsODDN+O4dmSM1+XVQmsUVFEoFRqbGmNq7C900susIlau3Ntcud3CWyqAFJN1Wl8Dzc01dY7mm3DulXIeRI1NjlPoqkEpCL1i/1cp0dwsXZnMjlR4+NpbrCLLcPqFl7BZ1TaNyZ5XsoV1r4nc8okDheg8jnYKLEKxj2qz7mDRBqa/M/jfdiW4Y+fWSpus4BUdhXoaRlmPnusQN7ziBrxpRoQmcopuxUSReu0vQ9fMBsNzEabyH4zJVWsXADzj+/FFa9SZJktA/Moim65jmFt8RAXvv3rf5bdeobph6V6jRxH8A/teruO8/FEI8LYR4emlp6Up3f80VtiSnPgfHPg2147D4rNLpRW3wVlTmnht9Ha1QRhp91/14bqbquzTL1PMvsf/bj3PvFx7hzZ/9ArueeuaaPsfgwhx2p/PqdI9rG4vsYrV76fp/Z15zpVkjJSVsuGCWqcwpBLquo+v6qza80HQtP9GFXrCOzqCOY4PoW67+M69ttqu9cG5NV41rHF7eePTKMA2iLPunU29TGezHsEwM08icurrEcULghcydvUin0ca2LTRNUKyUNs+3kZI4jPD9gEKpiBCKftkTmCdJSn25zhOPfIezL5/i0U8/wpnDJ0nTFNMy+ej/9PcUuG845DRJiIJQhdR6PiM7xzEdC6fgUqyU0E1DxSvoavsm05Ru26PT6qyChJTr3gvdNJBSYjo2laF+4mBrzVvgB8g0VQYwQaTA1A8QQsNxHaXdGx5gcHR4cz2BVFNglSVYwWt36fTE/hI0XU02i31lSv0V7KKL5doYW4BTzwn0/MunWZlfQjN0/K6XuZWRf8d6YbaF0iab+tu1tvqB3lq0kf1/r34Z+LPtfvn1xMioI7n4bTj7ZYWN80+u4mPYgqADhtPP0AN/A9MtcwMvM655ea027WrtRh/GpnUkLrCc6HlW5xutoiC67LzcqySMMSwV8K3rxrYYdaXKz2ESuu3OZSwPBDiRGiA3nULe9OTn3G2eOw4iWpbL4Yk9fPLdP0Uh9Pkfnv3Gpvft0R/TNOXC0TPEYYhbdNENHdMy1aVCRkn0MzdQr9NV+GmbjE9PZgZjl2OBTFNa9RaaUFhd7CtTKJeQqPd59swMj3/hG5w7cpp2vZXj40f+wc8wsXsKw76clt9zkk6ihL6RAYxssFgZ7KMy1I+d4YkQAqEpJ+hWramGsUm2PdvAbNFNQ4Wab6ORk6kkjmIWLy5cESMHx4YUO2WT90Q3dIrZdnFkcoxWo6k+bKHlw1XLtakM9+cYaTpWfgwbHy+NE5rLdY49fRjTNrFdm1J/eXWI3hukaxqWYxN613cpcT3PwpeAnWv+f0f2s16VgXuAbwkhzqEml18QQjy48YGklH8kpXxQSvngyMjIdTxkBWRH/xSqxyDxIKiriaVMMmMWof4dJyPEgQGJv/aa+A1f48dOMHLmLG6jQeReH46xEce86dtfpVivonvdLZq+q3jHhUAmKY1jt0Cm09raZHsmU4nX6uB3PCUSvsKGbatSDeUmN2Rboq1/UW7+7+x3IWsklfhMcfp7gdxCGcFYrk3/yAClgQqmbaIbSkfXrjdJ05SVuSXiMCLJjEpU06KE4VEYsXhpgU6ro7Ry8YaN3ibHu+vAbib37ugNOdWhZgYvURDSWKkzc+o8n//jT/Pow4+wdGmBJ770nXXvj9DEusZaNwy8dpdWrUkYhkRhmG8u7YJNsVIizRx4014Y+yalaRrtRls1s9n2UTe2fv+77S5+1pwLAWkqswY0oL5Uo11rEgUhozsn1HubNVlrX4dhmVT6KyRRRKvezDOZ0JS5RipTTMtACKUNjHxlUqMmwJdXmqTESUxtYYUojJjcu4vJ3VNrvgerOovR6YmtP6vbBarBq2T/rgB1ACGEAXxISvml7X759cTI81+FxeehPQcyhiTJcmlj9feV+pD4K7TOnSIOQ5Rd5xukpOTUkz+40UexaVmkLEgLn4328Lf+Vu9qKvACvI6nmoPXYKizGZVe07VV3bEEP8sF7kUFQUaB3+isnZUQAt001mFko9zPYnmQ8XaNQuijmzq269A3PIBhGspExTQzR2nJwvk5Oo02qZQkqcqLS1Ol0/Y6XTqtDsuXFogC5QTdWK5vi5FCwNDECAOjQySRwuF8uJtKoiCi3Wjx15/8DI8+/AidZptOs52FqKdrmpX13y+hCbrNDoEfEPqKOWI5tspkHazglFzSODsn9HThvbdMkjdCmq7nGBkH2zdCQgja9eYVMbIy2J83aEIX616DYZnKndu2adUa2SBaGeqQXQekcaIM4TKMjINI6fmz7e7GSlEN+4nnjjI8OcbOA3so91fUC8zfa/X6+0YHtn2Nr7Wup2bvKeAOIcQeVJP3d4G/17tRStkAchsiIcS3gP/tRrtxznwTkgh0B/V5BCqCQcYgTBWqnngQ6Qexgj9FEv+QnEpVXbrvHkLXISwWKS2vsP+x712X51EN39dJNY3zd93Lwq69pEY2sVt79b6xpFqzB7UWnZlFmscvbX6/N3LljY2mAst79IcNE0fdWOPEKTeYtWxCFbVdW4m7N5liwXqME0JjeHKUKAzRTYNus51RPTKKpNAIPBVzEHT9dcemaxpO0c20fooK2svGUc+jtliapjF77uKmlJ00kVw4cY6f/V/+Pl/6k8+xODOvMCRrFMn0dUnWkL342LMce+owY7smGJ4apdvuXqZnRChL5d4FhUBQKBWxXQen4FBdWMFre9sGkfe2kWkq0Q0BqcRyHXYe2MPI1BjHnj5Mkjmc9ZpI3TSIwxjDUBtK3VDaQ9M0CYNQ6RjjhDMvn8qMbVRDL6XMdZmGYbLn0D5+8V/8Gk98+TFmz8xQ6i8ze+Yi54+eRtO1TE+QGbNkOgUhBKG3heGUAIGgVClzz7vuZ/fBfXzit/9AmQj16LvZNvPl7z3PR375Z7Z8X24X3wd+DXgY+ADwyeznY8AuIcSXgf3A3xJCPCOlvGHrpc6iGnwaLiQBSF/ho9KVglGAua/8LlHbQwadG3WY1630rahYN7ga0iCGNbl6P0xXJqrZSl5JkocQqjdL5SrercG9tcyRNEmRxPlt5/tH2dlY5uDSDEulbAkvwDD0zHlYnft6GNuTJvQ+E2X4pdGXafhKQwOYtk0SJbnjo0ylMhQRKqutt9kSKOx2iy6dRhupS0zLwnLsnNkSeiHlgQqVwb5tMbJZa7D37juYOXFWYVrSI/RI0jRBSiPHx8hXb65MUyzXzmUU6zFS7ZXjKELL8MstFfjwL32Ur/7Xv2L2zMx6DeTajyN7v3sO4aL3YlOJ5bpM7tvFheNnAIXbmqaRSomd0UABNCG2xciFC3P588tUmdwgJbbrUBns46O/9vNMH9q7KUZaJSvX3K3FyO0cQmWS4vQVeOsH3sl7/vYHOPbMYQ5/71mQMm+S1TVJzOHvPsuHf/Fvb/lYr7WuW7MnpYyFEP8z8BVU9MInpJQvCyF+G3haSvmF6/Xcr6WcQbCXlS5PsyBtkkflyQSybTOpOUmq96Ml8/nv9s4Vt2oVqjVGTp6muFLFCEMS08Trq1DdvYv6DqW5aY9sbhN8vUpLU/YcfgGn02HmzrtIdANpmqudxUbKhACkxCy5lPdMEKy0CJZv/vDea1o59TJFSh00ga5rFMslENBpdjAMncGxERYvzatsmrz52Vpfk2QAtFm55SJ9Qwr0uq0OMk3pG+5ndMc4nWabc0fPYLsqkqRRbZCGEZZlqogES20AY5kiEAhNNYKGaUIEQ2PDRHFE0PXx2t1s4tdSIustTrSWa9E3PMCJ544Qh3FGE8mGBEI1WVJKTMtE0zUs26JvWPHqx3ZNsDgzTxiE63pe01LA0XOsNAxThbXGCe2aEsUXBoqEfoDv+fmxbaRVikx3p94PGBwdBKnC4nMqL6uauThUwCbRcEvKGSwKQtr1Jm65yOD4MMVKCSRUF5bRDA2BjlsqIASEGVX23NHTfP4/f5pOs0270WRlbpFWrYnQtTyaotNsoeuZ7sHUVdj9VhSaTPfRrDd48bGnOfncEQWGUt2Y/45kfT7U7bqspJTPCiF8IcRjwPPABSHEv5RS/g7wVgAhxG8Bj9/IRg+gshOWqqBbEDUVLvbALwlBJGAUp4nbj2Sbjht5tNe+/E6HbrNJoVK58p2vc0kJi6nJudjmkrSI6W0YbuUrkdeppMqlU0HcVmbTb9FpddCy6JwojIj8EKGr+/hdDyR8f9ddPHThKB889RwnhnewUB5ACJFTPvs8lSs70FihYxeJCgX6h/sxTJMwDPEabT58/CmKXoel6X3Q30+htx2SMj9nW65FGqekmjIuUfl3Bmmc4Hd8hCao9PUheu7UQUi7pnRicRxRHujbMlPYdm0GR4eoL1UJ/VBhv5qI5h5wiuKv8HFgbBCZnctLfSVCzyeOxZoYxNXrA5lKBALDUoPKk88dIfR8ZZJWcHJH0Bwjs0ZPma2pIaWeySnK/WWGp8YwLEMNSrPNa8+ZXAglcxCgYh+ugJGtehNhCJyig2VbSMBrdek02nztz79IEsfc+6634LU7VOeXaFYbW2LkOuruFhtdBMyevsBjf/l1Hv+rb65rNoHM2+A1LaOvqq5rzp6U8hHgkQ0/+80t7vu+63ksV1uV3dA4C7oJnaU1QKaxno0iLIKBX8Bd+ThSRogs1eZWrcGz59n5/ItIIWhOjBEUSxhBQKFeZ/jMubzZu1FVWVnC6XbwCyViYw0nf6NDp5QIQ1dcdSSVA1MEQxXaZ+dJw1sj1+malVSUFMMyVdQAkqnpncxeuISu67QajVy8LdNs0rTmJL+xNqNS9PJ90jhWWrVECZqLlRKdZptLZy7wIx/5MdIk5dLpC+qwctvmbIqZNQa9MNg4UgGrURaI3qq3CDwvt2xO0ljFCej65ZlDkL+GQrnI8OQIAyPv5vEvfkO5YGoqkF0mGWgItdF0h4rc+877OfrUi1SG+hnZMc7K7GIWSWCRRCqnxy0VaDdayCRl18G9lAcqtGpNZk6co7q4rJy7RO8kry4YegL/nh4xjVParTaBF6DrGrXFFWbPzuAUXQbGh2gs19XrjHqTZImmq+lfDyA1XUM3jFyL0Gkooyi74AKK9tlpqp8VKyXSxEM3DF783jOkqSQOQzRNpzxQodxfwRwbZmRqjL7Bfn78lz/Kw//xU5x66QTNlZqasm7W8AlUY9vxaNWbGMblWsfe5zM8NfoKvrg/nLUxbgH4nQ23/9brdzRb19A9sHxYSRzkmtmQZqiMPZmAu+Mhmsc/RWwWkWGLLU8qt2JJyZFvP8Y973/vDXXmDKTgTOIym5jMS+uN8u6+6tIMbZUe+EoqMzpxChaTu3cwe+EShmGQpindVlfR8iNIYg8hNKRMWSgP8Nm7f4SfOfw4/+y7n+Xl0WmWin0UQ5+djeXVXNnFLFd2cJzO4Ahd26HQabFrfoahbpNOsUztd/4tB72UhQuzVOeXAbBsi0iL8ny8XqwOkLtgpqkaVna7ChuTKMqbzdALCD11br7s3C2UjMC0VOD3gfsPUZ1f4Ykvfxt6W8SsCesNM92hYm7UcuH4GQ697T5OvXD8Mox0SwXccgHHdfA7HrsO7gUUXXRk5wT1lTVzqiyvTsu2lE6xwMTuKWZOnkPTNBrLNTVMrDYIgoDQDymUSySponX24oX8jo9u6AjduEqMdAg9H9OyaGc/0w0dXdNoVOsEXZ+v/Ne/QtMEpm3jFJwtMfK5x57OqOqbN2tCU9mAF8/McOL5o3n00sb7AOy4Y/cr/ea+orquzd6tWIURsCqrjXrUVbSUsAPhyvr7xu59SFFAyPqNOdhrVHazxc7nXyQxDE699134GyaWZvfGZyK57RZuq4lXLCsRpb6GI712utL74KREty3csQGQoNsmtRfPXtdjvFLQ5o2qOIwUvSJNOXn4OEi5OsXrHW5GZ9lo2Z/XFpOrNFHagUK5xNz5WdI4zvRoLdr1JpZj85mP/xn9o4PohkGn1cIwdQzDoDzUz6VTF0hjlQMkhIauCZIkZWh8mP/xt3+dP/03f8SlMxdW8wXXHHOvWbvsUFHhrdX5pVWAOnGOlfklvFaHOIyIkhQpyeIZHHYf2odl2yycn6VVbeIUHEr9ZSb37OSn/tHf5Vt/8RVa9SZeq4PX7lIeqFCoFNX7G0W8+b1v5Tt/+XU0ISj1l5W+odFGN3TibMhQKBVJU0mr1siF6EkcE4ZhNjFUG1Hd0ImjePX7JASapmPaJqEfEGcUFrfkEoUxbqmIU3BoN1okSYJp2/gLK8qtU9eJghC/GyharFg1kREIbNfh4IP3IKVk9vRFdcHx71Yo9ZUyQXmFZrWBrmvrXD4tx8YwleYyCSOIk023rD3NZrFSvrov6+266as0AYOHoHFa4aNmQNDKqJxZmZUDWP13EqycyH5y850XX0vJJOH0089w9/vee8OO4UhcwJda1ujdAhq9TaQB1+yhhaA80Edj6dUtvZMootNMOX3kJKZp0Ko2Mnrn5Zvp3hbqyV0HmS8P8N4zL7KvOsfdC+e3zJXdW19k6vwxnDAg1A2Wi/08e+ABnjjwZrRvPMPE9BS262A6Nq1aHaELCpZL4tq0623kmsbIsi0CL2B4coT9993JmcOnWJiZ23SDtxnFUHkjirxZnD64j6l90xx96kWlww4jokxHFvoB7XqLPXftY2hihAvHzm6LkYszc8xfmFVUT8emUCnSXKkzfXAfbqnI2ZdPku0CifyIJIlVSHsYo5WVcUq31c3odAK/7SGBJHMd7VFu02zDGYcRQhOM795BbWEZoW2Pka16Mzd06baUCaByqlZUW63rE/oBbknl/KVxwp0P3K02gJtgZLFSpLkSK3yMk/wzMCwT27ERmoqbqM531VB8Cz8GZQp0fc+Rt5u9DdULUwdoz0ouPKo0e/5KRusMyWzyQSYlumP/ksLy70J0ETaccm+VGj5zDiElCwcPXNboAUTZtuBGlpam7HtBuX7WRsaIbWd9wwfrt3xCIKREs0zcsQFqL13fRk89/U18QZNx+U3HJomjfOOyMTNm42twCg4IQeD5W9IMZCrx2or6gqbli3CZBYabtkUcRrSqTWSmRfPaHnEUK+DKGkZN10kStUWqzi/zyf/7D3nTux+gvlSllWUHyTTdliPfew2GaRD4AZ1mm1137qEy2IfQVLiqUyziFCUH3nyI/tFBVuaWmTlxjjOHTzI0MUJjuYbQBLsP7SMKY5559Pu8/+98CLdU4PSLJ3jkk59t+5FeAAAgAElEQVTBKbjqwkIIHNfJJ6lRGNJptTFMi1J/Gcu2GRgb5AM/+xH23LufL//J5zl9+ARREFJfripaKpoiuiPoNJVRS6lSol1vZe8HRKEySzEdm7FdE9zxpkP86M99mG88/KW8CW3XW4S+TxwnaFngu5QSCwshlPW1TFNMx1IGN1FMu94iCkJmTpxj9twlbNdWuUaZYP3ud7yJFx57Br+jspqEpuVNnZ9pLnvfnU0DZoXAtEx23bnnKr+ot+tmrx5GtmeVK6dZhKUXIE5BWKrp022HsQ/8IVIDb+YxYn8ZgjcWnT7oesRhiGFd7kz4epRNykJqXc8e6trWdTxICds3emLNP7YAMiVnAGmsOisna2NDJJfpsS+OTvLfJ3aqxcAmzJf58iCfu/tdFEpFfM9DIEjSFE1Thi1pnCCXa5lOvUAchsRZCLrX9nCLLrZrE3T9XGrhZ3TCxnKN488dZfehvTSqdbxWZ/Mc3GxQuxoPoLJdC+UiS5cWcow8+OC9HHnqRZxiEdOOKQ9UuOtt99FptNANg0f+389y8oVjW2Lke3/6g8yfm+WRT36GQqVEqU+ZxJT7K7ilAieeO6qOUWTiXqE2am/94DsxLJN7H3oLR37wAq16MzdQ87urm8lCuUC32UHTlWtmFEbEmaZx7uxFDMtACIFhGAxNjFyGkfWlKksz88TZcDkMghyfdA1lSCbVNXwcxei6ThxFnD96mt2H9m2KkY7rkpTVwFaXEPcabikJvEANzlMJmti00QM1PChWioztmtz6+3sNStzUF6ib1IMPPiiffvr18XBJI8lzH1fNXhJCGilBOpBrFLR0heLiv0LzF4BbM0/owDe+Q6Fe5+gH309QvvoJfGlpmf2PfY/qzikuvPWB63iEq9UzbKmNThC4LtIwL9Ptrf1Gq+lMzPw3niesv/HMAnp1pbDzdaWp2drV3r/UX6LT7G7J/QclwjYMHa/tkWY5cj0KiGkZGKaJnoXdapqG5VjYrkPgB4pOUVf5c0mWm6ebRsb7BykUkG4b9i4ElmuriZ6uoes6Bx+8B03Tmdq3kwd/TMWW/cUf/BlzZy/iFBw67S4ySfITd7GvQm1xGcu2KQ+UcUsl9r/pTpordWzXoX9kkEunZ3BLLl7bY3LvDkZ3jvOVP/0CUTZhtGxLuXXWm8RRhGFZyFTiFBweeP/bCbyAY88cptNsKw2AOnqlF3Ft1VSh6LE9vZxhGSq/MHMtG5oc4e/8k48xfWgvmqbMGKIw4l//yv+B3/XVtDIzSVF5gdnlYKa/6GURRUGEruuUBiq0anXSRNI/PEBluJ+g49OqNSgPVPLHL/WXGds1wcvff5EkifPmLo7jTbd6QgiGJkeQUrLv7gP83D/9pav6vm3yOM9IKS9zab5dm9frhZFpJDn7ZageVZELMsl0fF625ZMQdS4x/5VfJKq9RNxeueJj3mrl9lU49J53o28cPL4O9f2wzGJqkQKd21q9K9ZWYdiX35Gcrnm1Deo6s7NNyrRNTEtt5BCSNE5zBo1uGJT7yyrU3NDptjqbYmSr2sikDUrOoILTdZIoRDdMgu0YWAJsxyGJE2zXQtN1pvZPMzQ+jNf2mNq3k7vedh+PfOpzzJ29iFt0CcMI0zIJPJ8wCNE1Dd00N8XIlbklWpnb5UZ8PP70Yc4dO4Pf8XBLBYKuT6fZzpgm6vKt2FdmfPcUQdentrBMt93NMV+iNl8jU6MsziwgZZozgaRUOGeaJmma5pKJ3Xft5x/85j/J8RHg9/7Zv2bp4nw+9JQoZo2KitJz51JN0zBtM8dc27XRTfOqMNJyLJorjVwe0nsNmqnnObZrr2N002BgdPA1YeTV4uPtzd42pZmCibdJ2pmhY/McIMCvqS2zTMFpPII0x0n9Gho3nu74akrPAqQj58Zv8K5UPcOWPbwAwMwdB5m5677LjVrWVNzxiZq35mezXansF+U+JYEkiNTU6kqNX7opUXPLatfb295uWAaDY8N47Q6dVienXPZObiqIO8UpFNAMjSiIsFyb+nKdKAgwbZvA89VkNaMZpmlKHChgUyC9/RFLKTN9AyB1Sn1lBseH0TSNhQuzfPuzKq9aporL3213CT2fwPNzymQcJ0iJClH1A/bcrQxn2o02J58/yvj0FJP7dqpgc9PghceeJvJDvK6H3/EoVko4BYdmtUHoq6mQU1TZiJEf8PhffRPbtek02xtej9IrKkc1C003EIDf8XJKSk7plBAGAY994VEunDjLgz/2kMr5M3TGd01y5shJrDXObM1qHbJNZ5y7hyWQKOeywYkhmitKu6lpOq1aA7/rUx4sM7pznLe8/+1ICbNnZigPVEiSBMM26FY7amLZE/Nryvxm7QWSlJKV+SWKpRJDk7c1e2+06m343CFJ7YQyNdMdMH3wqmo42jj8cZzhPWAZxO2v3+hDvublNZq8+LVH2f+2BykPDr6uzz0gIlYwf2jbu6uRTSiMVDhpORa+55NupUHu1SYbvCvVdo2erusYpsnk3p2cffkkabI+bxUJzWqDYqWEZZcxTJPACy7DyG6znWXUaeiGRpIkJBnOJFcKkZcQ+GojGMcRhXKR8d2TmKaJWyqwcGGWFx9/hvJABcMy0XSd0G/TXKkRZfECcZQok5RNMPLC8bOEQUT/8ABuqbAOH3XLoL5YVYyVfp3GSp04ikiTVAWeF4v47S5nXjqhXKFbyvFyrQGKQG06B8eHck1hoVIkjiIay401IfAxpmXQXK7z2OcfzfFRaTJdojjO8VEIQbvRUgHuSZJfdygnUomQqnmc2j/NuSOnrgojC5Uiz3zjicwkJ0XTRU92rwLd44QoWs2LTKL4dcPI283eFaqyG5rnlc107KupZbomOihKRrA6jyHw1sqfbqlKMitp0/cIzFtLWzN2/gwzdxwE08obvpzWIiVpFLHy9Mltt1LXquyCoyZ312hb3jv5bNWZqaZK4FqmcjvMGgiV6aPnYu0rgWLPZOXVlNAEumEwsWcHx55+adPnSZMUNIHf6aooACnxWl1FTTF1gq5q9CQSTSiRfSrjfHsuU2XoYjsOpf4S9aVqtrWKyXN61AtFEwIpM1OSOEG3dTRdX3USa7bwO36ej9fblkkpCb1A0RQzm+z587PIJKG2VKPYV2bp0gJJHDOxdycXjp3B73oMjY/gej7zF+YIg5DaYnUVoDRB6PnohpEFAitqR66LzL6oSqCtTAJkIrE09R6FQdboZRTXnnuoYRg0lmuceuEYLzz2FB/8+Z9gYWYuB5FeEG8cRtnjK4vqtd8by7bQTZNOvZ1rU6RM0Q2TKAyozYcMT4ytE+VLKanOL+O1OshUqumvH+b6Q7foIKXMt5MAMpF0Wm3OHz31qr5ft+vmr56pmdDBW1LRRWk2d9GsIeonvkhcffmGHuP1rNj3OfbYd7n/wx96XSmdY3pMVUYUSJlLU2oYpLz+G8ZXVNeQc6qkCMm2j6fOxWqz4rW7+blZM3RFocwYD5se1zU6Vs1UzsgTe3dw/thpkg35EEk2hPPaXbrNDoZtZpE3IUHHyzGy93o0AVEYr/MqEIBuqeDuNKNqxlGcxzioX1bXAiLD+5ljZ9l5YDembWUYOay2ifUWy7MLucZMAqGvKKqhl6jh6waM9DpdnKLLxdMXaFbreB0vx0chVgPUe/jYi+dJk5TQX9WTyzBaf72Sxfv08DGJlEbcdGyaK/Us1kLhlpQSp+jmn+v8+Ut8/o8+jVssqGPPtPFR5gRq2paigSIwbZMojLPnUvmFuq7TNzzA7OkLV42RcRQTZZioaRqWrSIq4lA1zEOTo9SXqjcEI283e1uUTCXNc7D0ogKv5aOQeiA10OzMA8SHxD6Ili7ecg3e2uoMDlCo16nML7L0CmicN0NZYcjbvvpFXn7X+4gsh9iySLOTSDy/QtwNiGpNVs/o16/SXtDoNQIzy7HXnRQ2lhACt1hQTc+aTVGapOsaINOxtsxKE5pGZaCPZq25aZhsrwzLJMkbDw1N0yn1VxjZMUa30SaJ44weIXO74V5pmoZTKuC1OoruCHQzyoRpaAhdI292xKqovPc4vef2u12cokOUuVT2Npu9+2uahu1aBH7A0qUFqgsrlAfK9A8P8tCH3wPAkSdfwLAMLNfKIiLWf1j5UEAI/I7HzMnz2K5DedckcaRCZs8fPY1bdGk3WvSPDJImKYsX55XZip+5VGSOZ5qm6D1J5lbqlgvEQZRp8CQIiWXbCE1gOzamZXHX2+8jCiNefPwZmiv13KFUCIFpFdB1A6/Tpd1s0z/Uz19/4jOYjsWOA9MszczjdTziTNdB76NQHuOkiaLXFiolKoP9OeXUSBXlNknUFtayTYYnRhiZGgMUBejYU4dZnltUU+SscUWArmskiRLkN1YuN6uSqeTUi8e3/G7drluzehi5+Dx05qE7r7BRXXkCCfizTxBXD9/YA309Skpmjx1n1333vm5PWRExBpJLqUUHnVQppblZx81CF5CyuQHYqygp1aZlO9zSDQOn6OKvafRglXXSc6DelDmSvZW9gPNew7NVCU0gEKRITMNEN3X23H0Hw5OjCKDTaGNYVpYfS44RynxFoxdfEAURaZooJ01Nw5AZBVWqJq13/lWPIdB1XRmBREr+ICCPCbALDqEfkmZNsdA0nIJLHIScO3qGuXOXuOtt9wEoN+ofvMjo1BitWgMQNKs10izAPY8KSC7HSMMyQYKT4WLg+QhNo39EbbvrizV0Q8fPcuqQYJh6TndM4hjTsZVW0raUq2YKhqVjGCapTLEddXIZ3TXAzjumefmJF2jVGghEjo89g7NipcTihXnSrLH0Ox36RgaxHIugq5w9A8/PN6VpKtewUiSmZdM3NMBdb7uPw088TxTFV4WRz37zyVyeIVOZM3yEUENxwzCU1GLjV+11wMjbzd4mFXUkC09Bq0ffPJM1ehKIFD2lV6k5ycZchpv3dLt5Le/dzfDZc4wdO0FzbJRgg3Oe2fVuCpOWraoXwN6rRMILcQlParRSA4Fyn1J1fT4ZLWtYdF0nSV9ZxINdcHGLLiDpNDukcQKaluvAtqIwylTSbXe3fEWaoSO4PBRbaCIDGXXyr6/Utm1Q1YlKJ8kooppmMDg2xMEH7+FDH/tJQj/ge498i5PPH80btN4xC005iPWa1spQP0kY0e10IZVEoYpZSOME3TSwHKV5y49HqsmXlBKhaXSabWXr7PmYpoFbLtLNHDbLAxXKA33MX5jNwcbveNSX6zz9rSewLIuFC7N0sqZT9przda6k6rUOjQ/jd3ySOKF/ZJDawrJqbjRBFMWszC0TZnbQfSP9DE+OUltYQWhKIA5ScfbDECnJqJ+KXtpYqpGmUukFdB3dMLjzgbvZuX+a+Quz6IbOmZdOYFomdtFF1zT6RwaoLqyg6TqteoNCuYhlW4zsGMewq1Tnl5g7c5G3f/jdnH7xOMuzi2pqGoRomVuqMiDQGJ0ao91oc+D+Q8yfn6WxXAUpGRofpjRQobFc48EPvJPQ87l48jzTh/Ziuw6Te3dQ7C9Tm19mZWGJNEkxDAPbddF0jZ13TNNY3twkIYp/yGJP3uDVw8jaaWjPQtRS+JgEqL+lDA69hddHX38zVHOlmrsmvh6lC3XloQlwZJqFP/VOZjffFYiuG8Rp9IoHokITWI6DW3SJ41hR23tZZVd4oDiK6LYlabT5+UfTdWSSXvY4vUw3suzZWG5//uqZp0gpMQ2DYl+RkR0T/P1/8WuYlkmn2eZ7j3wL/VltldkhFctCZKF2SSyxHGXs5be7dNtd1BBUyQt6zteavqr/6v2uTNUGLMn07k7BJfQC3FKBQrlIp9kmDiOKfSU0TcudKL1OwovffZaJPTt419gQ1cUVli4uEPh+ft2gG/o6ZojQRB5C3sPIgbFBqgsrRMGSytaLIrx2l9rCMhP7dmIVbKzAxnLsbMhqoBnqdSRpliMrU2zXIU0ksYyV3lwTpGnEnrv3c/Atd7MwM0d5oMLJ545imAamY6/DR9OyKGTXBKEfsO++O2ms1JEyxW93GZkaQwhBp9FWBmappN1oYbsOpb5ydo2zipHKPKXE8uwClm0zumMcy7VZmVtkx/5p7n3nW9ANPRs0OwyNj9AtrDa8vWbcLRU49NZ7kWnKxVPnN/0OXW+MvN3sbVIz34SoDfYAzH4Xku3kXsIioYRO8yY8vV5dBZUyM2++j53PvcCd3/g2jYlxglIRIwwp1OokhsHp97wLgL7ZOfpmVZC84asJRbFaY9fTzwEQ2xaz9959Y15IVrqAt5hKZ3YidqimJrXUoIWBms1d408qy1J5tVTI0A9UHl5GcZRCTb0if3tTEkCZcWx5k0SIy2maMpUkMsF2bCzXplWNtngENdVMMwdMITTK/X3Yrs27PvI+Th8+ycO/90lAMH/2EnbBwet46yatvU2fruvEaYppGURBkFMnAdXcoqatIeAUC9lUU2Q0khRN09h1cC/77j1Ac6XB4SeeR2bTz14wbqFcolltkMQJuq6reADLIAojnvjit1WUwEAfYRiRxDGpVI20aZmrlNds8ul3fdDALbuKOmmZSKC5XANN6esQgqNPvURlqIKm6zilAuPTk1w8eZ490/uZ2LsTy7aoLa5w4P67+cbDjxAHkfq8s9esmyoPcnB0kIk9O7h4+jxRENJtd+g027mrZmNFWYFHYYiu64qK6Vh5/MPK7CJu0UXXdQ7cfxfFSgkpJQsX5vDaXbV5jWP6RwbpHxlC6BqLF+dZmV3KN6X1lRrNegNd03num08yNj3JV//bX5EmCWO7JhGaRrmvzKWM1qKynRL81GNwYnhb3QpX+h7frluqehjZPA9xl/UZtGvKHjxEt7X5xc0brbxGg7mTpxjdPf260TkbUieUgl74Qk/hdLOVYZl5g/ZKS6aSoOshsgFaaaBCfbmWGVFdCR/ZstEDhT2aqaOlQjV9GSYl8Zqw720kEGsbe6FpGIbO4NgwlYEKQhM8/Huf5KG/+T6OPv0ix55+OcfIHnWzh4OaoamcwDQl6PqYjg3ZNjKJ1uNpSpqZrGWNnhQITW3x9t5zB5N7d+YYqTZpIsfIJE7oempArBk6dsElTROq80s8/Pt/gmEYFPtKpDIlCqLMNC3FNA0VvYOKPCj1lddhpGVbjO2aoFNvUVtaAdQm68zLJ5k/P8f4nikM08Q0TVYWltENncpAhYm9O+k0Wjk+pklKbbm6GqsklbmZZZnUl2v4nS5OwdkWH9PExXIsTNui2FdCCEFjuYamaRTLRXbcsZva4gqH3nofLz/xAueOnsJrd4kj1mFkKiXHnjpMu9kClCP58txiRm9V0U09fHzfz3yI/pF+iuUiK/NLeXB6GieQStxigUKlyOL5ua2/q9cZI283e5uUMwhBQ7mMbdvoZaVz67s8VvdM41fKjJ48TWl5mb7ZORLbwqtUWNkznd/PrTcYvDCz7nftThc7W8+HBfeGN3tra0SLWU5NJvWQhIi5xKKGeW2f5DX+kco0JQpCojULuCjTub3iWjc1lRl///Lj0zSNMIjUtmqLMkwDoesYWQaMU3DYsX+adr3J97/0HcLMajoOQhDgFAoUKyWVZRfHeVC7U3SJIzWRrS9W0Ux9Sw1lkukMeg10b0touTZ9Q/1ZnlKFkakxOo2WcvfyfNr1Fl5n1cFL6MrNTAgNaUgiLyTwQkZ2uMShmoGHgeLSW64DIsicK9WGS6KsmC3HxOuojJyV+WWSOMEpOCRxrLZrlkm73qIy0M9973oLMpXUl2qszK/QqDbYsX+acn+Fgw/ew+yZGY4+/RK6aSi6jaa2wUkU88w3n8T3fBrLdZ7/9lOqucyMVUzTwrItipUSv/C//yoA3/nLrzEwOgQofaJhGiA0qgvK8XBofIRmtQGAaZkUKio3b999yl30J37lZ3n+209hOzZ3veM+hBAEfsBz3/wBURhi2Bbnj55GAo7rUl+q4ZaV9kGmUrnEeQG2q97j0A9YmNkayEzrGv/N3a4bWs6gMmGJO2y7panc+TG657/8uh3Xja75U6cIul32vPlNr8vzDWkRrcSggc7NHPz0ahu9tdWjv9Wyc1zPvl8I7eo1+b23KJexqSy1zTBSyhS5TUi7putKSqBpqnnSNEr9yplx9uwlbNdBaILFmU9TGerHdMx8U9RttpVhViZHsFw7NyZJkxTZ6m7D6EnzYxdCkMoE27KZmJ6i1F/ZFiPTVOZbQZXZZxJHaujZWKpR7FORCXEW9RN0g8wDwCROEjQp8obW63qXYeTS7AIAhb4SQkpMu6iiEc7McPDBeyj1V/C6HoHn5xh56MF71+FjZaAfr9MhiZOMPhuweGkB07FZmV/m9Esn6DTbCE05WJv2enyc3LOD2bMX+c5ffg1dV5ROy7GVW+hQP9WFFUp9KhZp6eIclYE+AGxXbR57GDk8PgJCsZE24uPw2BgXT57L8fGvP/EZ7nzgbpZmF3N8TJOEwPOzYzS5dPICi5fmt/w+Wfb1HRDdbvY2qcIYnP1SNrG8ipLCRZPrHQtvRbOW7tAg54a2dxSbv+sg83cdfJ2O6LVXRcQ4QtKWOtXUoIOGIlHcXJ+M5ViMTU+pE0iauXUlr6KJXGvytdXvizX6wm0qTVImdk7wy//qH+eNxSOf/Bwrc0sgUJbDUtKut2hW60RhzNjOcZKRQQXImmBs1wQXjp/Nm0rFz1+/AdJNA11Tod09J0+BwO0rIpOEgdEhBseGmT83y8jUGJquceD+Q9QWV3j3T/4YoR/y8pPPc/fb34xpmfzJv/nPNJeVeNswM9OeNVNTy3XoNDskUYRdcBAosbmZuZB1Wx0sR1lLTx9S4uvD33seANux0Q1FvYz8gMgPcAoOTtHJxO+CO99yF61ak6l9O3now+8lTVPOHz0DSA4+cDdnXz5JbbGK7/kqNzALeX32Wz/AME3ccpGg6ynQlxLDkLS8gMpghUK5SLFSotRXyRs7gIMP3suHPvaTOWXo6Ue/T7vRZmLPDs4cPkkSxfTtHM9zj0amxugfHaTb7uTT6QvHzqgMJkc5v6VpikDgd7sMjAyysrAMEgrlIoZl0m22KZRL1FeqRH7I8NQo7XpzU22LUyhs/2W7XbdUFcbg1Oe5Ih3PHn87CAOuQIN7o1QSRjQXFl+359uhhRxPCsQ3GZ5djzIdS8kSMh1Ub8j6ipwzN35f1zBM8hJcVfOorP51RiZHc4x85JOf4+hTL1EeqOAUXZAS3/NZuqgu8k3bYmBkEMM08FodbNdBM/R19PdkzSayJ7kQmpYZj6wem2KhOGi6xp679lMoFXNWTY6RCyvsu+9OFi7MXoaPSgOnyrAMnEKBxkoVwzQBQeSHgMxM1VI0oaGbGmO7JjMKZHoZRvaC3w1dtRZREJImqXLGzqIlDtx/CCDHyLd/6N3r8FHp4s9QX66REJOmksZiFQGZ/CHBtG1C38drd/PBYw8fAUamxtZh5PDkKHvu2p/LTp5+9Ps8+60n6R8dZOH8HE7RZXhyFNOycozsHx5g/sLsVeHj4Ngwx545jN/p4hZdTNtESug225i2RXOllm0PVX5fsonOdMf+6ct+di3rdrO3Sc0/pZw3r5ZXHtt3Yfk/2PS2m5M9/8NTGymdL8VFQJIgrpWPypXrKjQKoR8yd/bi1WflrX34zBFzdOc4AkiShKVLi+tAY12t0cMZGT1jq8f1uh6f/o+f4hd/4x9SrJToHx3ELjpEQZhl4IlMBK3Ar75co9NsZzQVwemXTmzpdpY7oqUpUtfW/aFIKfGaHTRdo91qUxkeoDy4vsFxXIfjzx5h/vwsbsnlsS88qoJRk5RUSjrNdj457eXLLc0uqmPLTNh6dFHbsSkPVGiu1GlU6xiGQX2pSrvRBgHNWh3dVPTJwA8wTUUZMW2TytBA7vjVqziKmD64L2+8evl8K/PLLM8tEXg+uqYjdB2kyhaMowjLtqkM9anJZfZY49OTdFodCqUCn/qd/8RP/urP8uO//NF1GUJr69uf/Rq1pRXajRatWjPLUurQbXb4xd/4BYqVEgC7D+3jwvEz+e+5RRfDNtWWMHNbU4YBIY1qAymVGUu70aIy0MeB+++if3SQE88doW9ogPHpSc4fO7vpMXXbtz774Xat1vxTV9e/NY/8F4RVQQbV639QN0mFnkdtbp7+8bHrrt8riITkMp3eG/OqI7qCQcp2JTSNhz78HubOXaRZrRP4Ie1ac/M7r8Wp7bBbSiqDA/hrMHIzfIz8kNAPqAz2EYURCzNzyu4/lQS+Oq9u1bDarkPoBeiGIGEjS0fitbuYtsnizDx3PnAXmq7nGBlHEe16i+PPHKHYV1yHj1JKpdtDIDQV31Qe7COJU+bPX8q/t2mSohur2XO6aajtnYRSX4nq/PI6jOxdT3TbHeXTZKig8ze/563Mn7+07rXFUcTojgke+/yj6/Dx0qnzGQ1S5esJIUmRzJ+fRTd1ZTDjhWqrijJlGRwbZmh8mEc++Vkqg33c/fY3b4mRX/tvX1yHj5Zrb4qPs2cvcvH0KgV9O3ysL9eIwkhlDXe6DIzuJPQDdu6fJpUp/cODdJptTjx3hHay+fduM3Oza1m3m71Nqnbild0/rPwtTP9pxBbChTfmqffWqz4RI4Es2pKr/VQ0XeWqqWnX1rTHLetqhwbbUV22AR2ZWS0vzMyja4Jipby9flAItIwmuVWjB+pE32600DSN//Jbv89P/MrPMX3nHo49fZha1ydJElq1Jt1WB9tV2TXTh/Zx6dR56ss1LMtSfPct3urehFJx4MN163CBajaTOKHb7LBw7hL3/ciD/OjP/s08N+fPf/cTOS1ycHSI2bMXEUJQ6isjBHgdRTORUlIoFZFIOo121ugpiqRTKtBttAn9IAdJKSVST9mxfw/tehOk4P9n7z2DLEvP+77fe/LNt3NPd8/05LCLWWwAsCQIEEEmQcIERZAgLcuURFGUiuJES6AAACAASURBVC65/MEqqcouu+wvLtNymd9YEmUXRVKgGAyBILXcJbgIm7C72J3Nk0PPdI43xxNff3jPPZ0n7czuLNFP1db2dN9wzj3nnv95nvcfTn/6caYvTtGs1mnVW8mNh5QRMowoDBQ2NaK91bNn/+NTNGt1+kcHkuD3+avTCnAjGQP9ujV2GAYqVDfWIhixKY3X9Qg8lWP0yjMvbMrY21rF4X4uvvEeoACq51jaqNT4nX/1fzF+ZIIf/5nPM37sAOlchotnzrIyt4Sm69gpm3Q2TbvRxvcCfNeNA9i9OAtRrQh7XZdGtUFxuI+RiVG0OFRame1sP6d0fQ9q/jZV5TK3NcQyc5OgPeBxAPehrv5QDX8122b06BHCbpe+sTGy/X33tAG8FKYxiXA/zMgFIeJcz4jQW2dnPEhlpSze+P6rhEFIvj+PdrvH4Bbnd71cQTcM3K6y+f/cV39qR3x0Mil0w4iNrvZz/dxVuu0OUUxT3K3COJJoJ7aEpmlEKE1fZaXE8swiJ574GF/85Z8lk8/y1O99g+pKmWtnLzJ2aD+V1RL1Uo18f4HRQ+PUS1XcTle5aIeRMi2JMwh7xjFmyoZIEsTGL37XjYPZHXTT4MCJQ2pVMsbIqbNXWFtcSfBRCJ90IcuJJz5Gs9rYhpHnX3uXTrO1CR8Xrs3EDuMQRio6oncYQj/cFCwvEOiaiWGa1Mt1hKiRyqZvipE74mMU4Xse3/rdP429DiSf/DufIZ3LMH1xitW55TijMaAw1K/y8jbgY+D5+K5Lt6Oov1ffuUg6l6FWrjIwOsTjX/gx3nruh2SLqkHe+Vjf3+/NHgLvUKJnrrnZZHPXipxTeJmfxmp9e8f1or1G78GoudDecixur+FTYZpREkr9odRGXvAOANS7ofe8EElDGZPsNAkVoGnKbphbXFwkampVXi5RGCjyyjMvMDo5RmGgSGlxleWZRUVHkBJN00hlM7z74huAEovrsd7M97wdtzmZUsaHQDeNxLhESpnQUAPXp9PuUq/U49ycFL4XcP3sFdqtNjKUVJbW0E0V+Op7PoX+PMWhfsorJYipHwgoDvVTXS0r9y/UtDgCiCI0IdB1DSmVoL1Vb+KkUyAgW8hhpxzqpaqaFuoa6WyaVDajmjLT5Jf++a9u28eNVEkpJc1yHTvtqCD5djdppJSwXNFCAk/ZUEftDscfPUWjUlOOaJFkaGKUbDGXBMV/+de+itp8RRU998O3Gd6/j8APaFRqaLqKyGjVGsqa2zCZvTLDyuyfcuhjR1m8scDawgq93MLAD7BTDvsOTbAyu0R5RVE3ux0VZKuyrZTleb4/D5H6TKWUzFy6vmOjB+B7dzEk2asHtkTP5X+n6v1NQmrfj6PbAwSd1Q9u4x6gilyXhXPnQQiWr00hdB3Tthk5eoThg5O7rs7fbmVEGFM4P8SRspT4rqsGPR92o7cLPgbeuiFKZUVRFW/mdH275XsBnuvjpG1W51e49Ob5Tfioom50kOC2u3Sk5MaFayAgncuqAa8Q7JbN63e9OIdVMWF0XUuiG3pyCAkIqdFtd5NsOcM0ufruRZrVBoZlcu29SxCBZul02118zyeTz8SreaHSvMerhBsHwLqm4QU+GsTxQWYySK6X60yePKIyAGOM7LbaykAMtapnWCZ9Q/289u0X+bv/7L/atn8vP/08C1PdZACi6zpD4yMsTs8nsVJhEOJ2OsiY/igjGQ8X1bC0h5GNSoOjHz9BOpdJguJ3wsjpi1O0m226rY4yiukvEoUhgR8wde6yMl8DFm/8GZlCjmalphxg/QAZRtRLVYrD/eSKOaollc3ndl01vJbKwRWhXExzhTwDo4Ncees8mXyWyvLObtUA3fZt6sbusvaavQ3Vyw3SFGUZoQM6yN6Cix7nCEXrobEACAt38DeJrAns6p+hyc3LtHsrew9G5bSQMNp6JG5xdDShJlvBesj3nQjCezfHN3/Qet7O7biL7VSBHyS7Ebh+HAWxw/vEMQe3avR67yWlxEpbSZOxtrBMtpDnX/6b/42Xn36eV595HlB0E5UDZ+D7PoHnKZF3dBOHxt5mCS0xDReaFucLbr7wdVttLp15T2kHBZQXV5NwWOLn+Z5PFIZxBp7Sk6kLt4Rerp9tqRuSMKaRhiFCKg2njCK8IEA39Fizl0c3dEAkGohmRbl9Do4PYzs2EmhW6qzsYk7So0r6rsfC1Bz1OBdIypDA95FSafaEUO8RxmGz+IHSEGo6YRyhkMnnyOSz8WNVUHwURVw6c47n/vzb6LpBcaiPF771HUpLq8rFLbaZBgWkdl8Kr9NFRpIfPvMiUex2ZltKY+B1XZrVOg9/6uP8o//pN3nmD7/Fy3/1HJomEocxNEX9adVbDI0PJ6YAjUrjJgf5lqfBXn0EahtG9uR4veuSDpoFURzBYPYd3zv0kNzMyzDEa7eZffc9Zt99D8NxkFKSyuUYP3mc3MDAHa38DWm9G/MP+FPe2FTFTVMYKdt6qegK9/4tb6c52+XPPUmDnXLwvSgJuQ634tMdxkLIKFJmYLbN2OGJbfi4MDXL0vQ8XtdVlEzXSzJnW7WGyte7xRsKTSTDE9txsGybVrO1yRgu9AOWZhbotDo4aYfKSlld5+kxhgSSCK/jYZomYRDgux65vgIj+/epwPkoUuHirpc07YHvK3zUBEJoBJ5PGIQEQUA2nyOdz8TGXQq/LNtSxiq6RmGwD8uxbwsfgQQjyyslMrksjUqdMAxV7yQU1dR31wPLo1DGsQd6nPNqkS2o2LAeRhaH+rh+7ipvv/AaCEGjXKO8UlJxDDFLpdPsxA25atQsyyfXX6BRqbE6v4wQ4KRTpLOpOMRdIuKVTKEJ3nnpDK1aA98L1Op2EGLZdkxnbSYDVyEEhYFinGG4vcK96IUPpnq5QfU5MNKoG92t96lRDGK7VOh8jMh+C9F9Yw/gHsAa0oI71+lFchMAqBw5uTsoxM1hr26nKRRCxFSC9wmQvW3srdwRbvu7cshUDWhPTJ1KOTQbzTiUdPs2mI5JKpfe1GSAulCf+e7LCfUDwMmmCWvNxMRENwy8rouMJN12J5lkb5oAS5mEnwpNbGv0etvebrTQDZ3RyXGaqXqSr9ebfEqpJn6+FxD4Ia16k3RWaelqJZVtV1pcjW9G1MVVYGBZFn4YUhwo4nZcvG4Xt92h3Whx8NRhRM/lMqaTBIFP5IdIZ/002H/84I6HpCcUv3jmPXzPx7RVXMLh08dZnV1ibWGVgw8dYebiFE4mRafVYfLkYQLf5yd/4ac2OYv1THJgs97htb/5QZxDKFhdWKbT6iAQCF1D07TkRicMQ2prFQzLxOi6cQaQFh8TkYCqk04lx/jhH3uU1559Ca+jmlAZi9KVmY1azV2ZWQQB/aMDiQ5za1mOs+Pns1cfndoVIzdeMkIUGyb+emuGg3D6uG2azI9YBXF8UdN1ufTSGmbKIV0okhsaoFkqowmNoUMHyQ3079gE5kWAjtx6pb//tfGYb8E7w1Lh0zs2ZlvcMG9VPcdiFeGjve89dTvd2EFzl0iFLXo9XdeR9Ng9ircltw1KJU4mRaaQpV1vbcLHmUtTMRPFT9g3Y4cmuPbuZUzLwMkoXK2uKk2rymM1trBhRCwXCGk3W+o+YYdt9zou5cVVxo8eIJVNEwZBQr3fuL9RpGIVhBD0DRn0jw6yOr9MaXE1iRXoDbbDMEKPXUf3TY7TbXdp1Zt02x067Q4zF6+z7+CYwsilNaWDb3dIZdMYlnnb+FheLiVavXx/gSOPnEDTNJZuzN8RRm4ccnfbHUqLq9y4MMXy7ALdVocwdhg1DJ0gOT/lOgtKKEqm2+mqexhd/afu0TSEiFSOYcahb6Sf8SOTnHv1bTTNIIo8NKEiMUzHJvQD8v1FAt9PMHL4wL5dc/asDYY596P2mr24Zr8PbgX8lopbMDMQbvi+SaUX3Xb/vLEic4zQHEfrXkKw3Z1zrwH8cCsvAlJE+Heqb9hwXd11siiE+qJrYvu08FYvL+XNM8oAoWs7gMzOtTXzb2PO3sbmU2X4BHTo3BR8vbbL5bcuIAC36zJ17gpRJHn8C08yPLGPqbOX6bQ6uK0OmUIWzzIJo4jQ9dD8AMu2KAwWmb82F29LuHnFc1PjfPPRaq9haTfaCZ2ld0x0Q6dvZBDDUA2fEIKhiVFAAe/1c1coByrPsLdSq5sGvquC3TVDTxpa3TRxOy7FoQEe/8KTzF65wfP/6W9UtESzTWWtjFlvks6l0Q2dh558VH32G+iUDz/5KJOnDvNzv/5L9I8OsjA1qxxM40rnsuT6XdyOSxgqcxvTsmIxf5Gh8RFgMyBKqUJgO40WLz/9PN1Wm3ajie/5FAf78TquotJoulp5jPWc6yugIjaDCdB1DaLNNz1SSgqDfUyeVA5r+w6Oc+LxjzF19jLdlrLMBtVsOpm0iqmQkqvvXqI42LcpY3Fj7fb7vfro1G4YGYUoXIy/ulsHomF95kPY2o9m+Z0utc4StaXYol3Xqa6uQCRJ5/OMP3Ry0+qfLuAAHa6S4UG5w0gokzuUpikjrugmkQYbayNe3atrSOJEnUgjdqFRynWqpGL07KxH7g0iL795fhs+Zgt5WvUWnWabTqtD4HoMT4yiGzphFCXXU9O2CINA0ROlWrHq5evJaH17e9m5sndDKbduijImi8Iood6r11APdNIp+gb7Y41agO95NCp19h0cxzAMKmslImnFkgKwUja+q/CiUa1jWqbS1jkWmXyORqXOyU98jPxAkR8+80KCj2EQUl5cu218BJKV0PeDkaWlNZq1BrXVinIQ1VSIfb1cxev66LqG2+4gAc1QK7K+5ycNbu8b1JM06IZOOpeJY5nU529aJqlshsmTRxgaH+HkJ06zNLPAjfNXYywVif+CnXKUprJSjsPYd6ezK1+I+1d7zV5cTj+UL6qfjRSYaQhc8Krgd7m95X1h4fb/Om7hF8jN/cauhi179eGULqBf+DSlfs+PjGVbGKZJu9m89YM3lNA1nJRa9eg0d+ds326jB6yvdEVSxRroOn7kJTf1W+kwCajsQr3xui4L19QNmxCCdD7L9/6/v+bSG+f4/C/+NJWVEpXlEul8Bt8L6BvuZ2B0CM/1mDg2iRCC0uIqC9cXYldMPQG53msiFK0SKTFshyiKYqCV642rUNu6trS644qp0h7USWVSHHzoGIc/dpQf/9nPJX9/+ennufL2BUoLK8oWG9W8thttJo4eoFGpY5omdlo5oOX68sxdnebC6+/RrNSJYqB10k4MzmpF8+QnTrPv4Pg2582NIvGtzpcAURTylX/yy4wdmrjp8dQNnYef/LiioqBoo4HrcfXtC3iui4hX75bnFmNqijJ30aMooQf3KjnuGwYMzWoD3TTQdA3DNMnks5z5zsuc/vTjTJ46zC/98/+Gb3/9L2lU1+npuWKez/z8F3nnxTNcfOOsoscsre56jfRukue4Vx+N2g0j2ysbVvh2wElr8CE6Mwsf8Nb+LakwTJqcZrnMlVdfw8lmGT95gsLIsFotEhrp8iLp5VmaI5N0iyOqgfmg6yb3SEITaoXE0PHv8FpgWAa5ogpSf78au2R7hApgQqrYozAId3evhni/dmb0yEjFD/XMzDbi41f+ydcwbYs//r9/j8pyCTvlMHX2CnbaZmT/GIcePprg4zsvvamuwYZBEAQJLveYP1KCbuoYhoHbcdWwDtVA9TDSME3ajRZut7vjPUO33aG8UtoVI5/5w2/xzktvkN/QcNUrdQZGh+gb7leOmIaRYGQ6l+adF89QXlojExuj3Q0+ZvLZu8bIKIqYuzKN77qkMikVj2DbXD9/mUtvngPi5s3zccMwOX4RIqaExt8VQcL66VUYhLRqDcJ4ZVc3DGUGU6rSqjcZnRzj5379l/A9fxtGOimHwmAfS9MLOOkUV965cNNzrLayu57vXtResxdX/uAGO2mhohfcGug2EOsP0Lnpyl5Sej+RNoAebe7i91b3Pvwa1HwqoUkLPRa273xE7mQlDVRDdDNXrd1KhhHddueWodMbV+duVbqhIxCJhq0XNZC854ab/16Oj24YhEGw6wqjjOms2WI+FiJHrMwu8vX/8//h5Cce5tDDRwk8n/lrs5SXVbxA4Ac0qw369w0ye+k6AqmMR4JQibg35AVpcUBuJMHJpmhVG0rvtxFYJXieF7+/mjoqB0u1j6ZpMXJgH+XlNd57+Q36hvsJggDDUJe5yROHOPvKWzRrDdyOi+moCeG+g+OYlmrymrU6zVpDNUNhwNr8CplilsJwP81qHcu2Ek3f6OR4kqUHbHPe3CgS/6m//3PbsvF6jp03q40AuXhjjupaJQH5dqsNkcSwzM3HLT6+Pa2G+pCVA6uUW6jFQgnpnZTDp37mM1i2xercCmEYbgLj3vR1Yz39+39Os1an02jjdt1buMnuXfk+6rUjRm50CzdQTM0tN8P5U/+IzsyzH9h2/m2uKAhoV6tcefWHoAl0w8Qs9FMUDhLJyNmXaA+MUTryOJGdum/bsaN+7iZ9mIwkQRTAzRqqXSrwAkVNvwmN807MVnRD0RJ7GuTA9ZE32XihaYnNv66xY0YaoDSqtrUJH//kt/89R06fYGB0kImjB1i8Pk+tXCUKIxavz+G2uwyMDbF4fQ7dUKtQYRiSzmViPI5iKisqITgipoV66z4CyYYqczLf95Nr/FaMNAyT4mAf1bUy5197m2OPniSKh4IAD33qEd567jWWZxZx0ilMR+HdE198kstvnd+GkdW1MoZlkSnkMG3zrvHxy7/21W3ZeHBrjNyIj8uzC7TrrdjIRicMJJ1mSzXghawyktl4uGKXUaGpAXQv33jreeT7PtlingPHDwEqrirXl+f1Z19mYWo2aVa3YuTTv//nSsNZzHL5rXP4rnfTc/T9mjXdqu7vq3+EKj0EqWHw29BZhU4JZBSDWa/Ru4PloEjvu09bulfvp0Z0BTapOJ0Ido5Xv5NG7/2WjCSeu3uGUDIV7V0MbnHj7KTTCF1LHCDVcza83sbnS8UV9zzv1lRSlJ7O7XSJIkmn1abdarMyt4SUkhsXpmjVm9jpFIWBAo985nGGJkZo1VropoEQGn6ni2WZFAZVNl0mn8E0zZhGIRkeG6YwUGRwfAQnlYrpM2J9m6VENww0QyedzSTADSAMjcXr8zQqDcIg4rVnf8Af/O//ltX5ZVr1JpfePE91tYKdduKwcoNTnzjN3/sf/jGpTJrqcol6qUqn0VbUm0abVrOpVvkKKs6ix91PZVJJll6visP9cS6QSD7nnsbRtEy+/Gtf5ce+9FlyxRw/9qXP8uVf++otm/znv/ksyzML9I8OxKuhcSMXG7j0HFM3Hf9MinQ+g51yGD+yn75hRW0VseZuY/W21/d8Xvv2S7z74pv0jw6QzmXoHx1IwHinKg4rOlBpeQ0ZKYH8rufOXq/3ka+NGNlegfaqavhkTOEUgh0xMnPwy+zdatyHiiSh58HqEqnSPFazgtR0Mquz7Hvnu2he99avcZd1r1bYbre6rc7uNE6hMEzEFFFxi5tmTdewUyn0OC5mW6MnNv+s6RpISeD7uzd6cUVhhNvu4nZcfN8jCELefO6HrMwtceP8NZq1BulcBsu2OHDiEGOHJ8gV8qTiQHQZO1sHfsDAyBBOJoWdcsjE0UG6rnH44eNMHJ1kdHJcuUX3tjke5AlUQ7INI6Xa19X5ZbqtLoEX8tJffo/v/unTtOpNWvUm1967jGGZpPOZBCOPnj7ByU+cxnacbRgZBiHtRhNdV9t8t/gI3BVGbsTHfF8e3/No15u4nS7pnLoPiqRUEUobjqlhGslnO3ZogoHR4dh4b/t5rcXxGHNXplmZXaRWqt4RPr73g7dw20oDeDMgNO2b3wu839pb2YtL6DD6BFQuAlK5jYUe6+B1h3RxPZjftpK3d7/z4VdeBKRESFOaKCLHrcPVFc1w+43y7ZbQ1UTupg5lu1CgQAGr7wcIoXjdm5qyHZ7jdbuEQYhhqWxATRM4mTRe18V3vXXnTqlWMAPf3ySy33EfYo1d6IdEMsJ3laOUbujcuHCN0nKJwX2DasIaRhQGlaHAwvU53I5Lq66s/4Wu0Wl3MG2TTruTOGIpuiG4nker3mT86AGslM3Sjfl1CqBQn0UYpzm3G01AEPoq+kAAnu8jBKSzaaIw5PrZK/zOv/rXjB3aT61c5cDxgxSHFbjUS1XslEM6m8ZOOUwcP0ir2cLrdBGoIHApYWVuiW67S64vr7SJHZf8QIHQD3n9Oz/gkU8/weSpw5toKFJKaqsVZq/cYPLkYRrVOm9+/4cJheXlZ57n7RdfR0YRIwfGKS+t8vCTjyKRXHj93UTPsDG6IT9QjCfcAift4HY9wEMz1MpoGCgtZBAbwQxNjPC1/+4fMDQ+wn/6na8zdfYKbtul1Wgmp45h6ERhhO3YmI5qHq+8dYHhiVEKQ32bwHhrTZ44zPe/8W3VbEpiZ7mdSzP2bvY/yiUjSWMWzJRy4MRV8XlhRIKNcpeFXcMpkj74Fdo3/uKD2twfudJCH6vtE6GhEaF32wyd/wHLH//iBzJpuRcxBnfCXtlUsudkqAy6bMfeLInYgpFRGCWsB92MNVmuj+nYioYnWQ85l8TX1tswWtMEoR/ERmMatdUq9VIN3TSoV6o4mRS5Ql5tThRRHOrH93wuvXmOWrmqqKRBiDRNEILS8hpIGbs1EztDw/TlKdxWl/GjB9BNg6Ub8+v0QKH2T6K+s+sYGcR/U5MZw1SxCNXVMi9+67tcP3eVdrNNrpjj9E88ltD/t2Lk+LFJ6tUaXsfDsAw8zyPyQ8orpWRl0ut65AeKZPJZWrUmT/3eNxSenTi0Kz5GUUSn2d5E83z5med5+/nXqFVqGKbJp7/8OQ6cPMTspRuJ5q8w1JfgY2Gwn/mpOaIowrQM7HRKma/5ftyEkmAkEGv6N2Pk2Vfeptvurn9lpHqcbdukc+kkaurym+cZnhhFM3bHx4OnjvCD//x9RamNzd1UvvHO3xOxk4P6Pay9Zo91l7HGvJpcNudBqJX4u65IH8YIrm/63R6N88MvXcATZosLgVrbm5MpdvnuJfV+raTlrd4geeCWf/dASgj1Yxwiumlbtg4lNS0JYO2JhY20jWGZeF1XafhiIXAYhCocNLwJ/Y51kAmjLS6a8WsgoFGq0qzUyQ8USKVTLEzNMLJ/jHatget6iWg/CiO80N3UwBmmoZq4IKSyvIZpWtw4fxXfDzZz3OXm/5u2nWgEwjCi3WjGbqMiyUT0XEV3mbs6jWZozFy+Tr1cZd/h/ZsameJwP7VylXQ2TegHmLpGe8MNQ3W1jNd1OfjQEYqD/QkXPwqjhO748c9+gmwhz8rsIgvX56iXa+SKeS6+cY43vvcqub48A/uGCDyfZqXOjXNXicKQC2fOkS3kuPz2BTRdY+LIgeQ1J45OJgA5PD7K6twSgeerSbbwe5E+REGkACUIEYaO13WJwoh0LoNpqQzAb3/9L1maWWDqvcsxhUkmLp5qqihoN1qYpsHs1WlqpQrpXGbTdLZXrXpTUVM8T4FoFOF2d19JSGcyNz3H9urBrY34aKTWY4c0G6Jg+2Vrpyo89A//VjV7fy+C3C5/awN/9AHPNnoG/j01uiZDcks3CK1XKB99nMi6Szfc24wiuBcrfXfV6BE3WbE+TEZyPSIm2bjN/wzDiCi+Vmmahtv20E1NDUgNA8M0cLuuwlqhWBS32r9eo9pbJeyxLWSkTNCQ0K61aDdajOwfQwALUzM0q02kjOIYHhXBowK6vWTflGmLgv3A96ksl9A0nRvnr8b5btvvB2SoIiFM24b4Gu923PieQKos2UjSdbsgYe7qNE4mRbvRJAwC9h3ej2VbmzAylc9w9b1LmJYVy0S8JHvV7ahw8VTG5+QTD/HFX/ky77x4hte/83KizxudHMN2HFbmligtrFAr1YiiiDe+9yrtepPKWhmv49I/OkDg+dRWy1y8sQBIMoUc3/y3/5FCfxE75ZDry/PKMy+Q68vTbbXJ9eVJ5zNk8tnYBEUQBgFWylZDZm4PI6Mw4uwrb6sBeDzg13QNK+3QNzLI9IVryEiSyqSYvTqNYRo8/vkndzwn0rkMYRjgu8oAphcEv1slq7T3qfaaPZTLmN9UAnTdguZsvKr3PsrPfg69en1bc7fX8H34lRcBjpDMRRaajAgfAIpR4lK2EfDkutlKrq9Iu95ExjbP3VZnx9fprT4KXUumnG7XpdpRTo6WYzNyYB/D+/dx9gdv4kURQiqaykbQUJQDpecqDvXTabYIvICRA/uYvzqrrKHj6ondBSo4VsTC5yvvXKTd7BBFKhdH6Q/E+hBFKEG5pmt4vdBtibpA+tFNbzL02Mwlnc/RqjXoHx0kW8yzNr+EYZmbwNZMmxSH+qmslHA7XZq1BtMXrjE4Npw0MgdPHeHlp74fxzdodJqdJGYAoSIlfN9nfmqWvpEB1haWt2kPXn7qOb7wtS/xH37r3xGFEUPjIyprJ7aqbjdaDI4Nc+PClFpl9Tw0Q6cwWGRtblkd23SKC6+f5fhjp1ianqdRqSU6higMsRwVxt4/Oki+rxC7a4ZMnbuM73oqRzEMKQz2MXJgjJefei6hwvSE5E///jc5+8pb1Ms1pATDMOi01MplJp9NQnVLSyW67e6Omonnv/kszVqdh5/8ONMXrlErVem2OrtqX44//vDuB3OvHujaiI9CgD0IjRmgw22DWWfplfu5iR9KucDZHX7vPwAArzYhom/mHIWFq6wee4L6/lNwp7qgD5atedPqOVhuZaEIoaKGsoUc7WYradh2w0ikCuPWdA07nUIQm6PFkgFp6AxPjOJ3PVqNJoEvYhOUzRpyy7YIo1CZdhhGvB0C3dDVtTUxw0K9Nori2G12EHFuabPeSJrB3mOFpiFjuqhhWYp7JEQyII2EhrwNjDQtq+GFbgAAIABJREFUM8F1FbPQT7vRJIqkytnzlGmbruvxKqNHu9FK8PHYo6c2UTFXZxZp1ZpkizlW55YJ/DDJENcNHcM0aNcbrMwt89w3v500bj2M7GUQCl1QXlojnVd01ka1ztsvnsFybIbGRxBCcOPCFGvzyyAk6WyGXJ8aotZWyuQH+6iVKgyNjdCoNigvl9BNRYEcnRxLVjELA32MHz5wRxj5y//9PySTz3L21bdpN1pEUYSuKQ1gaUE1kbppEMTsqsALuPD6uxw5fXzb5//yU88xemAM3TDotpQbqxrEb6cNC03j2MdP7X4w70HtNXsoEAs66qQ106A7EL3vZu8ncapfB+5vUOJe3XnpAh53OmQDKGFzzb3/zZ5q2tSkyE45FIf7aVYbdJptBSLaztNRGanmw+t2MSwDy7FJpR3crptw9Huvbzn2+kQwzlATQiQreZpQAnLbcbBTSuMQhkort/WmTUoYHh9h//FDHDhxkOpqhXdeegNN03DS9nqzF1MwwzBE6FoS7H3s0VNcfutCbN4REMrNFtDqqevc/Z6ftBACTdNvOeXVdA0nk8K0TTLFHN12J87D6YWrrz8/nc1gp2wlwpbgdT100yRbyG+ybs71FSivlBJtAxKkkOi6gWWbdIOQTrPD9IUpxg7v31F78Pw3n8X3PJxMCsu2MG2LVr2J73qkcyrzz4kF9pqu46QcFdlhaARdBbZO2mHu2gy2bXP6M4/z+V/86USIDoLA91ieWWJ4fJTPffW/4Ok//Is4ENcinUtjOTaDY8PKxrqQTVZjpy9M8fYLrwNw8KFjpHNpOs0O40f2I6VkbWElsb2WUrIwNUfgecxdmWby1OFNAvIevdS0LTqtDt12d9eppWmbfPwzn7jp8dyrB7c24iNAZgiac2zP2LtJGembGxF9FMsD3vzw54RJbWCeJf+WgBa4jFx8lcL8FRYf+TxBtnh7L6ihSKHy5k3FvaiNOXC5YoHCYBHf86mtVZKmTTcNItfbtilRGCEkSfyMZVsEnrcNIzVdS4K5e02OriudljB0NchwFE5k8lnK7TWiIEyMp4SuQbS+OhNGEUNjCiN9zycMAkoLK3iui67rypAGFDMndnpMZdKYtkm2mEv2u7xcTszIJDJp9CA+hpFcp8EL0IRIzEFv+pkicDIpxXKJJLoRD1y3DJWlHuvFBNhBmOBjebm0ySBl7PB+Zq9Ox9r1DYwnofII1UBXOWKvzAj6R4d2xMizL79Ft9Uh26corYZl0qzUY62i+qydTArDNAjdCCejGnLN0PE9n06zhWVbCUY+8pkndsXIwX3D2zAylVUraAq72kyeVMYrURRx5Z0LLEzNMjQ2wuD4MN1Wl/Ej+/nE3/lx3nnpjSQaQkpJdbXC/LWZmGobbTNYKQ7306w3sNaqKnTd9XdmiEklpzj96cdvfkDfZ+01eyiXsfq0+lnoMHAKls+sC8/v6kKn99Ma/l/IrPyveyt5D2KFIUN0ueDeXZDlJvOT2yjV5KjH64a+HmAaX9ijxHVLbtYuCOKgcE9RPPyAVr0RT+vih8T8et/1kourpmtoho7b7aJpOvmBAo1KHcu2mbs6w8KNuaQhDMOYAgPJxShbzIEQLN6YY+zwBDOXrlNbq1AvVxM3SLVjxA2jeqpmrNMR0tkUCCU4l/G+9Jo9w1qnbka9hjN+zFaq6Nbq2VM7mRRRGDF6YIyFqVkKI0WErlFaXMXvaQGFRqNaJ5VNk+8rcGBLGGuvTMvkK7/xy0l4+dL0AhfPvIeUykLZ7bj4no+TSVFaWsVtdzn5qdPYcRCq7ymAnL1yA8MwEiqtgJje4jA0MUp5uYQmBJ1mm0w+iwwjZXRTayq6iGOTzmexHJtGuabCWFEraZXVEs1aQx1Hx+L86+9w8Y1zjB/Zz5HTJ5i5fJ1MPgtxoxYGIcuzS3z3z54GCavzKyzPLtJttegfHSI/UKB/VK1KIlE3dSjq6+LULGuLqxw4fmiTK2cqm2b6whQzl6ZoVOt0W11Fe7VNoiDcZAPeK6FpnH3lLR761OmbHte9ejBrIz4CWDmw89CtoDTtt5GX3ll89f5t4D2uIQmnJYwCDmoFrwxcEjD1EQDzjbcsyebKCKe+yv7X/jPTP/G123PqjCC625Ci3bLrdqmNQ8B0LkO9UqdRqW1axfM6SoYQRjsP0N12Byedot6urVP6N3qRSTZhpJNRRl1ut4smlH4vDFTTtXh9jigMGT6wj/lrM+v5dr39EoJsIQcIpi9cozjUT6vZorJWUfTADbr6jQ6PkYwIAh8nnUIINXjUBIoXo6nwdE1oCeUvDAJFD42bIGQPH29+IlqOlQxE3Y6yk7csm/xAAV3XKa+UiIIQzdCRUcTK7DLZYo7jjz20Iz4CHD59nLlr0/QND9Co1Ln67kVqaxUMy0xM5kzLpFlt0O10kFKSLeaSz7uHkZ1WZ5MhXe98PXz6GDIiwUiJRNOUvrCHkQhBtpjHtEwMy7xjjJy+eI0wUEwjooilG/MMjY2wOr/M+dfe5fW/+QFRzO4ByeihicSE5dHPfZKZS1MJPtYr9QRjX/yL7yaunL0swR5GqkgpMC2DwA92HGRbjs2lN967rxi51+wBqQEIA1h9B+wiGGlwBqEbO3KicccGLQCRcwqJjWCzJf8elfPBKC+UtHeGxluWnUnRbbXveBBg2OZ6wPkWUWiySifEesMX8/QF25vL3j97z4tCxc1XK2Wa4qhHEqGr8zjwAyorpaSZ0gxd5eG0O9tWFZvVBgCh7/OdP/4r9XMQqKYSlTejeOix17oQICOa1RalxRWatQa6YeC6PpomEs48rDtASkEi6u5Nx2Qkd7XXVs/VyMR5fmEQYqcc+kcHWZldRNMNamvKC97JpGIxtsB3fRZvzDG4bwS341IYKO5ITdxo/aymvgae69JptRP9YxgE5AeK1Es13vzeq4xOjlFbq6qsJj8kU8gyfXFK7U8YEngBrUaTg6eO8NX/9u9jO3aSyVNaWuX6uat43a6y3A4ivK6H73pEYYhpW4wd2Q+oKeHFN94DlPW2EIKq6yOlR61U5egjJyivlJi/NgsIikN9pHMZ9h2a4N0X3wQkD//4o7HpTERrA1VH03VGJ8eorlYoL5eYuzpN4AVkCzl0Q2d1YZlOs0VlpUTf8ADz12ax0zaVlTJep5ucTzs1eqBu0i6eeXfXY7pXD3ZtxUczCwMPQ20Kmgvc1mWzu3Lmvm/nvagTEj6jFvWZBmpAChgCTsnNzZ4OHJWQBXxUQ7gEyAcA3HeaUQvA8LpMvPYUc5/6ufsbzSCA2NTrTjBSM3TS+Qxri8toQhBpsFFU39NwCy2WHsQgKJGEoaS6qmz71zF2/bVlFCHFOu0ToRHEdviaLghiTEFK5Xxp6HRbHUzbwusobdzGnNJmvYHvqrDvdrNFp9nZ4NapMNGyTaX5i+mZURBSL9UxTJPQD5W5iK4hIrluAKeJOGZBZcz24pESzVkkQez+oSq3UTvByHRWMUqatSYjB8aYvjiFaZoIx8J3fSQqf8/3vNvGRxlFaJrCSBVpoIzgkBLP8zAdi/lrs1RXVXZcYbCIjCRX3jxPcbifldkl1uaXlZdAx8VOOXzsxx5j8uRhQK3SPv0Hf87F18+yMrtMGPjJgL1erhHmgmSl9k4w8trZy7QabUzLQDcMssU8zVqDP/ntf8/IgX2bIpaatQYzF6cYnRynb6Q/2f8LZ94j8NSAM51Nk8qmef3ZHzB/bYav/MYvJ0ZsGzFSRV/sjI8ArVqTmSvTO/7tXtWPfLPXE59rGhSPKbpKbhwO/5dw+RtQvwFRz6zlTlf4hLWt0evVXsP34ddLgaKzKGC8s6PhdV0M07x5tlhcG53K+kcG6dSb+J6/WSNnGrGjmCpNi5s9oaY+TsqhXq4lOrqeKxSQnEymbTE0PsLxRx/iS7/685iWycL1Ob73Z08zfek6pmXElIkGuq5j2fb6qt6WRjKKQhrVOrqmxToEdalQq4EGdtpGCBGbmEhMy1L7FIasLa6iG7pynZIRGwexQlO00oHRQWqrZTKFHJlCjnajSbvRWqdgSqmsnGPNomGa9I8MMjQ+zMA+FSbcCzCtl2uMHpwg35en2+6wMrsUP8fA93w0XePA8YP85v/xL26aZdPTtan9j7j27mWe/oNv0u10aZSrCKFhORaZXIbQD2jVGpSW1khnM3TbHRWyenCMfH+BerlGq9HCsiwGRgdx0mlefeaFTZk8T//+n5PKpMgPFGlWG9y4cA0tpuMee/RUEsL71O99g5EDY+oGIQxx211FDfUVPacnwD/x+EMqD0rC0UdPJvtlZxyEVMeuOFBkdW4Jt9NlYHQIGVuKH/7Y8WSS+/LTzzNzaYp6qcb81CymZbIyv8za4goTRycZ2KfoOY/8xOMs3ZhncXqBTrOF3KXZA2jUm7t+7nv14NZu+DjySWivwYX/AG6d9WiiXTDS7j9Fu3F/b2bebxXjRs8DnhJQ2QIJmS37lga+sOV3deB5YOkBAPfdSEl2q8rh7/8Ra8c+QfXQI3eu47uN6uWyWo69bsZ1s22NMchO2dgpW7EjPH9TBJKma4oup6sc2R5eKoMple/mthSdPJVN09kyjFUMiwwD+wY5cvrEJoz8+m/9O7pt1awFfpBksjWqdQzTSJq9jRV6AW4ksR0Ht61u6DVdZbbZjp2szkWhTLYd1Erf2vzKNlpor0xTBXcTm7UYtkGhvwgIVnva7pRDt9slcP1ESuFk0jHtcjtGSikVm2MLRqYyCiMDP+DA8YP81//iH++KkVvxcfrCFO+9/CZTZ6/QabfjeIwIx1YGLpIIt+uS68vTqDSwHEutLJoG5aU1yktr+K5Prj+PEBrX3rvM4NgwmXwW0zL5u//0VzBNk2atfs8wcvzIAcpLqyr38NhBdYwrdfpGBhXNdKifeqmK2+5Sr9QYGFWGapMnjyT73z86yMLULE7aYWFqjoXrc0gUc+aP/vX/mxixbcTIq+9ejk3Q5K4RV4vX527+JXmf9SPf7G0UnwP4XZh7Aaa/C+lREDbI2t2/vsRC8D4FgHt1XypFiJ98Be6s/Y6CkGiHFaheREGvkqgEoYwwVueW2S7QFYn4W2iaCvnUdcIwTKZ77WY7oVqalknUDjdNLQ3DQKAool/42pfUY6KIVk1l5/gxKMhIqtVFP0zC3DVd30aN6WWyhVIiIpGIvMMwQgjFT9dNEyHaCKEnzlU9QFRGJwIhdKKYwtr7W+j7rM4vq/ygQo5UJkUz5rT3gE+34oZWqCgHpbXrYto2g2NDSVDrxlDVMAwpL67SbbVJ5zKJjiIKFdXid//H3+bEp07TqtbVFHGLDq1XG1/zwIlDMSi5OJk0tmNTL9eolSrohkHgBfiuhxVr82YvT3P8sYc49+rb5PuLHHv0ZHIjszFAFtgUq5DOZUBKystl8v1FVmYXadaaXHrjPJlChotnztGqt6iuKSc2FfoeITR1QzJz8TpjhydIZzPbzq/e73zXY21xlU6rQxgEVFbKXHz9LJMnD2+a5PbMagJf7ZuWz2LaKtpi5vINystrDI+raIZ0LkvfUD9ep0twk5vGDzqXa6/uTW01Z9EdKF+G+VcUZTvwUU3eLdh++RO/Snv6rz+ITb7rekgqEs9bOzR6AK0Nv7ss1CpeBdUc5oGHJZwEflbCXwDlB6Dh21qJjg/J0JU3SJcXWXno0wSZwr1/Mym3NXpb8VHTtMSpUDd0vI7L7OUbgEhieXqXs17OKT0MiyL1WkIoOYEfxtq/nYPPNV0nDAMOf+z4NoyslapEURQ7UKoQ9SiI8GXskqlr2xvPMFKRAa22yrLTBFEYJTFCxJEHuqGBEJixERbx65mmge/6aLqe0ESjSDVIga9WroSmk8lllb4+CGP9pCQIQ9XwxVKIXmN4txgZBgFz12b4w9/6XfLFPI997snbwsdUNqV03kINspvVBm6nS61UwbSsJO6pMNBHdbXM9MXrHHv0JIZpkClkGRgdYv/xg7FmfHkTPsI6RoKi4LbrTXV/ZJqszC3RrDbuCCPz/QVW55YoDK7HJQS+z+lPP8aF198llc3QbXUSNk9lpaxyB3PrbtIHTx1h5uIUFy9co1Gpk+8vIIRg3+FxZi5MsXhjjoeMRygM9cXYniXXl6NZqW+PztpQUXQX9ME7qB/5Zq8nPo98aMxCZwU8ZcxEc1b9/v1UaB1H83by7NqrD7sO6i7vhCZGTByMSZR3KjfYVJuy+ASbogOCYBef8tgdzLBNjNj9slGpEXg+UpdJNk6vEdrqMiaEIIyi2IhF8Pw3n+Vzv/hTyQV5aGKU0tIaURjSPzKA7/oszy6qiZcQaEJsbltj8FSuVZFq2jQNraenk5J2s0W2kI8BL1DW0Rtu6FX2nRHz3wWW46j8N8tSE9y0g9/1WJldIFfI06o1cNKO4v3bFm6ni2mZeK4X6w81giBk/toMX/jal5L36blC9ly/hvaP0qw3aVYbqnEWvY84Ynl2kbmpWfYdHKOyUmbm8nUe/8KTrM2vJLk9k6cOb3tNO+WwMrdMdaUcr1hGmJYFAnJ9+SSQtjjUR64vT2WlTKNaZ2h8lOpKmdWFZYbHt2fy9HL5fNdjYWoWL9aTCE0wfWGKof2jDIwNKkfPZpNmra50J56PrmvYaRvf9em2O5SWVqmXqxx/7CEkSvfQq8F9Q0jg4pmz+J5Pvr+AnbI5fPo4rWoDO+VsCq5N5zIEQUC9UsMwDMorJey0g2Wr/Kp0Nh1HM1RJ5zP8/D/9FQBe+NaznPnOzq6L4g4GKXv14NRGc5bQUxjZWlI/C6GiF25H1pU+9OX7vq3vt4bj/8/exmPf3HI6V4CXBPgRPAI8IeHZB+CU37oJm0eaEenSHONv/DXTn/2VdQee+1hbs2o36rPDUGnIWrUNLICNK3NCkCnm8F0PwzQAGVMkZbLK17uR3nE1USq342atsQNGjrAyt4SddsgWspSXSzSrDfT4M9E1jWCDjr4XWaNkErHxi+chpWLcdJptlXMr1TZJGW3SxMswwpeKuRJFYWwKk8N3XaRUmrtUJkN5aTXJ/tN0HcuxFYVSKC2bFoeZOylHfUfDO8XI+L4i/pwvv3E+Hr42t+m0exh5/rV3aNWbm/Cx8sN3KS+t0ao3EUJgWpaKVJISt+OycH1OMXrSTkxFjWKMHKGyXGJ1YZlsPsfE0clNh+zgqSNMnb1MeWmVtcVVokgSBSryQUaS/pEBCoN9+J5/WxhZK1VIZzOxBl9hZK6Y59ijp5i9fIOLZ95D0zWKQ/2bMLLn2AkKHyurZeqlKlEUUonxcXV2iU67iya0BB/HDk8QRSE/8w9+gQuvv4tpmbzy9As7fjfuN0b+yDd7PfF5axE6a7HJhA7R+t3/+yq3+FWMlbN7tzoPYB3SOpwP03hoRBu9zO6V6GJjYyeIqQ27d5EyjBCmoLK8ljiJ3dbbSImGcqH0Oi5Lc4v81j/7nzEMg2OPnWJofIR2vUmj2mBtfgU77YCU2KkUQhebs+xQbl+aoVMYKNJptQnivDsZN6WhDNE1Aztlq8ZsFyfGwA+UJbKMYge0OPxWCPyuckTrdjw6zeXYySvAsCxMy8TtdDFMM9bwqaa57alp58ZVqI2rYwCDo0Oszi0r98t8hk6zQ7fdIYokUihNndd1qZerzF2d5sLr75HvLyZZQNOXpui028xeucFENBkHi2sMT4yweCPATtnJSm271qLTauN1XTRdo7JSorpawUmnsFM2i9fnWJlbIt9f2DGTp6cBOPfaO7SqDXVTgKSyokBo9vINZQve6iQuq3o8EQ78ABlKhsZHKA72URjsY/zIfp780mc3AfPG6ezLTz/P/LUZwiBkdW6JZrm+YyhszzLaMJUmQUrJ6twyjXaXvuGBxDFtaWYBGUU8+dOf5cDJQ2QL+d3P0VuY7uzVg1kbzVnqNxRGRqFyrfZbt/86hnObDpAfYlnx/9s3fdTN64KAR2JzlwexdlKoW+06k8/9MW5ugOrhR+j2jX4gjd+2bRMCeZPwcgl0Gi2klImMYrdVkp0qCiPCIGBldpFr717i8tvn8V2P/ccOsu/QOJXlEu2GysLTdE1hkW2o5226fglAxQl4HRcn4yh8iRQ+Bn6g5A6GwshGpZ7o1bfukZSxxj5uCn0vQCAwcqaKSYgbx14Mk2VbFIf6lXatUlMrho6VYFDgBei6sStGSimxHVvpzfqLeK5LGIRxkLjKW5UC6uUqyzMLfOdP/oriUP960PnTz1Nbq9CqNzlw/CCFoT50Q2fy1GEs2+K9V95S7CHLpFWrJ5+7nXLotjos3piPV27VAZ25dAME5PsLLE7PMzg2TKveVEZjKIxcnV+mslyKzdxCwihSWLtWpn90iHQ+y/SFa+uurXeJkT2K5q0w8uWnnmNgdJDBsWFmLl3HSTuszi2zOh9HS8QNdGlplbWFFTL5DB//zCfJ5LO8/jcv73p+arp+2+fy3dSPfLOXHlKC8/ZyPHSJQLNAdkHeg9SEyDlNaJ7A8C9t+9uebu/DrZQOX9NLhBLe9rOsRiYljDvW792sehl0iZ3/Lcr3fMLwNpOKN1QURx+UFldYW1hGaBrddpd3XjiDputk8hksx1KrbxKGJkYQQmNtYUXpDKSeNDESNXnTDZ3xo5PU1ipMHj9EYagPgHd/8AZRGLH/2EH69w1x+Y1z9DL8erSQdepNkMRHpLKZWPTexk45GJaB2+lCDIpCCMaP7CfXX+T62cu0Gi0yhSy9W5ROq0NxsG/TKlRvdUxKSWlhlevnr9ButLBTNpWlEr3cvCg2lxFSafwGRodYnl7AdOxkQqmbBu+8eIZ2vYVu6Mxenaa8sgYSKqtlDj50hG67S7Na59DDR3nnhTN0W2210meahGGEYagMH0VBVZTV2lqFXF+BwAs4/9p6Jk9PA7B4fRZiN7MwCNBNA7fVUTbWNUWLcTuq+TdMU1lSBxGRjKiXa0zGDqPDE/t48S++mwDzRhfNTD7LyP59vPY3LxH4QRKcvlMobM8y2q426MQAKlFW5aZlMDA6rMwJPJ/iQJHXv/MyC9dn+dwv/hTPffPbO567Qn+APOr36rarh4/dstKt9xx3zUzc7N1RD38btp0fYvXEFmmUMcvdVI9z8SDfWO3Y8LktLLdFprRAfewwpeOfuq8GLrvVTR2upQRNEHm9jLM7o11JKWnWlDbcyaRZuD6HANbmV+gfGSA3UKBeqgEqIkGITiJ9EAhE7FzZGyxGQcDAvkFyfXl812d4QlHbL715DtOyCP2ATCHHjc5VOqFiuqRzWRqVmnLYVEt9im4Yhfieh2GZatXOMnsEm3iYqnL9hIDCQJF6uYZlqwgk23HorXKGQcgTX3xyO0ZenGJtfoUbF66qKAgE3baKzCF2vQz8gCgI0U3llC00jZXZRdxOl/7RAZULWKtTWlrBc/1k9WpofIT5azNki/kYj6+vU/t9P9ZZakk+sNA1csU8tVJFRRBpgtpaJWn0NlI5Tcskm8/iddxN+Oh1PUzdoFVrMn3hGqlMirWFlQ8EI3vNcyZ2ze62u+r7FKnjaVomA6PDlJZWkRIOnDjIW8+/xviR/djZVEJL3VqFofs7EHuQr0kfSGmm4MhXoLkguf6MmlwGbVTswr0oYdEd+A0yS/9yxxZir+H78CtAYImIMF5Il/fwqNxJPIOaUt79iSfDiCCM0E0dkMhQqQrDIKRRUb+fPHGIyVNHuPrORdyuSyqbjgPAh3E7XSzHZnRynMExJfCeuzKtdH9nL8crgipIFCG49OY5JKCbZnxhD5QGUIszdYYHAEU77QWrthpNnGyaeqWW0FMhIggCMvkszVqDeqXG4dMnOPfqW+q94tKE4NDDxzbt89D4CLbjcPH1s6wtrCCRmLaJbhrYaYcgUACo6Tpux6VWrmA5Ns16kzAI2DfUn4D3zMUpuu0O/WOD1NdqVFZKrMwuYpgGowcn6BsZoLpaYebiFNW1CkKC5TjIKCJTyOG4Lp1Gm1Q2TeD76LpBYaBIvj/PxLGDNCp1BseGth23iWMHKS2XMC1DNe0o2mwq5ShQs2w6rS6GZapg4SBAEiEj5YDmdV3y/UXOv/YunWZrW9h7DzzPv/ZufOy4aShsr4E+/pgKefVdjwuvn411DHD5rfPohk4qm2FoYpRsMZesku42pJC7GLfs1YNdPXyEGCOfVjTObuluhqEP9jmwgnLd3M/dN3u99ZTGPdmiD656aKfJgOL8ZXLL0yyd/hzt4QMf2Crf7eh6ww14cCfYuuFJRBHKRXhDSHp5pQRCkOvLc+Lxh1meWcBK2SDVY/tHByEeaB579FR8LR9GRhGvf/cVZCTXMRJBs1omlU0xc/k6XtdVRlhBSKfZJpVJE4Yh6VyWbDFLs9qg3WiRyqQxLJPQD6itVhLztDAI0DQNTVeUyWatQavRYmhihOXphaTpDcMQwzJ56MlHN+1yj3Y4f3UGidLepzIpUtkMpcVVgiBI2DQREEWSZr3J/LUZDn3sGH5XyQumL1zD67qkc1k0vUO73mR1bonr56/SPzrIvkPjACxcn2X64hRRFJLJ5+gbUqtivucrWYeATCGL2+kQBtE2jNzKNNkJHwH6hgfwusoNFaERxSuK9xsje/io6VqCkTOXrlNZLSuPgRgjJZKTnzxNOpchlU0zd3WaZqW+66lZWSrt+rd7UT/yzV6v0kMqO6hyOQax3ays7qIia/LWD9qrD63OB2nmQgsBFAhpouPfwxY8m8/ieX7M6Zf37LxKSoAQygUs8HzVkG2hZiLAd31mr0wzeeoIqUxK5calnYTCIYSGk3aorJa4cf4afcP9jB3Zz+D4MFJKzr3yDiB59Cc/yZnvvoLneokDo26qUFqkCiEPgoBOu4Pb7ipHMdOg1WjG7yMSzj1COXkGXkC3pYLR+0YG+dRPf4a5Kzfi7EFVMop45Cee2LRbpmVipxzGDk+QLeZoVOsevmAKAAAgAElEQVRYjk15aRUp1ZTNSTkEQRg3der9e4Y25aVVJo4eAJRdc61UpbJcprpWQY9jLCTKHObN770aG+goQ53iYB/tZhs7pSbgTjpFu95SoemuriayUZSIwdXnYPLU730joY8AFIb6qFeqEKkbmJ5JwInHH6ZeqZLJZSk0iqzMLuGkHQAGx4YZGB3i87/0pU0umgtT3R2DbAEG9g1x8KEjSXA6KCeygX2bG9CNFtsA81cVj68YBx3rhh5nN0E6n0EIwfLMAqZt73rdVAOIvfool5mGsAuuWvz4W1fnhYpXeEzCHFDdwY2zJZRrZxMItvw9K+HT8edy9QGf4G7cvC1qAzXAC1zG3vku9X1HWTv+yfu7yheblwV+gGbomzLq7t17rAvxTdPE9zab5kmU6VptrULgqRw8P26i8gNFuu0umqaRyqSUcccGjDz96cdiUxaFkZEMyfXlWVtYTkzHdF3HStmEfqiaN12n02zRabYSmUQYhNgZB7el3isMQwTKDEYIQaelcgS9rkffcD/5YpHQD/G66lrsdlxOf+4JunhcuHAh2bdOs80nf+EneSI2UOsFokexS2Xvs/n/2XvvODvu+tz/Pf30skW72tVKspol2youuIMbLjEYVwwxXOJLKCENjBOSXH6GAJeaEOACqYTqEEqAAAbFYCNj5CbbsmWrS1bb1Wr76WX674/vnNE5W6S1LRk72ef1kmXtmfM9c2Zm5zOf8jxPmDxLwupBgkAHQOxD25IuMa4abBuK43CU+uE5Lq8+5eqWcrmiqmGHtPEZsiyFazW89CRZpt2dj6prbH78SVG0VVUWrFtK9pR5eH6gqhl8pmbooZm5HjFYWz9P2FSFBsQSiqIQiUVCNXGzVsd1nJbnik6vB0VV2bFjB31nLqVn9aIpzx2N10EcuxUXr2nhm2YWzwtFdoDw2MqqEnZZs6fMY8n5p81IaZBkueW8TQdN0+jo6CCTef5dwLlkL4CsSShRn2g7mCVQDTAnTtDiko4VvQi99tBcF+9liLjkouPjIIViLSey51qt1khmk7h5t8VeoQWTH5JnW2wIthPJliQSP1lGlv3wZiRJYtZfcAIsnrz/EboWzhcy05ZDvVLl4M59wRimUF6IpxKMHh4W3a8lfeiGHkr4K6pCV183g/sGMGt1IvEoiUwKPWKw5qKzuPSmq3jgh7/g1z/6JRIQTcQwq8KPLZaIomoaVqBE5nkuekRHj+j0Ll1IMpviNTdcSWdvFyvPWR1KR4MgUs9f3DvlEDTGKjKBbLLnuji2KwRhIjpaxCCiyERiUVacuSpMdgpjeXKjE2FS4zge5Xwp9DYSYqDCf2n40BEUVRXJreeRmdcWkMVdTM/ErBXCEVPXcQR3QlNxXQ+zZlKrtCqHPbL+QfY+sxPLstj1xDbwJRxbVFA91yWWTDK4rx/btmnr6gjI6B3E0wnq1TqF0Ry+77ckao2KYzMcW8hGz+b1BpoltqGRRPaHx62UK7J3y046e+ehBDwDVddItaWFLcjkQgMIQZs5vKJxeKPwn3UdMdbp/Ddz08hLsBFhv3CTDwd90eGLAB0IL72fSbDEh9XAUJD02UASWIh4oDoEvJJcJZvY6i3/xnNJDu5BqxY5cuZr8fTIydkBHyKJKLVydUbrlha8gEK8LEv4vkhq9JiB4xwVFFN0FUWW8YJC5I4ntpLIpJCC0UjHdqgWK1SLZSzTojhRxLbtY8bIhauWUC9XKYznQ55cz9I+Um0ZFq9awgW/cwn/8FefZejAYfSIjhMIrdQrQiE7O6+d4nge3yeYgBFxdO2rz6EwnuPC113GMxufbCmiJTMplpyzkr6+PiKRSJj0lAul0MTcqptBt9ANCs9+4HtLmLjpESNUAxfxzBV8Oc8LPWCbT4QkCYVVn6M5tSQJ6yM3sFESfDQ/5KWFySKiUK0ZmuAtui6KogRWFT6aJvx8K4lKkCx64eSLooo1jajgTDZir+cJUTvXcdEMcSwbvHXLtCjni2HyB0JHIJFJoRv6cV+fCY1j3IiHDfsHVVfRDQMQXoaSJAnqyjRQFIWeJX0zfobv+9TrdQ4cODCX7L0Y2BWf+hjYVVG9dJ8H+Xw2MLO/i1576MQuOocTgk7ZYVDysXyoIQfMkhOX7MUSccxKHd3Q8QOvO8dy0DQNzdCoV+uBv5x7lHB+nGDWu3QhhfFcGAxUQ8esVNF0Hc91W/mBMoGypY0kyRQmChQnCsLWwfNCI/Z6tYaqa6y+4EwhKV2uUm4y326W8B8+dIRapYoXcM3MWh2rbjLSfwSAkUNH8BzBU1AUBSNqUC1WsG2H9m4xMup5fuCjJxS7ZEXBtV0ev+8h1lx4NtfefuMxffEaaCQxqfYMWkRnbHAE27RRNDXs4jVMY2OpoxLKnudy3e/fEnbGfvqv/8HQocPUitXwBIiEWVwLDSsMSYLyRBE36dK1qIdsZzu50QlSbUfly5OZVOjjBPDzr/8II2KQas8gSRKReJTH73+EwlgeIyKUy4yoIZTmDJ1oMkrPKQvC7eOpBEgEUs8ZOnvmUSvXWrz7JnfkGvvRIOsf7/XjHd8G4qmEUMOT5HCteQvmB9Lo068hz3H2XvFQ45B/DqwSOCc4Pr5csEsSypprfJgPLALqCMP0XcG1PShB2hcJYBegASbCimGvBHvgFcnNmK7eKPsekcIIHbs2MbL6NSftg1VVQ1E1jIh4WJYkCUmRicXFSHwpXxLq1LOcjFE1TYisaBq+74XxsSH21fxtPcdFUsUEh1C3tBnpHwyKqGrIZ1M1lcJ4jmgizunnrjlmjBSc8/LRJMuyGD40SGEszyU3XgmISQ/HdogmYqGvrucKygGeTzKbpm/5Yob7BynlinQv7CE/OoHnejz168dYc+HZU+wRduzYQTTa2oXVIwZW3URRREHYsQWPXmniIAobCzEGqjTW80Ui1UhyPM9j9PBw6IMrrnHpqNIojeapEJ5xA/6fLMlEk7EwaWxAURVSbelw/wtjuRZPX1nxqZQqohMniYkaGSXsLIJPNBEPthWFS1mW0Q2h4q1qKp7nUymUiaXiKIoSKJgqLZNPiqoE6q4c9/WZ0DjG4XtkOZwkaqyl6doxR4+Pd1lLkjTl3D4fzCV7Afo3CAK65/BiaFMzQ1uATxJpmmn+Od7ebxcpySEpuYz4Gu6JPhMSJNJJxodG8YKRDs/1ycxro627g3zgq1acKFDKF2elLqZqKiMDQ7iuEyqSWXUTSRH+fKecthQ9GmHn48/iOA6ypFAplsVYY8QIOnx2ONbSuKHXKzXK+SJP3P8Iqy88EyNiUCmWUTSNieHxUMJ/26ZnwiqsJAs1z1KuiG7oYWVq/pI+9m3fQyVfChQ1fWRVBiSMWDQwY4eexQuQZJlINEKmM8vggcPkR3J8/0vfYvnalbz2za8jmTk6dtgwc21W0mokMYWxPB09YtTEsWxWvWo1xYkCowNDtHV1YNs2hbE8EIyxuB5P3Pcwqy88i0Wrlogxx5VLOXJggHqlhqpp4nt6rvDtQUhiV0sVPN/DrNaoFEqk2zMtSeN0aFZEs0yLI/v6hQGw5wmbCUMPTe99zwvU1ZSWkczhQ0fQDH1GvsHkjlzjWN1794/DY9X8+mwxXZK48pzVLcmsbdnce/dPWjiWzagW/5tmB/+DUB0Woix2mf+WY5wNjEhw3zHCwJD08jBNPxmYNuHzXBLD+xk79dyT0t3TDD0odNpiDA8JPaqTSqboW7GIgT2HaOs2KE0UqJaOfx8RvnUetulgWSaKorbEx4UrTqGzt4unfr1JGK8HnS4lmP6oN8zYJRHbJE0lkUnhex62bVMplo4bIw/t2i/UIYOkyHNcKoUKsnxUTfqUM5YzMjAkkthAqMX3fWLJhOiIIRKYjp4uTjltORe/4XK2/OYJBp47dMwY2VArrVUEP1AzdJHAOK4waw+2icaiuK54FtA0PRw3bXDVFEXGc13yYxNsevIJrn3dtezZuZtENM6mTZt4/U1v4NEHH2ZBT2/wXjlIxALlA8/HtR3UaKQlaZwJ11x3LT/78T3B/nnB5I8HPrzvA3fw3j/6U5YsWYIE3HLbrfzgO99vXUCSRNHc88LkTFbAtizKOZd0R5YHHniAD37wg0QiEb71rW/R29sbqnNH4zE+94XPc9999+E4Dr/61a/42c9+xsc//nEkSeKWW27hzjvv5MCBA5x33nmsWrUKXdf5xS9+Qb6Q5/XXvR5VUUmlUnzlH/+FRDLRksx6nkdhLDfj9z/aMT05mEv2AkTaRCA7mb6GbmQVcn3TyfuAORwbMxjoKRKcrZdJOg4TnoaBxzYvxglJw30YGxpB8sH1xIhCdl4bkiwLj7NYhPxYjuJEXuzfLEZU0p1t1CtVNC0OEqFNQYNjcGDHcwG3SkXVhHGsqh715HGDKmVI7HZc6m5ddDODMc3D+/pJZVPohkG6M8N5V706rCKOHBrEMS3sgIMGYh+QYGDvQfZv28uS05fTv3s/40OjLZyCU05fxjmXX8iuzVs5/bx19J26mP5dB/jpv36P0YEhPN9nYngMq27y7MObGTo4yNv+6t3EU4kpZq7NSlrNSczg/gF+9b2fM7DnAMVcEU1TGe4fZPWFZ3H5G68BaDGZbayzYNkiDmx/jlgiTq1UDSwbXCRZJpaMiXHMchU34P/Zrk2lWMGIRKbtjjUnpl0Le8Lj3SC6RxJRPM/FMm1xDip1NEND1TVOOX1ZaHHQgKqroYErTOXkNeNYx6ohaz1bTE4ij7XNTGqcc9WsVz4SvVAeeOEq1VK0C782fGJ3ag4nDkF8nC7hk3yP9ueeYnTVBSf8Y+26JdQpA5sdzdCIJxIYsQidvd1MDI9zaNd+Ic4ReNsdC5quBWOhNXzPRVFUNEPER0mSGNzfz/5te5ACewUQqtGSLFMNrB2QGrwyER+tmommq8hI2I6LFtU4vK8/ECSTufDaSzj78vPDB/tDO/cxdHCQaDYW7letXMGIRcLi2+oLzmLH488iy0dvjp7nc+uf/h6e64YFzUaM/OYn/oFINHrMGOl5gopgmULlslwooxs6yWwqHDG0TIvSRCFQt3QDqoJFNB4j2ZYORzirxQqVYgVZFnzBNatXs/7e/+JNN7+R//rlvaxdvUaMbwZcNeHL6zZNw4i/Gry6yZiclMpNz2dWzRRiLrIsuHrBio1OpCQxdc2A7+5O5sQFStsAH/vYx/jFL37B9u3b+cQnPsGnP/6p8Fg9+MCDTIxNcO+994bHau3atTz00EPIssyll17KO97xDgCuvPJK7r777vAj2tvbefTRR5FlmY985CM88sSjvPGNb2zZDVmWjzmpNOez9xKh4SekRcCaxo/zRMBMvQ61vmlOlfNlik7ZYcwTapKq5+GcoF8Pxzz60O46LqWC6HY5lk0ym6J3aV/An7MDjoAdjAuK0ZLmBFVSZBzTQlFVSrkikiKHBGTXdbHqFo5ti5EBRLXId30sR1zUkiwFilFH1/SaKhySLBS/fM9jYO8hADp6O1uShQXLFzM2NIbieeFojVU3MWLCnPuR9Q8yf3EP0XiMjvnzKBdK5Ecn6F3Sx7y++Tx+38NEE1F+85P7w/EYVdc5tPuAqBBqCoqqUq/UGdhzgB98+W7e+hfvmmIOO7mz1UD7/E4G9w9QnCgQTYoxj0QmFZrpAtOuU5wokMwmKReKoRJbW3cH9UoNWZEp5gbwPR8toqMbGrKsMn9x7xRTcpiabO16cjulfAHLsqiUKpRyBVLZNMm2NOODI7gO+IqP6okZ/7Mvv5Dtj21p6abNW9A9hdMyHecOWo10Qch3P37fwxx+rp83v//2WY3HvhCk2jIUx/PT/nwOr2xklopkrzoK/vNTvRfvP/NOcg9/4MTv2BxODJrjTONHwd+y66BXpv5enyg083wdW4h7FSbylPIFuhbMD0WrfB/MWu3oBEHw4N8Y75RkEQ8TqaS4D/ngqz6ReCRUt6yXa+FECgFXzXM9XNsN/XCl4Gc0OGiyhFm3QmqAHjGoFEqYNRM9orPrye1US5WwmNbctROH1sd1RJfKtuwwRi49YznjQ2PkRyfIdLbR3t3Bvq27OHJg8LgxEh+R0LpH+OW//5Qb3v27mNW6sHCYobMFYjLIcRxcW9A9hNKngut6lHNF0h1ZyrmiUPcM1lEUhYsvvJj77ruP2259M3uf28upK1aISRXH5s/+8s8ZGRkhm23j//3N59i9dw8f/r8fwbItrr3md/jzO/+MH93zY376059Sq9XwfZ/v/tt3sC07TEq94Jnn6aef5s/+4s9xHZe33347t9wYFBob45uhQIs2ZdwykohRKUyangtUVKvVKtFolGQyyXnnnced778zOFbCdmr9veuZmJjg0ksu5cqrruRDH/oQCxcuDJdRVTWMmxs2bODVr341N910E3fccUeYHILg6y1f3qoaHu6jpiLLSsszV7i+oU3zjhOHuWQvQKwTZOPkdva8yCo8kiivOGHm/yY4jlRzSnKISD5lr/EgfHJS8GpBKBvIikx+dIJKsYwkyVj1OpIsh5VL3xecNkXTjpKZZYl6tY6iKkiqmPMXsvwOdt0Uc+3h/L83dUZckgIFzaM/d2033J94KsG6S17Fge3P4bke7fM7SWRSxNN+mFidceGZbH30afTg5lScKKAZOqefvy7cdvTwcKCS2cfh5/rp6JnH3i27yI/lWHLGcvSIwcDeQ1QKJRKZJN2LehnYc1BIJgcjlq7roKgqe5/exT998O/o6usRapjH6Gw1kiwjGiHdIRRGU9kU85f0YVbrZLva8H1ajNgb6ySzKayaycihI5TyRRRVoVap0tnbRa1SRQ1UxRqz957nUhjLc/r5a6ec4+kSU0kWnLuO7k7wRSVUEL8NqqUKXQvnE0vGSWZS9C1fxJLTl7Ws2RiVbE4AE+kElUK5ReFTluVwbNS2bAb39TNxZJRapYbnevzmP+/jnNde+Lw7fLNBqmP6ZK/xoDGHVy4aMdJ/gbfE7Op3kHvk/7zw1uAcfmvwZIV6quMl+SzXccMH9kq+zO7RHaFRtYyELzXHNB9ZVgKxDmHg7XkexYl86HHrOi6VUkUoQEOQ2DhHrRcC9Ukf8W9f8o92WYKPMqt1ZFVBcl3iqQTp9gyO7ZBsk0i3pejo7WwpPK656OyWrl1xooCqqyxcuSSU4h/cPxBysDsCDvbIwDC1So32+Z3C+miaGOk4oiDcGPOv1epsfeRpfM9n4TkrmPLM0tTZAvFcoaiKUNGWlUARUzzzNLZTNHVKh0zTdaLRCI89vokli5cwMjqC53n8279/mysvv5Lrr3sD3/jWN/n5L9ZzzVXX8IPvfA9FVbn5Tbfw3ve+F4AFCxbwhS98gd/7X2/j6aefYu1aYRMhK2J0U5IkPv23n+Efv/z3dLZ3csMtN3HjDTchK+IcG7FomJy2CK9YFldddRUgigWNkdQfff+HgE+1WCZXzJNKNVFCfOF12CiQjwyPkM1m+dH3f8Afve9P2Lx5M2eddRYA69evZ+nSpSSTSXRdZ/fu3RiGwfXXX88VV1zBmjVr2LRpE3/4h39IJBLhzjvvnPba1iPGMXjtc6bqLwlkTULVfVILYWInJ8cSSNKpdfwR8bFPzXXxXnIcfz5SkeAsrYzpS1TNFCPIHMtgXZrUIXu+aFQOzapI8kQVzccLSMqe5xJPJmjr7sCxHEYHhfKX8MiJCXuAmDAmdyzR7RPSw/LM3L9GxzBIKGVVEaMPrpjnP+syYcgaiUcpF0pkAo+c5sRq/uJeVjUpZaq6qGCmsumWbZsNWSVJIjuvjfEjoxzcuZ/l61YSTcSolStE41FiqTjRWJRSoSi+gyujKCpuwDMo5UrkRrYRS8aIxk9FC+b/J3e2GklWz5I+Du3aTyQWCQn0HT3zwm2nU6U8uHMfuzZvxzZNQMKtWyiqwvjgCJFEjFgyhmVazFvQDYixVFlVUCbZKTQnW62cO2FPsPDUU6iWq5i1OhNDY/i+RyKd5DU3vJalq1fM2HWbPE7ZSGwbndLm7mtDVGVw6yHyYzmcIKF3HIenf/ME+bEc17/rTbO7TqfhSU63j57nMTowNO0aE0Ojs/qsObx80YiRiflQPvj8369GMkQXXE6t/xcnfufmcNLgI+FpBpWu52ch1VCHno1/XusHHt3eqptIsoxni66cGo3geS6u4wVxRiLdniWZTVEplEVBy/OIxqIY0QgTI2PouiE6WUFnD2WyvYN/lC/V6BQ27bNqaERjQhije1Evi1YtYWDvIUq5Ar4rrHUmFx5nEyOn42CPD40wfOgIHT3zAKaNkYWJvLj/KiCrMq7jUK/WObBzH73rlmKbFrJiIElHhVb0iBF+n3KuKLqgkiTE2QLxMddxQ8XlyYIjjXUuufg1vP/O9/Opj32Cb377bnwf9uzdww9//CO+9e1vYZomN1x/A4NDg/z1xz5CtVbjuX3PMTY2RrVU5tQVp+L7Pr29vRSKkz3nBOcul5tg2dJl1Gt1Fvb1MTw0hKHr2I5DMpPEiEaEkEpTDNJ1nQceeKBltcYoqmUKyytFUpgYnwgVPzVVwzZNIU7jQyqZ5PxXnYdjOZz/qvPYsWMHZ511Fvv27eMzn/kM99wj+ISGYWAECpuvf/3refbZZzl1+QpWLFnGQ7/ZyBe//CW++tWvcscdd0y5tIWlxvTJhWNa0/78RGEu2WtCg7cn6+BNr476ouHFzsIjgcJU3eq5Uc6TidkHnO1OTMyE++Ae46y8mERv8m75gayx6DCliacS1Co16pUqQwcHkWXBt5MliWKuQLkg+H61siCTx5JxjGiESqlMvXqMi1cC3dBxHBff81BVBVVTkGQZq1bn4XseYNGqpWiGjqIqLeqVjcRqctIxuH+AB//zly2Ki45ts2D54qBrKY5fprONsSOjROMicGY6sowODJHuaENRFE591ek8s3GzSHRdN+SspTsyyJJMpjNLcbzAzie20rt0IeVCiWqxTKVQDnkBjSQrnkqgGzqFiQLVYplUW4Z4Khly66ZTpdz7zON4jhC98b3AkN51qddMuhb1UMoVMWSZarmKZVpU8iXS7Wl2P7mNeDoRJluNhPnA9r30LV9MujMrHlRCewKFFWeuwjIt9m/bC75H34pTePyXDzO4r3/WvLpjjbVeedvrSaRT7Nq8Datmoeqa4PwFD0UN1dTjYbbcv8Z25gzXXi0Q5JnDKxuRNvB2AAovSMgsfdrb5pK9VyBsI07y8F7wPOqZrlkZrZ8oT9nGVIvv+9SrNfSoQSqbwgmshMr5EpViWfDTg4SuYXCtyAqWaR2drggSHLs5kZm0j4qi4EmChybJErFEHDtIGPZv20N+bILsvHZq5SrJbCqMkc2Fx9nEyOk42GIM/qiIx3QxcvOGTSiBf5uQ8ZdIZFKksilUVRXHqVIPhW8aKp9+4FEnLIFcJFcKp3+8oNg7kyqlG3DxLnv1pfxqwwbWrV3HN799NxKw5JQlXHzhRVx/3RuESIpt86GPfJg/eOcfcNH5F3Djm26mXqvh+2DXTcr5Ij6Cq+k6TpPNgeDcpVNpDvb30zN/Pv2H+5k3bx6nnnoqT215ijPOOIMd23cyb968lnPW3Nk7et34/Oj7Pwi/UzqdplatMtQ/yOGRI5x2+mmCJ+qJ0dBzzjqHnbt3cflll7PlmS2868J3UyqVuP322/n6179OPC7Oc6lUIplMArBx40Z+//bfZ2J0gkjEoFwoY6g6ij41tXJdl4nhsakXXADvRDxPHgNzyV4TUouheECYq89ghfHiIemY2f9FNPcPc9y9lyniksuAr6Pi4SEHv5ovzVmRAoNR3/NYefbpAOSGx0h3ZEm1Z9j+2BZyIxNCNtkn9MFJZlMsW7OSZx9+Cqtm4avS0TGVJsiyHNg8iK6ia7t4mo9r28JIVJIYPzLK+de+hmxnGwN7D1EYzZHpzNK1sGfakcHO3i7iqQSHdu0PuQfdi3o4/fx1PPyzDeFnx1JxMW4jSRzatZ/cyDiKqjRZT3h09nQRzyQZ6T+CY4tRGyNiYNVM2ro6aOvqoKNnHpIkheOhj9/3MIP7+1s6Wq7jYEQjmHUTNZumrbuDVFsaq24STyWmFRw5cuAw1aIg6AufHw98CUVXMaJRBvcPiCRYUQR3z9BwHJdKsUymM0u0O8bA3oPsePxZEukUiqrw3LO7iSXjtPd0hvYEDRzc8RyVQplla08NR3um4yDOhOm6h43qcuNhQ1EVtmx8klSTkboP9K1YPKvrcbY8ycZ2Mz3cSbN4OJzDyx+pxTC0CbQ42JML87NAbPG1J3yf5nDy4EkynqJiVPMgy6hmlVp2lGLP8pPnu3cMNBQ1VV0jloyz+DQx6n6sGOk6wrA83ZZB0TRGDw+1Cr00Df0oioLneYGNjITkSaFoi6qqGLEopVwRzdBZefYZ1Gv1MEb2LFlAtqud/dv2TpmCaJ/fiWu7PLPxSTKdbSTSyWk52Jqu0dnbHcbSdHtW+NTWTGxrPKRW2HULI2aEoiiaqpLuaBPF3KiBpqmAFFoQVIoVbNMmloqHXTth9SPEwRRVQVblFpuCTNPofbotjWZoJNMpPvupv2kpdL/lTbfxF3f9Fd/69r/h+R5/eecHuOLSy7nrIx9i+dJlaJqGIiuB/68oltp1MxSXk+WGtYFEJBHjLz/wF7zz3e/AdT1uf+vvocgKb3vr2/iTO/6UH/zohwB8/rN/13LcpuvsNfsLNnDH+97PjbfeTDwe5xvf+AaxWJw/+8Cf89EPf4RrrrmGOz/wZ9z0pptZuXIlF154IZ/85CfZv38/b3/72wH42te+xo4dO7jrrrswDINzz3kV69as4elntnDXhz8kCs6ZNP/89/805dot54rHbhCcZIVj6YR0J15CnHPOOf4TTzxxUtY28z7bvgmlg5zcA++ViQ/eieJOr0w291j020XOU3nMSuAhYyJRQQZeOp8wIxbBiEQ45+6NPdIAACAASURBVMoLKI7nSbVlGDo4SKVQwvdcxobGsOriJqZqQla6fX4n0XgU23aoFMqYtboYzQg8dQBhlp6MU6/VRaXPE0lNQwVNlgXxXDM0ktl0aMSeGx4j1dFGuj2Dpmsksylq5Rq9S/s45wqhztbc/Wm8tvbV57DxJ79qMUZvWCw0COjN6zQ6RQ1u2kj/EYYODWJEDfSIwdI1p1IczyNLMkiEHnS+71MYy+E6LvF0gnKuxOD+AWzLwkf4GS1buzKQkvZItaVbVM4agXlieJQf/cN3hDGrLwzTfd9Hj+ghP0JQPCTmL+5BUVSqZWH2qkcMlq9bybZHt6AZOsvXrQz3rTieJ5FOceVtr+feu38SHo8Ggf+0c9eEFd9Srkjv0j4u+J1LjnudNKrF2Xnt4c9yI+O85oYrQxuIQ7sP8N3Pf32K4tub3nc7C2eR8E02VPd9n8P7+ilNFOns7eSCay5l8elLefS/fsPgvn6e2fjktPLo8xZ084F/+uhxP286SJL0pO/757ygN/8PxMmOkVv+CV6MqObuL0bBO0kqaHM4oWikIp6kIOFj61HqbfNxo3HGVpx7Uj7zeIqbsiKjRwx0wxAxciyP5/sc2T/AgqULKUzkOPxcP2ZNXGOTY2StXCM/NoHvges6LZ+lGVpgHyCSxHCfEB1BPSISLAmY1zefZWtXsvOJZ48ZI087dw3bNz1zwuNjKV+kVqowdGiQZDbF0jWn0n3aQhb3HR23nWwO3uCyua4bGKQLHqOiyETi0bDomunIhklhQy1TkiQKE3msuhWocEKjPSEHwm+NEdzGJEvD109RFIxYBLNaD4VfGqOlriNeT3dkA75lIaShOLYd2kQ0usmu66IbOol08pjX0WwM0s26SW54vPWh24dsVztG0+jrTJhspt74XM9xUXWVRCqJHjWQJIlyoUS9WqNeqU2b9OmGTtfCnuN+5o4dO1i1alX479nGx7nOXhMObwS3xqzk718U5ASVns+S7P/fSEyVNZvr7v12kZIcUrLLiKecuBRvsrzZjNtJQbVLZs9TO3AdB6tuMnTwMPFknFqlFlgeqLR3d6IZGqOHh7HqFvVyFdcVZqMNgZYGSV1WFfB9kZwE+yAHoyBW3QTPD0VbjEiEoQODSAi+gqZpDB04LMZJ2jPE0wk6e7oYOnj4mOqWD9/zANfefmML32v7pi2MHh4+Zqeo0ZVqDmoAhbE8iXQSz3HY++xuFng+6c4stmUz3D8EvhdyDaulCo5tE4lHSbelObz3IJZpEU8miCZiLSpnyWyKR9Y/SGdvF+3dHdSqtfB02KZNLBFD1hQi0QjFnPB6Gjk0RKo9I6TKFTkcTT2WPcJsx1+nU9ecDg3/u/GhMcqFUlhdbp/fGW4zmTsCYmR1/uLeWX1Gs6G6ZVoM7DnA4L7DGDGDerXGSP93OeOCdSw5YwWHdu2b0Xw2EnvpuwBzOPE4vBGsF9DRa0ak+zzqgw+emB2aw0mFjAhZsi8caHWrijRxhMKCFSf+sxrTFMd4AGskgmbNxPd8nrz/URKpBPFMCsd26N97ED1i4HsijrR1dUwTI48mKhIiPjbWti07TOwkSSISi2LVTVwnULWum8JuQVEYOniYw/sOIUlSECMHGD40SCQW4bRXrSHb1cbwoUGe2fgkXQvnn/D4CK2JX2Eszzx3Qchlq9fq6IiEz/e90JpJlgWn33Hc0GrJRyh7gi+UvvMl8ItiFFaRKRfKaLqGqqq4iosvN+KbfFS7QBIjt43k2bFs8dwBSIp09G+XFsGYZgEZWZZbOoqNhK1lbHgSB3EmTB5FbdhCNI+0NvQJJpu9T1bXngnN3Ebf97DqFrZpI8kSXt0jb00QjceIZ5LoESNI9KZfS1JObkNhLtkL4Hs+ngf1HCdHnGUy5AS1tj8gOvHFucTuZQZFgvO0ElucBFVfxvQ0rBeZ9smqgixJQcXQnV4ZVEIkD0GFbGxwBFXXqJaFOatlWsiqIJc7pk0xV8ALRjj7VpzCSP8RKsUyybY0hdEc5UJJ3OADU1dJktAMLexSRRMxyoVSS1itV2qiMhUQ1jV0FE1BM3TMao2J4TGiiRj9ew+C5xPPJOlbtmhalcxYKs5vfnx/WNF8+Oe/pjCWo1Iss3DFUS7bTF5xMwmS7N2yMwzshfEctWqNarHKolVLGD54mOGBYarFslD0dBzwfRzHwawJL6FYMt6icta1cD7RRIzcyBinnn1Gy3jiwz//NU9teAzLssLgXy1VUXWRJNarNUq5Ium2DBPD48/LHmE6s/JkJjWtZ9900HSNy265OuyqdgaKbo+ufzCsBM/GI+9YaN7Hgb0HKY7lkIIRH0mSqNfqPLPxSerVOol0imJ++kzgyMHDL3gf5vDygO/5eA64L7Iplz3nLznyk7lk75WExjOK5PuoVo3U8H7yK8/Fn0Fs4oVAj0TwfZHs2ZaJ50xdu5FIiBDpUS2WseometQgEo1g2zblfBHTNMHzZoyRXYt6whgZPqx7fti9i6cSVPIlFE1F87wwGfBcLxDmkoNiqkwymxLm84qCY9nUyjX69x4kOZZDVsTYYrlYFsVBTlx8hKkxctu2bcK2KLA3sOoWiuqGo6l6xMC2bNGd80Vh2HUILCfEgTV0Lez6KYqMpkeRFRHHFEWhe1Fr90lw5ytCTVOWcb2jYjeKouD6LhKiw9ewtVCaBb6OkbxNTthAJGMzFRWb0Ugcm4VaJo+0Th5Xfb5o3j/bFBxEJAk1oKt4nke1XMX3fZIBjWTGiv8cZ+/kw674DD8OlcGTfrxb4MTPw8t/D8WbOhMz1907QdB0kCWwbZhstnkMNCtzbnUTHDbiVGsm08SfWcGzXZSIju+IG6iiKtiW3Tqu0sQbUFQVHx+zWkeP6EGSUSHT2UY8naReqWGbFkY0IkZYDgywaOUS9m3dQ71SFbL7piWsAgwdx3JConsinaRWEabhrusiS5IwVG/sa1OVy7asQK2qEWRl7LopBEqKZUzTJD86gaqqrDx3dTj64Ng2I4eOgARt3e3Ylk25UGR8aATLtINELU/PkgUtyVCz8uNp564FH57bvYf5yxdimSbxngxnLrgQ27YD3x0C6Wgp8EtygaDS2PzLLAkxbUVTUTWV7JIuEayDCqWiKHQs70HVVHbs2BG+LdXXxrk3XSrM1ZvGSEBCVdXQ6iISj4YVznqgCNf4PpnF8xgrTpDfXpzCXVt6wWlTrpW9z+09ekn4Pq7jYJs2mqGhqGrLGrVylXhPhpUL2sKCuOd57Nq1i2giNmXtF4LGPq6qrcOqmzRZHYX/r0cMjGiE9mXd046oSJLUclxngqZpdHR0kMnM+fK9nGBXfAYfCpSqX2SMjPddipJajlvcc0L2bQ4vErKMpKr4wT11MiZNuCH7Hmq1hDF6mHq2GyRJdEdsJ+wevRDUK1USmaQQYTEMPNUN6QpTdllRiMRj1Ks17LrF0MFBNENj6RmnMjE0iqKqVEvlWcXIRgxoiHVIgRWD4zjIjvCfkwMKQAOeKzzzfN+jWqqIblrTCKPveQwfGhTqzb1d7Ht2N6XxAqesXo4RMV5wfITpY+T2x7dw+nnrQp89XddDo3rHFrFfVhUc2w79BaXw7Pogvg6KJqPIMq4iiy4dUK/Wgk5Xq4VDA42OleN4whg9+P7C/FxcG6m2tLCECsY0nUlqqNViGT8RC6wJjl5xkzt902GyOfvkNSZ7Bk7nPfhC0bx/jYki3/PCACkhvB+VQD1UjxphB7UV0knPPeaSPaB/A9hlsGsvbbKHnKDS+1mS/W+dS+xOFnwPPBkkmRfSst3uxnHbOpFr7gtO9BoIDVY9f2ZrBCDRlgqDmB90pWrlKpIiYx8eFoRqRUFWFKy6iW1ZpLIZzFqd3qV9ZOe188T9j4SG5yKAIW7Cvk+mM4sW0RkbGA7GN4MvNs30jJAJdsIHeFmRGT0yEtxMJVzbJd4WZ/zIGJt/9RhL16xA1TSSmRTpjizDhwaRJImDO57DqpvEkgkUVagfjQ+NUhjPMf+UPp6472GWr1vFcP8RBvcNoOkqP/6X74IPr37L1bRn21AVJUyEj+6fi6KIsRTBQ7ADPoEfBhtRaRMKZEYsIqqNtkMtMEuXZTncPt2RbRk59DyP4nieerUeVJ1FwhuJRUi1Z2a0SWiuJsqyhOcJpbFGNXE2mM0a03EGZstpeL6wTIvieF48BAXf2/M8VFUl1Z5BN3SORA+HKqrNUDXtuKOjvu9Tr9c5cODAXLL3MkP/BhjfgXhI1MF/Ed09WY3Q84af0H/3quNvPIeXBJKiiGRvFvAB2XPp2vUopc5F2GecS7pnHkMHB1/0flh1C9dxRVHxGFL0qiaSOdfxhHJy1UNRFXZt3gYSJDKCY3y8GNngqEkc9deTkFi2biWbNzwWmre3TGs0cdNA3G99zwuKgCJGjh0ZAR9UXadeM1E1leH+I+RGJ1i6ZgXZzvbnHR9XX3gWHb3z2LzhMQ4/198SI3uXLeSR9Q+y/OIzwn2MBHYRk2Ok60hIvo/ni2QlLNwBRsCNU2QFy7GQFbGNVReTLbHkUXXu5nOhaiqO7eB6rlAyV9VpY2RzcjTZGqFcKKPXrRcVI6dbYzrPwMnegycCYdLreS2sHSXgmDZ+MNOQshE9uVSHuWQPISdtFQPO+EuddckJZjr9c929E4AGyfoFqgEaksdwoULpBFig+J6PHjWEoanjkulsY8nqFYwPjjAxPE5xIi/a/qWKqGi2dKaE2rnjOyBLKJpCV998zLpJMpNCVhTyozmSWcHhMqIRKqqw99B0XYwv5EvoRoTcSI5apUqqPYttmpQLpaC6KYVVv0YVDt/H8/yQmxaJx8D3KBfK4PsYMQM9GqFtfieartHe1RmOQQ7uH+Dwc8KQKxqQv33XY8WZp5HMitFAu24G3jMuP/vqD9AiOqecsZxDO/eHiqGe62JoOmbdxMEmlmyyJfB9IvEYtXJV8CoanIEgsRXG9DKu64QVV8fzhZeeRMhpFEv51KvVlmRPlmUynW2ielgzKReF2W9DxnsmnIhq4mzW0A2dWrmKbVpouuj8zYbTcLxq6HRoCerB75UkyeHPQQSs6ZK92QQySZKIRqPH3W4OLz0ibSBrYOZPzHrR9lNBjYMzVcxnDi8xPA+vVjv+dpOgVkukDu+mis9h85zwPvpiIEmQbhdCHbph0Lt8Id2LehjaPyBi5Hgey7KExUvTY5PvecKTT5IF9860yHS2YUSMY8ZI38ujagrRRFx0xWwbH3hm42aSmTSeJ4RMGgVEkYgGO4qE7wv7Isd2IEiesl3tVEsVyrkiiuYRT8VJpBPUa2ZLjHy+8fGR9Q9SnMiTzKZon9/J3i27whg50n+EjvnzcB0Xs1afVYwUrBEvmM4QCVlD0G228RHEd053ZIk2xcdEOnncmPLfLUbONj6atfoUASJJEuI8JxMvncTgyxS+5yMpMPIM1MZgGr2Ukw5XPr4CzxxeJJ5vy1aWQZYp+CoF0ws8UCat0fjFn20eKQlvGatuEk3GyY1OsHnDYxQnCsQzSVRdx/NEUjFlf31RofI9H0WSkGSZWqVKbmic3Mg4QwcPk0gnkSSZ3iV9vP7ttxBPJvBcl2q5glmtY8QinH7BGpavW8kppy8TfIJAVtq1hXJnY0clWRbE4nSSeDpBZl4bsXgMx7KolqrhSGg5X+LIvn7q5QqptnQLt6CFkybJ1Mq1kA8BcHjvQTzPo627nVgyTnpeG/VqjUM79xGJR4VwSZBsCq8k8ftarwhD8lpZ7Luma2Q6suGNXFJEtVJqKllGYlE0Qyi4ZTqzJDIpookY0USMJ57azIKlC8kVctimzUO/2YgkSRw4cAAQ1cPSRIH82ARW3cKsmYwfGSU3Mj5jh1bR1JYCwzWvuyasJvq+j1mrkx+bwKzVuf3229m79+jo5qWXXjrtGo1rrlGRdF2XerUu1EM9j/vvv58rrnwt1990A0PDU83NP/3pT/Pa176WSy65hOJEgfx4nne/5w+45JJL+OhffwTXdXnqqadYvXo1ixcvnvLeq666ihveeBPz+rqZv3gB8xcvoHtRD5nOtrB62zy+0/zHn1xZncMrBp7jU5+A8oCwW3gxXb1mqMm+E7PQHF4ySIiHRlmSUA0dxbORSzkkszbzeG/zvfg4i9u2E97fFVXh0M59PLvxyTBGes3efZP98TQVIxbBNm2MaCSY3pghRp6ygHNee1Foz1AtlpFlmWgsyrI1p4bxsZQrYJkWrnuUt0fwKCArIkZ2Lewh09GGqmsYsQgTQ6PUAkVi13E5sn9AcNo8ryVGPt/42Bj3HD50JByPbMTIarHCwHOHxO55QohNFI1FsjhtjAxEaBqIJWPIioJu6MRTiTA+RuPib1VTsU1bJCuTOpuliQKXXXG58KCtW0wMjzM6MEStUp12rP/pp5/m2W1bZ4xvk2PkTK4BM8XIL/7Dl7n44ou57bbbKBVKYYw0a3XqlRqSJLHxoY0kk0nyeVHBao7DrutSzpcoF8r4nug6lvOlsHs7HRqF4e5FPQznx7jlLW/ijW99E8/u3IYsy6xfv55zzn8VN775llDY5oEHH+Cyq6/gpjffQq0ivGi3b9/ORRddxEUXXcRdd9014+c9X/yPTvbsis+h+4TCmG/x0gizTAMr/Qb8mYy7X+J9mUOA4AaSlVy8lpplM8fOn/KjYyJo1UqSLLxxdB3f9SmM57BqJp29XSxfu5JkJkksmQjJv439aXTdRECsMTY4gmma5EbGseomo4PDSJLEzse38r3Pf4N6tYaEDL4YwbMti3q1Tq1SYfzwCIXxPNFknFgyTiQeQVZlNEMnGo+QSCfoWtRDpjOL73l4nse8vm70iEEkFgn3yzYtbMummCsyMTRGZ283+7ft5Z6v/gcDew5y7e038rvv/9+87a/ezeoLz8SIRdj6yNMc2rWfZDZNLJUIA062sw3f84nGo2Q6sniuR3FCCH7IivAAbIyZeK4XdIskKoWyqO7pGnrUIJFOksik0HQdRVVD6wRVU4OqX1FU9YLz57oOp686jXvuuQdJlvn+977PujVrqVcFyb2cK4Yka/BDae5aucr40Oi0AaB5/ebrRdW0IIiUcGwnPHfTJY0zrdGoSJZzRRzbJpqIE0vE+X9f/iLf+da3ueuDd/GpT32q5W2bNm2iXC5z33338ZMf/Ceu4/CL+3/JihUruHf9vTz88MM8t3MPy5Yt49FHH2XBggXTvveBBx6YcXQVxFinFBQjZFkOhXu8uWTvFYnqqM/2b8DwZk54fEyvehtiXmEOrzhIMr5lI/s+mlWjbf+WmbcNeNWzWBTf87FMQT+IpxNEE3Gsuh3GyFRbmlRHhmgyjh6LiIkUSfCirJpJtVRBksR4+8TweBgjx4fGKOdLwbpxHvvFQ9z/nXtQVDHS7/s+Zr2OJEu4rnM0Pibi6IZGpjOLqqmCl9zTSSSIkdl57VTLVTzfJ92RCbnLRiyCJIs4b1s2o0eGqVeqSBIsXLGE/dv2cu/dP+b089bypvf93qziozBdT6MGht3NMdL3vVARWtHUoMsoxF2UwGgdQNU1tIgBhQyFJzuxR+PIytQYaVtH+ZuObYdCOLIsUy6UyI9OkBsZx6zVKQXxEYI4jR98b4fCWH7aJOnpp59m6/Zts4qR40Oj5EcnZh0jR0dG2PjQRjZu3Mipy1bwk5/8OIyRRiQiTOQDbmZfXx9f+cpXpqxbzhWxLSt8Bmt+dpgNPvShD/Hd736Xe++9l49//OMAnH/++Tz99NNilDO4Zs8+62x++fNfQGBRAfCP//iPfPKTn+Shhx7i0UcfDZPRF4v/0cle/wYY3QKeA8xOafWkwElchKctmfH1uYTvt4BAhKNLMkniojTKeUDzGTmWXK6iKkQSUYxYRIxvKgqRaJRoPIqm60RiEWLpOKm2LKefv5YVZ64ikUlRr5uia+X5eA1lq6aKZiQWJd2epXfpQpacvpxILIbruBTGcux+ahv7t++hVhHqWPF0HE3XkADHcdm9eTsHd+wXCpu6GnZcJEnCiETo7utmXt98Ysk4ZrVGrVylrasDRVEY6R8KBVtkRRbfIR5DixhoEZ2J4TF+8pXv8fD6X2NbNo+sf5Df/Ph+KkGgSLWlSaSSLFt7KvFUkp5TFoRKaADxVAJFVamUqux84lkmhsaCG7wfJhGOLTgWiqocM4ET5yYQX5lG5lnVhNBJvVLDqplceMGFbHz4IWzTYufOnaxYvoLSRJHRIyP8/rvfyS233cq7/vAPsEyLbTu2c8ttb+S6m6/n81/8AuVcka9//evcfPPNXHvttVx77bXh/jm2ExDkfWRF4fHHNvHaq1/L1ddew3e++10kSXAp8qMTUwJis9JX40/jO4ffSxKjRPlcDl03SCTirF29hmefebZlvXvuuYexsTEuu+wy/ubv/hYkiSeeeJzLLr0MgIsvvpinntlCMpkkHm/lZTS/96MfPbZXnm7owQOGUCNrHIeGr9EcXlnY+W0oDyIU+07w00Jy1e3I0fbjbziHlx88F8m28CQZ1aygVYvIVn3aTSX52F09LaITjUeJJWLoER3dEJxvq24SiRl0L5pPZ283Z1ywjhXrTgunO5y6FXbZfE9M33iuhxGL0DavnVRbmu7FvbR3daDpKqqusefpHTxx3yPkRyeOSvArshhllBWsus2+Z3e3xEffF+IxmqHT1dfFmovPDmNkvVpD13UURSSbtiVULK2aiRZw1/WoQSwZx3Vd9m3dw6P/9eCUGJkfnThufARByejo6WLHE1vZsvEJSkHy4fl+wCtvUBckZHVqkiK5BmObdMaf0vEcidyzUXJPx/GdpgdgSUIz9DA+NgTHfAg4f2Ja6I//9E+47PLLufnWW8Jz7Dou773zDg4cPIgkS9z85luwLYvP/e3fcf7553PZZZexefNm/vmf/5nPff5zvPuP3oNt2bzv/Xfw+uuv481vvY2hw4P8asOveMvb3spb3vZWHnjwQerV+rSF1eli5JZnn+Wyy0Rcu/yKy3n8yScCWwQzMFn3cWybWrnKddddx09/+tMp6x5vquZ4yOVyLFiwgFgsRqVSoVarkc1miUajKIocxshMJis8BCGMkaeeeiqFQiHcJ8M4vs3EbPA/mrMXaQNJA3OI31pXDwh994yJr2CU7vkt7sgcQqjilz3l2mRlh7ynMt285hTpaSn8D/F0klQ2RX4sJ8ZAbIdatYpiqTiBFUIsEcO2LHY+vpVMZ5YDO54LxylbbkASaFGdWCJOZ28XuZFxovEohfECtmWhaCpO4L/XuPGquk6lKHh7sVQMWVWZv6iXWqVKtVgh1ZYJq4FmzURWZLoWzm8plEWiEWRFZttjW2jr7qBWrmLWTVRdDcc7csPjaBGDWqlCYTRHPJkg3ZYm2n3UIwhavfgi8SgDew4yuK+fWrlKIp3EcRyiiShWzULVdZJtekAgl4jEIkiSjGWaItmbIYFrlmk+lsyzHHSeNEMTXjuGgRExePyJx1m2dBmj46PIqsxXv/ZVrr7yKm58ww38y79+hZ+t/zlXX301//Ht7yErCm98y63ccccdACxYsIAvfOELvPOd72Tr1q2sXbv26OUUjNF88jOf4kuf+yLd3d1cf8uN3Hj9DSCBj+ggNnMVGmR2y7K46qqrWi4zRVFY//P1IoDVLHK5HMlkUgRqXcdx7Jb1hoeHaW9vZ8OGDdx6661s2fI0hUJRvAdIJZNUqtPzp5rf++Y3v5nNmzdz1llnTbutEY1QKZZxnaN+j7IsnXTy+RxODvSUSPaEKgcnNE7qiW6WvWuI3V/QgJnHo+bwMoQkQyKFY8ShXkXyfdoOPDOt0foUg/Qmrl06kMaXFZlKoRSqCbuuh6prRONRJkbGiacSHNk/QG5kgkqhFKgwe5OWFfG0d9lCJFmmXq1RKVQC9WtR3LMtG9d28XyPRCZFtVhCliQkRSLdnkGPRkQBsG5NGx/nLZxPYSxPR4+wx2mOj5nOtinxMZFOUi1VMKIRysUyjm2z+6nttHV1tMTIyV5808VHJAlVVylOFKgUymTas9RrJm3z2ogmYsw/ZQGKqoSHNxQya0pShh5WsSY8lKQjVJRVH2tcY3yTTM/lQWLp+0LB1HEDqybRoZRkORSZu/e+X9LZ2cnff/nvMWv1sOvWPBYqJjyEQNr6e9ezYcMGotEovu/zrne9C8dxeMc73sFPf/pTVqxcwde+8TXWr1/P1+/+JmtOOwPTsvju3f8OECqC//r+DXz0E/+35byfffbZfPaznw3/7fgO6XQagPbODgqFAlbNxPP90MtR03Uc28GzXa677jp++MMftqzZ8M+788/vZOeuXeFxUVSVL335S6xevXrKdd6Mzs5Otm7dSldXF1u3biWfz4d8dClQOm2OkY1jDnDllVdy9dVXc8cdd3DbbbedMB77SU32JEm6BvgCYlbjK77vf2rS6+8H3gE4wCjwdt/3D57MfWpGajH0P8DLpnVmxy9BL907rdH6HI6BSepYJwQ+SBEDxXE4XysxZqrUUEV1q5H0Ne6qTcFLVhQURQ65ZLnRCayahR4V3S/ZcfGCP7F0ArNuMn9RL4WJPKOHR2if30G6I4vnuowfGQuqj6I6qus6S85YjqppjA2OkO5ow/V8QVqvmcJLx/OQZQXXdXBtB1lWRDLhC0+eTGcbmiG4gbIsU6sIYr5ZM1lyxnJu/qO3tBiK/vzrPwpJ4VZdqIqVC4KErWo2lcERQCKbSWKbFpGYeNg/sGMfy9etDD2CfB+q5YoIuKbF4L4BxofHmLegW1Qxl/SRGx0XctSyRDIjglutXMVzPeqVuqg2BgmcMIYVUt+yLKOnklNkmqeTeW726GmodMmBqewVl17BX33og/zNJz7NN/7tmyiqyu69e3jmRz/gG9/6JrVqlTe87g0cOniQj37y49TNOvv2PUe+WADgjDOEElpvb++MoxfFYpGFCxeCBZ9mmgAAIABJREFU77OwbyFjY2MYhoHjOjNWDXVd54EHHhCXZRNp3HNdoSQKJONJSqWSSG4VWaiWNq2XTqd5zWteg1mrc8G557Nr924SiQT5XB6rbpLPFejtWxCqkjYjnU5zySWXAHDZZZexY8eOGZO9Bu9gup9H4nPiK680+D4iwZNnVpF7sVAyK3Dzx7flmMMLh6Rp+IHn6ImBTyQRwy1X8WwT2/OwjalKjaI74rdcOIqiBKIaGumODEf2HcbzPTTDQNNV6tV6oIkJlXJViLH4Qqlz0cpTSGZTlPJFPMdlbHBErKlrwsRbEb53qqYxOjBEqj2NVTOxTJNauRbGSHwfTVORZBnf95BlGSMWxXM92ro7RHJ3AuJjrVKlWqoiSTK6oZPKpkLbotYY2RH6384UH8+54gK++pEvUSmWSXdkkCUJIx4lP5Zn5PAwRixK25LuYPJGCWOkVbcwIga+7xNtk3BrBnog1Oz7Pl7dQk3aYZG0ESMb8VHRhJJ1w4cPYN/+fZx33nnB91Qbl0QwLiqJ2lDQMcX3+fCH/5r3vOc96LrOxz72sZZLZMeOHXznO9/h3nvvxXEczj33XJAk1gTxNLxuVIVzzzsvjIUzIZVKcWD/fvJjExRyeTLpjGgAez4eXhgjkcT0zzve8Q5uvfVWenp6Qq5gLaBtfPoTnwYCQ3bXI92RmVXh8lOf+hR//Md/TDKZZM2aNXR0dISvTfbhbaARI++66y6+973vcfbZZ3PzzTdz4MCBKRz6F4KTluxJkqQAXwauBAaAxyVJ+onv+9ubNnsKOMf3/aokSe8BPgO86WTt02TEOsHICCXOl0Nh0dMX4URWo9U3T3ltTplzGqiasFY4Bmn2mFAU4b3XHABlWXjzSRKyruPWaii+yzq1yqNOCgVQ8ITJut+kWRzAc8RNoa2rPeiq+USTURKpJIXxPEvXrqAwkSc/lqNeqSFLEvu27ha2AJEIkiSSFcERC9zvJDF/XymW2fvMLk45bRmxRByzZoLnYwXy0bF0nEqhDD7oET3wRBNqlBISdcnEqlvUqlWsukmmI0vH/E6QJJKZFFfe9noG9hxk22NPc/p561i0agmZeW1UyxVWnHnUD66UK9K9qIf8aI59W3cLInitLojlgTFtoyLa7BF0aNc+AA7s2CeMcA2dzgXdJDJJhg8NUhjLEYlFQwNzEDd4RVVIZJIk0kk8z6MwlsOs1sWIayD+Ua/WUDSlRbL5eB49jepdo3t4xWWXs+HXG1i3dh3fuPub2JbN0sVLuPqqq3jT774Zz/MYHx7j//x//4f3vfd9XHzhRbzu+tcLEZxSWciX+0eVy6ZDJpvhyNAR2jJZDh46SDaTYcXS5Wza9Djnnn8+e/bsoaur1VS90dnzgzElz/NQFYUffv+H6Mb/z955B8hV1uv/c9qc6TPbk900UokQTCBUUQKCoCBFyhUFBBQEBIzolasi9nItV8WL/Cxc9IpeQKUp3UAkAQQSWkJC2iabze5m6/Ry+u+P98zsbnY32YSEInn+Sqac856Z2fc53/f9Ps8TIFEXRgtomJaJ7TqsfPEFZs+aM8xt7KijjmLFs89z2LwFvPTyS5x3znlEolGWP72cQxccyjPPPsM555xDPp0jHB9+03bMMcfwyiuvcPLJJ/PSSy9x4YUXjvmZWqY1+OfgT1qe//h+jA1Jkn4CLARe8Dzvs0Me/yVwMOJjvMrzvFfeyHElp0Nmkx+kvo+6X+rmL6Zn6af3zcHf6VBVsO1xxyrsCCkYxCsPac+s2NkHgwRrazDzecqajp5PY0WTyGYZNzDkZniUedCxxS6RrMjk0zlCMeFsrGpCO1bbWEc+nceybfKpbNVkTFU1NF1l4rRJZPvTFHxzMVmRcW2RJVcqlti6bjOTZk4VGq1QUOj2imWxKBjUKebyaAGNXCqL6xuviCiHArblEI5HCUfDpHsHSDbUEk3EiNUkOPmC01FUhc2vbqxyZKKhZqf8mEtn6d22nWKuQCQRpaFlAts2bEFS5GEcOe+YBax9Xvxpj8WP/7j7MWqa6ikViiLPDmGUo6gyM+fM4fzrLmHNmjWEohEcy65yZGWX03VcopMjZNsGO10kSULTdCYeohOdMDyqp8KPil+EDtVdz5wxgxUrVnDCcaJdsqahlkAwwISpzdTV15LOpnFcl02tm5BlmXkHH8xPf/Rf3Pe3+7ntttuYPHmyCL5HtC1edNFFfP7znwfAMAweeeBhJCTfWMVDUQRHv7zqFb5yw1eGjXPozp7jOLxr9lx+9tOfceVlV/Dww49wxBFHkKirYeP6DUyePMQUygNFUUkmk8yZM4clS4TkJDuQ8eMqFL701S+zbt06XM+r7in8+Ic/4vCjjthpPMTs2bN59NFH6evr43Of+xyaNrhAUL2v88dQubGvcKTnedTWCtOzRCJBLpcb8zy7g325s3cEsNHzvFYASZLuAM4AqsWe53lPDHn9P4EL9uF4RkBSYMJCv01lL1jrv25IAUoN16G2X+ivjQzH/oJvB9iv8wZyrCLRKIOq4pYl4eXrujSHJbS8h+kKy+WdfhO+AFjTA5TzRQpGHrMsbH97tnWT7hsAv7fetu3qF2uUDXo7upFkmUBQmIsonoem60TiETw89KDOpJlTOfPTHwXgd9/5f+AJC5ncgNhhqrQo1rc0iZ77fFG0K+oaa59fhazKzD18Hq7tVlcMAf750JN0bGonFA3xzENPsnW9IM1KkTb4sVtMP3g2zQdMonPzNp689zFqGutwHIdNr6wjl8qSqE0y0N1PLBmnoUUULxXnMddxMMsGkUSUcDwiduoUhcmzp9G5eRtGz+DNheu4YlXUL1yGtl8qamjYmHZsg9wVKm2fjiNWdmvqavjZj39S+RLxXJePffSj/McNX+GXv/4VAN/73vc4+9xz+MIXvsDcuXPR9YBfmINZKpNP56qkOGwXzm9D+da3vsVVn/kMRtngkosuRtM0zv/o+Sz+wue496/3oqgqv/zlL4eNs7Kzl+lLCRIakjNomSaOI7R8n7t2MWeefRa6rnPLzbegaiqLFy/mxz/+Me89+ljuuuNOTv/ImcyaOZPD5h+KUS5zzz13c9qZp3HSiScxadIktmzezDWf+yyrV6/mxBNP5De/+Q2nnXYal112GccddxwHHnggxxxzzA4/98HrdPzFDvB3gjwPz/H2G7TsBJIkHQpEPc97ryRJt0iSdLjnec/7T3/f87zNkiTNAr4PnP1Gji05EwbWQaZVrKvtC0TnnEvfc9/ALb7+nLb92AGV6KE9gSThGaNbrzqGQb6tDVlVUYslvICO7prUbllF3+zDx3NoJEmimCuIOV6WUVSFUCRENp0j0zPgG3ENcrRt23S2biPTkyJSE/P1dkJbBxINk+swCiUmTGnmjMvFnsE/H1lG25qNvtbMxrasqiOloiqEgxFKuaKwzDctND1Ad1sniboEU+fOwDbtKkeaZYMVS54ZxpGxmjjlQpFYTXxwnEP4ERjBkVowMIIjZ82fS/v6LTvlx5qmWlpmTqF9/ebh34XtcPDRC/zPVSJZX0OmL4UkS8M40jJNJM1BiyYpDwy+X4uJjY8dUZVF2GIXFqh2LZ184sk88tijnHHOWUTCYe75yz2i8JZlLvv05VxyySXMnz+f5uZmFFXlsk9fxtb2rRiGyf+7+RYSdUk++clPsmrVKn70gx/ywF//xqJFi5BlmcWLFxOJR5F8+YXsn9OxHY7cxc5ePpUlmUhw7Hvew4dOP5VJLZO48vJPk89muWbxNfz5jj9XXysrsm8oA9deey0333wz5WLJX4yQcGyHb97wdeG6Gh1cAHX8RYid3Wvceuut3H777YRCIW6++WY8z+OZp57my1/5Mq+9to5/u+B8bvvVraxfv57v/eg/Wbd+Hed89Fwe/ftjXH/99Vx44YUoisLcuXN32TI6Xkjjc0nagwNL0jnAKZ7nfcr//4XAkZ7nXT3G6/8b2O553rdHe76ChQsXeitWrHjd47MKHt3PQ7YdBtaD8xaK+9EG/pdg7u4xy4n9Bd84IfnbCuNsPpJCYcDDcxwCdfWoySRuuUy5fSs4DilHYa0TJiJ7bHLDFHeyoRiKhoRjpW/RHEnEkCTIDmTEjhxeNZunAkVTcGwHWZKJ1sSxDAtFU4gl4wTDQcrFMlPmHIDnukQTcUzTYPUzL1MuFEWWTLEELgRCAZqnT0JCon3DFhRNJaDrFLJ54bwZDqGHdGa++0Cy/WmiCUFU+UyWeF2yuorXuamdXDpLQ3NT1Q0TIJaMc/IFp6MFNCzT4pHb7yeXHnSpGvr8aBhKfhWkevo55tTjefEfz7H+hTVYplh90QIBTrjkNBYsPLTqArkvg8RHK6gc20ZRlBGT+85eG62J7zQQfXfOU8Hrue7ejm5syxbGKT5s0wJJqlp9787xhr5+6HUWsvlqK8/QHmdFUWiePj6r/bVr1zJ37mDgtiRJKz3PWziuN78NIUnSVUCf53l3SZJ0NtDied5NO7xmGvADz/PO29Xx9iZHdv0Tup4T+XrePtycNfPb2XLrZN4SLTb7MSokXUcNBnEti1BjE4HaGrRIRBh39fWCaZCdNIve2UcgSfJOHThDUcG1IKGHg6KrRZaQJMj0ZYTB2FCt31CphCyTbKxF0zSyqSzJhhpf0y1RzBepn9hA46SJmKZB29pWYcbiusKcwxXnjtXECcfDGCWTdHcfwWgY27LHzZEA6Z4B2jdswfNg8qypo/IjsNscORY/vu/Mk0g21PLrG35KIZevPheJRbns24sJR8PVufPtzpGV/Lzd4UcYmyNfXfsqGzZt5NJLLx3zvW8XjtxTfnxLGLRIknQBooXluDGevxy4HBB6l72A9ifAykOoHrzVe+WQew1W4jT0/BIkLzPq8/t3+HYNSdfxZIVAbS1mXy/suEIpy0Jk7vgrn6oq/q2qKKEwrmkIgXFlsvE84rJD0PXIewqS6wtZRj250BfUTWwgENJJ1NVgWzadre1EE3ECehnHcX0h+JBx+c5i0doYh51wFGufW0Uhl6sWPoGgiBUoZPPUNNWy+ukXkRCiYVlR0ENBSrkCtmGJdk58kbaLcOryNWyO7RBNxMj0pti2qY3ZCw6iprGO7q2ddLd3UdtYTz4rrKuTdUkkWa6ubg6d9MTxFQ468t3DWj93Zs0PO+QL+Ygl40yc1sKU2SPvZdeuXTvsmJX2kmEYR0jqeFDRKQzDDi5clZ0skf0noagjX7ursNfxnGdHvJ7rDuiBqiZj6PlGfFe7+TmOvE7FD5QdOktJqGMU/vsBQBKobJ9ngINGec33gJtGeRzYtxypRcBI7ZVDjolAdAJNJ/6G7r9fsm9PtB+A0PBJsoIS1FFCIYz+/uGtnpWeNVnkuMnBoOhGcRzUaBTPc7GyWVRdJyI55KwyrqQQLOeobXuV9MSZeIGxtU2ObQseqomz4LgjKGTzZPrTdLa2E6uJo4cCZFMZHGtItp2PaE2MBYuOEDKCVeur/AjCICoci1b5sVwoEa9NkulPVfnRMgw816WQyWOUTBINtWT701iWPS6O7NrcAfhtd5KEHtTH5EfYfY4cix8bWprQAhqf/emXd/X1vqkcObTTo6pDGeW1O+PIPeFHGPu6jzzqKN573Pt2/t5/cY7cl8VeBzC0TJ3kPzYMkiSdCHwFOM7zRo9r9TzvV8CvQKxa7o3BBWvBLok5TQmC+1aSlCi15Kf8jmDP99FK/xy1sNtf8O0csh7EKRQwOztGWuiC0OoNFaHYNp4kge1AJIJbKFDa2oZbLot2T1lG0XUONYvgurQpQZ4yorijFXyeaK3o6+whFAnT19GLWS77hiMFPBf0sI69g46i4mhVLhk8/bcnaJwykcOPPIbsQGbYKl9FB5fuTdG/vQ/VFVbCwqFMTMayolIuFvFczyclhE4CYae85bVNxJJxFFWlc3M77Ru2MNDdRywZZ/2La0RLTTRMMByir6ubUr5APpPl1IvP9j8+l9dWruYff3kURVWpb2mstn6ORnqu69K2trVKeB+6+KxdFoVjYUfXTRhuvPJ6sDOS9DyPcrFELpWtmsSYhtBFarqGJMnV15qwU7LaEzLeneseSrihSJhgJEzJt9CuQJaFxfbr+Rx3JOVqJpQIlKxe155+1+8QZIBKH1gcGObuI0nSYmCN53nLxzrAvuRILQSyOrgutq8QmXEGPB4Gd3STn/3Ye/AcB0lRsHI57HJZ6NOH8lFlV87/23YNQ7RV+q/REwlKPT3kt2wRhaPjoISD6LaFN9CJapXpmTn2ZoNZFgVabiDLK8tXkO5N4fnzX6pUxracMe9vyiWD5fctoXHKRBYsOnwEP6Z6+gf5sbu/KomwLbuaYOQ4LpoeIKB7FHIF8tk8wUgIRdNAsnfKkY7lYFsmoWgELRAglozx/GNP0bFpKx+97pLqXPd6OXI8C6dj4U3hSF2nVChW+VHVVGzbxrVdZEUX/Fh57S44ck+L1fFe9478GAjqBKP/2hy5L4u954FZkiQdgCjyPgp8bOgLJElaAPwS0e7Zsw/HMgLxaZD1fT9D9WDtHQ3kXoUZ+yBa6Z9jPr+/4BsbTnbIruiuWpWHunmqCnpDI2VzG242O/i450GpVH3LRMoE5Qgld/Qm0YoAvRJ9UEHlT76Ys8Wu2yjOTGZJuI9tW9+Goig0Tpo4uMrnm3Q8//enaJo8EUVV0PTBFaFoMsa/Lb4YVVN5/E8P0bFpKwPd/aI103f29HwHymKuQCgSopgriCwd28G2LBRVoVws++2mEoFggJ6ObtSAVr2eFUue4flHn6raGYPHhAMmVYXkH7r4rOqYCtn8CK1DhfBC0TBta1tZ/c8XqW1qYGB7LwcfvWCnRLcr45UKRpvQd3Sa3BFjkYUsCzOBiukOSHiqhyyL1zq2g6YHhhFBhayGu4ZGd3qenZHIeK97x7aRfEYYEughHXdIa5SiKsRrE6+LZHYkZVXzVy0laXBukuX90Qs7xzPAp4G7gBOB31aekCTpA8AxvIHGZRVUOFIN7zu93lCowSQt5zxBx11H7vuTvdPhumIhE/AMA2cMbV4FkqLg2TaSqlJ/6GHk27YIUxTHEY9rGk6hgGc5aIArKchWGVcTf/eSLI2IYJBkkRHa39VXfaxcKAlr+jEcCwHMohh3+7otWKbF5FnThu2CRRNRCpk8qZ5+HNumVCgRjoXFcz4/Tpk9jU2r1vPXW/+Elc1XM+WEpaRU1UGPxpEi2kjoDT3X53cJejt6WHbfkqoG/q3OkXvCjzA6d8myRLlYopgrMPTOVA1oGFa56qYNjIsj97RYHc91j8aPgbIpFrcjoWHh7f9KHLnPij3P82xJkq4GHkFEL/yP53mvSpL0TWCF53n3Az8EosCf/B/ZVs/zTt9XYxqKcANoUSj2QL7rjTjj7sMNzsXSj0YznhmzqNtf8O0FSDJIgohkXcfo6sQtFKvmLCPudCSJgKaxqCHIc702UjRGtmj4xRFoegBZkaurl0BVCOx5nk96EoGgTiARwyiVKRfLQwpLqq/t2NSOWTa57udfHUYIju3w8rKVGMUykUQU0zAJhkNV6+CmKQcwsL2vagwDYFZbCTySDbUoqkoulcHuTxOMhGiZMYVJs6aSS2V5adkKAkHRPy8hWhw81x2WmZdorCWfzhLQA+QzOba+1krTlGYcx+avt/6pSky5dA5FlasZQqGoyBb6+x0PkGyope21VrIDaV556kUSdUlSvQNjrn6OBzvuwAk7bDGhVzRzY2EsshjUHijVzCHXcYX9dTg4rIdfuGY6WIaJUTbE91p1DS2jaCqKooyrcNsTjNYeY1sWiqJQ07h3zzmClCUZVRP5WJVVS8e20cP7i72x4HneC5IklSVJWga8BGyVJOkrnud9B/g5kAWekCRpned5b5htZbgBZB16XwT3DTIwi0w8nOQRN5B+bqfS/f14o+HPYWokQrm/H8ey8FwXSdXwLNPnLglcGxlh5DGxaz25BcdhFEvUNNWR6u4bxpGuH9BdQcWQo8KDkiwRr036LfPGYEvnEPRu3U4pV+C6n99IJB6tcuRzjz2FaRiUi2VUVSFelxSmKHU1vLD0WRzL5tVnX8I2bfSgjmWIH7hRKhMIBggGQmiaKiKK/KJPC2g0TppCor6GttdayaUyyKpCOB7BKJRonj5pRK7saBwZjkVJ9fTz1N+WVgu3Nc+9QiGbe8M40rEdsgNpjFIZNaCRz+TGxY8wOkdm+lLVheIKPzqOg1d2CYT0ERq3XXFkRFPfUH60TBM34+yTc75VOHKfavY8z3sQeHCHx24c8u8T9+X5dwZZk5h+qsfaP/pEtq9ChF4PpADlps8hdRuoxgv7i7p9gR3iF9yScOJEVcBxkAK6cCRz3YqFGJKmoSVraM95OEgEdB3VdjHLpnCN8kNiq/4wMGzFzENYCYPINHNtZ/jPz/+PrIicnHSvsM76x92Pkc9kidbE2L55G5l+McH2dvQQCAXI9Kepbarn6QeW0tnaziHHHkZHaztbXt1IqVBEUVUc20YNaCLzTgwG19cvTJkzHYBIPIoWUJElmVK+iFk2sU2TREMNycYaQKKYL1Djax0kSUKSZDQ9QMemrYSiYSzDrBKTZYjQ93A8SkAPVN3Fetq7MEplMv1pLMMgUZ/EKJbZvrVA+4YtLL9/CVMPnMG7Tzly1Py30VBZtRu6Awf4ZjKDmrnd/pmMkjkkAZIy2Lo59Pymf/OAB6qmVds898Q1dE/HOgzj0DvsCUbNNuxPYxomji2KYy2g7ZX2oX9lDI1b8PEd//E5b8JwAMGRiuZV7+OBN4Qjk/Ou2l/svZHYVU6tLOM5IubGNS0KnZ1InosaDGKXSiAF8CyxK4PnQSiMXlODN7GFvnIZNSD+9tWANpwjd5jPZVny53kZx/PzZf3FOqM4JP7B50dJlnFch3LRqO6U/ePux0j19pPP5MilstQ01JLuHaCQLRBJxNi6fjO5dJZMnxChTpo1hXA0wqqnX6xypGXYeJ6EY1poQZ1irkAwEsIyLRL1NUTiUdHW73rIkkymL41tmtiGhaprw3Jlh3Kk53kUswXSfSnC0QhL7360WrhVWlirLX674Miutjytr27g73c+yCkXnM6Rp7wXVR3fHOs4Dv3be4UZnCxjm8KUxDQM3H3Mj5Xzv5kc+UbyI4zOkamefkqFkugaUpS91mK703Hs06O/ReG5Hv2verx8C+S3gaTw1iv0KpAClBqvw2Ns8eZbdehvC4yWs2eawtDFdZECAVEQBnQkPYgSi4Oi4FgW4XKeiYkg8449jIOOnE8wGkKSJVzHxTJMoW9XRKh5JczVdYXNtKprmCWDbCqDZVkjncukwZXOhpYmnvrbUl5Y+iw927bTtnYT+UyOclEYvTiOQylXBNcj05di24Y2tm3YwsZX1rF+5asoisKEaS00Tp5AIKijKApmUYzPcVy/fUBi24Y2Brr7SfelmHPoQUyZM414TZxAMECiLknP1i76u/pomjwR27SwDJNCJkemP02pUKR/ex+2aYsQ27IgJrNsVIvJtrWb8DyPdM8AW9ZsJFoTR5JlwtGQCLd1XHLpLOneAXKpDNlUlg0vraWYL5Dzs292hXwqi2WaKKriE6ZYYTTL5h5N6IsWLcK2bUFWnofiZ/KJ73IwU6+YzfPcP59l+dJlWKYpVvNUBVmWxPlLgthcR7jCGaXyTt3qRsMPf/hDjj32WD7+8Y9jjZGbtXTpUiZOaibjh7pfefVVtLa27rE437Isjj76aKLRKBs3bhxzLC+99BKLFi3i+OOPZ/7CBfzyN7+it7eHM885iw+fdToHHXQQixcvBuBnP/sZRx55JEcffTTPPPPMbo9pP/Y9KhzZtwq8fazV2xGB6ASUxKw39qTvZFSMWKQhGqIdn/d3Xhzbwi4WMLPZaitasLYWSdPQG5twowns5gNwMyncra1EMj1MO3AG845ZMIIjnUpEiywNmVPFvKpqGngeuVSGQjY/PLrFLwIr8Q2J2jiJhmSVI1tXrRf5fZFQ9b1GqUyquw8tGPA5cguZvhRrn3uFDS+uJRgNMXFaC8mGWgKhAIoi47gunj8ex3YEt5UN0n0p6psbmTV/rl/4CX7s2NxOx6atNE6ayLS5M0Zw5EDPAEZZLIJ5nlflx0x/Gs916djU5n/cO+fI7ECage19FLN5LMPg4d/fx23fvJneju5xfd35VNaPSZCQ5EGOtExrjwueQFDn9DNPF7u9Y/BjhfPyqSwvvLCS1Wte3escCWNz1tCx4nksW76cSVMnk85kwPO46urPjPr6PUG5XOaTn/wkJ5xwAtdccw0ggtbf9773sXDhQh548AHUgMpPb/opp3/kdE465QPcd999ALz00ku85z3v4b3vfS/Lli3bK+OBt4gb5xuJSuRC17Ni/rJKbzyZ7TbkKMX6xUT6fri/nfP1QlEG8/VkuSpABwTRWf5qkyIcCdxCQejqAjKSKkKzPdsG06AxqJB2XYobNxKeMoXGSRNEoOqUZkKxCOFYhFwqy2srVom2BVu0rUiqTLK+llTPAJ7j4HgeyPi6OhcJCQ+vqnGwyhZL7xYi787WdpG7l4ii6QEKuQKKLIgJWcIyLVzXZfU/XyZZX4MSUMmmMxhlg1A0REAP4NgugZDoRQ8EdWYeModCNk/LjMkc/cHjcF2XTa+s548/+g2SJBOKhbFth2gyTj6T45VlK0j1DjDQ3Y+sKOQzOeomNDBp1jQ/A0gEucuSIJNYIk5vZw99nT0UMnlsyyYcC5NL5yhm80yY2kymL006naKUL4qFZtcjFI2Iz811/Sw7b6erfZ7rUewKMPCqRHy2iVpXRKGyEOxhlgx032hlPLuEQzFa5pAsS2Il2BTF+nPPPodlWRx80MH+T0gV3zfihsYsG9iWRUDXyaayBEPBatvMrvQTPT09PPHEEyxfvpz//M//5N577+Xcc88d+Rl4Hi1V/DwrAAAgAElEQVTNLdx222185qrP4Lkuti30J3uycqiqKvfeey/XX3/9LseydOlS0r0DfPTj53PCcYuoq63jz/93F7Ks8LVvf53TTjsNgN/+9resXLmSrq4urr76au65557dHtd+7DtUOLLzWRGm/ka1cA5FzfzF9P3jM2/8id+p2KFzxRvicFldDK3wpiRVudO1LIxcTsxxEmiahNe7DQp5aGqm8ZV/4BV7sBs+QbQmNowj9XCoGjiez+R8DZ+HBCiaRiAYEOZiPg+67nCBvOu6wkgsHuWVZSsZ6BlAUVXSvf2US2UaWppEi2I2LwpKWQbXwzJMLMMk058mFA2THkgjIeHWxAhHwziW7Wv1wtVdvKbJE5k8eypHf/C46rn/+MNbSfUMoEcG2+9s02bt869w7OnvJ9XTT8+2bt88zSMY0tFDOqFIENt2qvwYigqdWLlYpvXVDZTzJUr5IqFoaFSOLOYKIm9WkQlFwriuy9Z1m7njv27jxE+dscuvWlZkrLZWii+9SOiQ+QSmTcdzvWqhtqf8iCTtlB8rUgpJkVn16qt4rsu8gw8ekyMrrw9GQ6iqOm594WicVYHneRjFsnBCNwyam5v57e9+y2evudbXYu4d3HTTTXzsYx/j/e9/f/Wxz3/+81z5qU+TzqT5yLnncNIJJ3L5pZfxmU9fhWGZfPSij3HWWWdx4403cuedd1JbW8tHPvIRHn744b0ypndcsVe1k45DcTs4Zd4WW2Nu+HDM6AfQ84+O+Zr9Bd9OUGlVcRxR8CnKyMBZqVL8eeDYSOEIkmOjJKNM+48bGFjyKKknn0Ty2yET4SBawaS3tQ21L0X9rNkc8K5Z1fycStHU096JZVhk+lMgS+BCMZtHC6gYJWdQz+f6k6wEwWCIUCxMIZ3DMMok6hIYRbHSZRRKlItFahrqUGQJRVWwizYuYlXMNi0kWcJ2HGrqayiHwyiqQiCo8+73LqRj01ZAomXGoFmubVqomsY9t/wR/LyihkkTyPanSdQmmDh9MgFdhMH2dfVURcu5dJZQLEy6d4B03wChSBjTMLHKZdSmemzTEsJ3zyMci+LYFvUtjTRPn4ysyKx9dhXt67fgAeXioADe8/AdqiQkhPOloqoYpTKlfBFV07Ati1BUTPx2Ebqfh0x7EFcySL0URKuViB9YAE0cU1FkIbJ33FG1Ca7rcvnll7NhwwbC4TAPPfRQ9blLL72UG264gZkzZ7Jo0SKWLl3Kj/7zh9xx152EQiG+/c1v8/s//J7+/gGWLV/O//zmVv79+n9n3fr1BHWdn//kJtasXcOvbv01sqLwyUsu5YRFx5NPOUPyhoSzZ6qnHz0UJF6brGb+rFixgkWLFgFw4okn8oc//GFEsWeZFtn+NCe9/0Qee3wJl3/qMjwPoonYHmsRJEmisbERxxnUeDz//PNjjiWVStPd08PUKdP8z9TDdW2eevpp/vsXNwMwbdo0DMMgnU5TV1c32mn3401E+xN+1ILnu1S/CRKH+IHnk1v7O4ye59/4k7+dseMC5u7CdUVLpq7j2vZggQeCQ10XT5aRANey0MIRkCTqDz+Co37yU5785CVkNmxEiYZxBnrQYjHMdavZ/tPvE7rgSuqbm0blyL/eeleVIy3bwbYcwrEwki5hlIxqALZjOXh4VY6M1yXp7+pFDwarHClJEmbJYHtbp1jwlCWQxK6YUSxXtVOyIhMIBYklY2InMBph1vwDyfkdJbPmz62Gpad6+pky+wA2v7qRl558DiSJ/u29xGpjSJJMvCbOxOmTMYpl6iY2sPTuRzANXwOnKtV8XaNs4DixYfxYyhXJpbNMmzuD7Zs70IIBDn7PAvSgjm3brH12FVvXbcYyByOVXM9DcsQ9gyzLyLJE7YT6qmZ/NI6UJAk7lyW/9O8U168HPUhh+T8ot25CX3AEgWR8p/w4/GcykitVTaVuQj2f+tSnuOGGG2hI1vGh0z7EA399gF/f+mvuvOsugrrON7/+Df739/9LKpVi2fJl3PRfP+OLX76eTa2tBINBbv7Zf7Ph5Re5+ZZfgOdx6SWXcsrJp1QNVbIDGTzPI1YTJxgOjSj6JEmiqalpxJgt0yLTl8IyTWRFwXNdTjn5ZJY8sYQbbrxhtwvcCkZbqF26dCkdHR1861vf4rrrruP0009H0zQUTSWXyTFn1mxc10PTNDzPo5DLM2fWbPFbS6WYNGkSAIVCgVKpRCgU2qOxDcU7rtir2EnbBbCL4v7eewvp9QK5bUx75kZqtzyCVu7HjEykb8YZtB31NYy6q3CC8wn1/QSJ0du4/uUKvooOYA+284dB18EwEWI4GUlW8KQdiKwiYgPkaIzQ5Mk45TKSLLPl+98RO3uug2dZSLqOZJkcqpt4pols5pl2ygVED5yLJMvDzFQ8D/KZPCARDAWxTItyoYzrifNrgQBaQKxkyopCbVMdl31TtLzd/oPfsG3jlipZhCJhykXhbJXwReelgjB3cf2VOfzVOaNQIotHPp0nHA2jaioD3f3UTWxEgqqDmW1Z5NM51q1cQ2/ndsqFErVN9dQ0Cr1DR2s72YEMk2ZOpX1jG5NmTKFz87aqkHxgex+eJ1b3LNMiFAlTMCy6t3aJVUTTEtlJ4RD5VJbU9n66t3YxZ8G7mDp3Og0tTUiSxGsrV7NtQxvlUhlJgnLJd4vzPDxEvES5VMa1baGvUFRs20EPmvQsj2AXZEJ1EmZZwtEdzFSAgRckGt6THyaGHku7d99999HY2MhvfvOb4W1DY+ChRx7ivrvvJRqN4nken7joYizT4GP/9jEeePBBmic284Pv/YDHlz7O//3pDubPeze2Y3P3HXcBQrugaCr/WPIEX/3618Ab1EcdctA8vvn1b1A3sQFFUUin08Tj4sYjkUiQTqdHjGeguw/btlFVlZNP+gAPP/YonuuKRYYhuOqqq1izZs2wx37+858zb968Eces6CvsIauz2zu3E41GRx3LkseXsOi9xw2xl4aXXn6JuQfOrWpKjj/+eA488EBs2x5WUO/HWwPBWhh4DVHsvUkZ52owydTz/0nXkivJrf7lmzOItwsqO22O87oKPSUSwSkWwfPQ6+ox+vtwdyz2QCzCBYOEm5sJxBOEJjShJ5M8esaHcYpFXNvCy5nIwaDIqzXL0LWV5NMPcMpf/4bszwP7jCOjYQpZYagSr0tW9W6yLA+b191Ke2FRFDjRRIyB7n5R7EQjmGWjypHBUJB1L6xhe1sn3e2dlAslYYwiulurHJmor8G2BPeV8kVitQkGtvcNibIQO0+j8WPthHpKhRIDXb1seGENgZBOY8sEmmdMxjZM1EAA0zBY98IabMNECaiUiiU81yUUCTPzkDkYpTK5dG5UjgzHI/Tcdy9WJo3a0Age2MEwTncXxtNPkDj3fJCkcWnbx8OViqZWb0YffOgh/nrv/QQCAVRN5eKLPoFpmlz48Qt5+NFHmDptGj/7yc944MEHuf2OP3DkEUdhWRZ3/d+dOJYtpBmKzLPPPss3vv0tKne6iqqw8PCF/OQnP9nl73uguw/XcatB7bKiIHkSx79vEXffffeo79kVV47l7Llp0yYWL17Md7/7XRYtWsSHPvQhVFXl81/8Avfecw9f/dJXqxz55Ru/wsOPPsI3bvw6AA0NDaxevZqmpiZWr15NOp3eX+ztCSp20oEYlPp8o8W3SKEXTG9iwZ3vIVDsoW/GGRRr5hDrfp5JL95E7ZZHePHflmOHDsGVa5Hd7ndGS6fHrgXk40F5iMDbdfGwh+sTNE30xPvaBM2/scZxccolYTNtGn4ekQ2WheuUq2PzFIXO224lccSR1H7gZO779V/oaG0nWV/DQHe/f1xhLa2Hg1UHKtd1CQRlXNdDkhVy6SxT5kzHdV1kWWbeMQt4bcUqIWD2XTU9wLZs+rp6aZoykW2btorje57fiy/jIVEqFCkVSoSiYWRF5oCDZnHCuaeMcO968Lf3oAd14nVJjJLIuMqlMvR2dmOWTRzLor+rl0x/hmRdkkImT6lQIBgJIwFaQMU0DEKRkN/OKRw9W2ZMxvOoBuWmuvvp2rwNy7QIhoO0b2xDURUGuvvI+at1kiyhyDK2ZeP6mg7P87BNa9CxyxNB8q7r4tkelimBriCVw8iyRNB3tTIBtRYCIX34dz2Gdm/9+vUcc8wxACOslocZ7Pi/xa997et84YtfQNeDfOVLg0G3ifoaOrZ3cP8Df+XJp5ZhGiaHLlgAnsdBcw/CLBsiLsPX0R1x5JH85Y4/DTuv67pVfUOivoZEIsG2bdsAyGazJJPJEeNXNbX6d//x8z/GZVdeTlNjU3V3sIJf/OIXI947FirOZZIsI8sKqqYQ0nW2bN4sjAMymWFjeeTvj3L5xZ8c9vf68KMPc+YZZ1THfvvtt7NhwwZ6enq4/PLLefDBB0ecdz/ePMSnwfbnxb9lFZw3MYM2edCllDuXYxf78Mrj0yS941Dhx9fJk06xVG3nLPf1ClOWCmQZNRLBNU0kRUVSFQKJBJ5tE500mY7Hl2BmMgQSCWTDwHNcXMPAymYBCTUSpm/FCh4792yO+sGPiM2Ywb2/vIMtr7USCAQo5oWhljQWR+pStR1QUVUmzZhWHdpoHKloKq7j0NW6jXhdgnRvCtcRhiRVR2wPjGIZWZZRAxrT3jWT95/3wVHdLR/87T30dXZTO6GOUl7srhmlMum+lGh9dF36u3rJZ/IcePjBWIZJKV+smp1VHConTJnIzHcfOCo/AsQSMdrXb0FVFdSARvvGNvLpLLUT6gEwiwaqpmAbVB1EK2N5fskzHPWRRTi2PSpH5lMOgYYG7IJoUQURfWCWAwSbJgxy5Di07ePhyoqJDcCXrv8Prvv3z6OpKt/+zncIxyIEbJ26CfW0d7Zzz733suTxJViWzcJDD8M2TQ6ZN09wpB7AcYUB3rsPeTf3/vluER/lG5vsyj20AlVTsXbsSZfgExdexBXXXEVzc/OI9+yKK8dy9oyEI7z7oHmossLMmTPp7u6mpaWFW265hS9cex2nnflhPnLGmQB871vf5ctf/BJnnncWV1x9Jd///ve5+uqricViHHLIIdTX14/r+nZ5/XvlKG8jVCIXrAKoIdHGua/DYseLWY9/hkCxhw2Lfkbngmuqj8/4x3VMeuGnHPDUV9hw4v+j0PJjItu/hmxtQ2L0fJx/mYLPc4V+bihcj9dVofvOYlWdgiyDZeNVIhZkGVeScAoFJE3DzeeQ8IspxwHPxbN8YxdFRZIVtIZGXMdh+/LlPP9yK9uzNoVsjkxfCtdzsMuW0ENIEkbZwLWd6uRaLpREi4Wvk9i8aj33/fJOTjz/VGbNn0vQz/mxTRPbcnAcBy2gks/mKeby6MEgZrlcFURXHD79DxCjWCIQDJDuGxiR7wOQbKwV7pySRKK+lnRfmkx/Gsd2qJvYQHYgTTgaQQ1o6KEgzTMm09vZQ7pnADNmUsrl8RCTfmU1sBL8DrB1XSsAvR3dooDzPFSfjPOZHNm+NOFElKLfetLQ0kR/Vy+KqhBJxPwVXd1vv3Gr5CLhR1pIErFpMLByh5+JDTUzlJEi7zHMSubMmcMzzzzDSe8/kUIuTyQ2SPqJRIKuri4mT57Mhg0bADhs4WHccvMt3HnXXdz+h9uZOLEZ19/hnDNnDhdddBGf+sSlOI6D47osW7ZMuJ/5uXzBSAhVU3n++ef593//9+o1Acw7eB7f/ua3qqR7+OGH84tf/IIvfvGL/P3vf+eoo44CoKOjg5aWFgBCkXD1ryKRSDBjxkyWLV9GcMiqoOd5XPHpK3j11VdFa5T/WY61szfUuczzBOHOe9c8bvvdb8ln8jz4twc44ogjACGM37hpI/PmHTJs8nnyqeV88zvCXVGWZcLhMIFAgEQiQaFQGHHO/XhzEW6AUCNkW0ENglPa9Xv2FfT6eUSnfQgz9RqFzQ8wmFS6H1W4LsgKaiSMY1qAN1xzN+7j+Jzh+e9X1WEFgJ0TYcRyUAJPxjVN1GCI7KaNGOm0aNnMZH2etEUQO6CEwyihEJFJk0i/9hpLLryA2Ge/yubVGyiXSpQlBcuycGwbWZaR5JEcWSqU/H8GMUoGr72wmmnvmsGcww4akyNB5Ns5A8JgyyyV/cf9Lp6KA7fr4tgOravW4zkuZ3x6ZKTlaByZHcjguR61E+uHcWRfRw+T5xzAqqdeoLu9S7S8Oi5qQKNh0gRgdH6ECkc6aNEwtmXhOg6mYdLTvp2GliYK+QJaIIAcl1E1ldqmekzDJJaMUyoUq07gFf4fypGKphKYM5fChvXV8ymqCpZNcMbMwYvdiZlXpWVx0sRmli9bzqmnnlpdYK6gwpUtLS20bt6MbdnMnTOXn//kJu6+7x7+8Mc/MHnyZAz/9zGlZTLnnXMu11x9DUapjGmYPLfiORFtpCgEo2EKmRySIvHiihf59ve+499viN/GggWH8vP//vlYv+oqUpk0ET28wwXBhOaJzJkzhyVLlgy7xlKhyPVf/hLr1q8b9pahXLmjs6fnuVimxcJDD2P16tXMO/gQNm3cRG1tLYZhoOs6EyY3E4vFkFWl+lgoFCKREIums2fP5tFHH6Wvr4/Pfe5zaNrY5oy7g3dcsSdrEjM+DK7l0foAdD79xpw3tv05Jq38LxIdy9HKfVh6LYX6eWw/+JP0zjmPYHoTtW2PUopPo3P+cGH6lqO/wcRVv6Zp7e1sOu7HuFqUQvOPwTPRB36Hln8UeZS2zqrt/xtwffsUHq9PhzAabBsCASQtgBIMguPgmIZoMZGEPkxvbqG4cQNuqYgSjYIjWjirBKiqyLqOrAdRgkFc02RVysMLiF0Zx3LQQzr5dM4vODxkRa2uwiYbaknUJejr6BE5L66HpgcIxSK8tnIV3e1dXPgfl3PpjVfz5L2P0dfZW52E8uksMkIQbpt+QKci49mD2UWyKqMoqt/bHqR3WzczDxnu5O66goQ2r9nIlFnT0CNByoUiZtlAURVSPf1it01VfUF4CEVVmHLgAbSv34zruESScfKpLPlMnkI2L9pSknEaWkTffDQRr+5uhiIhIokoMw6ZI8jV84jEY5ilMnG/5SXdm0JWFPRQUGgSFBlFU7Etu7paWem8VlTxecabNXLroDwweG1aDGITVfK54eGsINp3vOhwofepp57K3X/+C4uOP55oNModt/8fji1uHC666CIuueQS5s+fz4QJgrCvuuoqNm/ejGEY3Hbbbei6zsUXX0zrllZuuukmrr32Wk7/yJm4rstVV1xJLBYX4eY75PIdfczR/O3e+zFK5aoDq+QvDFRIt7Gxkfe9730ce+yxTJkyhcWLF2PbNhdffDGPPSZynfRwEEmSq26wl1zwCW773W1iZ5PBlpPvfvM7yLKE64pV053pMwJBnQsuvIBnn3uOjRs2cNUVV3HKSSdzzDHv4bQzT6OluYUrLhPRb48//jgnnHACwbBow3Jsm81tW5g6ZQrxhFi5jkajfOADH+Doo4/GcRxuvPHGUc+7H28eZE1izjkemx8WRmZv6ljUIC3zr2HaU18hgYLuuhSBLcALEphve3LbC5DEbGhXFk5ebxdMBbaNmkgI2YIkIakasq4TbWlGDUcItzTTu2IFmfXr0OvrUYJiUcnK55Eq2nhJQotEkQMBtHAEp1iiIOtsXr4STQ9gWRZaQMMolcRuoOcRDIdECLXPka5tY5omuCKyQdMDmGWTB/7nL/Rs287C9x89Kkdm+lLggWXaWIbgbdHK6VVvjhRNRZZlYjVxjHKZno7hocuu69K2tpWt61rJpbNEkzE0XdslRwbDIbRAAMexCcei5FNZJFlEGTm2Myo/iq/Oo6axjrlHzENRFDa8tBbLMHEcV7Sl+hzp2A6ReLRq6pZsqBWh5ZI0zBhsKEcGgjpqczNaPIHZ0139qSjxOFJtQ5UjFUXGdZyqBr/CkUNbFk/5wCk89PDDHPueY4kn4sPa8Ydy5cTmidRNqOcTn/jEqFy5evVqvvut73Dd5z/P6WeJ7o8rP30FkUiEQDBAsr5GdDkpCq7jMv+Qd/OXO/+MJIl2X8cRxnE74rzzzmP58uVs2LCBL37xi5x66qlc8Zkr+cP//L4qSXAsG8nPyb322mu5+eabcRyHfDpXbcv87je/s1OO3DEw3SwZuI7L4s8u5urPXkMul+PCj38cs1Dm+hu+xGuvvYZpmnz2mmtRFIWvfv1GNrVuwrJtvnj9FwG49dZbuf322wmFQtx88827+1c7JqQ9sTZ9M7Fw4UJvxYoVe+14a37v0fsS+7SVc8KqXzN7yVV4skL/9NMpJWeilXqIda/E1pO8fO4TTFj1G+b8/XI6513GhhNHahTm3X0KtW2P8vLZj5Ge8v7hTzoDRDuvQ3ZH6ngqeNtyoiSBFgBz9B1MVBUlHPbbLC2Rj2fbI81XxoKuD3MiU4JB5GAISVMJ1NRiF4tYmQxuJo2k66jJGnAclFgMJRbD7utH8VsinGKB9VaI0sSpZEumb4SCiEjwM21UTRFho55HJBZlwtRmPDw6NrQjKaIHPRqPCZLUA8w4eDYnfew0Hrn9flpXr6eYK1DI5jANi2A45DtzDRYGnuehagp4wtETRFshHiiawjlXX0jzAb7419dMbNvQRve27YLADD82QJYpF8rE6xLYlkUpXyJem2DKnANwbIc1z75C05QJTJ83u6qF6NzUTiGb48OfPI+pc6ePaO/o3LyNJ+99jJpGYcqxbcMWejt7mH7QbLrbOzGKZTJ9KSRFJhgOAx7RZJxjzns/k5sn4TrC6UtYV7t+tp+GoqpVw5idYcf++h2LncHg9ME1MMe2URRljzN/TMMkn86OOGY0GSegB6qPua5LdiAzLGRYUZWdXtfKlSt5+eWXufTSS/fZ9Q0dl1hpdpEVmWAoKKzYHWdY4SrGkPdjQRwURSEYDhKOR8fdbrN27Vrmzp1b/b8kSSs9z1s4rjfvx17lyDW/9+hbC57BmyJ3GCpt6Jl6Ml3bnqDBMWkG0sD9EhhvW3LbS5D82IQxBJZqNIoaCuG6HnZR5Ks6ljU+jpRlZF/i4DgOgUiEQG0tiq4TmTARI5fF6O3DzOVQNBW9thbXstHragk1NjGw6hWik6dUD1fo2EbinAtptUKYhkE+k8exbcq+cUplMaxcKFY5MhgJIatKNTJAURX0YJDaCfUk6pJEE/FROdIom37h4kc8+LtbsZq4MDkrlYnEY9iWyM8zimXe/d6FfPAi0V43VFOoh3U2rVpPIBDAKJV97bhDICSMYQqZHMUhHNm2tpV03wDTD55F83RhhJbpS+HYDvHaBAcdOX/cHNnT0U1A18F36M70pZBkmWAkhB4KoukBGpobad+whUWfOJUZB0zHMqy9zpGVlsW9yY+wbzmygpUrV/Liiy/yb2efNyY/ArvNkTuOqeK8GgoPCUzfyxy5p/z4jtvZq8BzPbJbwCru2/OE+9cw6/HPYAfivHTekxTrDxr2fCAndDjhlNgqLtXMHvU4peRMaHuUUGr9yGJPqSU/+beouSWEBm5GGqXV5W3b1ul5Yxd6PuKHHgauS/6117CzGRGNMF4YQ44tSTi2334iSXi2g2uUcQoF0AJ4xSKmaRKaM4eW8y8k8/RyMt3bsbo68QwDORJh8pyZrHMC1MRi5AYyBCMhsqks4FHKlwhHQ2i6Tl9XD47jMLC9HyWgYlkWsiOLm/KBDLIiM3nmVGqaatECGqddenaVCHKpLB2+Tk+SJFzPQ/ZX9KSKBzbg+it1ji1y5qYfPKu6mgiDIe11zQ3UtzTieR6vrVxNpi9DMBbENEzSvQOimFQUbNNm24Y2SoUimq6RHcjQvm4zDS1N9Hb00N/dR7IuyTMPPcnW9ZtZ+P6jh+kfGlqahq1iIomdR8e2wYNkgwijXXT2Bzjk2MN48La7aXutVRQZvvmMHgoSSYy/cBiKsfrrK2L0PQlb3VVkQjWyYcjO4mgBqpXg1eHHG+k0NhSHHXYYhx122F65vrGuY2gg7GikPLTlp+IkapaEq6jnebiyU22TSjbUjnkt+/HWg+d66DVvXqEHI6UNRu8rvLL0GuZvW8Y84HAPlr8tiW0vwnN3+v1Ep0yhYeHheK5L5xOPU+rpGf9iqOtW2zFRFKyCyNhTdB3XNLELRYxMGkXXMVI5bMMg1NDIuz59BZNP+zCPnPpB8u3tOOUydrFIuHkiB577Ebr++g+MUpk6X4uWTWWxDINIPIoH6KEg6d6Bqu4r15/B9nlCUYS2PRyLEEvGx+TIbRvb/JxXoZeXJYlwNOKbr5hIsky5WEJRFBxbzJsHHTW/eukVfqydUIckSRzynkPp7+pl24Y29KBOMBIi1d1Pf5eFGlCrAeXbNrSRTaWRZZmB7X3YpkVDSxM9W7fjeh6haHjcHOlJEq7joQY0IrEIpXyRqXNncNL5p7Hq6RdJ9fbT39nL5jUbCUbCyJJEQNdJNtTudY7c0zDyvcmRibrkuCMYhuKwww5j5tTp1QzcHa+tUsjtLkfuGJhe4chhHgFvEY58RxZ7lRyhXAdY4j58n6H5lVuQXZvWo24YUegBmDGxy6IYGQDsQGLU49i6eFw1xt69syNH4uYeQLFaR33+bVvw7QSBpglM+cy1eLZN1x9+T//Sx8f/de4oaK+YnPhmLpZhIIVCghgt3yDENCm9+ir9jz1E41lno9XXU2ptRY5GcPMFtCkttHeXyeVKOI5Lui/lTy7ixtm2HcqFDK4jQkezqYwgImUwrBtEj3//9r5qXz8MEkEhWyAQDKKHdOomNIAkkU/7+X7RMLZl09/VQyQRI5KIIUkSsWS8anddwVAdgvg4JIyCWLEMRsPIskw+m0NCYvahBxFLxslnssTrkuTTObb44e7dW7uIJGIE9AANkyYQTcbo3to5Qh9YIeQK0n0p/u/H/8OmVeuxTBPTMAmFQ7z67MsUcwUkRaJ5+iQCuk44GgF851DftGR3sSuy2qVIPREAACAASURBVLElo/KbGEu/MJYT19CVwh3JYGcYz/H2xfWpmjasdWWs8+6MlCtjN/w2FhBzjeu6uIaF9C838/xro8KR/avZZ/y4J9IGrWY2esMCVnYs40APZgL/9MDe//MagkF7cUnXeddnruagK67ELpd59j+uZ+2vfyX4bLcO6X/Arguui1Msktu4ESUSwTNNLMM3U0mncUolXvzud+hduZJFv/1f2h96kL4XXkSvSWKk0qSXPEJNrIb+LsGPIOaWWDKB67pkelO4ruiEyWdyyLKMZZq+SZToItFDOqZhsm3jVt531knVYQ7lSD0UIl6bFJy3A0fWNNaNypETp7VUjzUaP3Zv7RKREZ6QXMRrE2RTGSRJ41PfuIaXl60kn8kyadZUtq7bTDAcrHKkpgeYccgcwrEIoWh4lxxZyOZ59pHl9Hf0MLC9l+1tHWInKhph06r1HH/Oyfzj7seq5mqSJCEryrjcNMfCzjhkd/kR9i5H7mt+hH9tjnxHFnvVrL3Yvncai/mih4FpH9y3JwKQoxSa/wstcy/B9O1ICJHyUPyrFXyeZdHzt/upPW4RiaOOprh5E8XNm/GKe7hlO3QycF28UmnQzAWEaF1RyDz3HPlVq4nMnUtgwkQkwCiWyDy5lEOmHcCUz11DccN6Ms8/R+LwI4jMOZCutk7++MNbCUXC1E9qAs8j05/GKJbRwyGiyWjVYcsyLOJ1iWE7cRUisEyLR26/n1w6W31u+kGzOPb0E3h52Qo6NrUzde4MSvkSLdMnj1g9rGDa3BnDxOEAwUgYx3Hp7+wVeTQ+uRbzBZqmTKySXyQeRQ8FKWRyyIqCWTaIJKKE45Eq6dQ01VY1D68++9KI1pWn/7aUugn12JaNZZgEQkJEn09n6d7aSaYvRU1T/fAf7DhWEsfCrshqvCuMFexqJ2138XqPt6fXVy4UhXZzF+fdGSlX2l+8qnmS30bs59rYu3tzuR9vKiocqUaBnr1//J1JG5pfuYXeOeeRbH8CgNTUk0SrIkLD17Top2zLttG96T4mAY1A594f4tsYg5zvWRYdf3+M6WefQ7CujunnnkvbvfdS7N6+eyYufkbtjnW/UygITvQhB4NIgJnP0/7Qg7Tdfz8Tjn0Pcd8AxMjl2Pj731H37vlccNnltP3tr0w74wyajjoaSZa566e/wywbxGoT4kbY8xjY3oeiqUyaMZVCLjeEI01qmur2GUeOxo9qQCVemyTTm6pq7fE8LMlk3QtrCMcjFPOF/8/em8dHVd/7/8+zzr5kDyGByA4KUnADLW5Q6wJKq7a3XpUq+lVpVX5trVf9etXe9trF+3WtvbZVrFbb2lqplEVE0FpRREREIoskEBKyZ5LZ52y/P87MkH2BIFR4PR48SM6c+ZzPnCTzmvf2emXN2BOxBFrS9nVTHCqegH2NDEcGC3Oo/GRXj/yYqSy6/V4Uh5rlR9XpoKm2njdfXt0tIM242x8OjhwsP8LQcuTh5kf4YnPkMRnsZbz22ish0XZ4r5WpxKW8w/s8z8hU7lI9b0jOVP4c3SXXu0LzzsLR9heworaKZBd8YYRbsOfkWt96k7b33sNRWIjW0mIHaANBpqrX1ctPkjordmaQVu6UVNUWdxFFEtX7UHLziFVVore2gmWRqN5L1c9/iqgoSDlBml9bRWzXTnJmnoUv17YgMHSNWDiGaZg43A4SsRj5w/I54cSxqA6V1oZmZl02p1MlLoOuFbIMli/5a6e2E5fXTd2eGpY+9cce5wS6tVUCRSOKqd6xB6fbaQt+kFZCAxr27sdMK5aKksi4L02ktaGZiadOoeL9Ldk5A7ArcAXDi1n61B/Z+dGnFJUO450Vb3ZqXckQlSutPCYKAoJgD7iLkkTZuPJs5rfjz6yvTGJf6I+sBlOFg4FlCgeDQ13vYF9fpM3OWB7sdTvuXZREDL2jn41NanIPv8fHcfTCmWuPOERrhn7toRhtCE79Lm3pYC/A8WCvVzN1SWL/2rWsvuLrlM75Cm3bd6An4gMP9MT0PKAF2b/pjjYPlnWgJVQUESwLyeNB9XiRfT5SbSFaKyrwlAynectHxPbXYWk6dW+9RdunFeR96UtU/Op/adywgbFXX8OwUWVU79pjf7g2DGLhGFpKI7e4gPrqWvKHFQwpRzo9LnZ99Cmb39rIvIVX9MuPhaXFtldbevbP4XaSjMYpG38CTbX1YIFpmVl+BDpxZMcqUDwa5bOPd/D2q2sPih9zinIZOaF7QHq4OHKw/AhDy5GHmx/hi82Rx2Sw5y+H0Gfpeb3DnHDOBGdqpIZ47oRez4vl2CqJrtYdPT7uCu0Cep/p6wQpl0jZb3GEXkRKVSEntgDdh7f/dYK+tFSyqoJh/5EIogQCSB4vWmMDgqrinTwZ69OKwfkNZQZ7O54vCCCIiD4vZixmk6hlgSQhSBIIYrb8bkUjtLy1DsnhRM7JQWttwWgLobe3oeQX4C8rw/J4Sezdixb6O18653TefPk1RAS8OX6cLifxaBzV6aS5rpm2tDFrPBwl2h7J+u11RG/Vsq5ZPi2lUV9dB5bZ45xAT4SopTSefuBxWuubs1YUqtOB2+elZFQpocbWTuTnC/oZO3Ui1TuqOh13upysfuFVQk2tuLxuGmvr8QX97Nu1h2hbhIsWzM9mToP5ObZyGmCZJoH8XHRNY9LpU9ny9geYhnlAKayfTGLfP+rBk1VfOJi2lsO53sG+vqF4HZk1DsxPZFqfAKu7F9NxHN1wF8H+d6GrLdVQYChGG9wlMxEKp0HDJtRujx57EB0OMj6rmCaiopDhTdnro333bnb/+SXKL70McRCzXLLbjWGa9mhDByGzjJiZmVGoBvuaomivL4pE91XjHTESPR5j1wsvIHvcuIqLaf34Y0BAdKiEKiooOe98Wj7ZykcP/QLHeXMxTZMRY8tpqKlPqy9blI4ZQd2eWprrmmisbUR1qJSMKiVvWEG3PffVTdKRI1PJFPt3V9NS30ygh1nz3vhx1fN/o6m2gVQiiWWZqE4HnoCXWHuU4pElA+JIXdPYU1GJJIm4fJ6D4seRE0Z3C0jzxgxDlL6YHHmk+HEort1xjSPFkcdksOcugFgdJFv7P/dQER52Ov76jeRWraCmj2AvVHYuADl7VtsD18KBH7yUChOo/SeG7KZ92BkDu7Cgksy51rZnCL2IFP8EWes5kOwYFh2dgV+6+VSS0nNzGpYMgiwjeTyY8ThyIAdBEFDy8tCam3peJkNUkoTocGDGYgiyjKAoWLpue+iJYtZGQUCw7RUUBUs3IC0SYiYTCKZie+MlU2CZGG1tpJqbEVQVyeXEiEYRoxHMZBLR4SBuWuzaF6Jx+3rMthDtKQNBkjFz/Dg9bsZMGU9bUyvJRBJFtdW13l/9DrW7q7PkY5omn36wlTf/8hqSLJM/vLATQXVtO9lT8RnRtghjTu57TqAjFFVh7vVXdFIEAzs7OeqkcVklz67oSorLl/wVXddxelwoDhVDN6it3IfT4+KESXZLT4ao2ltCmOn5RkVVScaTBPKCDCsfzohx5VRUVGQH+fv8LelnEPxgcM455/D6668jy93fKrtmCj/e+jGCIPDlc2cd1LX6yjxqmsasWbP4+OOP2bx5M2PGjOlxjXXr1jF37lyqq6sJBoMsWLCAe+65p9fzD/a6P//5z1m6dCkjR45kyZIlyIpM+dhRnHTiSVimyVOP/y85OUGuv+kG3t3wHs89+7ustPasWbMQBAFZlnnxxRcpLCw8qPt1HIcPjZsh0cphmdcbitEGUXbiKb8AGjYhqAHQDnOLzlEOM5VC9qTnmqNRjHgcQVGQHA5ktwvZ40Hx2lL9GUuEnhKigqoiORy2r140imWaOLw+TIcDI5XCXVxMvKEh7TcLqt9PKhRC9ftR/AHiDfX29ZNJJIeD8O7PsLCDlHhDPZF9dtVW8XhINrcgKQpGPI5hQV1rjPAHn6BrOlve2YQsK6guFX9uEF/Qj9vrpnLrLkzLYsT4cuKROO+ueKtTC2Y41M7rL/7d7iYZUcw7yztXyzpy5J6Kz0glkln/u95mzTuiqxBM126WgXLk8iV/JdTYgq7pqA4VRVVobWimdvc+Tpk9A9M0++XHguFF3QLSioqKPgOaw8GRGfTElb1xy9ZPtgIwbdq0Aa8/0DbSyspKrrnmGgRBoLS0lOeee67Hmb6qqipGjRrF9u3bGTt2LPfddx9nnXUWs2fPPuhrZ2CaJnfccQebN28mJyeHl156KbvGt2+8jnFjxnHH4u/z+z++wB///BIIsOiWRVx/w/W8+uqr/PjHP0YQBC6//HK+973vDfge9YVjMtgTFQE9aSFKh99QvXbKzQzb8r+MfPe/aB15AbG8SZ0eV8P7SPlKSQRH0zLyK+TueY2SzU90MlUvX/+fSFqU2sk3YiqewW0gE/QFInj234Wo16Rn+XrGUVftczgRZQkzkYCOc3i6jqXraKEQosuJkmu/wTmGlRCr2Gaf07U9UxCQfL7sixTdbkRVRVBVnKVlSG430YoKzGQCORhEdDiQTYsRi27FNXIk+//we0Lr12NEIlimiSWKyIEARiRsK4BaJlgmsseLGY+DaRHd/im+KSfzQUUNSUHBLRiMKg4QCceoCWs4XY5su8e+XXvJLyno1IaZIZ+zvzaHjWvW8/5r/7TVNyURsCg+oTR7zpxvXdIpy2cYJqrzgORvx1m6vtBT+0pHX6CBIFiYiz83SMO+OuKRGMm4LemXiERp3t9ItD2Cx+/tsdXmYGAYBtFQmPCnFSQ+3oxz8lR8EybiCfoOSpWsI5LxBJFkqhs5ds0UVq3cg67rnH3+Of2u2VPFtq/MoyAIvPLKK/zwhz/sd+2ysjJ+85vf8P3vf7/fcw/mug0NDaxdu5a3336bn/70p7zyyitcccUVTJkyhTfWvNFJsfPRRx7l6Weetj2g0lizZg2KovDss8/y7LPPZg3lj+PoQazJfjtDoqemkEPCUI82+E77v0ib/x/G4eg5PdohCDjy8zGTSfREwuahdKublUpljbndw0oQJQnLsnDk5BKvrc0+3z7Zbs2UVBX/mDGEKytRAwFklwtnXj5aNELxWV9m3Lev481vX4sWiaD6/cgeD67CIs7+7dPknHgifz3tVGK1NTjz80m1t4MoIisqRjKBKctYhoGk2H5woqJgmSb169fTjoJ1yixi4QiKqlAwvIhIaztaSqN80mhESeSzj3cTDUd6FTmJtkf4/c9+Q2tDEy6vh8aaBnw5natlHbnNMExSyRQevy/rWTcQfoRD58gMPzbX2qrc4dZ24pEYsixTX72ffyxdwynnzxgyfgQ6CIQkiO7ew+5NWyk8fSrF005CPgTj7kwAqWs6yXgCyevplSMz2LJsKbquDyjYy3DlQCtzwWCQZcuWEQgEuPvuu1m+fDlz587t8dwJEybwyCOP8Pjjj/e55mCrgn/+85+ZOHEiv/jFLzqtsbe2Gt00UBwKvtwAF158MTfdfDOJeJwL513M9Tdcz8knn8w///lPRFHknHPOYeHChQQCPQs3DgbHZLAH4C6E9ipAhB6cCoYMsbxJ7DzvCcatuZnpv59G06hLieeMQYk346vfiKH6+eiKNwDYed4TfOmPZzJ23W3kVL9BLHcCvroN5FSvJZYzjsozf3zwGxG9REt+gaPlWdTI3/sN5npK6B6RANDQMQ3dnqHrCkHAaG/DOXY8al4+iZp9JPfvtwfGdb1zsJf+Z8TjCJKEoCiIbg+ushFILhei20WmtURQFSxNR5QVPOPG4ywrI/zxR8R27UJQFeS8PMxIBCMes9tbMj5HhoGl66RamhFVB5ZpYBkGqYZ63FqMlOhGyvUjIODJUZDb60k2NmUJw5frx+3zdlL/ypBPZlg7UJhLJNSO6lCJtIXZ++luikcO7yQ/nUEm+2gHhjYy7R9d0bX15aIF8w+praB84miqtu0iHo7aQi9peeucwjyi7ZFO2dO+2m4GirbqWtrf+QdaTTWiy0PsnbfQ9lSiz/wyueVlA1rDNE1uvPFGdu7cidvtZtmyZRi6QaQtwuLvL2bxbYuZMGECl1w2lzfffJMnnniC5557DpfLxUMPPcRTTz1Fc3Mza9eu5fnnn+eWW25h+/btuFwunn/+eT766CP+53/+B4Cbb76ZCy8ceGVDEASKigb2QeLSSy/l1VdfZfHixQNefzDX3bhxI+eccw4As2fP5ve//z1XXHEFFRUVnD/7fKZ/aTr3/MfdCIJAfl5+2nD4QMCtpD9YxONxTjyxexvfcRx5+MvseT3jMHDjUI82JAtPpuyb77PndxOxvqgVvt5GEywLLRy2Zdwzc3hZsQ57xjxWXY13eCm+UaOoXrGcZEtLtstFkCQs08zOqFumSWTPHkRZRvb6yJt8EmowB1PXEJ1OPvvDi8hOJ5JqV/okVaXw9DOI1OzjvTvvQMDCU1qGkJ5tjzc3Y2gpRJcLYjEsw8CSDPRIxE6KGgamoeMuKaUqboAWzlrOuHweIu1hPt24ldIxIzHThupdRU4ywdmbL69GS2k43K5stSzaFibaFmHUSWOBzrN8vVXneuJHGFqOzPCj4lRpqm2w22Et8Ob4GXbC8G4VxqHgyEhrO4m2dprXbyJSVY3idlO76i3ad1Qy5tI5qH7fgNfKcOWOHTtwqA7+8PyLgEWkLcKN/+f/cO9/3sv48eM555xzWLdu3efKlTk5B4IyRVH6TPZOmzaNXbt2EQr1rnJ/MFi2bBn5+fmcc845XHXVVdxwww0APProo9xyyy288/Y76JrO8GEl6equI8uLI0Yc8KWUZXnI2juP2WCvaHo62Psc/IPqJt9ALO8kSj94iOC+deR/9gqaK59o/hT2n3R99rxEcDSbvvU+5e/8JzlVK8mtXE7KM4x9X7qVPWf8J7rzEHupBZVk3g2YUi7Ott/36MfXF46EkqeQHhC3MvMCmUHxNPHJObk4hhUjebxIHg+Sw4mr/ATaN27AiMezM34HpKMtkMBRUICrfBSOYcNI7N1LbNcuzGgUpagI9wmjEFQVvbkZBJHm1atoWr0aIxm3VT5FETknFz0awYjFQBQQXW7MRBzJ6UIpyEeUFUS3m5JvXY171Ciiv/8D6/+xOSuvK4kiBUE3M748jUlXfQM4QD5gZ8tCja1U76xi5IRRBAuCxCJRcgpyaW8OIXQY1u6NoAaafexoHuvyunr1ABoMCoYX4c8NEijIJR6JoqgqqtPBmCnjibZHsgQ9VNduX7MKLdSKnFdgfwhwu9H219D+xmvkXnd9/wsAS5cupbCwkN/85jeYpkm4pQ0ro8CVbjvUUqmsgerSpUtZu3YtLpcLy7K48cYb0XWdhQsX8uqrrzJixAiefPJJVqxYwa9+9StmzJhBKpVi5cqVna67YcMG7rjjjk7Hpk+fzkMPPTTg198RkiQxd+5cXn755R4fv+WWW9i2bVunY4899hiTJ08e0PqhUAi/3w9AIBDIEuXOnTvJycnhpptu4p331zNv3jwAnG5XJ8Lau3cv3/jGNwiHw6xYsWLQr+84Dj/yToKGD0GLDv3ah2O0QVU8nHBdJXuem4wR+wJW+PqaQTdNWzTM4cBMJOzAzzDAslBcLjxlI/CPGU1o2zZyp0xh+JyvUL3877Ru22bzqmUhud0YySRGKoWoqqiBIL6RIzn1v35Czeuradr0Ic3vv0+yLYRv1CjyT56K5HLR/tkuWisqqHljLVosgtbWhiBK+MeORQuF0KPR7My7km75VHw+vCNGICoqaiDAqT/+CalAPvsefw5DNzq1FZZPGM24L01kxoVnZ/lRSlcoO/KjaZrpalmAplpbPjbDkZIiHRI/wtBzZIYfBVHENC3ikSgev48xU8YjSmKnIHaori0pMvtXrkMPR3EW2N1DgttJvLaeyr+sYPy3rxzwWhmufOjBn6NpWtZeSlZkW1inLdLt/M+bK2tra1m9ejX33HNPn69l4cKF/PrXv+7xsQceeIA33nij07G7776bOXPm9Hh+BvX19Zx11ln87Gc/Y/bs2cybN4/W1lYKCgrIzc3F6XZ2Gk158sknufTSSzutsWLFCkaPHo3PN/AgvC8cs8Fe3kSozoPofj6XgK+9ZAbbSv7c73lJXxnbL3j6sO5F852LI/w3BDOCXdbszZ6he9mzr1t1OAJBS9O6Wx/oHap8pkF05w5knx/XmLFYooilaQiSfGBTgoggyQheD0IqheByIwdyaN+0EdcJo3GOGoUSiaABRns70e2f4p08BS3cTuLjLTiGDQNMSCQQVAdGJIzWUG9nQw0DBBlTS9mVxmgEM5VEyc1DjEYJb/kQtSCf0tNOwbX+I9oiB5RCXbJI6WkHTLEz5NOwr47m2kZikShOj5sdm7bhzw2QiMXJKy5AdTqIR2JE2yPEozFGut09DqpLssSJp5/cbzawq3nsQGb7+kNPsw09EfRQXdtZXIzW3t6pKooo4SweeOvpjh07mDlzJmC3XEiKnP2lFjpmy9O4//77ufnmm1FVlR/96Eed1qqoqOAPf/gDq1atQtd1ZsyYAfQ8o3Daaaexbt26Ae9zIFi4cCFXXnklJSUl3R775S9/eUhrBwIB9qVnb9rb2wkG7UpNbq794eSyyy7jww8/zAZ7XTFixAjWr1/PX/7yF37xi1/wyCOPHNJ+jmPo4R0GeSdC3ftgDFDceKA4XKMNsjNI2b+9T9XzUyF5GPwijlKYmoapacjBoN3AkvbCA9AiEYxEgob33sM9bJidhJRlcqdMIVRRgZUO9DIBo+hy4QgGGfblWTR9sJE1//ZNCk4/Dd+oE0i2tmBhkWhspH79ekrOO4+GDRvQIhEkVUUPh5FdLpItLYS2foyzsLCzgIvDgagoJNva0D/djmf4cFJtIfatfo3R/34NhaXD2L11Z9aDTHU6UFQ1G6j1xY+xcJTSMSOp2vaZzY/ROFgW0fYILq+baFt3sbOB8iMMPUf2VGEMFuQSamylcV8dTq+LGReePaTXVp0OHHk5GLHEAZ4EJFXBWdj/THxHZLiyJ4VMQRQRFbuaZqWTFJ83VyaTSa699lp+/etf9zhv3xHz58/n3HPPZdas7rP29957L/fee2+/1+uKQCDA2WefjSzLzJgxg127dvHss8/ywAMP8Omnn3Y697333mP58uW88sor2WO7d+/mZz/7GcuWLRv0tXvDMRvsWRZIKogqmIkjvZvPGVIukbJn+z8vLe4iGiGwDMTUbiR9X++nM8QBnyzb7ZBWWg2so8xzGnpbG0Z7O5ZpIVRVkaipRnK5UfLysAwdIxZD8vkRLFvBU7csZEEgvqcSM5Wy/9c1BElCa2xE9HqRfH5iO7aTqqtD9vuJfbbLbncRBCRZxvJ4EWUJPZ5A0FK26Yoo2KQmSbhGj8F34klYlkWyppaGpUspuvwKZo7OJ76nEiWvANnvB9Ok/e03EfUUnvETsgSwfMlfOxmlWpZFqKHF9huSZYIFOTTXNuL0uBk9eSzJeKrboPpgsoE9mccKoohhGCx7+s89EuFA20r6I+iML1FPrauDgW/SJMIV27Km9AAYOr6Jk3p/UheMHz+ed999l0suuQTTtFXWMtkNv99PXX0dxUVF7K60B/ynTp3KkiVLeOGFF1iyZAmlpaUkk8nsWtdcc012uFrTtGwfflccSmWvpqaG4cO7zz4Fg0HGjx/PmjVruj12qJW9U089lV/+8pfccccdvP7665xxxhlEo1GcTieSJPH2228zbvRY6qv34/F5s4QP9n2QZRlBEPD7/bhcrgFd8zg+X4iKwMg5Fq27IDbEwd7hHG1QvcWMu6mORKiKvc+dCOYQb/5ogygiu92Yuo7e3t593MGyCO+pQna7ceTk0LBhA45ggERzC468PBKNjTgCQURVxYjH0RN2kLT/H/8gFQohqQqtFRWY8QTRmn1okQiKP4DkdtHw3rskQyHQ9ayYi+zxoAZzEBUZyeEkZ9IkQp98gqAomLput346nRTOnEHxGTOwLIu2HdupeOwRzvrKBZivvYIxZhLSSDvAczTXUvXE/0P82tcoOmNGr/xYv7eW9pY2/LkBBFFA17QsR446aSzvv/4OtZUHxM4GWy0bLEcOpu2yYHgRDqeTT9/fSiwSRZJl4rE4Oz78hGBBTo/XPhiOlBUZ/7hRhHftyfKkIIpYpkHOpN4FvHpChiu/MucrJGLxTq2Sfp+P5pYWkskkO3fuBD5/rrzxxhtZtGgRkyYd4P/euFKSJObNm8fTTz+dHU/I4GArezNnzmTLli2MHz+ejz/+mEWLFrFnzx4WLFhAS0sLTU1NnDbtVEadcAKLFy/m1Vdfzd7DcDjMggULWLJkCR7PIDU6+sAxG+xVr4VEc//nHdPIiLt0gKvuPuTkll5bQIcs4BMEW4TF6URUXBiJXiJyXccSbHNKPRrBSiTQUilUKQ+cLgiHMUKtduDocoGmYcZtDx/F70drayO+c4dtqyDL6K0tmOEwotuNHAziGjGCVGsLVjKFZeiYomivoQmg28GdZVoIFuBwgKaRqq3FHDPWlsOWJWS/j+bVqxBEEe/kKeitIcxYLD2gbmR9+HLPORfZ5ydQkEPd3lrq9+6nsLSYQEEOsqpw6pyZzLjw7G5k5wlY3TJ9g8kGdlXx1JIpaj7bizfoJ684vxsRZohy32d70ZMaLz3+HGNPnsDsb16ML+jvtHZfAWz93tqsL1GnH2kfcxO9wTW8FE9hIVrbgd57Z2EhruE9K6P1hHnz5vHqq68ya9YsvF6vnVUTBHRN54qvXc6ti29j8kmTKS4uBuCmm26isrKSZDLJM888g8PhYMGCBWzdupVHH32UW2+9lfPOOw+A22+/Pdv62BUDzVZeeeWVvP322+zcuZM77riDiy++mAULFrB69eoez7/11lt54oknuh0fbGWv63UvvfRSZs2axVlnncWIESO4/fbb2bZtG9dddx0ej4eS4hJuvu5GU7qFbQAAIABJREFULNPitttvY83aNfztb3/j5ptv5qtf/SpXX301oijicDhYsmTJoPZyHJ8fqteCFj48ax/u0QZnsJxx342iJ0JUPXciZrwRrMOsxnYkYJqoeXmkmpsxO3rnZXz30l0xRiKBIElE9u4hUmXiKRuB7PZgCU3E6+uwAMnhwDIMtHDEdm1Iz/y1btlCeOdOvOUnoLW1kQyFSIVaESQJT0kJiaZmJEMnFQ6TbGlBcjgQFZl4fR2S24PkcmNpqXQVScVMpdDDYfRYDNntxtIN2j/bRfTpGsrHjSDZuo9A0g1AW80OyAl28uILFuYSDUeyVbDC0mJEWSK/pCBbDeuPIwdbLRsMRwLZQNLpcbL6xWUYhs458y9g/CkndgtiFFXB4XJSMqq0Ez821tjG6VPPPrWbl97BcKQoihSfNI7wh1tJps3mLcAZDOAZXjyotTJcOXvO7OzMnmVZ6JrOv33j37j1/7uNqVOnHhGuXL9+PS+//DJ79uzh4Ycf5rbbbmP+/PlcddVVvT534cKF3Hfffd2OH2xl7/rrr+faa6/l4Ycf5oILLqC0tJRVq1ZhGAYr/76C11ev5tRpp3DHXT+kbv9+Lpt3KaIssXLlSh5//HEqKyu57rrrAHjmmWc44YQTBr2HrhCsvnrBj0Kccsop1saNGw95ndp3LGrfgXjT4fES+qJCjryFq/lJQEcgQ55WjyqehxT0ZcRVRNFu3TRN0HQOSGmK4HSCpiNIIkpuHpZhIMgyjqJi1KJCwh9+SKqx4QDxpa0bBFlGcrtR8wuI76myK3KyjLN4GILDYb+elE7gtNOwDIP2je+TbKhHdDoRVQd6qBXB7bY9/mprDrT2pfcsBwKoBYX4ppxMqrEBIT1rIufZxBLe8hF6WwjJH8B/8lT7TbK5GTkQJDBvPm+8tJKP39mEx+dB03T8OX7cPg/nXXkRxSNLWPb0X9i5uYLS0SMIFNiWE+HWdoaPLsuS3TvL36R2dzW+nANvml3PySDjHRROE0DNrj2AwMTTJyPLMpZl0d4cwhvwc9GC+Sxf8ldaG5uJhMKEQ+3Iikw8EiOnMI+r77yxx8xob/vJ+BK1t7YRaQvT1thKyahSLv/u1TjSHjYVFRVMnDjxUH6bvpD44IMP+Oijj7KkcDSgvnq/bTrcQZDF0A1ESaSobNiA1uj68xYE4QPLsk4Z8s1+QTGUHFnztm1T9K+MRN377F99HXqsHivRiy3PvyokyVaUFkUs07RVoNPHsSwkpxNME0dBAc68PBJNTfhOOIGi08+gYcN7NH3wAXpaQAsLTENHdjqR00rVmBbxxgZE1UFg9Gi7Sm9ZuIqL8Y8ejTMvj73LlhHZuxdE23vPkZtLvHY/Sk4QBIHonj2d2t9FRSEwZgyK18fw88+n8uWX8Y8ZTe7kKdlAp2rpKwjAyEsvyx6L1uzDVVhE3jcX8OpvX0LXdBRFRtN0ZEVm7vVXMHryOEzT7JcjB8OPMDiOBIi0tePyutlfWUNbS8hOCAsCp33lzB6rh33t55TzZ7Lq+b/1yZEZHOfKntHU1MRjjz3G/ffff0T30dbUarcYC3SqAmOBy+MiMADFz4Plx2O2sucuAj15PNAbLHT3NMz2UgSzPRvgWYIXSwBZ2wMcyJ52TSMc6BLvJ8GQzigKqmq3b6bL/XbQdsBzTxRFTNMASSTV2IDk9WG2tyH7fLS8scZeR1WRVBUpGIRUyvb/cTpRgvYflRLMQWtrwzWyHN+UKQAkqveSam7Gsiy0lrR3nseD6HRBKoWgOrCiUUxNA0nOBpCyz4eZtNU5MyqcSiCIkpdHrLoaramRZG2tPUAviMieA6piyBJqQUE64xjGG/SjJe1fzua6ZhKxBC6Pi6X/+0cqNn6MYRjs3VlFoLmVYaPKumX6umYiofdsYFcVzwzxZHrdu7aNBAtz+fQD2yfH5XWnDeYttJQ24MxoZj+jThpHIC+YzYQWlBT26J90HN0xffp0pk+f3v+JnyNkRUbr8qYqCBy0ye9xHDm4CiHWeKR3cehQ8yfjLb+IZPMnxPa9CcZhUJ0ZSmS88DKK0mYPXTSCgKiqWGlVTSMWO0CraVEzQZaxDBNEW8kztH07sttNtKaG3S//hfj+/QhpFUBRUVGDAVKhEJZhEJxgf5iM1dYiu1zknnwyw8+1Ky+xujqcBQVE9+1DkCRyp0wh3tRoe/IFgujRGKLTQaq5GSORQHI4MHUdUVFQPB5cRUXosTiSy0W4qgr3sGLU3Dyi1dWEtm8nOH48is+PIAqdWxdlBe/IkWzbsAU9pYMAenp+X0/pVLy/hcKyYl5/8e/9cuRg+BEGx5GWBbFIlD2fVpJKJHH7PKTiSXw5/gF313Tcj6IqnHv5Bcc58hCQn59/xAM9sEVyRMlOzGRgy0qkNQIOI45ZBm74EJJfUJXmwwrRS7Tk590PJ3fianwI0WjDrvrZb8IWImB0CPGs/it+lmXbGEBnost+nX48rfJlpYNBo9WWlI7v/sxWIzNNEEUsRcVotdv7HKVlaE0NJPZVI7rcdlApgLNDL7egqjgKCglv2ogRjoAsYyWSSIEgnmnTiWz5iGRjg936mRYItTQNIxbDWVqKWlxM0bz5uMrLAYh88gktb67D0nQEVcGIRjDCYeRx4w+8ZE3DM34CQWMPsUiU8dMO9JqHW9vJLynkjw8/m/UQCjU0E9UNUokUbS1tTDxlcicVsUPxAeqPCMsnjmbjmnds5bQOPxt/bqDXOYK+9rP6hWVDLhAzGBxOo9ljDS6Pm1Sic7BnWfbx4/jXgRa12LOKIffYOxIQZScFX/4ppp6g6Z93E9r8MJ+LKtvBouNsetdAL2PBYNndNFbab7bT44pijzcYBqLTiZFIEKurA9O0/dAyPrGmCckkgijhyHOQbGpCcrmwBJFozT5Sbe12ZVAQCHTgKiOZZOTceex8/jmqVywn0dyC6vOTaGpE9rgpu+giata8TntVFQgCpq7btkeJBLLLxYiLLyFaU8Pk2xeTN2UKtW+9xXs/+B5G0p7na/zgAyzDwDOis2WOkUxSdMYMQvtaKZ80ulsVzBv0d/LZ64sjD9Unrz+O3Lt9N06PCy1lt69apkmwwObGnjiyv/0cDhG1weA4Rw4NVKeDRDSObprZz04WIEmirRFwGHHMBnuJZpAd3fQ+juMgYaoj0d2nocQ2IZgtWJYEiFhiEIiC4EAwWgC997m+jllMSUJEwHI60152AsiKTXSmYc/KxeP2cwBk2W5lSc/wCaoDKx5DkGXQUggeD0Y4gtHehqQ6EGSbEEWnE8lZjKmlSDXUA6AGc7CwbFP1dOtlbNdOknV1xHZsR8nJQWttscnU47EDT8PAMWwYjmHDUAJBHB1UENs+2IClaemgMIWpG5jJFJFtW/FaJ4JA9jnlltwjiTTs3Z/1EHI4VQrLiknGE4DAjItmdWs96ZqJHAz6I56C4UUUlhanldPsT4O2cpoy4MxoRwzVAPrBIGM0m0qmEEWBSFsENZHC7fccshn7sQiH24nYKmJ0eGMVRQmH23kEd3Ucg0X1WjC0I72LoYUoOyk8+yHaKp7FSrYc6e0cHDJjN7KM4nIhOhwkmptB1xEcjmxggSjalb9UCkEUs/8QRfuYLCMYhl1xc6gY6UobgCAKWKaFMy8PI5lE9ftJtbURTqtquoqKyJ08GcXjJXfKFDzDSxEEgYaN79P+2Wc0vPsu7uJiYvv3YwoikstpJ0N1He/IcqL79uEqKiIwbhwAe5ctw0gk7cAwmbTn72MxWj7cjAA4CwrtACf9nHJf0yFz5KHwI/TPkd6An1h7lHjE1gdQnQ7cfg/tzaEBddd0xXGO/GJAVmRkRUbX9CxHCoKYPX5Yr31YVz+K4SqCtj1HehdfIAgqydzrSOb2MD+UjuyU9pU4215CNMN2a4lh0LHtM9u+ks5cmlrqwJC56kBy2LYHiCJKQQFWPI6hadksZsZbSHI4QJYxkgmsZBJLliEeB9NAcDjxT5uWnQPIzMqV/PvVnbbctGoFsXhV9s1VyS8gWbcfye1Bzc9Ha20BS8A9bhyWrhPbtZP8r15I7tnn2qTaAY6iYowJE5FcLmKVuzHjCUSnA0FRcZaXk3fuecg+P5Zp4gq3wL49NLSGkAMBEAR8QT/B/BzisfiAPYQOBf0Rj6IqfH3Rv3eaYYDBZUY7YrAtNUOJSGs7hmFXKFPJFIqioKVSRFqNAfXPH0dnSJJE0YiBzeYdx9ELxfPFHXFwlZxFrPJvR3obndFx7huyictO/nrpmXBBtj3NDE3LVs2QJFwFBSQaGhEQEBwqeVOnkmxtJbZvn13JM2wPO0sQUDwe2wNP0zCSSSxFQbIcmJqJf/RoSud8pdus3Gk//kmnLXtHjiAZas1ypLdsBO27dqEGA3hKy4jt3w8WeMvLSTQ2ogYDnPpfPyF/6tRO6/hHj6LozDNxFxWhx2I0fbSZ1pZtiKqCZVjkTZnCuGsX4MzLs+cS9+zCfG0pDWnVTkEUjzqOvOS6r3eb82trCh3nyGMcoihmK7yfN47ZYE9rBzN5pHdxjCDNV4ZjAqbgBSKICCBY6cfSTZ5G2jhXEEB02I+LaTJLJTGMA+RnxuM4h5UQr6q0B1wNwxZySVeaLE1DUG1VMMnjRS0qwoiEUQoLO3uxpWflusIzfiLRnTuy38s+n+3VJwoYibgdXJomsV07MaJRJK+H8OYPMSKRrKpm17UilZ+hNTXZcxQWYBiE/vk2WmMTxVdeScu6tcR37+bMSSWYkSiuUXnZtWor97F3R9UBDyEgGU8y6qSxB0UevWGgktH9kV3HdSaddjJYsO39j3pc81Bbag4FoiSSiCfsAXpRIJVMIYgCilc57Nc+FBxvqzmOw4nwPki193/evyJypn6XWNXyo0ud07Js3jMMu/pmWbbdT8fWo3TXi6Xp4FCxDAND15E9HvRYjHhDg53wFEVETcNKaXhLywjvsq2D7ASq7ckH9kyfGghgATkTJ1J85lnUvf0P3KVlPc7KdUXRjJk0vPde9ntnXh6iYovFZPz9UqEQybY2ZKeTVChEzerX8JaV4czL63Gd/W+9RWRfNUYshqO0lFhdLZ+99Cci+6qZdvf/Zedzv6Np04dZ1c58uYCxV1+DMy/vX4oju65RNr6c6u1Vva55nCMHj+Mc2RnHbLAXb+aobtv/IsJUSjDUcsRYPZahIaRVPAXAEhQsSwZBAUtDMAW7IChIIAl266ZlIbrdmJYdGJqplE1ummZnPdMD7UY0ag+wu1zpqqBCqr4OUXVgxqKEP9qMo2Q4an5+dlauKxwlJSj+QLa1EyAwbTrF3/yWrVIG1D7/O/S2tmyrp2VZJPbupWHp0k6Vwsxa7U0f2i2pioLosEVjjPZ2ErX7aFj6CnpbG0pRkb2Wx9tprYLhRVkPoQx8QT8X/Ps8FHXwb7o9EVY8EhuU91Bv6OhhpKgyS3/9R7Bg+JgRPa55qC01hwItpXVSjxQkAUM30FJ2y9I555zD66+/3q8xK8DmzZsxTbNHM9hDRWVlJddccw2CIDB8+HCefOyXtspll7aa6upqRo0axfbt2xk7diz33XcfZ511FrNnzz7kPTz44IOsXLkSgPfff5/q6uqskfptt91Gc3Mzzz//PAA//elPWb16Nbqu88YbbyCKYo/HjuPohBY5umKhoYSr5Ez8E66i/dMXwTqKypeZeby0KbrV29+HAKRSmOkWuowKNbqOIEnIbjeyx4ORTNDy8Rb7OaKIpWl2271pkmoLoQYC6csKxOrrqV65Ak9ZGa2fbEX1efGkg77MrFxXBMaNw1VYSLiqKntsxEUXMf2++5GdTjbcdRfxxvpsm6dlWYR2bGfL/zzUqUrYcZ1IdTV6NILs8+EI5oAgkGioJ/Tpp2x56CHijfX4Rp2AIAioOTm0fLI1u95QcmRvAd1g/fl6Qtc1/vG3NehpRVFfjv9fjiMzOFq4sqmpiblz5yKJEl6vl6ef+g2GbnZrPV23bh1z586lurqaYDDIggULuOeeexgzZnCegz3hwQcfZMWKFcRiMe666y7mz5/P5s2bWbRoEaIo8pOf/IQvf/nLbNu2jRtuuAGA8847jx/96EesWLGCxYsXk5+fz9tvv33Ie8ngmA32ov/ictJHK0QVLJNssa7TBwZBJZG/CKs1gJz4ENGMIZhRTEHFlHLSwZ+IJboQrBSiaCAPG4+gNSFZ9TiKinGdcAKRrR/bBrKCgHPESKyUhv+UU+zsJRDe8hEIAt6TJmcVMMW8fFBktNr9WKZJcvMmME28EyehFnf3mBFVlZJrFvT5WtWCAvRotN9KYXYtWSa0/p9ZJVAAAwv3mLGoubl9rjWYSlp/Jq69EVZrYzOpePKQh8A7DpPv+mg7pmGCAA3V+xlz8oTDNlhumSat23ZR/94mis6YRs7EMd1aartCcaikkqlOZuyCKKA41EFff/Pmzei6PiACM01zUMFOMBhk2bJlBAIBvr/4eyxfsZyLL7oYAFEi21YDMGHCBB555BEef/zxQb+GvnDnnXdy55130tTUxOWXX54N9Orr66msrMx6I23YsIFIJMLrr7+efW5Px47j6IWrAEI7j/QuDg9E2UnheU+iReuJ7135+Vw0E8iJIoKiIMoysstNsiktd9qD6qYoy3YVrqs9VuZ7w8A7egwOj4dUJIyoqPjKy0m1t6FHorbipeogOGECIy6+BDH9IbzmjTdAgJJzzs0qYKp+P7LXg6g4kJx1VK9ciWWa5J54Evlfmpadr+sI2enk9Ad/2utL7trm2VuVsOM67997D7tfegl38YFWcMuyKDjlVDzDh/e53mAqaQfDj6ecP2NIhFK6rrFv116ibWG8QR9FI4YddvGVwdwLGFqOzOBwcmVOTg7Lly7Dsix+/j8PsXrN61x26WU9tp6WlZXxm9/8hu9///sH9Tp6w/e+9z3uvPNOIpEIs2fPZv78+dx777388Y9/JDc3l6997WusXLmSX/3qV/z3f/83s2bNYs6cOYRCIc444ww++ugjzj///CHd0zGbWrW+ACpjRwUy87npZJqp2fdWELoGepn/7dm+aNljSOc9iZZ7IYZnOqZajh0dGiC4EYwopuUkGfUh+vKxDB01Px9BkvCdPBXPhAmMuGkRI25ahGvUCdk2lWSrRTLqwzQcxHZsJ/7ZbizDILZ9O9r+OjwnTUYtKEDx+ZG8PpI1NTSvXoUeHnzPkmf8RCyti/JgL5VCgMCppyNIMkY0mv0nSDKBU04b9FodEW2P8I+la1i/4i20lMb6FW/xj6VriLZHejz/zZdXU7+3ltziPNw+D7nFedTvraWxug5Rkg55CDxYmJtdx+lxIUoioiDi8rgO22B5qj1M1Sur2LtiLWZKY+/ytVS9sopUe9+u0A6XE0VVUR0qlmXxg/+4g69943Iu/8YVnc5bsGABu3btAuwMJsATTzzBGWecwbnnnsumTZt46qmn+PnPf85VV12FZVncfPPNnHfeeVx88cW0traybt065s2bx7x581i1atWgXl9OTg6BdCZedajdB+MFISvdPG3aNHbt2kUoFOq6zEHBsiyS8QShphaS8QRLly5l3rx52ccffvhhvvvd72a/X7ZsGU1NTZx77rk88MADvR47jqMXoV1HegeHF6LsZNiFLyAH+39/PWgI4gEbBEWxxwwsC0vXEQSBVKj1wLlpUZWs4JiqogaCeMvL7ef1JIRhWcT31xKrt60QTC2Fd+RISmfPofyyyyiaOZPTf/oz8qZ+KRvoWZaFZZlEq6upXrGCxg82Yuo6De+9S9v27Thyc3AVFODMz8eRm0usvg53yTB7vm+QKJoxEyOR6HSstyphBiPnXoqoqKRCoew/UVEZOXfeQa0HQ8ePb768uhO3wcFxZNc1XF43omTz48GuOVAM9l4AOJxOpPR+VYeKy+NGVmRuW3w7Z599NhdeeGGn8480V0qSZAeigoBhGIwalZ5r7MCRGVx66aW8+uqrGMahBQRdOTJT3YzH45x00kkAtLa2UlpaitvtJhqNEo/HGT9+PG1tbdnrOxwOcnJycDiGXpnzmK3sHccQIf03ouZAqhUyfZlmVyW3LslJUYVUREUrutYe10t1CA6tFI7Qi4hmCGLNJHQDb64PIxHHbLAHLTsqXir+AInaeuJNoMdA9BSTqNuGaEWRfSqipiF6PVi6TvuG95D9fltFM5lEDgR7bL0cCHpq9eyqxNkRrpEjCUybjtYW6nS+K5OZ7GEttbiYSMU22t7fQODU0/CMn9CtWjXYbGNvyl5l48oJNbV2OvdghsA7DpMH83Noa2pFAAL5uQe9Zn/Y/ZcVpELtuIrzEQQB2esmvKeGyr+sYPy3r+z1eaJoK0caus6KVSvJCQZ55aWXBzREvXTpUtauXYvL5cKyLG688UZ0XWfhwoW8+uqrjBgxgieffJIVK1bwq1/9ihkzZpBKpbKtkBls2LCBO+64o9Ox6dOn89BDD3W7Zm1tLevefJPbv3tb5wcsq5N088KFC/n1r3/d474feOAB3njjjU7H7r77bubMmdPt3J6U2P780p957PHHAGhpaaGxsZGxY8dmn1NfX09eXh5r167lm9/8Jps2berx2OFo4TmOoUHXYtIXEbIzSPlVm6hbs4jIp88M/QWs9Gy2ICCIIo7cXBINtniIkRlB6IhM5UQUkd1uBFXBTKVswTHATKaw9DSxpv31zESSRCqF7PbgzM9Di0QIp43VXUVFlMyeTePG9wlXVWEkErTv/ixd9YsR+rQC2evFmZuHmpODkUqxZ+lSXAX5qMEc9GgUV3FRp1bJwaCnNs+OKpw9IXfyZEZcdBHx+vpOz8mdPNn+uut6BYXEmxp594d3UH7ppRSdMeOw8WNOUS4jJxy6UEpXsZVgfg6N++qy/Hgwaw4Ug70XhmGQiMUxdFtFPRlPIIoSr72xmqLiIp5+5ulOFb/e8Hlz5Ucfb2HRokW4XE6+s2iRfbALR4IdGM6dO5eXX365x33fcsstbNu2rdOxxx57jMnp38fMPepJrfSOu37IK6+8kt1bQUEBW7dupaioiK1btxIKhZgzZw4XXHABixcv5lvf+hautCLu4cCxG+z1//t5HP0hY54npJ0RXPZ8eXYMQsEW28yavXbqZkEQbT40NDoHg4JKMvdaBNl+3JUL4/+j98HakmsWsHuZhTQMXLaAJYltK9H2V4I/SGCcgB4KEd66BcnjsWWoBXsO0FFQgIXVo0hLf+iv1dMyTaLbP+0UqPV1ftfH9HA7zatXEd+9G9Hrofm1VcR27ewmADNYWebelL0mnT6VLW9/cMhD4B2HyS3TtNs4sYfltVTzYRksdxXmo3W5B4Is4SzM7/N50bYwsiLjcDmprt3HmWeehazIxMNR1A5tKh0Hu630J+H777+fm2++GVVV+dGPftRp3YqKCv7whz+watUqdF1nxgw7+9xTgHPaaaexbt26fl9jMpnk2muv5alfP4XqcKBrB0rnkix1km6eP38+5557LrNmzeq2zr333su9997b7/XggBJbZu1oLExTUxMFQVtg4ZFHHmFRhkzTCAQCnH22LXN+7rnnUlFR0eOx48He0YvgKKj7Ahiq9wdRdlJywW8xz3+C5vX/iRatJdm4GSPeiBlvxCa5wX5YSBNjpjVTsK0MVK8PU9exdAM9FrVNzzMflDOVPcCRm2srZGoaal4+8cbGdEWwQwZVFLNm5ZLDwUm3385Ji77T424yLZIb7roL2evBM7yUpg8+IFZnjzQoHi/FX/4ytWvfQA0GQbSrOJah4y0bAZbVo0BLf+ivzdMyTerWv8Oev/0tG6j195yOjyWam9n53O/YueRZHDlBKn71vzRu2JAVbMlgqPhx5ITRQyKU0nUNyzRxez1ZfjyYNQeKwd6LzPu/y+vJHjN0nd27d3PmmWcCdGuxPBq4csbMGaxbs5ZHH3+M3/3uOW7+Pzd148gMFi5cyJVXXklJD0n6X/7yl/1eqytHZsYqHvzRT3jwwQeZOXMm3/rWt3jwwQf5zne+g8/nY8qUKeTn53P77bfzpz/9ienTp/P1r3+dqqoqytP+zEONYzLYizUeA2nLwwzJAw6fHagZMbsqJ7vAaLc1VSyTXjlSdIAz136OIwDJkB34SU77a1Gx1xIALQ7+ASS4nLmgxw8oWCtFE9BqdoAFrdstXPleBElG8vnQWpqR0oazme8H0i45GOjh9qy6Zl+BWl/oT7Qlg8HKMvdGWMPKhzNiXPngX2wXHIlh8pxJYwht/6zTMVPTyZnU97C1pMgY6Q9cY8aMZeMHG5kzew6C1JnAAoEA+/fvp6ysjJ077WGmqVOnsmTJEl544QWWLFlCaWkpyaRdeR4/fjzXXHMN3/ve9wDQNI1//vOfPc4eDDRbeeONN7Jo0aJsWwhATU0Nw4cP7/66JIl58+bx9NNPZ1tpMhhMZa/j/QF4fc3rzD7//Gw7TGVlJf/xH/9BPB5n586d/OlPf2LmzJls2bKFCy64gM2bN3P11Vfj8Xi6HTuOoxfeMuC9fk/7wiBjvJ6BnghR89evokdrMKL7GVDAJ9qWCGAiOv14SkZiGWG0tlY7ySiJCBbIHg+WaVsFGfE4omJX8DBNRIcDI5lEVBS85eUY8Tiq34+RSGDKcvaDtDMvHwQBPRLGPbyUYV/untTpio4zdJ6yMqI1+xAkCdM0aN68GUvTcBQXE6upwdJ1ZK8HZ14e0ZqaflslB4tMoNa06cM+A7W+0J9gSwZDxY8Fw4uGhNuOpNjKYO9F1/d/AASBcePH8+6773LJJZd0m6k70lyZSqVQVZVgfg7Dhg/DMAzyivOpqakhKHa3iggGg4wfP541a9Z0e2wglb2e7lEylcLn96G6HNlZ9nHjxvHaa6/R1NTE4sWLURQFy7LIzc1FFEUCgQDhcN9jJ4eCYzLY+/SFI72DLwBMW9HUEbCLcqICRtr73DTIVvwQ7Uwt6s5eAAAgAElEQVSH5ISc8aC6oWUneIaB6odUmx3o5YyDvEnwyZJ0tS/dmi9KMOwU+2vLtGivgqZPIP8k8I8kq7zlL4f2Dr6JlrsETQtgNDYgOSDcCo6C6ZTd8HVaV/4l20qpNTf12Xp5sBhooNYXBioAM9hs41CSzWCHvQ8XPMOLcQR8xOubssccQT+e4d3FdzpCdTpIJWzSueirF7Jy1UouufQS/IFApxaSa665hm9/+9tMnTqV4rSgz0033URlZSXJZJJnnnkGh8PBggUL2Lp1K48++ii33nor5513HgC333579k2/KwaSrVy/fj0vv/wye/bs4eGHH+a2225j/vz5XHXVVb0+d+HChdx3333djg+mstfx/gAs+/syFt96e7Yd5ne/+x0AVVVV3HPPPVx55ZXous4NN9zA2WefzYQJE5g5c2aPx47j6MWewY3JfOEgO4OM/Ld3MfUE9WtuJlb7FmYihKWFO8wbSOkingGCDJLLfsyyUDzFaDEJSQkArcgOJ5LLjaXXkWpLYKVVLgVVRRBEHPn5KH4/ORMmYCRTKB43uVNOBiBaXU3Tpk0Ep0ym+YNNJJoa0dIfCi3LJPfkKQTGjeuxUtaxpbGjxYEzLw9JddD22WfILieK14fkdFE65yvE6+vR2u0Z9q4G6EOFgQZqfWGgAjDH+fEABnsvur7/A2BZzP/afF7/zuvMmjULr9fL8uXLsw8faa7cvHkzP/jBDxBFkdzcXJ577jl0XWfBggWsXr26x+fceuutPPHEE92OD6Sy19M9uuueu9hdWYmma/zgBz8A4Le//S3PP/88Lpcre60f/vCHXH311UiSxMSJE5k8eTIbN27kzjvvZOvWrcyePZtly5bhdDr73Ud/EKx/seb8U045xdq4ceMhrbHtOYvGD4doQ8cKBDtgsyywtHQsJ6bVN1Og+kBP2kGfINpfW2mxFivd5ikp4MgFI2nP9OmxAxU9zzC7dSjZdiDQA1B8cMJX7Zm+ug3QugNSEVC9doBYfBooHgFTs6hcCVo6MRLeZ/+fN8lOuFqWHVgqPhh1cf9eK30Fln09lkHTqhXEqqpQgsHsMS3Uirt8FPkXfHVAtzxeVUXDsqWoBYVYloXW1Ehs104KL/0auWefYxvv9tAq2p8C5VDANE22b/yEdX9dhSTJ5A8vJBFNMHx02aCtGvpDRUUFEydOHLL1OsI0Tdpb2jD0A/Mzkizhzw0c9dYATU1NPPbYY9x///2H7RoDvT9D6WnU9ectCMIHlmWdcvCv4tjCUHDkxl9YRGuHaEP/4jD1RLbFM9GwCSNSg2Uk0mQnIAgSjoIJeE84H8xm2ipex1n4JVKtO5HdPlKt23EW5IBl2LN4oogazKEpLY5ipg2rQcA7cgQF00+hccN7KIEgsdoajGQKNeAnZ+IkjFQSV2EhksP+8OcqKmL6ffejR6PpStkHaPEEbRUVlJx/PtPu+f/Zu/P4KMtz4eO/a55ZMtkTEnYQXFhsUQSk4gYqamsVtaf2tdoiWo5Ve0pta1u7Wbceu3mq9Vit+lqXc3y19WgFD6J1oXVHUDZBARXZA4TsySSz3O8f9zPJJJkkQ0gyyeT6fj6ByTzPPHPPnWSuue715wTdxsFIKMSqG3/RPB9u/7urABh73jwct5ehow3U2+oqsezq+IY/3Uv5mjVkD2tJMur37GHIccdx9JXfTOnnUr52Levu+D15bnJnjGHvO++QPWwokxb+a/NzdlWW3lJTWc2Lj/8vm9d8wLDRI/AGfIw+YmyPx8dEPR0rB3J8TLRq1SrWrFnDFVdc0ePX7usY2d34OCh79rJHAJrsHZz476TbWy3iJlERO2zT44PiI+xxxw/71wF+OxXB8dkELRqBxnKbeCUmdLEoREJQtxsCRXDUl9r/AXz8rKFqqx026vggVAV7V9vk8MgLwOMTjjiv5fxdbxhqd7Ykeo2VULvTJojxzUE7Eq4zlL0DNTvtcNJdb0DNpzDseNsw0tExX07LNdtuyg6pr64ZF18AJrRzB017dhOtqcWTE9+8vYb8GTOoXrnykIaKdkd8aeoVL7xuN/9163LE+FG9umR0b/B4PBSWtB/aMRCUlJT0aqIHqdVPRxPUE/c0UgNHuM7Q1HujiQactkM8E8UkxIE3f0G0voxI7Q5MNIqTNQQcLyYWIVK/C2/eULJHTWXYzFGM/5cvs+GeP1K+Zg0evx9ffgHh6io7ly8apbG8nPrdu4iEGqn5dA0YEK9DLBwmXF9H7pix5I4d2y4Ze/fmm6ndvo2GfXtp2FOGNyeH7c8tpXLDBs54/AmyhgxpNx8unnA1J3puD+Kos87CxGIdJkRdDcFMZYhm2w3ZIbWVNRMlLgDTvPhMfT3548c3P+fYL57Ltv999pCGi3ZHXXUt//2bB6jYW04wN5t9u8rIK8xnx5ZPqauq1fjYx6ZPn8706dN75doDJUYOymRv5z/TXYIBxAfEbNLkz7NJWqQRgkOgeBI01bQkUePOhq0v2B40xPbgGYOdq+61SWE07I6CcYd4On47VDO0D2KNUHB48mLU7bXP7ctzH+qzz11Xlvz8+LDOaBPU7bLnxqJQX2Z//m2Ts0TbX7GbCmcVtyw8U7cHti+3r6WjY4d/seUagZEj8eYXUPtRGY2VECiE7NEHN1w0vgDMrv96BCeQ1W7z9so3Xidr9JhDGiraHfEVvYqGFlNTWY0/K0BtVQ2ffvAJww8b2StLRqv+q6MJ6m33NFIDw/ZXWkZIqM55yGLEmb8m2gS+oI0xMXeUZ1aRjZF1ZXYky7izIXtYiODQoXj8NsFqLLfDzsVdqt0OZ/yASE0tEsjC8ToEioqINTZS9eGHhGtqGH7KKe3KkXvYWLY/vwwwBIoKAcHEokQa6jscGhlPuCL19ZSvXUP97j3Ewk1UbtzA+j/c2WFC1NUQzFSGaBZMmECwpJSyFW9Tt207uWPHUPyZKQc1XDQxeU1cfEZEyCop4cD76/n4r3+l8OjJhzRctDv+8dTfCTc1kZUTxB/w4wv4qauupa66lsM/e1TXF1AZpT/EyEGZ7PkLINLxtiIqTsAbsIlaNGSDWO5oCB2AwiOgdkfrJGr3mzD2dDussnaXYcc/bGLUVG2Tvvq9tPQQAsRsAoi09A7mj0telPwxsO9AwnZ97lf+mOTnZ5eCLxcObLSB1uMDbzbkjEyenCVqu9iLuOXLcv8mOzsWFw37MGMvI+JAYJJ9jBllk13PQe5F2uHcvaFDIWHSfkdz+npafEWvwtJiqssr7c/CIwRzgr22ZLTqvzqaxN92TyM1MGRpW03KxAtOwMZG445qcfx2mkHeWBsjG8rt7V1vQN6oLKb9/Fcceck61t3xe0L79lG/Zw8I1Hz0MR5vEZgI4gu7k9+9zXMmHL8Pb1Ywae/XsFknsvmRh4mGw8SjpIlGyR45qsOVNOM9Y9ufW0okFMIbzCZQXEzxMcd2mhB1NVculbl0kbo6skeOoH7PHgqPPIrGisrm/fy83Zif1NFz5o0fh8fn73JeX08rHFpMfnEh5bvsVhvxGOn1OhofB6H+ECMHzqDbHlK/zxBr7Po8ZZOYWJOdWxeLAB6bjBUeCRWbbRAzpn0SBW6ylQPhetsrV1dmz40nd/YJWubvxcL2drjODrNsa8hn7WMjDS1f4tj7k7HDOoVRJ9tex9JjoHiCbVFJlpwlyh/X0jobF4vY+zs7lmj7K7Y+sorBl23/T6yfg9HRhusFn5vV7Y3YD8W4yUcQCYfJzs/Bl+Wnoa6ehtp6RITcgt5ZMlr1X/6sQPuN2ZLsaaQGBn9BukswQLi7MoQqbaLXVG8bGIsnQbC0JUZ6c+1ImMQYEE+0EA/1eyqp29lEzAQJ1zchnhji89kkxRukqTpEpD5EuD5GcOQE8o9s3zNUMGECBRMntdqM3JudgxPM6nBoZLxn7OhrvsWoM+Yy/sILGT33TByfr9OEqKvNzVPZ/Hzt7bdz4P315B0+nkBxMXmHj29OMLujo+ccd8GXurUR+6EaN/kIfH5fS3x0Y2Tp6OEaHweh/hAjB13T6weP2Tdn1TUTcbe/c7vRInV2Ll6g2K6k6fFD7gh7bmOlncdWPNEma9Em8GbZeXoer00aDfa247Vz+UzELtACNlhmlcDut6FuZ/thlrkjoHhy6+FFvryW5+9I21U6IXlylijeKxg60Pq5st0Os86OxXXVO3gwOtq8Pe+YY2nYsjnlTd17SnxFr6r9lZSMtIErrzCfs782D5/f16vPrfofr8+Lx3E63fdPDRxbn0t3CQYI424x5LHxDbHzzmNRG1+KJ9m56IH8lnnj8Rjp+ANM+f6v2PI/IUKVvyDSUGav4UDemCGIRDiw5mUiDQ1gAogvSN6RZ1E6+5fseTuL4TNbx0dvVhYn//GeVguwQNebmMPBz5/rarP0VDZTT3UlzVR19JyJm8p3VJbeUDpqGPnFha3mPWqMHLz6Q4wcdNE4kG8X1FBtxDdI99iWyGiDXU0TaN7wPBaDULkNWoVHunPiGuyxcL1debN+j50T11ABVVtskpMz3M6dayi3TxMssb1t9fsgtN8+1pttF2/x5UHNdmiqaz3Msu0CLKnqKnFLpqvnSqUc3UkyOyxPJ5u3d7ZJe29J5z5BfW3OnDm8+OKLeL1dv1WuXr2aWCzWK5uF79+/n3nz5uHz+SgoKOCJJ54gGAy2O2/58uWcd955bN++ncLCQhYsWMDPfvYzjjyy8/0GU2WM4bjjjuPf/u3fWLhwIbt27eJrX/saoVCIm2++mblz53LttdeyevVqANasWUNFRQWxWIwf/vCHrF69mqKiIv7617/2SHlUz4uFuz5nMPPm2obOpkrsgmVRmuNnLGJjpGDnuIdrbQNnw15orGkdI8vehWgoi7EX/RqPQDhkY6CTBSM+Z59r72p7bRE7FSFSb+8LVcFRF7QpVxcbknckleTsYJ4nlXL0xAItqT5nd+rkUA2mGBnXX2Jl3FNPPcV3vvMdtm/fnvR4b8bKG2+8kaeffpqioiLmzZvH9773PfKLC9rFwPvuu48HH3wQsNs/XHLJJUQiES6//HI++eQTzj33XK6//vpDLg8MwmRPA1kCd56cx7Fz85rqbE+b1w/ROuwg35idlyBiA1UkAvljIVhsE6janfZSgSI7QT1nhB2q0lhlg1asyd12wW979IzbGho6YIOicbd0cHxgvDY4hmuhoIeGtXc3STxU3Uky1aFJ955Gq1evJhKJpBTA2m5E25WioiJee+01PB4PN910E88++ywXXXRR0nPHjBnDAw88wHXXXZfy9VO1ZMkSShPmhP7qV7/illtu4dhjj+Xcc89l7ty53HHHHQC89957zZvdPvnkk0yePJnf/e53PV4m1bNk0E3u6IRjY5M4gLEjVfy5bYbye+w5UfezRTzRyxkB5Rtg73t2lIvH3zpGRpvsY+MLQ3sD0OSx9R+PG7Gwjb++3JYVsMN10NDBwmTd0d0k8VAcbIKpeo4xht1797F1507Gjx7F8NLSbm+T0129GSvjnnzyScaM6WBRB1dvxsrbb7+duXPntipP2xh41llnceWVVxIOhznhhBO45JJLWLx4MZMmTeLRRx/l3HPPZc+ePc37FR6KQfe2Hg51fc5gkTcGRp8Mo06yydXEi+2+cUOPtZule9zRBibmTkA3NhBlD7XBr3iiDVw5I6B0it00Pb7qZu5Y21tnjB3KUr/XXiO7FI76Mky6RBg+E7IKae45lIQWzO70gPUn8TmDky5p+TriPMHj69s31cGirrqWV595iTef+yfhpjBvPvdPXn3mJeqqU1+JKRaLsXDhQmbPns0XvvCFVscWLFjAli1bANuCCXD33XdzwgkncNppp/Huu+9y33338dvf/pZLL70UYwxXX301p59+Ol/84hepqKhg+fLlzJs3j3nz5vH88we3a7XjOM0BLxqNctRRHa/odv7557NkyRKi0WiH53TXY489xsUXX9z8/bp16zjxxBPJzc0lLy+PanczZoCnn36aL33pSwA8++yzvP/++8yZM4f777+/x8uleo4Z7G9R8aH3fhh7Gow+1cbI/PFQdJSd/x2PkfEevWgT7kIqID67+rLHCwXj7SiWogntY2T+4W4DasjOaa/fax87/lyaY8bQ6e4sioTpAMbY+DqQxRPMOX9+qPnrc7/6dbcWZ1GpCzU2svaDD9mw5SMikSjvb/6ItR98SKjx4Bay6M+xEmDp0qXMnTu3yySxN2Plj370I+bOnds8yiVZDBw3bhwAXq+3uUf0rbfe4swzzwTgtNNOY8WKFT1SnsHXszfYF2dxf/fFawPN3rW2ly5nOBQfBTXbbK9c9nCI7YIIbqBx5yU4Prv6WJw3u/XljYFQBfga7eMaq+zctbj6/XbeX1aRIX8cVH1iWzzj50SbbBDUHjB1MOLbQRQPt9tTBHOzD3rPv2eeeYahQ4fywAMPEGu7clYH57/yyisEg0GMMVx55ZVEIhEWLlzIkiVLGDt2LPfccw/PPfcc9957L7NmzaKpqYlly5a1us6KFSv44Q9/2Oq+6dOnN/eKJZ53zTXXkJWVxfe///0Oy+U4Dueddx5PPfVU0uPXXHMNGzZsaHXfXXfdxZQpUzp9vS+88AKzZ8/GcRwiEdu1EY1Gm1uFCwoKqKysJD/f7vG4bNmy5iEoZWVlnHzyyfzmN79h7ty5zJs3j2HDdKGC/qZ+n6FxkM9pFwfb4+aFPats46Y/F7JL3Pjm9rplD3V782I2zzMRO1/Pm20X5QLbwFlyDBxw/9ya5+5th6HT7f2hipbn9jh2znp4gp2TV/pZKF/fOoZ6HCj9TB9UhMo4qzdspCHUSF5ODiJCwO/nQGUVqzd8wAnHHZvydfp7rHz44Yd59NFHm4dIdqS3YuWiRYu48cYb2bx5M1dccQWvvvpqpzHw3nvv5fzzzwdoFUPjMbUnDLpkr2mwbrkQn5Pntj768+2CK/4Cm7zFJ5EfcZ794BYLG1bfbQOLx9+yt12kESo2Qd5oe9ngEJvUhQ7YwNaw3wbArGI7xFM8EBxqh68gNmjtX297C8edZcuROILAlwfjP4/2gPUAEzNUb4X979se2/zD6HQz+YEsvh1Eqwn/jnNQe/5t2rSJE088EaBdi2DiMBfjrqp10003cfXVV+P3+7nllltanb9x40Yef/xxnn/+eSKRCLNm2bkoyYatzJw5k+XLl3dZvpkzZ7Jy5Upuv/12HnzwQb773e92eO7ChQv5yle+wsgki/X88Y9/7PK5knnggQd45JFHePzxx5vvS6yn6upqCgsLAdi8eTOjRo0iO9t+6i0oKGD27Nl4vV5mzZrFli1bNNnrhz54rPX78aAQj40AHtsIKgY82XbqQbgOCsfDyJNotSjKR88YGt09ZQUbP5uq7bUaq+w5vryWRtT6vTY+huvt/qxl79hz28bH8o329uFftKNmki1MltPFwmQqNSYWY8+bb/Dp4sWMO/98hp0wq8PN5DNBbk4OocZwqzgpIuTlZHfxyNb6c6x8+eWXmTVrFn5/antc9UasLC62nzsSR+B0FAPffvttli5dyt/+9rfm8+IjZKqrq3tsvv2gSvbCdQYnkOEbxrrz7NqJBzN3VUjHC07QbnfQWNV67zkTM9Rst3PpfHmQO7LlA0BTDeSOgpEntv9E8PGzxu4xVGDPDxTbQBmuA7/7XuJx5wlmFaVvPt1gEK4zlL1jV3/zBu0eTzWfdr6Z/EA2bvIRbPvw41b3HeyefxMnTuStt97i3HPPbTdPoKCggN27dzNmzBg2b94MwNSpU3nooYd47LHHeOihhxg9ejSN7nCYiRMnMn/+/OYeuHA4zOuvv550WEkqrZVNTU3NwSs/P7952MnOnTsZNWpUu2sWFhYyceJEXnrppXbHuttauWnTJi644AJ27tyJMYaTTz6ZY445hjfffJNjjjmG6urq5hbJp59+mgsvbOlRPfHEE1m7di0TJ05k3bp1fOtb3+r0uVR6+PPd/VAzldjGy1YjfBISvfhtTwCC7srJ0UbYt8Y2YsbjY/VWqN0NWUNSi49HnNc+PlZvh9rtHcdH0BjZm0Ll5Wx+9BH2v/segaJCNt77J/atWNHhZvKZYHhpCWX7y1vdF43FGFZaclDX6c+xcv369SxevJhly5bx/vvv87Of/Yxbb721T2NlPBbu37+/eRRMshi4c+dOvv/977N48WIcxwFg1qxZvPTSS8ycOZNXXnmFr371q50+V6oGVbK3/RW791tof7pL0oMSWyUT7/bZFkpvlpvcBWzQKhhvJ3031diJ4UZsq2J8W4DEJMGXY1skTdjuo+f4O19Rsu12A1mFduUxkzAc2sTsMJeBPievv9v+il3oJqvY/jy8wa43kx/I4ttBHChrCWR5hQe359+8efNYsmQJp556Krm5uSxdurT52Pz587n88suZOnVq82Tpq666ik8++YTGxkb+/Oc/EwgEWLBgAevXr+cPf/gDixYt4vTTTwfg2muvbU6E2kqltXL16tX84Ac/wOPxUFxczKOPPkokEmHBggX8/e9/T/qYRYsWcffdd7e7v7utlfG5Bw899BCRSIRJkybxwx/+kPnz59PQ0MBNN93UfO6zzz7LM8880/z9N77xDS677DLuuOMOzj77bEaPHt2tMqjeZYwdjpjJ4nvGeryAu3iYibqjXHx2KGZ8/ji488gDGh8zzdrbb6dhXxl5h49HRPAXFXW6mXwmKMzPJ5iVRU1tyxC3YDBIYQexqSP9OVYuWrSIRYsWAXDyySdz66239nms/MEPfsD69euJxWL86le/ApLHwG9+85uUlZU1z21/7rnnOO+88/if//kfTj75ZM455xxGjOiZbnwxbTf66+dmzJhhVq5c2a3H7nrDsPM1+wabEeKNh4ktk/HvExoW43u8+XIgb6ydT1D9qU0EIyE7vC8WgdGzYe+7NknwF9jrHNgMkVrb2pg3uvNhlrW7DDv+0dIqaaKwb33CFg7YJHTIJBh/jg7V7E273jDU7rSrwsV11ivbn23cuJHJkyenuxj9zqpVq1izZg1XXHFFuovSo9r+vEVklTFmRhqLNKAcSozcttzw6XMZuGq1h5aG0Zi97c2xrzMWtt87ATt/3ZttY6DXXSskErKrTY//gsbHTLLhT/dSvmYN2QnDyev37GHIccdx9JXfTGPJuk9jZXKZFCu7Gx8HVc9e3mEQW57uUhwir219DA6xE8TjcwD8OXbYZbjOLnLSWOm2WOIu++wODWmssENFYlF7jsdne/z8BXZRlFatjwJDJqaeJCTbbmDI0ToHLx16cp8/1T9Nnz6d6dOnp7sYKoMUHQW73xjAo1/ELj7mBGDYVKjeZuOj43O3/8myw1SNuzdefC66x7Fz40zErowZj4+4x4NDND5mmp7e60/1XxorB1GyF64zVHxo35gHJHcvvKwSu+zzmNNscEhsLWyqcYdnOjaomXBLp58TsL08Q47uPCjljzPdThJ0fkH/ofv8KaUOxkCPkU6WHa5eMB4KDrdxrm1vWlMN1O+zG6NHam3SZwBvvl1xM1xnNzTvKEZqfMwcutefGkwGTbK3/RXbq+XPh9C+NBakgzl2zcewvWxZRbbHLVRu5wvEl31uqoG6hAn0iR/qTcydbwDkjbRBzZcHRUe6G7VWdB2UNEnIDPrBQil1MPpNjOyMu7F4Vil4/TY5a6xxG0KLbcys3Q1j7PSfdvHMxOx0huxSd//XstYxsqvETeNj5kjHZvJKpcugSfayiuHAB+lfVtoTcJd2xp0onpj4GTsExZtth146AZugCS377Hj8dvWv5ut18KE+FjZ8ssyuPBofjpJKUNIkQSmlBp/+EiPF3XQ85u5h14rHHg/k2eQsGnYXWjEQDbVs+xOPc53Fs+7ESI2PSqmBaNAke/njYM872MzJAaKdn99t8YngMTvZOmeonSuQOMk7d6Q0B5r6Mvvl+O3jjLEPD9jtqmjYB0UTWhbaCFVAYQqryWtQUkoplapWMbIXibsKponZpC5ZjMwupV18dPyQPRwqt9iEDuy2QYF8u8iYP8/Gx9GzU5sDpzFSKTVY9OrukSLyeRH5UES2iMj1SY4HROQJ9/jbIjKut8qSXWo3L42GWq9QeKi8uSABu7IXjm1l9Di2B8/j2MnhjZV2eGV2SdsWR+Ezl0HJMXaCd85wwB2KGW20X95sdzjnAfvly9UhI0r1lTlz5jTvk9OV1atX8+677/ZqeZ566inGjBnT4fHly5eTl5dHZaXtqliwYAFbtmzpkee+9tprmTNnDnPmzKGoyE6Cevjhhzn11FM5/vjjm5eprqmp4bzzzuOkk07ikUceAex2DRMnTmTOnDnt9klSloj8XkReFZE729z/WRF5TUReF5Fjeuv5E2OkE+yZa4oDOJA9wsZIJ2h75HxBm7x1FCOTxcdgqe3ti8fEaKMdJROPlxoflUqf/hQrCwoKmmPVgQMHkp6zdetWPB5P816AN954Iy+++GKPPP+GDRs46aSTOOmkk/j5z38OQCwW47rrrmPu3LlcdNFFQPK4uGfPHubMmcPs2bN7dPXQXuvZExEHuBs4E9gBvCMii40xiTsUfgOoMMYcKSIXA78G/k9vlMfjEyZ+2famNVZA+QcQCx3CBR3wF4HEgJgNXL5cyBtl59ylusKWti4q1TOMMezeu4+tO3cyfvQohpeWIn04Jm316tVEIhGmTZvW5bltN6JN1ZNPPtlpsgcwZswYHnjgAa677rqDvn5n7rjjDgDee++95k1sL7nkEi677DKi0SjTpk3jmmuu4f777+fiiy/m4osv5rTTTuPiiy8G7N5DCxcu7NEyZQoRmQbkGmNOEZF7ROR4Y8w77uFbgK9iBzX+ETi/N8qQGCPrdkHFFro/AiYhPkZD9kvjo1LpZ2Ix9rz5Bp8uXsy4889n2AmzkG7EokPR27FyypQpXe7HBzBp0iTuvB9m+y4AACAASURBVPNO/vM///Ogrt+Ve++9l9tuu41TTz2VM888k8rKSl544QUmT57M7373u1bnto2Ljz32GFdccQXz58/nX//1X1mzZg3HHnvsIZepN3/CM4EtxpiPjTFNwOO0D1LnAw+7t58EzpBe/HQWby08er5w0k0w+jQYNgOKJtm5cJ3WhkBwGJx0K8z+D2H2b4VZPxFO+Jlw0q3CCT8XZv5ImPw1+xy6lLJSfSfU2MjaDz5kw5aPiESivL/5I9Z+8CGhxsaUrxGLxVi4cCGzZ8/mC1/4QqtjiT1kc+bMAeDuu+/mhBNO4LTTTuPdd9/lvvvu47e//S2XXnopxhiuvvpqTj/9dL74xS9SUVHB8uXLmTdvHvPmzeP5558/6Ne4dOlS5s6d22XgO//881myZAnRaO+MVX/66aebN4H1+XwANDU1Ne/989Zbb3HmmWfiOA7HHnssH3zwAWCTxVNPPZWXXnqpV8o1wJ0AxHf8fRFIXP+9yBiz3RizEyjszULEY+Rnr4DRp7bERyfLjZGdPhZGngyn/BqNj0r1Q6Hyctb/4U4++NN9xEIhNt77J9b/4U5C5eUHdZ3+His3btzIKaecwvXXX09ne4lPmzaNLVu2NI+E6SkTJ06kqqqqOQYHAgGeffZZ3n//febMmcP999/ffG7buDhhwgSqqqoAO0qmsLBn3vJ7c87eKGB7wvc7gM91dI4xJiIiVcAQoNd3+UlsMYyFDR//r52c3liVMDHcY+fdZRXqRqdK9WerN2ykIdRIXk4OIkLA7+dAZRWrN3zACcel1ir2zDPPMHToUB544AFisbYrQyQ//5VXXiEYDGKM4corryQSibBw4UKWLFnC2LFjueeee3juuee49957mTVrFk1NTSxbtqzVdVasWNFuaOP06dObe8/iHn74YR599FEefPDBTsvlOA7nnXceTz31VNLj11xzDRs2bGh131133cWUKVO6fM0Ay5Yt4/rrW0bl33zzzdx333185zvfAaCyspL8/HzADqeprKzkggsuYP78+ZSXl3PWWWexcuVKHMdJ6fkGiULgY/d2FfCZhGOJ2X2fBKC28TE+IqZik10ExbgbkeOxq3f6c+HYb4I3W+OjUv3V2ttvp2FfGXmHj0dE8BcVceD99az9j9uZ+ct/T/k6/T1Wbt68maKiIq666iqWLFnCvHnzOizbwoULWyVfiW6++WZefvnlVvf99Kc/5cwzz+z09Z555pmcffbZfPe73+WSSy4hGAxSVlbGySefzG9+8xvmzp3LvHnzksbFmTNn8uMf/5g//vGPHH/88Rx22GGdPleqBsQCLSJyJXAlwNixY3v8+h6fcOQFPX5ZpVQfyc3JIdQYbh62KSKICHk52SlfY9OmTZx44okA7XrPEgccxFsKb7rpJq6++mr8fj+33HJLq/M3btzI448/zvPPP08kEmHWLNtRk2zYysyZM7sccvLyyy8za9Ys/P4uuldcCxcu5Ctf+QojR45sdyw+t647Nm/ezKhRo8jObqnXG264gR/96EeccsopXHHFFRQUFFBdXU1WVhbV1dUUFhY2t06WlpYyYcIEysrKkpZtEKsC8t3b+UBiU3Ni03TST1a9GSN1KKVSmSH3sLE0Vla0ipMer4/cg0wo+nOsBCgutis4XXDBBbz33nudJnsXXnghp512Gqeeemq7YzfccAM33HBDl8/X1s9//nP+8pe/MH36dP7lX/6FrVu3UlBQwOzZs/F6vcyaNYstW7Zw0kknAa3j4p133skNN9zARRddxLe//W3++c9/Ji3bwerNYZw7gcTJJaPd+5KeIyJeoABo159sjLnPGDPDGDOjtFRnXyulWhteWkI01nrYYjQWY1hpScrXmDhxIm+99RZAu9bKgoICdu/eTWNjY/OE7qlTp/LQQw8xZ84cHnroIXw+X/OwjYkTJzJ//nyWL1/Oa6+9xr//u201TTYEc8WKFc2TyeNf3//+91uds379ehYvXsznP/953n//fX72s58BsHNn27dUq7CwkIkTJ7JixYp2x6655pp2z7du3bqU6ujpp5/mwgsvbP6+0R0m6/f7yc7OJhAIMGvWLF566SWi0SirV69m0qRJVFdXA9DQ0MDmzZvR9/F23gTOcG/PBd5KOHZAREaLyEigOtmDNUYqpboybNaJREOtF6uINjYy7IRZHTwiuf4cK+vq6pqv/frrr3PEEXb5+o5ipeM4zJs3L+lImJtvvrnd8/39739PcpXWjDEUFxfj8XgoKCigpqaGE088kbVr1wKwbt06DjvssKRxMf5YgCFDhjQP6TxUvdmz9w5wlIiMxyZ1FwOXtDlnMXAZNtB9GXjZdDbAVimlkijMzyeYlUVNbW3zfcFgkML8/E4e1dq8efNYsmQJp556Krm5uSxdurT52Pz587n88suZOnUqw4cPB+Cqq67ik08+obGxkT//+c8EAgEWLFjA+vXr+cMf/sCiRYs4/XS7u/O1117bPLSxrVRaKxctWsSiRYsAOPnkk7n11luJRCIsWLCgw+CzaNEi7r777nb3H0rP3rPPPsszzzzT/P1tt93G8uXLaWpq4utf/zq5ubksXLiQSy65hLvuuosrr7wSv9/PbbfdxrJly4jFYlx/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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "def plot_cluster_result(plt,clusters,nearest_clusters,WithinClusterSumDist,wh,k):\n", + " for icluster in np.unique(nearest_clusters):\n", + " pick = nearest_clusters==icluster\n", + " c = current_palette[icluster]\n", + " plt.rc('font', size=8) \n", + " plt.plot(wh[pick,0],wh[pick,1],\"p\",\n", + " color=c,\n", + " alpha=0.5,label=\"cluster = {}, N = {:6.0f}\".format(icluster,np.sum(pick)))\n", + " plt.text(clusters[icluster,0],\n", + " clusters[icluster,1],\n", + " \"c{}\".format(icluster),\n", + " fontsize=20,color=\"red\")\n", + " plt.title(\"Clusters=%d\" %k)\n", + " plt.xlabel(\"width\")\n", + " plt.ylabel(\"height\")\n", + " plt.legend(title=\"Mean IoU = {:5.4f}\".format(WithinClusterSumDist)) \n", + " \n", + "import seaborn as sns\n", + "current_palette = list(sns.xkcd_rgb.values())\n", + "\n", + "figsize = (15,35)\n", + "count =1 \n", + "fig = plt.figure(figsize=figsize)\n", + "for k in range(5,9):\n", + " result = results[k]\n", + " clusters = result[\"clusters\"]\n", + " nearest_clusters = result[\"nearest_clusters\"]\n", + " WithinClusterSumDist = result[\"WithinClusterMeanDist\"]\n", + " \n", + " ax = fig.add_subplot(kmax/2,2,count)\n", + " plot_cluster_result(plt,clusters,nearest_clusters,1 - WithinClusterSumDist,wh,k)\n", + " count += 1\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/cv/detection/yolov3/tensorflow/docs/images/.jpg b/cv/detection/yolov3/tensorflow/docs/images/.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3f9ba722c01eabd60196c6deb9b91fef19346b2f Binary files /dev/null and b/cv/detection/yolov3/tensorflow/docs/images/.jpg differ diff --git a/cv/detection/yolov3/tensorflow/docs/images/611_result.jpg b/cv/detection/yolov3/tensorflow/docs/images/611_result.jpg new file mode 100644 index 0000000000000000000000000000000000000000..37525d2b6cd691c3ece03c9261d12fbf8e523bc6 Binary files /dev/null and b/cv/detection/yolov3/tensorflow/docs/images/611_result.jpg differ diff --git a/cv/detection/yolov3/tensorflow/docs/images/road.jpeg b/cv/detection/yolov3/tensorflow/docs/images/road.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..57a0618ad37c6ba837ddbe4bcf65e2630c50f2c6 Binary files /dev/null and b/cv/detection/yolov3/tensorflow/docs/images/road.jpeg differ diff --git a/cv/detection/yolov3/tensorflow/docs/images/road.mp4 b/cv/detection/yolov3/tensorflow/docs/images/road.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..f65149dba8c42d673fbc1979bc575557bf2d1804 Binary files /dev/null and b/cv/detection/yolov3/tensorflow/docs/images/road.mp4 differ diff --git a/cv/detection/yolov3/tensorflow/docs/requirements.txt b/cv/detection/yolov3/tensorflow/docs/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..14b0de18c7337bb4152205aa8eeb4bf574ed8e10 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/docs/requirements.txt @@ -0,0 +1,3 @@ +Pillow +wget +seaborn diff --git a/cv/detection/yolov3/tensorflow/evaluate.py b/cv/detection/yolov3/tensorflow/evaluate.py new file mode 100644 index 0000000000000000000000000000000000000000..45026e3883514c95d5cc5cb101111c8bcda074a4 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/evaluate.py @@ -0,0 +1,168 @@ +#! /usr/bin/env python +# coding=utf-8 +#================================================================ +# Copyright (C) 2019 * Ltd. All rights reserved. +# +# Editor : VIM +# File name : evaluate.py +# Author : YunYang1994 +# Created date: 2019-02-21 15:30:26 +# Description : +# +#================================================================ + +import cv2 +import os +import shutil +import numpy as np +import tensorflow.compat.v1 as tf +import core.utils as utils +from core.config import cfg +from core.yolov3 import YOLOV3 + +tf.disable_eager_execution() + + +class YoloTest(object): + def __init__(self): + self.input_size = cfg.TEST.INPUT_SIZE + self.anchor_per_scale = cfg.YOLO.ANCHOR_PER_SCALE + self.classes = utils.read_class_names(cfg.YOLO.CLASSES) + self.num_classes = len(self.classes) + self.anchors = np.array(utils.get_anchors(cfg.YOLO.ANCHORS)) + self.score_threshold = cfg.TEST.SCORE_THRESHOLD + self.iou_threshold = cfg.TEST.IOU_THRESHOLD + self.moving_ave_decay = cfg.YOLO.MOVING_AVE_DECAY + self.annotation_path = cfg.TEST.ANNOT_PATH + self.weight_file = cfg.TEST.WEIGHT_FILE + self.write_image = cfg.TEST.WRITE_IMAGE + self.write_image_path = cfg.TEST.WRITE_IMAGE_PATH + self.show_label = cfg.TEST.SHOW_LABEL + + with tf.name_scope('input'): + self.input_data = tf.placeholder(dtype=tf.float32, name='input_data') + self.trainable = tf.placeholder(dtype=tf.bool, name='trainable') + + model = YOLOV3(self.input_data, self.trainable) + self.pred_sbbox, self.pred_mbbox, self.pred_lbbox = model.pred_sbbox, model.pred_mbbox, model.pred_lbbox + + with tf.name_scope('ema'): + ema_obj = tf.train.ExponentialMovingAverage(self.moving_ave_decay) + + self.sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True)) + self.saver = tf.train.Saver(ema_obj.variables_to_restore()) + self.saver.restore(self.sess, self.weight_file) + + def predict(self, image): + + org_image = np.copy(image) + org_h, org_w, _ = org_image.shape + + image_data = utils.image_preporcess(image, [self.input_size, self.input_size]) + image_data = image_data[np.newaxis, ...] + + pred_sbbox, pred_mbbox, pred_lbbox = self.sess.run( + [self.pred_sbbox, self.pred_mbbox, self.pred_lbbox], + feed_dict={ + self.input_data: image_data, + self.trainable: False + } + ) + + pred_bbox = np.concatenate([np.reshape(pred_sbbox, (-1, 5 + self.num_classes)), + np.reshape(pred_mbbox, (-1, 5 + self.num_classes)), + np.reshape(pred_lbbox, (-1, 5 + self.num_classes))], axis=0) + bboxes = utils.postprocess_boxes(pred_bbox, (org_h, org_w), self.input_size, self.score_threshold) + bboxes = utils.nms(bboxes, self.iou_threshold) + + return bboxes + + def evaluate(self): + predicted_dir_path = './mAP/predicted' + ground_truth_dir_path = './mAP/ground-truth' + if os.path.exists(predicted_dir_path): shutil.rmtree(predicted_dir_path) + if os.path.exists(ground_truth_dir_path): shutil.rmtree(ground_truth_dir_path) + if os.path.exists(self.write_image_path): shutil.rmtree(self.write_image_path) + os.mkdir(predicted_dir_path) + os.mkdir(ground_truth_dir_path) + os.mkdir(self.write_image_path) + + with open(self.annotation_path, 'r') as annotation_file: + for num, line in enumerate(annotation_file): + annotation = line.strip().split() + image_path = annotation[0] + image_name = image_path.split('/')[-1] + image = cv2.imread(image_path) + bbox_data_gt = np.array([list(map(int, box.split(','))) for box in annotation[1:]]) + + if len(bbox_data_gt) == 0: + bboxes_gt=[] + classes_gt=[] + else: + bboxes_gt, classes_gt = bbox_data_gt[:, :4], bbox_data_gt[:, 4] + ground_truth_path = os.path.join(ground_truth_dir_path, str(num) + '.txt') + + print('=> ground truth of %s:' % image_name) + num_bbox_gt = len(bboxes_gt) + with open(ground_truth_path, 'w') as f: + for i in range(num_bbox_gt): + class_name = self.classes[classes_gt[i]] + xmin, ymin, xmax, ymax = list(map(str, bboxes_gt[i])) + bbox_mess = ' '.join([class_name, xmin, ymin, xmax, ymax]) + '\n' + f.write(bbox_mess) + print('\t' + str(bbox_mess).strip()) + print('=> predict result of %s:' % image_name) + predict_result_path = os.path.join(predicted_dir_path, str(num) + '.txt') + bboxes_pr = self.predict(image) + + if self.write_image: + image = utils.draw_bbox(image, bboxes_pr, show_label=self.show_label) + cv2.imwrite(self.write_image_path+image_name, image) + + with open(predict_result_path, 'w') as f: + for bbox in bboxes_pr: + coor = np.array(bbox[:4], dtype=np.int32) + score = bbox[4] + class_ind = int(bbox[5]) + class_name = self.classes[class_ind] + score = '%.4f' % score + xmin, ymin, xmax, ymax = list(map(str, coor)) + bbox_mess = ' '.join([class_name, score, xmin, ymin, xmax, ymax]) + '\n' + f.write(bbox_mess) + print('\t' + str(bbox_mess).strip()) + + def voc_2012_test(self, voc2012_test_path): + + img_inds_file = os.path.join(voc2012_test_path, 'ImageSets', 'Main', 'test.txt') + with open(img_inds_file, 'r') as f: + txt = f.readlines() + image_inds = [line.strip() for line in txt] + + results_path = 'results/VOC2012/Main' + if os.path.exists(results_path): + shutil.rmtree(results_path) + os.makedirs(results_path) + + for image_ind in image_inds: + image_path = os.path.join(voc2012_test_path, 'JPEGImages', image_ind + '.jpg') + image = cv2.imread(image_path) + + print('predict result of %s:' % image_ind) + bboxes_pr = self.predict(image) + for bbox in bboxes_pr: + coor = np.array(bbox[:4], dtype=np.int32) + score = bbox[4] + class_ind = int(bbox[5]) + class_name = self.classes[class_ind] + score = '%.4f' % score + xmin, ymin, xmax, ymax = list(map(str, coor)) + bbox_mess = ' '.join([image_ind, score, xmin, ymin, xmax, ymax]) + '\n' + with open(os.path.join(results_path, 'comp4_det_test_' + class_name + '.txt'), 'a') as f: + f.write(bbox_mess) + print('\t' + str(bbox_mess).strip()) + + +if __name__ == '__main__': YoloTest().evaluate() + + + diff --git a/cv/detection/yolov3/tensorflow/evaluate_fast.py b/cv/detection/yolov3/tensorflow/evaluate_fast.py new file mode 100644 index 0000000000000000000000000000000000000000..85f6330b2c0dffffd0b9b8d396d087a5093a19f5 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/evaluate_fast.py @@ -0,0 +1,173 @@ +#! /usr/bin/env python +# coding=utf-8 +#================================================================ +# Copyright (C) 2019 * Ltd. All rights reserved. +# +# Editor : VIM +# File name : evaluate.py +# Author : YunYang1994 +# Created date: 2019-02-21 15:30:26 +# Description : +# +#================================================================ + +import cv2 +import os +import shutil +import numpy as np +import tensorflow.compat.v1 as tf +import core.utils as utils +from core.config import cfg +from core.yolov3 import YOLOV3 + +tf.disable_eager_execution() + + +def get_ckpt_filename(): + with open("checkpoint/checkpoint") as fh: + ckpt = fh.readline().rstrip().split(":")[-1].strip().strip('"') + return os.path.join("checkpoint", ckpt) + +class YoloTest(object): + def __init__(self): + self.input_size = cfg.TEST.INPUT_SIZE + self.anchor_per_scale = cfg.YOLO.ANCHOR_PER_SCALE + self.classes = utils.read_class_names(cfg.YOLO.CLASSES) + self.num_classes = len(self.classes) + self.anchors = np.array(utils.get_anchors(cfg.YOLO.ANCHORS)) + self.score_threshold = cfg.TEST.SCORE_THRESHOLD + self.iou_threshold = cfg.TEST.IOU_THRESHOLD + self.moving_ave_decay = cfg.YOLO.MOVING_AVE_DECAY + self.annotation_path = cfg.TEST.ANNOT_PATH + self.weight_file = get_ckpt_filename() + self.write_image = cfg.TEST.WRITE_IMAGE + self.write_image_path = cfg.TEST.WRITE_IMAGE_PATH + self.show_label = cfg.TEST.SHOW_LABEL + + with tf.name_scope('input'): + self.input_data = tf.placeholder(dtype=tf.float32, name='input_data') + self.trainable = tf.placeholder(dtype=tf.bool, name='trainable') + + model = YOLOV3(self.input_data, self.trainable) + self.pred_sbbox, self.pred_mbbox, self.pred_lbbox = model.pred_sbbox, model.pred_mbbox, model.pred_lbbox + + with tf.name_scope('ema'): + ema_obj = tf.train.ExponentialMovingAverage(self.moving_ave_decay) + + self.sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True)) + self.saver = tf.train.Saver(ema_obj.variables_to_restore()) + self.saver.restore(self.sess, self.weight_file) + + def predict(self, image): + + org_image = np.copy(image) + org_h, org_w, _ = org_image.shape + + image_data = utils.image_preporcess(image, [self.input_size, self.input_size]) + image_data = image_data[np.newaxis, ...] + + pred_sbbox, pred_mbbox, pred_lbbox = self.sess.run( + [self.pred_sbbox, self.pred_mbbox, self.pred_lbbox], + feed_dict={ + self.input_data: image_data, + self.trainable: False + } + ) + + pred_bbox = np.concatenate([np.reshape(pred_sbbox, (-1, 5 + self.num_classes)), + np.reshape(pred_mbbox, (-1, 5 + self.num_classes)), + np.reshape(pred_lbbox, (-1, 5 + self.num_classes))], axis=0) + bboxes = utils.postprocess_boxes(pred_bbox, (org_h, org_w), self.input_size, self.score_threshold) + bboxes = utils.nms(bboxes, self.iou_threshold) + + return bboxes + + def evaluate(self): + predicted_dir_path = './mAP/predicted' + ground_truth_dir_path = './mAP/ground-truth' + if os.path.exists(predicted_dir_path): shutil.rmtree(predicted_dir_path) + if os.path.exists(ground_truth_dir_path): shutil.rmtree(ground_truth_dir_path) + if os.path.exists(self.write_image_path): shutil.rmtree(self.write_image_path) + os.mkdir(predicted_dir_path) + os.mkdir(ground_truth_dir_path) + os.mkdir(self.write_image_path) + + with open(self.annotation_path, 'r') as annotation_file: + for num, line in enumerate(annotation_file): + annotation = line.strip().split() + image_path = annotation[0] + image_name = image_path.split('/')[-1] + image = cv2.imread(image_path) + bbox_data_gt = np.array([list(map(int, box.split(','))) for box in annotation[1:]]) + + if len(bbox_data_gt) == 0: + bboxes_gt=[] + classes_gt=[] + else: + bboxes_gt, classes_gt = bbox_data_gt[:, :4], bbox_data_gt[:, 4] + ground_truth_path = os.path.join(ground_truth_dir_path, str(num) + '.txt') + + print('=> ground truth of %s:' % image_name) + num_bbox_gt = len(bboxes_gt) + with open(ground_truth_path, 'w') as f: + for i in range(num_bbox_gt): + class_name = self.classes[classes_gt[i]] + xmin, ymin, xmax, ymax = list(map(str, bboxes_gt[i])) + bbox_mess = ' '.join([class_name, xmin, ymin, xmax, ymax]) + '\n' + f.write(bbox_mess) + print('\t' + str(bbox_mess).strip()) + print('=> predict result of %s:' % image_name) + predict_result_path = os.path.join(predicted_dir_path, str(num) + '.txt') + bboxes_pr = self.predict(image) + + if self.write_image: + image = utils.draw_bbox(image, bboxes_pr, show_label=self.show_label) + cv2.imwrite(self.write_image_path+image_name, image) + + with open(predict_result_path, 'w') as f: + for bbox in bboxes_pr: + coor = np.array(bbox[:4], dtype=np.int32) + score = bbox[4] + class_ind = int(bbox[5]) + class_name = self.classes[class_ind] + score = '%.4f' % score + xmin, ymin, xmax, ymax = list(map(str, coor)) + bbox_mess = ' '.join([class_name, score, xmin, ymin, xmax, ymax]) + '\n' + f.write(bbox_mess) + print('\t' + str(bbox_mess).strip()) + + def voc_2012_test(self, voc2012_test_path): + + img_inds_file = os.path.join(voc2012_test_path, 'ImageSets', 'Main', 'test.txt') + with open(img_inds_file, 'r') as f: + txt = f.readlines() + image_inds = [line.strip() for line in txt] + + results_path = 'results/VOC2012/Main' + if os.path.exists(results_path): + shutil.rmtree(results_path) + os.makedirs(results_path) + + for image_ind in image_inds: + image_path = os.path.join(voc2012_test_path, 'JPEGImages', image_ind + '.jpg') + image = cv2.imread(image_path) + + print('predict result of %s:' % image_ind) + bboxes_pr = self.predict(image) + for bbox in bboxes_pr: + coor = np.array(bbox[:4], dtype=np.int32) + score = bbox[4] + class_ind = int(bbox[5]) + class_name = self.classes[class_ind] + score = '%.4f' % score + xmin, ymin, xmax, ymax = list(map(str, coor)) + bbox_mess = ' '.join([image_ind, score, xmin, ymin, xmax, ymax]) + '\n' + with open(os.path.join(results_path, 'comp4_det_test_' + class_name + '.txt'), 'a') as f: + f.write(bbox_mess) + print('\t' + str(bbox_mess).strip()) + + +if __name__ == '__main__': YoloTest().evaluate() + + + diff --git a/cv/detection/yolov3/tensorflow/freeze_graph.py b/cv/detection/yolov3/tensorflow/freeze_graph.py new file mode 100644 index 0000000000000000000000000000000000000000..e4a17c791d043a5249c6d0e047ee85c9ff738b19 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/freeze_graph.py @@ -0,0 +1,41 @@ +#! /usr/bin/env python +# coding=utf-8 +#================================================================ +# Copyright (C) 2019 * Ltd. All rights reserved. +# +# Editor : VIM +# File name : freeze_graph.py +# Author : YunYang1994 +# Created date: 2019-03-20 15:57:33 +# Description : +# +#================================================================ + + +import tensorflow as tf +from core.yolov3 import YOLOV3 + +pb_file = "./yolov3_coco.pb" +ckpt_file = "./checkpoint/yolov3_coco_demo.ckpt" +output_node_names = ["input/input_data", "pred_sbbox/concat_2", "pred_mbbox/concat_2", "pred_lbbox/concat_2"] + +with tf.name_scope('input'): + input_data = tf.placeholder(dtype=tf.float32, name='input_data') + +model = YOLOV3(input_data, trainable=False) +print(model.conv_sbbox, model.conv_mbbox, model.conv_lbbox) + +sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True)) +saver = tf.train.Saver() +saver.restore(sess, ckpt_file) + +converted_graph_def = tf.graph_util.convert_variables_to_constants(sess, + input_graph_def = sess.graph.as_graph_def(), + output_node_names = output_node_names) + +with tf.gfile.GFile(pb_file, "wb") as f: + f.write(converted_graph_def.SerializeToString()) + + + + diff --git a/cv/detection/yolov3/tensorflow/from_darknet_weights_to_ckpt.py b/cv/detection/yolov3/tensorflow/from_darknet_weights_to_ckpt.py new file mode 100644 index 0000000000000000000000000000000000000000..4ada221d7996bad615518a12759de8cf04b035ec --- /dev/null +++ b/cv/detection/yolov3/tensorflow/from_darknet_weights_to_ckpt.py @@ -0,0 +1,75 @@ +import tensorflow as tf +from core.yolov3 import YOLOV3 + +iput_size = 416 +darknet_weights = '' +ckpt_file = './checkpoint/yolov3_coco.ckpt' + +def load_weights(var_list, weights_file): + """ + Loads and converts pre-trained weights. + :param var_list: list of network variables. + :param weights_file: name of the binary file. + :return: list of assign ops + """ + with open(weights_file, "rb") as fp: + _ = np.fromfile(fp, dtype=np.int32, count=5) + weights = np.fromfile(fp, dtype=np.float32) # np.ndarray + print('weights_num:', weights.shape[0]) + ptr = 0 + i = 0 + assign_ops = [] + while i < len(var_list) - 1: + var1 = var_list[i] + var2 = var_list[i + 1] + # do something only if we process conv layer + if 'conv' in var1.name.split('/')[-2]: + # check type of next layer + if 'batch_normalization' in var2.name.split('/')[-2]: + # load batch norm params + gamma, beta, mean, var = var_list[i + 1:i + 5] + batch_norm_vars = [beta, gamma, mean, var] + for vari in batch_norm_vars: + shape = vari.shape.as_list() + num_params = np.prod(shape) + vari_weights = weights[ptr:ptr + num_params].reshape(shape) + ptr += num_params + assign_ops.append( + tf.assign(vari, vari_weights, validate_shape=True)) + i += 4 + elif 'conv' in var2.name.split('/')[-2]: + # load biases + bias = var2 + bias_shape = bias.shape.as_list() + bias_params = np.prod(bias_shape) + bias_weights = weights[ptr:ptr + + bias_params].reshape(bias_shape) + ptr += bias_params + assign_ops.append( + tf.assign(bias, bias_weights, validate_shape=True)) + i += 1 + shape = var1.shape.as_list() + num_params = np.prod(shape) + + var_weights = weights[ptr:ptr + num_params].reshape( + (shape[3], shape[2], shape[0], shape[1])) + # remember to transpose to column-major + var_weights = np.transpose(var_weights, (2, 3, 1, 0)) + ptr += num_params + assign_ops.append( + tf.assign(var1, var_weights, validate_shape=True)) + i += 1 + print('ptr:', ptr) + return assign_ops + +with tf.name_scope('input'): + input_data = tf.placeholder(dtype=tf.float32,shape=(None, iput_size, iput_size, 3), name='input_data') +model = YOLOV3(input_data, trainable=False) +load_ops = load_weights(tf.global_variables(), darknet_weights) + +saver = tf.train.Saver(tf.global_variables()) + +with tf.Session() as sess: + sess.run(load_ops) + save_path = saver.save(sess, save_path=ckpt_file) + print('Model saved in path: {}'.format(save_path)) diff --git a/cv/detection/yolov3/tensorflow/from_darknet_weights_to_pb.py b/cv/detection/yolov3/tensorflow/from_darknet_weights_to_pb.py new file mode 100644 index 0000000000000000000000000000000000000000..542b332297d7909f53f30f9b4e084703877c99f5 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/from_darknet_weights_to_pb.py @@ -0,0 +1,26 @@ +import tensorflow as tf +from core.yolov3 import YOLOV3 +from from_darknet_weights_to_ckpt import load_weights + +input_size = 416 +darknet_weights = '' +pb_file = './yolov3.pb' +output_node_names = ["input/input_data", "pred_sbbox/concat_2", "pred_mbbox/concat_2", "pred_lbbox/concat_2"] + +with tf.name_scope('input'): + input_data = tf.placeholder(dtype=tf.float32, shape=(None, input_size, input_size, 3), name='input_data') +model = YOLOV3(input_data, trainable=False) +load_ops = load_weights(tf.global_variables(), darknet_weights) + +with tf.Session() as sess: + sess.run(load_ops) + output_graph_def = tf.graph_util.convert_variables_to_constants( + sess, + tf.get_default_graph().as_graph_def(), + output_node_names=output_node_names + ) + + with tf.gfile.GFile(output_graph, "wb") as f: + f.write(output_graph_def.SerializeToString()) + + print("{} ops written to {}.".format(len(output_graph_def.node), output_graph)) diff --git a/cv/detection/yolov3/tensorflow/image_demo.py b/cv/detection/yolov3/tensorflow/image_demo.py new file mode 100644 index 0000000000000000000000000000000000000000..b1dc0da353ef4972b74d49f9be23e56c6a49ff5b --- /dev/null +++ b/cv/detection/yolov3/tensorflow/image_demo.py @@ -0,0 +1,54 @@ +#! /usr/bin/env python +# coding=utf-8 +#================================================================ +# Copyright (C) 2019 * Ltd. All rights reserved. +# +# Editor : VIM +# File name : image_demo.py +# Author : YunYang1994 +# Created date: 2019-01-20 16:06:06 +# Description : +# +#================================================================ + +import cv2 +import numpy as np +import core.utils as utils +import tensorflow as tf +from PIL import Image + +return_elements = ["input/input_data:0", "pred_sbbox/concat_2:0", "pred_mbbox/concat_2:0", "pred_lbbox/concat_2:0"] +pb_file = "./yolov3_coco.pb" +image_path = "./docs/images/road.jpeg" +num_classes = 80 +input_size = 416 +graph = tf.Graph() + +original_image = cv2.imread(image_path) +original_image = cv2.cvtColor(original_image, cv2.COLOR_BGR2RGB) +original_image_size = original_image.shape[:2] +image_data = utils.image_preporcess(np.copy(original_image), [input_size, input_size]) +image_data = image_data[np.newaxis, ...] + +return_tensors = utils.read_pb_return_tensors(graph, pb_file, return_elements) + + +with tf.Session(graph=graph) as sess: + pred_sbbox, pred_mbbox, pred_lbbox = sess.run( + [return_tensors[1], return_tensors[2], return_tensors[3]], + feed_dict={ return_tensors[0]: image_data}) + +pred_bbox = np.concatenate([np.reshape(pred_sbbox, (-1, 5 + num_classes)), + np.reshape(pred_mbbox, (-1, 5 + num_classes)), + np.reshape(pred_lbbox, (-1, 5 + num_classes))], axis=0) + +bboxes = utils.postprocess_boxes(pred_bbox, original_image_size, input_size, 0.3) +bboxes = utils.nms(bboxes, 0.45, method='nms') +image = utils.draw_bbox(original_image, bboxes) +image = Image.fromarray(image) +image.save("result.png", "PNG") +image.show() + + + + diff --git a/cv/detection/yolov3/tensorflow/init_tf.sh b/cv/detection/yolov3/tensorflow/init_tf.sh new file mode 100644 index 0000000000000000000000000000000000000000..d68224bc8d8309674f168ac54495fc42897d27a8 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/init_tf.sh @@ -0,0 +1,7 @@ + +# Install packages +. install_pip_pkgs.sh + +pkgs=('Pillow' 'wget' 'seaborn' 'scipy' 'matplotlib' 'pycocotools' 'opencv-python' 'easydict' 'tqdm' ) +install_pip_pkgs "${pkgs[@]}" + diff --git a/cv/detection/yolov3/tensorflow/install_pip_pkgs.sh b/cv/detection/yolov3/tensorflow/install_pip_pkgs.sh new file mode 100644 index 0000000000000000000000000000000000000000..e4984165707fbda7dbfa26df5c9731e31b2b2cd9 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/install_pip_pkgs.sh @@ -0,0 +1,18 @@ +#!/bin/bash +PIPCMD=pip3 +: ${PKGS_CACHE_DIR:="__null__"} + +function install_pip_pkgs() { + for pkg in "$@" + do + if [ ! -d $PKGS_CACHE_DIR ]; then + $PIPCMD install $pkg + else + $PIPCMD install --no-index --find-links=$PKGS_CACHE_DIR $pkg + fi + done +} + +# Exeample +# pkgs=(1 2 3) +# install_pip_pkgs "${pkgs[@]}" \ No newline at end of file diff --git a/cv/detection/yolov3/tensorflow/mAP/__init__.py b/cv/detection/yolov3/tensorflow/mAP/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cv/detection/yolov3/tensorflow/mAP/extra/README.md b/cv/detection/yolov3/tensorflow/mAP/extra/README.md new file mode 100644 index 0000000000000000000000000000000000000000..0463de9f2079325d3be1e6956eb039c65ad5d16d --- /dev/null +++ b/cv/detection/yolov3/tensorflow/mAP/extra/README.md @@ -0,0 +1,99 @@ +# Extra + +## Ground-Truth: +- ### convert `xml` to our format: + + 1) Insert ground-truth xml files into **ground-truth/** + 2) Run the python script: `python convert_gt_xml.py` + +- ### convert YOLO to our format: + + 1) Add class list to the file `class_list.txt` + 2) Insert ground-truth files into **ground-truth/** + 3) Insert images into **images/** + 4) Run the python script: `python convert_gt_yolo.py` + +- ### convert keras-yolo3 to our format: + + 1) Add or update the class list to the file `class_list.txt` + 2) Use the parameter `--gt` to set the **ground-truth** source. + 3) Run the python script: `python3 convert_keras-yolo3.py --gt ` + 1) Supports only python 3. + 2) This code can handle recursive annotation structure. Just use the `-r` parameter. + 3) The converted annotation is placed by default in a new from_kerasyolo3 folder. You can change that with the parameter `-o`. + 4) The format is defined according with github.com/qqwweee/keras-yolo3 + +## Predicted: +- ### convert darkflow `json` to our format: + + 1) Insert result json files into **predicted/** + 2) Run the python script: `python convert_pred_darkflow_json.py` + +- ### convert YOLO to our format: + + After runnuning darknet on a list of images, e.g.: `darknet.exe detector test data/voc.data yolo-voc.cfg yolo-voc.weights -dont_show -ext_output < data/test.txt > result.txt` + + 1) Copy the file `result.txt` to the folder `extra/` + 2) Run the python script: `python convert_pred_yolo.py` + +- ### convert keras-yolo3 to our format: + + 1) Add or update the class list to the file `class_list.txt` + 2) Use the parameter `--predicted` to set the **prediction** source. + 3) Run the python script: `python3 convert_keras-yolo3.py --pred ` + 1) Supports only python 3. + 2) This code can handle recursive annotation structure. Just use the `-r` parameter. + 3) The converted annotation is placed by default in a new from_kerasyolo3 folder. You can change that with the parameter `-o`. + 4) The format is defined according with github.com/gustavovaliati/keras-yolo3 + +## Remove specific char delimiter from files + +E.g. remove `;` from: + +`;;;;` + +to: + +` ` + +In the case you have the `--ground-truth` or `--predicted` files in the right format but with a specific char being used as a delimiter (e.g. `";"`), you can remove it by running: + +`python remove_delimiter_char.py --char ";" --ground-truth` + +## Find the files that contain a specific class of objects + +1) Run the `find_class.py` script and specify the **class** as argument, e.g. +`python find_class.py chair` + +## Remove all the instances of a specific class of objects + +1) Run the `remove_class.py` script and specify the **class** as argument, e.g. +`python remove_class.py chair` + +## Rename a specific class of objects + +1) Run the `rename_class.py` script and specify the `--current-class-name` and `--new-class-name` as arguments, e.g. + +`python rename_class.py --current-class-name Picture Frame --new-class-name PictureFrame` + +## Rename all classes by replacing spaces with delimiters +Use this option instead of the above option when you have a lot of classes with spaces. +It's useful when renaming classes with spaces become tedious (because you have a lot of them). + +1) Add class list to the file `class_list.txt` (the script will search this file for class names with spaces) +2) Run the `remove_space.py` script and specify the `--delimiter` (default: "-") and `--yes` if you want to force confirmation on all yes/no queries, e.g. + +`python remove_space.py --delimiter "-" --yes` + +## Intersect ground-truth and predicted files +This script ensures same number of files in ground-truth and predicted folder. +When you encounter file not found error, it's usually because you have +mismatched numbers of ground-truth and predicted files. +You can use this script to move ground-truth and predicted files that are +not in the intersection into a backup folder (backup_no_matches_found). +This will retain only files that have the same name in both folders. + +1) Prepare `.txt` files in your `ground-truth` and `predicted` folders. +2) Run the `intersect-gt-and-pred.py` script to move non-intersected files into a backup folder (default: `backup_no_matches_found`). + +`python intersect-gt-and-pred.py` diff --git a/cv/detection/yolov3/tensorflow/mAP/extra/class_list.txt b/cv/detection/yolov3/tensorflow/mAP/extra/class_list.txt new file mode 100644 index 0000000000000000000000000000000000000000..6ccc2dc84694ea1b308f91ffc2aaa4ec10ef377c --- /dev/null +++ b/cv/detection/yolov3/tensorflow/mAP/extra/class_list.txt @@ -0,0 +1,48 @@ +bed +person +pictureframe +shirt +lamp +nightstand +clock +heater +windowblind +pillow +robot +cabinetry +door +doorhandle +shelf +pottedplant +chair +diningtable +backpack +whiteboard +cup +tvmonitor +pen +pencil +wardrobe +apple +orange +countertop +tap +banana +bicyclehelmet +book +bookcase +refrigerator +wastecontainer +tincan +handbag +sofa +glasses +vase +coffeetable +bowl +remote +candle +bottle +sink +envelope +doll diff --git a/cv/detection/yolov3/tensorflow/mAP/extra/convert_gt_xml.py b/cv/detection/yolov3/tensorflow/mAP/extra/convert_gt_xml.py new file mode 100644 index 0000000000000000000000000000000000000000..1dd3dd64da16f2341005551b130479da90cf4bca --- /dev/null +++ b/cv/detection/yolov3/tensorflow/mAP/extra/convert_gt_xml.py @@ -0,0 +1,37 @@ +import sys +import os +import glob +import xml.etree.ElementTree as ET + + +# change directory to the one with the files to be changed +path_to_folder = '../ground-truth' +#print(path_to_folder) +os.chdir(path_to_folder) + +# old files (xml format) will be moved to a "backup" folder +## create the backup dir if it doesn't exist already +if not os.path.exists("backup"): + os.makedirs("backup") + +# create VOC format files +xml_list = glob.glob('*.xml') +if len(xml_list) == 0: + print("Error: no .xml files found in ground-truth") + sys.exit() +for tmp_file in xml_list: + #print(tmp_file) + # 1. create new file (VOC format) + with open(tmp_file.replace(".xml", ".txt"), "a") as new_f: + root = ET.parse(tmp_file).getroot() + for obj in root.findall('object'): + obj_name = obj.find('name').text + bndbox = obj.find('bndbox') + left = bndbox.find('xmin').text + top = bndbox.find('ymin').text + right = bndbox.find('xmax').text + bottom = bndbox.find('ymax').text + new_f.write(obj_name + " " + left + " " + top + " " + right + " " + bottom + '\n') + # 2. move old file (xml format) to backup + os.rename(tmp_file, "backup/" + tmp_file) +print("Conversion completed!") diff --git a/cv/detection/yolov3/tensorflow/mAP/extra/convert_gt_yolo.py b/cv/detection/yolov3/tensorflow/mAP/extra/convert_gt_yolo.py new file mode 100644 index 0000000000000000000000000000000000000000..1bdc6e7ecc7b905a14150fa72bfadf384c1a1533 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/mAP/extra/convert_gt_yolo.py @@ -0,0 +1,84 @@ +import sys +import os +import glob +import cv2 + + +def convert_yolo_coordinates_to_voc(x_c_n, y_c_n, width_n, height_n, img_width, img_height): + ## remove normalization given the size of the image + x_c = float(x_c_n) * img_width + y_c = float(y_c_n) * img_height + width = float(width_n) * img_width + height = float(height_n) * img_height + ## compute half width and half height + half_width = width / 2 + half_height = height / 2 + ## compute left, top, right, bottom + ## in the official VOC challenge the top-left pixel in the image has coordinates (1;1) + left = int(x_c - half_width) + 1 + top = int(y_c - half_height) + 1 + right = int(x_c + half_width) + 1 + bottom = int(y_c + half_height) + 1 + return left, top, right, bottom + +# read the class_list.txt to a list +with open("class_list.txt") as f: + obj_list = f.readlines() +## remove whitespace characters like `\n` at the end of each line + obj_list = [x.strip() for x in obj_list] +## e.g. first object in the list +#print(obj_list[0]) + +# change directory to the one with the files to be changed +path_to_folder = '../ground-truth' +#print(path_to_folder) +os.chdir(path_to_folder) + +# old files (YOLO format) will be moved to a new folder (backup/) +## create the backup dir if it doesn't exist already +if not os.path.exists("backup"): + os.makedirs("backup") + +# create VOC format files +txt_list = glob.glob('*.txt') +if len(txt_list) == 0: + print("Error: no .txt files found in ground-truth") + sys.exit() +for tmp_file in txt_list: + #print(tmp_file) + # 1. check that there is an image with that name + ## get name before ".txt" + image_name = tmp_file.split(".txt",1)[0] + #print(image_name) + ## check if image exists + for fname in os.listdir('../images'): + if fname.startswith(image_name): + ## image found + #print(fname) + img = cv2.imread('../images/' + fname) + ## get image width and height + img_height, img_width = img.shape[:2] + break + else: + ## image not found + print("Error: image not found, corresponding to " + tmp_file) + sys.exit() + # 2. open txt file lines to a list + with open(tmp_file) as f: + content = f.readlines() + ## remove whitespace characters like `\n` at the end of each line + content = [x.strip() for x in content] + # 3. move old file (YOLO format) to backup + os.rename(tmp_file, "backup/" + tmp_file) + # 4. create new file (VOC format) + with open(tmp_file, "a") as new_f: + for line in content: + ## split a line by spaces. + ## "c" stands for center and "n" stands for normalized + obj_id, x_c_n, y_c_n, width_n, height_n = line.split() + obj_name = obj_list[int(obj_id)] + left, top, right, bottom = convert_yolo_coordinates_to_voc(x_c_n, y_c_n, width_n, height_n, img_width, img_height) + ## add new line to file + #print(obj_name + " " + str(left) + " " + str(top) + " " + str(right) + " " + str(bottom)) + new_f.write(obj_name + " " + str(left) + " " + str(top) + " " + str(right) + " " + str(bottom) + '\n') +print("Conversion completed!") diff --git a/cv/detection/yolov3/tensorflow/mAP/extra/convert_keras-yolo3.py b/cv/detection/yolov3/tensorflow/mAP/extra/convert_keras-yolo3.py new file mode 100644 index 0000000000000000000000000000000000000000..8c779ceef74e3c9061a89bb477220bee56dc2a54 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/mAP/extra/convert_keras-yolo3.py @@ -0,0 +1,88 @@ +''' +ABOUT THIS SCRIPT: +Converts ground-truth from the annotation files +according to the https://github.com/qqwweee/keras-yolo3 +or https://github.com/gustavovaliati/keras-yolo3 format. + +And converts the predicitons from the annotation files +according to the https://github.com/gustavovaliati/keras-yolo3 format. +''' + +import argparse +import datetime +import os + +''' +Each time this script runs, it saves the output in a different path +controlled by the following folder suffix: annotation_version. +''' +annotation_version = datetime.datetime.now().strftime('%Y%m%d%H%M%S') + +ap = argparse.ArgumentParser() + +ap.add_argument("-o", "--output_path", + required=False, + default='from_kerasyolo3/version_{}'.format(annotation_version), + type=str, + help="The dataset root path location.") +ap.add_argument("-r", "--gen_recursive", + required=False, + default=False, + action="store_true", + help="Define if the output txt files will be placed in a \ + recursive folder tree or to direct txt files.") +group = ap.add_mutually_exclusive_group(required=True) +group.add_argument('--gt', + type=str, + default=None, + help="The annotation file that refers to ground-truth in (keras-yolo3 format)") +group.add_argument('--pred', + type=str, + default=None, + help="The annotation file that refers to predictions in (keras-yolo3 format)") + +ARGS = ap.parse_args() + +with open('class_list.txt', 'r') as class_file: + class_map = class_file.readlines() +print(class_map) +annotation_file = ARGS.gt if ARGS.gt else ARGS.pred + +os.makedirs(ARGS.output_path, exist_ok=True) + +with open(annotation_file, 'r') as annot_f: + for annot in annot_f: + annot = annot.split(' ') + img_path = annot[0].strip() + if ARGS.gen_recursive: + annotation_dir_name = os.path.dirname(img_path) + # remove the root path to enable to path.join. + if annotation_dir_name.startswith('/'): + annotation_dir_name = annotation_dir_name.replace('/', '', 1) + destination_dir = os.path.join(ARGS.output_path, annotation_dir_name) + os.makedirs(destination_dir, exist_ok=True) + # replace .jpg with your image format. + file_name = os.path.basename(img_path).replace('.jpg', '.txt') + output_file_path = os.path.join(destination_dir, file_name) + else: + file_name = img_path.replace('.jpg', '.txt').replace('/', '__') + output_file_path = os.path.join(ARGS.output_path, file_name) + os.path.dirname(output_file_path) + + with open(output_file_path, 'w') as out_f: + for bbox in annot[1:]: + if ARGS.gt: + # Here we are dealing with ground-truth annotations + # [] + # todo: handle difficulty + x_min, y_min, x_max, y_max, class_id = list(map(float, bbox.split(','))) + out_box = '{} {} {} {} {}'.format( + class_map[int(class_id)].strip(), x_min, y_min, x_max, y_max) + else: + # Here we are dealing with predictions annotations + # + x_min, y_min, x_max, y_max, class_id, score = list(map(float, bbox.split(','))) + out_box = '{} {} {} {} {} {}'.format( + class_map[int(class_id)].strip(), score, x_min, y_min, x_max, y_max) + + out_f.write(out_box + "\n") diff --git a/cv/detection/yolov3/tensorflow/mAP/extra/convert_pred_darkflow_json.py b/cv/detection/yolov3/tensorflow/mAP/extra/convert_pred_darkflow_json.py new file mode 100644 index 0000000000000000000000000000000000000000..b88f6b5ce7dce5497bec9bfb4f773499675193e8 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/mAP/extra/convert_pred_darkflow_json.py @@ -0,0 +1,37 @@ +import sys +import os +import glob +import json + + +# change directory to the one with the files to be changed +path_to_folder = '../predicted' +#print(path_to_folder) +os.chdir(path_to_folder) + +# old files (darkflow json format) will be moved to a "backup" folder +## create the backup dir if it doesn't exist already +if not os.path.exists("backup"): + os.makedirs("backup") + +# create VOC format files +json_list = glob.glob('*.json') +if len(json_list) == 0: + print("Error: no .json files found in predicted") + sys.exit() +for tmp_file in json_list: + #print(tmp_file) + # 1. create new file (VOC format) + with open(tmp_file.replace(".json", ".txt"), "a") as new_f: + data = json.load(open(tmp_file)) + for obj in data: + obj_name = obj['label'] + conf = obj['confidence'] + left = obj['topleft']['x'] + top = obj['topleft']['y'] + right = obj['bottomright']['x'] + bottom = obj['bottomright']['y'] + new_f.write(obj_name + " " + str(conf) + " " + str(left) + " " + str(top) + " " + str(right) + " " + str(bottom) + '\n') + # 2. move old file (darkflow format) to backup + os.rename(tmp_file, "backup/" + tmp_file) +print("Conversion completed!") diff --git a/cv/detection/yolov3/tensorflow/mAP/extra/convert_pred_yolo.py b/cv/detection/yolov3/tensorflow/mAP/extra/convert_pred_yolo.py new file mode 100644 index 0000000000000000000000000000000000000000..dc5f46da300c74f2648aca1683b8d8d2bcd32521 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/mAP/extra/convert_pred_yolo.py @@ -0,0 +1,36 @@ +import os +import re + +IN_FILE = 'result.txt' +OUTPUT_DIR = os.path.join('..', 'predicted') + +SEPARATOR_KEY = 'Enter Image Path:' +IMG_FORMAT = '.jpg' + +outfile = None +with open(IN_FILE) as infile: + for line in infile: + if SEPARATOR_KEY in line: + if IMG_FORMAT not in line: + break + # get text between two substrings (SEPARATOR_KEY and IMG_FORMAT) + image_path = re.search(SEPARATOR_KEY + '(.*)' + IMG_FORMAT, line) + # get the image name (the final component of a image_path) + # e.g., from 'data/horses_1' to 'horses_1' + image_name = os.path.basename(image_path.group(1)) + # close the previous file + if outfile is not None: + outfile.close() + # open a new file + outfile = open(os.path.join(OUTPUT_DIR, image_name + '.txt'), 'w') + elif outfile is not None: + # split line on first occurrence of the character ':' and '%' + class_name, info = line.split(':', 1) + confidence, bbox = info.split('%', 1) + # get all the coordinates of the bounding box + bbox = bbox.replace(')','') # remove the character ')' + # go through each of the parts of the string and check if it is a digit + left, top, width, height = [int(s) for s in bbox.split() if s.lstrip('-').isdigit()] + right = left + width + bottom = top + height + outfile.write("{} {} {} {} {} {}\n".format(class_name, float(confidence)/100, left, top, right, bottom)) diff --git a/cv/detection/yolov3/tensorflow/mAP/extra/find_class.py b/cv/detection/yolov3/tensorflow/mAP/extra/find_class.py new file mode 100644 index 0000000000000000000000000000000000000000..b72021d58be18e8f10463a65d588248db74af672 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/mAP/extra/find_class.py @@ -0,0 +1,37 @@ +import sys +import os +import glob + +if len(sys.argv) != 2: + print("Error: wrong format.\nUsage: python find_class.py [class_name]") + sys.exit(0) + +searching_class_name = sys.argv[1] + +def find_class(class_name): + file_list = glob.glob('*.txt') + file_list.sort() + # iterate through the text files + file_found = False + for txt_file in file_list: + # open txt file lines to a list + with open(txt_file) as f: + content = f.readlines() + # remove whitespace characters like `\n` at the end of each line + content = [x.strip() for x in content] + # go through each line of eache file + for line in content: + class_name = line.split()[0] + if class_name == searching_class_name: + print(" " + txt_file) + file_found = True + break + if not file_found: + print(" No file found with that class") + +print("Ground-Truth folder:") +os.chdir("../ground-truth") +find_class(searching_class_name) +print("\nPredicted folder:") +os.chdir("../predicted") +find_class(searching_class_name) diff --git a/cv/detection/yolov3/tensorflow/mAP/extra/intersect-gt-and-pred.py b/cv/detection/yolov3/tensorflow/mAP/extra/intersect-gt-and-pred.py new file mode 100644 index 0000000000000000000000000000000000000000..250fc51856e1604815884cd3722a6f68f9462b6b --- /dev/null +++ b/cv/detection/yolov3/tensorflow/mAP/extra/intersect-gt-and-pred.py @@ -0,0 +1,58 @@ +import sys +import os +import glob + +## This script ensures same number of files in ground-truth and predicted folder. +## When you encounter file not found error, it's usually because you have +## mismatched numbers of ground-truth and predicted files. +## You can use this script to move ground-truth and predicted files that are +## not in the intersection into a backup folder (backup_no_matches_found). +## This will retain only files that have the same name in both folders. + +# change directory to the one with the files to be changed +path_to_gt = '../ground-truth' +path_to_pred = '../predicted' +backup_folder = 'backup_no_matches_found' # must end without slash + +os.chdir(path_to_gt) +gt_files = glob.glob('*.txt') +if len(gt_files) == 0: + print("Error: no .txt files found in", path_to_gt) + sys.exit() +os.chdir(path_to_pred) +pred_files = glob.glob('*.txt') +if len(pred_files) == 0: + print("Error: no .txt files found in", path_to_pred) + sys.exit() + +gt_files = set(gt_files) +pred_files = set(pred_files) +print('total ground-truth files:', len(gt_files)) +print('total predicted files:', len(pred_files)) +print() + +gt_backup = gt_files - pred_files +pred_backup = pred_files - gt_files + +def backup(src_folder, backup_files, backup_folder): + # non-intersection files (txt format) will be moved to a backup folder + if not backup_files: + print('No backup required for', src_folder) + return + os.chdir(src_folder) + ## create the backup dir if it doesn't exist already + if not os.path.exists(backup_folder): + os.makedirs(backup_folder) + for file in backup_files: + os.rename(file, backup_folder + '/' + file) + +backup(path_to_gt, gt_backup, backup_folder) +backup(path_to_pred, pred_backup, backup_folder) +if gt_backup: + print('total ground-truth backup files:', len(gt_backup)) +if pred_backup: + print('total predicted backup files:', len(pred_backup)) + +intersection = gt_files & pred_files +print('total intersected files:', len(intersection)) +print("Intersection completed!") diff --git a/cv/detection/yolov3/tensorflow/mAP/extra/remove_class.py b/cv/detection/yolov3/tensorflow/mAP/extra/remove_class.py new file mode 100644 index 0000000000000000000000000000000000000000..b2911e0bbb163cffefd5d4165b2b403538b8a03a --- /dev/null +++ b/cv/detection/yolov3/tensorflow/mAP/extra/remove_class.py @@ -0,0 +1,82 @@ +import sys +import os +import glob + +if len(sys.argv) != 2: + print("Error: wrong format.\nUsage: python remove_class.py [class_name]") + sys.exit(0) + +searching_class_name = sys.argv[1] + + +def query_yes_no(question, default="yes"): + """Ask a yes/no question via raw_input() and return their answer. + + "question" is a string that is presented to the user. + "default" is the presumed answer if the user just hits . + It must be "yes" (the default), "no" or None (meaning + an answer is required of the user). + + The "answer" return value is True for "yes" or False for "no". + """ + valid = {"yes": True, "y": True, "ye": True, + "no": False, "n": False} + if default is None: + prompt = " [y/n] " + elif default == "yes": + prompt = " [Y/n] " + elif default == "no": + prompt = " [y/N] " + else: + raise ValueError("invalid default answer: '%s'" % default) + + while True: + sys.stdout.write(question + prompt) + if sys.version_info[0] == 3: + choice = input().lower() # if version 3 of Python + else: + choice = raw_input().lower() + if default is not None and choice == '': + return valid[default] + elif choice in valid: + return valid[choice] + else: + sys.stdout.write("Please respond with 'yes' or 'no' " + "(or 'y' or 'n').\n") + + +def remove_class(class_name): + # get list of txt files + file_list = glob.glob('*.txt') + file_list.sort() + # iterate through the txt files + for txt_file in file_list: + class_found = False + # open txt file lines to a list + with open(txt_file) as f: + content = f.readlines() + # remove whitespace characters like `\n` at the end of each line + content = [x.strip() for x in content] + new_content = [] + # go through each line of eache file + for line in content: + class_name = line.split()[0] + if class_name == searching_class_name: + class_found = True + else: + new_content.append(line) + if class_found: + # rewrite file + with open(txt_file, 'w') as new_f: + for line in new_content: + new_f.write("%s\n" % line) + +if query_yes_no("Are you sure you want to remove the class \"" + searching_class_name + "\"?"): + print(" Ground-Truth folder:") + os.chdir("../ground-truth") + remove_class(searching_class_name) + print(" Done!") + print(" Predicted folder:") + os.chdir("../predicted") + remove_class(searching_class_name) + print(" Done!") diff --git a/cv/detection/yolov3/tensorflow/mAP/extra/remove_delimiter_char.py b/cv/detection/yolov3/tensorflow/mAP/extra/remove_delimiter_char.py new file mode 100644 index 0000000000000000000000000000000000000000..2e6a90785b2d75cd229f4a58f102444505011a75 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/mAP/extra/remove_delimiter_char.py @@ -0,0 +1,62 @@ +import glob +import os +import sys +import argparse + + +parser = argparse.ArgumentParser() +parser.add_argument('-c', '--char', required=True, type=str, help='specific character to be removed (e.g. ";").') +# mutually exclusive arguments (can't select both) +group = parser.add_mutually_exclusive_group(required=True) +group.add_argument('-g', '--ground-truth', help="if to remove that char from the ground-truth files.", action="store_true") +group.add_argument('-p', '--predicted', help="if to remove that char from the predicted objects files.", action="store_true") +args = parser.parse_args() + +def file_lines_to_list(path): + # open txt file lines to a list + with open(path) as f: + content = f.readlines() + # remove whitespace characters like `\n` at the end of each line + content = [x.strip() for x in content] + return content + +if len(args.char) != 1: + print("Error: Please select a single char to be removed.") + sys.exit(0) + +if args.predicted: + os.chdir("../predicted/") +else: + os.chdir("../ground-truth/") + +## create the backup dir if it doesn't exist already +backup_path = "backup" +if not os.path.exists(backup_path): + os.makedirs(backup_path) + +# get a list with the predicted files +files_list = glob.glob('*.txt') +files_list.sort() + +for txt_file in files_list: + lines = file_lines_to_list(txt_file) + is_char_present = any(args.char in line for line in lines) + if is_char_present: + # move old file to backup + os.rename(txt_file, backup_path + "/" + txt_file) + # create new file + with open(txt_file, "a") as new_f: + for line in lines: + #print(line) + if args.predicted: + class_name, confidence, left, top, right, bottom = line.split(args.char) + # remove any white space if existent in the class name + class_name = class_name.replace(" ", "") + new_f.write(class_name + " " + confidence + " " + left + " " + top + " " + right + " " + bottom + '\n') + else: + # ground-truth has no "confidence" + class_name, left, top, right, bottom = line.split(args.char) + # remove any white space if existent in the class name + class_name = class_name.replace(" ", "") + new_f.write(class_name + " " + left + " " + top + " " + right + " " + bottom + '\n') +print("Conversion completed!") diff --git a/cv/detection/yolov3/tensorflow/mAP/extra/remove_space.py b/cv/detection/yolov3/tensorflow/mAP/extra/remove_space.py new file mode 100644 index 0000000000000000000000000000000000000000..9227855fbfb17743a8cfbd3f7a82db2ca728054e --- /dev/null +++ b/cv/detection/yolov3/tensorflow/mAP/extra/remove_space.py @@ -0,0 +1,96 @@ +import sys +import os +import glob +import argparse + +# this script will load class_list.txt and find class names with spaces +# then replace spaces with delimiters inside ground-truth/ and predicted/ + +parser = argparse.ArgumentParser() +parser.add_argument('-d', '--delimiter', type=str, help="delimiter to replace space (default: '-')", default='-') +parser.add_argument('-y', '--yes', action='store_true', help="force yes confirmation on yes/no query (default: False)", default=False) +args = parser.parse_args() + +def query_yes_no(question, default="yes", bypass=False): + """Ask a yes/no question via raw_input() and return their answer. + + "question" is a string that is presented to the user. + "default" is the presumed answer if the user just hits . + It must be "yes" (the default), "no" or None (meaning + an answer is required of the user). + + The "answer" return value is True for "yes" or False for "no". + """ + valid = {"yes": True, "y": True, "ye": True, + "no": False, "n": False} + if default is None: + prompt = " [y/n] " + elif default == "yes": + prompt = " [Y/n] " + elif default == "no": + prompt = " [y/N] " + else: + raise ValueError("invalid default answer: '%s'" % default) + + while True: + sys.stdout.write(question + prompt) + if bypass: + break + if sys.version_info[0] == 3: + choice = input().lower() # if version 3 of Python + else: + choice = raw_input().lower() + if default is not None and choice == '': + return valid[default] + elif choice in valid: + return valid[choice] + else: + sys.stdout.write("Please respond with 'yes' or 'no' " + "(or 'y' or 'n').\n") + + +def rename_class(current_class_name, new_class_name): + # get list of txt files + file_list = glob.glob('*.txt') + file_list.sort() + # iterate through the txt files + for txt_file in file_list: + class_found = False + # open txt file lines to a list + with open(txt_file) as f: + content = f.readlines() + # remove whitespace characters like `\n` at the end of each line + content = [x.strip() for x in content] + new_content = [] + # go through each line of eache file + for line in content: + #class_name = line.split()[0] + if current_class_name in line: + class_found = True + line = line.replace(current_class_name, new_class_name) + new_content.append(line) + if class_found: + # rewrite file + with open(txt_file, 'w') as new_f: + for line in new_content: + new_f.write("%s\n" % line) + +with open('class_list.txt') as f: + for line in f: + current_class_name = line.rstrip("\n") + new_class_name = line.replace(' ', args.delimiter).rstrip("\n") + if current_class_name == new_class_name: + continue + y_n_message = ("Are you sure you want " + "to rename the class " + "\"" + current_class_name + "\" " + "into \"" + new_class_name + "\"?" + ) + + if query_yes_no(y_n_message, bypass=args.yes): + os.chdir("../ground-truth") + rename_class(current_class_name, new_class_name) + os.chdir("../predicted") + rename_class(current_class_name, new_class_name) + +print('Done!') diff --git a/cv/detection/yolov3/tensorflow/mAP/extra/rename_class.py b/cv/detection/yolov3/tensorflow/mAP/extra/rename_class.py new file mode 100644 index 0000000000000000000000000000000000000000..8006671ddd5307928f9899109b75d32a2ef3d786 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/mAP/extra/rename_class.py @@ -0,0 +1,93 @@ +import sys +import os +import glob +import argparse + +parser = argparse.ArgumentParser() +# argparse current class name to a list (since it can contain more than one word, e.g."dining table") +parser.add_argument('-c', '--current-class-name', nargs='+', type=str, help="current class name e.g.:\"dining table\".", required=True) +# new class name (should be a single string without any spaces, e.g. "diningtable") +parser.add_argument('-n', '--new-class-name', type=str, help="new class name.", required=True) +args = parser.parse_args() + +current_class_name = " ".join(args.current_class_name) # join current name to single string +new_class_name = args.new_class_name + + +def query_yes_no(question, default="yes"): + """Ask a yes/no question via raw_input() and return their answer. + + "question" is a string that is presented to the user. + "default" is the presumed answer if the user just hits . + It must be "yes" (the default), "no" or None (meaning + an answer is required of the user). + + The "answer" return value is True for "yes" or False for "no". + """ + valid = {"yes": True, "y": True, "ye": True, + "no": False, "n": False} + if default is None: + prompt = " [y/n] " + elif default == "yes": + prompt = " [Y/n] " + elif default == "no": + prompt = " [y/N] " + else: + raise ValueError("invalid default answer: '%s'" % default) + + while True: + sys.stdout.write(question + prompt) + if sys.version_info[0] == 3: + choice = input().lower() # if version 3 of Python + else: + choice = raw_input().lower() + if default is not None and choice == '': + return valid[default] + elif choice in valid: + return valid[choice] + else: + sys.stdout.write("Please respond with 'yes' or 'no' " + "(or 'y' or 'n').\n") + + +def rename_class(current_class_name, new_class_name): + # get list of txt files + file_list = glob.glob('*.txt') + file_list.sort() + # iterate through the txt files + for txt_file in file_list: + class_found = False + # open txt file lines to a list + with open(txt_file) as f: + content = f.readlines() + # remove whitespace characters like `\n` at the end of each line + content = [x.strip() for x in content] + new_content = [] + # go through each line of eache file + for line in content: + #class_name = line.split()[0] + if current_class_name in line: + class_found = True + line = line.replace(current_class_name, new_class_name) + new_content.append(line) + if class_found: + # rewrite file + with open(txt_file, 'w') as new_f: + for line in new_content: + new_f.write("%s\n" % line) + +y_n_message = ("Are you sure you want " + "to rename the class " + "\"" + current_class_name + "\" " + "into \"" + new_class_name + "\"?" + ) + +if query_yes_no(y_n_message): + print(" Ground-Truth folder:") + os.chdir("../ground-truth") + rename_class(current_class_name, new_class_name) + print(" Done!") + print(" Predicted folder:") + os.chdir("../predicted") + rename_class(current_class_name, new_class_name) + print(" Done!") diff --git a/cv/detection/yolov3/tensorflow/mAP/extra/result.txt b/cv/detection/yolov3/tensorflow/mAP/extra/result.txt new file mode 100644 index 0000000000000000000000000000000000000000..6492a5651bdb3eb1ce200e99add43555fbddf631 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/mAP/extra/result.txt @@ -0,0 +1,13 @@ +Total BFLOPS 65.864 + + seen 64 +Enter Image Path: data/horses.jpg: Predicted in 42.076185 seconds. +horse: 88% (left_x: 3 top_y: 185 width: 150 height: 167) +horse: 99% (left_x: 5 top_y: 198 width: 307 height: 214) +horse: 96% (left_x: 236 top_y: 180 width: 215 height: 169) +horse: 99% (left_x: 440 top_y: 209 width: 156 height: 142) +Enter Image Path: data/person.jpg: Predicted in 41.767213 seconds. +dog: 99% (left_x: 58 top_y: 262 width: 147 height: 89) +person: 100% (left_x: 190 top_y: 95 width: 86 height: 284) +horse: 100% (left_x: 394 top_y: 137 width: 215 height: 206) +Enter Image Path: \ No newline at end of file diff --git a/cv/detection/yolov3/tensorflow/mAP/main.py b/cv/detection/yolov3/tensorflow/mAP/main.py new file mode 100644 index 0000000000000000000000000000000000000000..97a02587c998f18f684c96ff2be3307db1c1a16e --- /dev/null +++ b/cv/detection/yolov3/tensorflow/mAP/main.py @@ -0,0 +1,772 @@ +import glob +import json +import os +import shutil +import operator +import sys +import argparse + +MINOVERLAP = 0.5 # default value (defined in the PASCAL VOC2012 challenge) + +parser = argparse.ArgumentParser() +parser.add_argument('-na', '--no-animation', help="no animation is shown.", action="store_true") +parser.add_argument('-np', '--no-plot', help="no plot is shown.", action="store_true") +parser.add_argument('-q', '--quiet', help="minimalistic console output.", action="store_true") +# argparse receiving list of classes to be ignored +parser.add_argument('-i', '--ignore', nargs='+', type=str, help="ignore a list of classes.") +# argparse receiving list of classes with specific IoU +parser.add_argument('--set-class-iou', nargs='+', type=str, help="set IoU for a specific class.") +args = parser.parse_args() + +# if there are no classes to ignore then replace None by empty list +if args.ignore is None: + args.ignore = [] + +specific_iou_flagged = False +if args.set_class_iou is not None: + specific_iou_flagged = True + +# if there are no images then no animation can be shown +img_path = 'images' +if os.path.exists(img_path): + for dirpath, dirnames, files in os.walk(img_path): + if not files: + # no image files found + args.no_animation = True +else: + args.no_animation = True + +# try to import OpenCV if the user didn't choose the option --no-animation +show_animation = False +if not args.no_animation: + try: + import cv2 + show_animation = True + except ImportError: + print("\"opencv-python\" not found, please install to visualize the results.") + args.no_animation = True + +# try to import Matplotlib if the user didn't choose the option --no-plot +draw_plot = False +if not args.no_plot: + try: + import matplotlib.pyplot as plt + draw_plot = True + except ImportError: + print("\"matplotlib\" not found, please install it to get the resulting plots.") + args.no_plot = True + +""" + throw error and exit +""" +def error(msg): + print(msg) + sys.exit(0) + +""" + check if the number is a float between 0.0 and 1.0 +""" +def is_float_between_0_and_1(value): + try: + val = float(value) + if val > 0.0 and val < 1.0: + return True + else: + return False + except ValueError: + return False + +""" + Calculate the AP given the recall and precision array + 1st) We compute a version of the measured precision/recall curve with + precision monotonically decreasing + 2nd) We compute the AP as the area under this curve by numerical integration. +""" +def voc_ap(rec, prec): + """ + --- Official matlab code VOC2012--- + mrec=[0 ; rec ; 1]; + mpre=[0 ; prec ; 0]; + for i=numel(mpre)-1:-1:1 + mpre(i)=max(mpre(i),mpre(i+1)); + end + i=find(mrec(2:end)~=mrec(1:end-1))+1; + ap=sum((mrec(i)-mrec(i-1)).*mpre(i)); + """ + rec.insert(0, 0.0) # insert 0.0 at begining of list + rec.append(1.0) # insert 1.0 at end of list + mrec = rec[:] + prec.insert(0, 0.0) # insert 0.0 at begining of list + prec.append(0.0) # insert 0.0 at end of list + mpre = prec[:] + """ + This part makes the precision monotonically decreasing + (goes from the end to the beginning) + matlab: for i=numel(mpre)-1:-1:1 + mpre(i)=max(mpre(i),mpre(i+1)); + """ + # matlab indexes start in 1 but python in 0, so I have to do: + # range(start=(len(mpre) - 2), end=0, step=-1) + # also the python function range excludes the end, resulting in: + # range(start=(len(mpre) - 2), end=-1, step=-1) + for i in range(len(mpre)-2, -1, -1): + mpre[i] = max(mpre[i], mpre[i+1]) + """ + This part creates a list of indexes where the recall changes + matlab: i=find(mrec(2:end)~=mrec(1:end-1))+1; + """ + i_list = [] + for i in range(1, len(mrec)): + if mrec[i] != mrec[i-1]: + i_list.append(i) # if it was matlab would be i + 1 + """ + The Average Precision (AP) is the area under the curve + (numerical integration) + matlab: ap=sum((mrec(i)-mrec(i-1)).*mpre(i)); + """ + ap = 0.0 + for i in i_list: + ap += ((mrec[i]-mrec[i-1])*mpre[i]) + return ap, mrec, mpre + + +""" + Convert the lines of a file to a list +""" +def file_lines_to_list(path): + # open txt file lines to a list + with open(path) as f: + content = f.readlines() + # remove whitespace characters like `\n` at the end of each line + content = [x.strip() for x in content] + return content + +""" + Draws text in image +""" +def draw_text_in_image(img, text, pos, color, line_width): + font = cv2.FONT_HERSHEY_PLAIN + fontScale = 1 + lineType = 1 + bottomLeftCornerOfText = pos + cv2.putText(img, text, + bottomLeftCornerOfText, + font, + fontScale, + color, + lineType) + text_width, _ = cv2.getTextSize(text, font, fontScale, lineType)[0] + return img, (line_width + text_width) + +""" + Plot - adjust axes +""" +def adjust_axes(r, t, fig, axes): + # get text width for re-scaling + bb = t.get_window_extent(renderer=r) + text_width_inches = bb.width / fig.dpi + # get axis width in inches + current_fig_width = fig.get_figwidth() + new_fig_width = current_fig_width + text_width_inches + propotion = new_fig_width / current_fig_width + # get axis limit + x_lim = axes.get_xlim() + axes.set_xlim([x_lim[0], x_lim[1]*propotion]) + +""" + Draw plot using Matplotlib +""" +def draw_plot_func(dictionary, n_classes, window_title, plot_title, x_label, output_path, to_show, plot_color, true_p_bar): + # sort the dictionary by decreasing value, into a list of tuples + sorted_dic_by_value = sorted(dictionary.items(), key=operator.itemgetter(1)) + # unpacking the list of tuples into two lists + sorted_keys, sorted_values = zip(*sorted_dic_by_value) + # + if true_p_bar != "": + """ + Special case to draw in (green=true predictions) & (red=false predictions) + """ + fp_sorted = [] + tp_sorted = [] + for key in sorted_keys: + fp_sorted.append(dictionary[key] - true_p_bar[key]) + tp_sorted.append(true_p_bar[key]) + plt.barh(range(n_classes), fp_sorted, align='center', color='crimson', label='False Predictions') + plt.barh(range(n_classes), tp_sorted, align='center', color='forestgreen', label='True Predictions', left=fp_sorted) + # add legend + plt.legend(loc='lower right') + """ + Write number on side of bar + """ + fig = plt.gcf() # gcf - get current figure + axes = plt.gca() + r = fig.canvas.get_renderer() + for i, val in enumerate(sorted_values): + fp_val = fp_sorted[i] + tp_val = tp_sorted[i] + fp_str_val = " " + str(fp_val) + tp_str_val = fp_str_val + " " + str(tp_val) + # trick to paint multicolor with offset: + # first paint everything and then repaint the first number + t = plt.text(val, i, tp_str_val, color='forestgreen', va='center', fontweight='bold') + plt.text(val, i, fp_str_val, color='crimson', va='center', fontweight='bold') + if i == (len(sorted_values)-1): # largest bar + adjust_axes(r, t, fig, axes) + else: + plt.barh(range(n_classes), sorted_values, color=plot_color) + """ + Write number on side of bar + """ + fig = plt.gcf() # gcf - get current figure + axes = plt.gca() + r = fig.canvas.get_renderer() + for i, val in enumerate(sorted_values): + str_val = " " + str(val) # add a space before + if val < 1.0: + str_val = " {0:.2f}".format(val) + t = plt.text(val, i, str_val, color=plot_color, va='center', fontweight='bold') + # re-set axes to show number inside the figure + if i == (len(sorted_values)-1): # largest bar + adjust_axes(r, t, fig, axes) + # set window title + fig.canvas.set_window_title(window_title) + # write classes in y axis + tick_font_size = 12 + plt.yticks(range(n_classes), sorted_keys, fontsize=tick_font_size) + """ + Re-scale height accordingly + """ + init_height = fig.get_figheight() + # comput the matrix height in points and inches + dpi = fig.dpi + height_pt = n_classes * (tick_font_size * 1.4) # 1.4 (some spacing) + height_in = height_pt / dpi + # compute the required figure height + top_margin = 0.15 # in percentage of the figure height + bottom_margin = 0.05 # in percentage of the figure height + figure_height = height_in / (1 - top_margin - bottom_margin) + # set new height + if figure_height > init_height: + fig.set_figheight(figure_height) + + # set plot title + plt.title(plot_title, fontsize=14) + # set axis titles + # plt.xlabel('classes') + plt.xlabel(x_label, fontsize='large') + # adjust size of window + fig.tight_layout() + # save the plot + fig.savefig(output_path) + # show image + if to_show: + plt.show() + # close the plot + plt.close() + +""" + Create a "tmp_files/" and "results/" directory +""" +tmp_files_path = "tmp_files" +if not os.path.exists(tmp_files_path): # if it doesn't exist already + os.makedirs(tmp_files_path) +results_files_path = "results" +if os.path.exists(results_files_path): # if it exist already + # reset the results directory + shutil.rmtree(results_files_path) + +os.makedirs(results_files_path) +if draw_plot: + os.makedirs(results_files_path + "/classes") +if show_animation: + os.makedirs(results_files_path + "/images") + os.makedirs(results_files_path + "/images/single_predictions") + +""" + Ground-Truth + Load each of the ground-truth files into a temporary ".json" file. + Create a list of all the class names present in the ground-truth (gt_classes). +""" +# get a list with the ground-truth files +ground_truth_files_list = glob.glob('ground-truth/*.txt') +if len(ground_truth_files_list) == 0: + error("Error: No ground-truth files found!") +ground_truth_files_list.sort() +# dictionary with counter per class +gt_counter_per_class = {} + +for txt_file in ground_truth_files_list: + #print(txt_file) + file_id = txt_file.split(".txt",1)[0] + file_id = os.path.basename(os.path.normpath(file_id)) + # check if there is a correspondent predicted objects file + if not os.path.exists('predicted/' + file_id + ".txt"): + error_msg = "Error. File not found: predicted/" + file_id + ".txt\n" + error_msg += "(You can avoid this error message by running extra/intersect-gt-and-pred.py)" + error(error_msg) + lines_list = file_lines_to_list(txt_file) + # create ground-truth dictionary + bounding_boxes = [] + is_difficult = False + for line in lines_list: + try: + if "difficult" in line: + class_name, left, top, right, bottom, _difficult = line.split() + is_difficult = True + else: + class_name, left, top, right, bottom = line.split() + except ValueError: + error_msg = "Error: File " + txt_file + " in the wrong format.\n" + error_msg += " Expected: ['difficult']\n" + error_msg += " Received: " + line + error_msg += "\n\nIf you have a with spaces between words you should remove them\n" + error_msg += "by running the script \"remove_space.py\" or \"rename_class.py\" in the \"extra/\" folder." + error(error_msg) + # check if class is in the ignore list, if yes skip + if class_name in args.ignore: + continue + bbox = left + " " + top + " " + right + " " +bottom + if is_difficult: + bounding_boxes.append({"class_name":class_name, "bbox":bbox, "used":False, "difficult":True}) + is_difficult = False + else: + bounding_boxes.append({"class_name":class_name, "bbox":bbox, "used":False}) + # count that object + if class_name in gt_counter_per_class: + gt_counter_per_class[class_name] += 1 + else: + # if class didn't exist yet + gt_counter_per_class[class_name] = 1 + # dump bounding_boxes into a ".json" file + with open(tmp_files_path + "/" + file_id + "_ground_truth.json", 'w') as outfile: + json.dump(bounding_boxes, outfile) + +gt_classes = list(gt_counter_per_class.keys()) +# let's sort the classes alphabetically +gt_classes = sorted(gt_classes) +n_classes = len(gt_classes) +#print(gt_classes) +#print(gt_counter_per_class) + +""" + Check format of the flag --set-class-iou (if used) + e.g. check if class exists +""" +if specific_iou_flagged: + n_args = len(args.set_class_iou) + error_msg = \ + '\n --set-class-iou [class_1] [IoU_1] [class_2] [IoU_2] [...]' + if n_args % 2 != 0: + error('Error, missing arguments. Flag usage:' + error_msg) + # [class_1] [IoU_1] [class_2] [IoU_2] + # specific_iou_classes = ['class_1', 'class_2'] + specific_iou_classes = args.set_class_iou[::2] # even + # iou_list = ['IoU_1', 'IoU_2'] + iou_list = args.set_class_iou[1::2] # odd + if len(specific_iou_classes) != len(iou_list): + error('Error, missing arguments. Flag usage:' + error_msg) + for tmp_class in specific_iou_classes: + if tmp_class not in gt_classes: + error('Error, unknown class \"' + tmp_class + '\". Flag usage:' + error_msg) + for num in iou_list: + if not is_float_between_0_and_1(num): + error('Error, IoU must be between 0.0 and 1.0. Flag usage:' + error_msg) + +""" + Predicted + Load each of the predicted files into a temporary ".json" file. +""" +# get a list with the predicted files +predicted_files_list = glob.glob('predicted/*.txt') +predicted_files_list.sort() + +for class_index, class_name in enumerate(gt_classes): + bounding_boxes = [] + for txt_file in predicted_files_list: + #print(txt_file) + # the first time it checks if all the corresponding ground-truth files exist + file_id = txt_file.split(".txt",1)[0] + file_id = os.path.basename(os.path.normpath(file_id)) + if class_index == 0: + if not os.path.exists('ground-truth/' + file_id + ".txt"): + error_msg = "Error. File not found: ground-truth/" + file_id + ".txt\n" + error_msg += "(You can avoid this error message by running extra/intersect-gt-and-pred.py)" + error(error_msg) + lines = file_lines_to_list(txt_file) + for line in lines: + try: + tmp_class_name, confidence, left, top, right, bottom = line.split() + except ValueError: + error_msg = "Error: File " + txt_file + " in the wrong format.\n" + error_msg += " Expected: \n" + error_msg += " Received: " + line + error(error_msg) + if tmp_class_name == class_name: + #print("match") + bbox = left + " " + top + " " + right + " " +bottom + bounding_boxes.append({"confidence":confidence, "file_id":file_id, "bbox":bbox}) + #print(bounding_boxes) + # sort predictions by decreasing confidence + bounding_boxes.sort(key=lambda x:float(x['confidence']), reverse=True) + with open(tmp_files_path + "/" + class_name + "_predictions.json", 'w') as outfile: + json.dump(bounding_boxes, outfile) + +""" + Calculate the AP for each class +""" +sum_AP = 0.0 +ap_dictionary = {} +# open file to store the results +with open(results_files_path + "/results.txt", 'w') as results_file: + results_file.write("# AP and precision/recall per class\n") + count_true_positives = {} + for class_index, class_name in enumerate(gt_classes): + count_true_positives[class_name] = 0 + """ + Load predictions of that class + """ + predictions_file = tmp_files_path + "/" + class_name + "_predictions.json" + predictions_data = json.load(open(predictions_file)) + + """ + Assign predictions to ground truth objects + """ + nd = len(predictions_data) + tp = [0] * nd # creates an array of zeros of size nd + fp = [0] * nd + for idx, prediction in enumerate(predictions_data): + file_id = prediction["file_id"] + if show_animation: + # find ground truth image + ground_truth_img = glob.glob1(img_path, file_id + ".*") + #tifCounter = len(glob.glob1(myPath,"*.tif")) + if len(ground_truth_img) == 0: + error("Error. Image not found with id: " + file_id) + elif len(ground_truth_img) > 1: + error("Error. Multiple image with id: " + file_id) + else: # found image + #print(img_path + "/" + ground_truth_img[0]) + # Load image + img = cv2.imread(img_path + "/" + ground_truth_img[0]) + # load image with draws of multiple detections + img_cumulative_path = results_files_path + "/images/" + ground_truth_img[0] + if os.path.isfile(img_cumulative_path): + img_cumulative = cv2.imread(img_cumulative_path) + else: + img_cumulative = img.copy() + # Add bottom border to image + bottom_border = 60 + BLACK = [0, 0, 0] + img = cv2.copyMakeBorder(img, 0, bottom_border, 0, 0, cv2.BORDER_CONSTANT, value=BLACK) + # assign prediction to ground truth object if any + # open ground-truth with that file_id + gt_file = tmp_files_path + "/" + file_id + "_ground_truth.json" + ground_truth_data = json.load(open(gt_file)) + ovmax = -1 + gt_match = -1 + # load prediction bounding-box + bb = [ float(x) for x in prediction["bbox"].split() ] + for obj in ground_truth_data: + # look for a class_name match + if obj["class_name"] == class_name: + bbgt = [ float(x) for x in obj["bbox"].split() ] + bi = [max(bb[0],bbgt[0]), max(bb[1],bbgt[1]), min(bb[2],bbgt[2]), min(bb[3],bbgt[3])] + iw = bi[2] - bi[0] + 1 + ih = bi[3] - bi[1] + 1 + if iw > 0 and ih > 0: + # compute overlap (IoU) = area of intersection / area of union + ua = (bb[2] - bb[0] + 1) * (bb[3] - bb[1] + 1) + (bbgt[2] - bbgt[0] + + 1) * (bbgt[3] - bbgt[1] + 1) - iw * ih + ov = iw * ih / ua + if ov > ovmax: + ovmax = ov + gt_match = obj + + # assign prediction as true positive/don't care/false positive + if show_animation: + status = "NO MATCH FOUND!" # status is only used in the animation + # set minimum overlap + min_overlap = MINOVERLAP + if specific_iou_flagged: + if class_name in specific_iou_classes: + index = specific_iou_classes.index(class_name) + min_overlap = float(iou_list[index]) + if ovmax >= min_overlap: + if "difficult" not in gt_match: + if not bool(gt_match["used"]): + # true positive + tp[idx] = 1 + gt_match["used"] = True + count_true_positives[class_name] += 1 + # update the ".json" file + with open(gt_file, 'w') as f: + f.write(json.dumps(ground_truth_data)) + if show_animation: + status = "MATCH!" + else: + # false positive (multiple detection) + fp[idx] = 1 + if show_animation: + status = "REPEATED MATCH!" + else: + # false positive + fp[idx] = 1 + if ovmax > 0: + status = "INSUFFICIENT OVERLAP" + + """ + Draw image to show animation + """ + if show_animation: + height, widht = img.shape[:2] + # colors (OpenCV works with BGR) + white = (255,255,255) + light_blue = (255,200,100) + green = (0,255,0) + light_red = (30,30,255) + # 1st line + margin = 10 + v_pos = int(height - margin - (bottom_border / 2)) + text = "Image: " + ground_truth_img[0] + " " + img, line_width = draw_text_in_image(img, text, (margin, v_pos), white, 0) + text = "Class [" + str(class_index) + "/" + str(n_classes) + "]: " + class_name + " " + img, line_width = draw_text_in_image(img, text, (margin + line_width, v_pos), light_blue, line_width) + if ovmax != -1: + color = light_red + if status == "INSUFFICIENT OVERLAP": + text = "IoU: {0:.2f}% ".format(ovmax*100) + "< {0:.2f}% ".format(min_overlap*100) + else: + text = "IoU: {0:.2f}% ".format(ovmax*100) + ">= {0:.2f}% ".format(min_overlap*100) + color = green + img, _ = draw_text_in_image(img, text, (margin + line_width, v_pos), color, line_width) + # 2nd line + v_pos += int(bottom_border / 2) + rank_pos = str(idx+1) # rank position (idx starts at 0) + text = "Prediction #rank: " + rank_pos + " confidence: {0:.2f}% ".format(float(prediction["confidence"])*100) + img, line_width = draw_text_in_image(img, text, (margin, v_pos), white, 0) + color = light_red + if status == "MATCH!": + color = green + text = "Result: " + status + " " + img, line_width = draw_text_in_image(img, text, (margin + line_width, v_pos), color, line_width) + + font = cv2.FONT_HERSHEY_SIMPLEX + if ovmax > 0: # if there is intersections between the bounding-boxes + bbgt = [ int(x) for x in gt_match["bbox"].split() ] + cv2.rectangle(img,(bbgt[0],bbgt[1]),(bbgt[2],bbgt[3]),light_blue,2) + cv2.rectangle(img_cumulative,(bbgt[0],bbgt[1]),(bbgt[2],bbgt[3]),light_blue,2) + cv2.putText(img_cumulative, class_name, (bbgt[0],bbgt[1] - 5), font, 0.6, light_blue, 1, cv2.LINE_AA) + bb = [int(i) for i in bb] + cv2.rectangle(img,(bb[0],bb[1]),(bb[2],bb[3]),color,2) + cv2.rectangle(img_cumulative,(bb[0],bb[1]),(bb[2],bb[3]),color,2) + cv2.putText(img_cumulative, class_name, (bb[0],bb[1] - 5), font, 0.6, color, 1, cv2.LINE_AA) + # show image + cv2.imshow("Animation", img) + cv2.waitKey(20) # show for 20 ms + # save image to results + output_img_path = results_files_path + "/images/single_predictions/" + class_name + "_prediction" + str(idx) + ".jpg" + cv2.imwrite(output_img_path, img) + # save the image with all the objects drawn to it + cv2.imwrite(img_cumulative_path, img_cumulative) + + #print(tp) + # compute precision/recall + cumsum = 0 + for idx, val in enumerate(fp): + fp[idx] += cumsum + cumsum += val + cumsum = 0 + for idx, val in enumerate(tp): + tp[idx] += cumsum + cumsum += val + #print(tp) + rec = tp[:] + for idx, val in enumerate(tp): + rec[idx] = float(tp[idx]) / gt_counter_per_class[class_name] + #print(rec) + prec = tp[:] + for idx, val in enumerate(tp): + prec[idx] = float(tp[idx]) / (fp[idx] + tp[idx]) + #print(prec) + + ap, mrec, mprec = voc_ap(rec, prec) + sum_AP += ap + text = "{0:.2f}%".format(ap*100) + " = " + class_name + " AP " #class_name + " AP = {0:.2f}%".format(ap*100) + """ + Write to results.txt + """ + rounded_prec = [ '%.2f' % elem for elem in prec ] + rounded_rec = [ '%.2f' % elem for elem in rec ] + results_file.write(text + "\n Precision: " + str(rounded_prec) + "\n Recall :" + str(rounded_rec) + "\n\n") + if not args.quiet: + print(text) + ap_dictionary[class_name] = ap + + """ + Draw plot + """ + if draw_plot: + plt.plot(rec, prec, '-o') + # add a new penultimate point to the list (mrec[-2], 0.0) + # since the last line segment (and respective area) do not affect the AP value + area_under_curve_x = mrec[:-1] + [mrec[-2]] + [mrec[-1]] + area_under_curve_y = mprec[:-1] + [0.0] + [mprec[-1]] + plt.fill_between(area_under_curve_x, 0, area_under_curve_y, alpha=0.2, edgecolor='r') + # set window title + fig = plt.gcf() # gcf - get current figure + fig.canvas.set_window_title('AP ' + class_name) + # set plot title + plt.title('class: ' + text) + #plt.suptitle('This is a somewhat long figure title', fontsize=16) + # set axis titles + plt.xlabel('Recall') + plt.ylabel('Precision') + # optional - set axes + axes = plt.gca() # gca - get current axes + axes.set_xlim([0.0,1.0]) + axes.set_ylim([0.0,1.05]) # .05 to give some extra space + # Alternative option -> wait for button to be pressed + #while not plt.waitforbuttonpress(): pass # wait for key display + # Alternative option -> normal display + #plt.show() + # save the plot + fig.savefig(results_files_path + "/classes/" + class_name + ".png") + plt.cla() # clear axes for next plot + + if show_animation: + cv2.destroyAllWindows() + + results_file.write("\n# mAP of all classes\n") + mAP = sum_AP / n_classes + text = "mAP = {0:.2f}%".format(mAP*100) + results_file.write(text + "\n") + print(text) + +# remove the tmp_files directory +shutil.rmtree(tmp_files_path) + +""" + Count total of Predictions +""" +# iterate through all the files +pred_counter_per_class = {} +#all_classes_predicted_files = set([]) +for txt_file in predicted_files_list: + # get lines to list + lines_list = file_lines_to_list(txt_file) + for line in lines_list: + class_name = line.split()[0] + # check if class is in the ignore list, if yes skip + if class_name in args.ignore: + continue + # count that object + if class_name in pred_counter_per_class: + pred_counter_per_class[class_name] += 1 + else: + # if class didn't exist yet + pred_counter_per_class[class_name] = 1 +#print(pred_counter_per_class) +pred_classes = list(pred_counter_per_class.keys()) + + +""" + Plot the total number of occurences of each class in the ground-truth +""" +if draw_plot: + window_title = "Ground-Truth Info" + plot_title = "Ground-Truth\n" + plot_title += "(" + str(len(ground_truth_files_list)) + " files and " + str(n_classes) + " classes)" + x_label = "Number of objects per class" + output_path = results_files_path + "/Ground-Truth Info.png" + to_show = False + plot_color = 'forestgreen' + draw_plot_func( + gt_counter_per_class, + n_classes, + window_title, + plot_title, + x_label, + output_path, + to_show, + plot_color, + '', + ) + +""" + Write number of ground-truth objects per class to results.txt +""" +with open(results_files_path + "/results.txt", 'a') as results_file: + results_file.write("\n# Number of ground-truth objects per class\n") + for class_name in sorted(gt_counter_per_class): + results_file.write(class_name + ": " + str(gt_counter_per_class[class_name]) + "\n") + +""" + Finish counting true positives +""" +for class_name in pred_classes: + # if class exists in predictions but not in ground-truth then there are no true positives in that class + if class_name not in gt_classes: + count_true_positives[class_name] = 0 +#print(count_true_positives) + +""" + Plot the total number of occurences of each class in the "predicted" folder +""" +if draw_plot: + window_title = "Predicted Objects Info" + # Plot title + plot_title = "Predicted Objects\n" + plot_title += "(" + str(len(predicted_files_list)) + " files and " + count_non_zero_values_in_dictionary = sum(int(x) > 0 for x in list(pred_counter_per_class.values())) + plot_title += str(count_non_zero_values_in_dictionary) + " detected classes)" + # end Plot title + x_label = "Number of objects per class" + output_path = results_files_path + "/Predicted Objects Info.png" + to_show = False + plot_color = 'forestgreen' + true_p_bar = count_true_positives + draw_plot_func( + pred_counter_per_class, + len(pred_counter_per_class), + window_title, + plot_title, + x_label, + output_path, + to_show, + plot_color, + true_p_bar + ) + +""" + Write number of predicted objects per class to results.txt +""" +with open(results_files_path + "/results.txt", 'a') as results_file: + results_file.write("\n# Number of predicted objects per class\n") + for class_name in sorted(pred_classes): + n_pred = pred_counter_per_class[class_name] + text = class_name + ": " + str(n_pred) + text += " (tp:" + str(count_true_positives[class_name]) + "" + text += ", fp:" + str(n_pred - count_true_positives[class_name]) + ")\n" + results_file.write(text) + +""" + Draw mAP plot (Show AP's of all classes in decreasing order) +""" +if draw_plot: + window_title = "mAP" + plot_title = "mAP = {0:.2f}%".format(mAP*100) + x_label = "Average Precision" + output_path = results_files_path + "/mAP.png" + to_show = True + plot_color = 'royalblue' + draw_plot_func( + ap_dictionary, + n_classes, + window_title, + plot_title, + x_label, + output_path, + to_show, + plot_color, + "" + ) diff --git a/cv/detection/yolov3/tensorflow/run_inference.sh b/cv/detection/yolov3/tensorflow/run_inference.sh new file mode 100644 index 0000000000000000000000000000000000000000..759137a0058a6324ce1b9cf0865a181d80c2379f --- /dev/null +++ b/cv/detection/yolov3/tensorflow/run_inference.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# Run yolov3 inference on Pascal VOC dataset, and evaluate the results. + +RUN_MODE="inference" bash ./setup.sh +python3 evaluate.py +if [[ $? != 0 ]]; then + echo "ERROR: run tf-yolov3 evalute.py failed!" + exit 1 +fi +cd mAP +LOG_DIR="logs" +if [ ! -d "$LOG_DIR" ]; then + mkdir -p ${LOG_DIR} +fi +DATE=`date +%Y%m%d%H%M%S` +python3 main.py -na -np 2>&1 | tee ${LOG_DIR}/inference_${DATE}.log +if [[ $? != 0 ]]; then + echo "ERROR: get tf-yolov3 mAP stats failed!" + exit 1 +fi + +exit 0 diff --git a/cv/detection/yolov3/tensorflow/run_training.sh b/cv/detection/yolov3/tensorflow/run_training.sh new file mode 100644 index 0000000000000000000000000000000000000000..13edcec50cbbc8630fca8311f0f43c38a9c45f6a --- /dev/null +++ b/cv/detection/yolov3/tensorflow/run_training.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# Run yolov3 training on Pascal VOC with pretrained model + +# RUN_MODE="training" bash ./setup.sh +TRAIN_MODE=${TRAIN_MODE:-fast} +if [[ ${TRAIN_MODE} == "fast" ]] +then + # Fast training: 2 epochs for first stage, 100 steps for second stage + python3 train_fast.py "$@" +elif [[ ${TRAIN_MODE} == "slow" ]] +then + # Slow training: 4 epochs for first stage, 4 epochs for second stage + python3 train.py "$@" +else + echo "TRAIN_MODE: Wrong value! Only accept fast or slow" + exit $ERRCODE +fi + +if [[ $? != 0 ]]; then + echo "ERROR: run tf-yolov3 training failed!" + exit 1 +fi +# Evaluate model and calculate mAP +python3 evaluate_fast.py "$@" +if [[ $? != 0 ]]; then + echo "ERROR: run tf-yolov3 evaluate_fast.py failed!" + exit 1 +fi +cd mAP +LOG_DIR="logs" +if [ ! -d "$LOG_DIR" ]; then + mkdir -p ${LOG_DIR} +fi +DATE=`date +%Y%m%d%H%M%S` +python3 main.py -na -np +if [[ $? != 0 ]]; then + echo "ERROR: get tf-yolov3 mAP stats failed!" + exit 1 +fi + +exit 0 diff --git a/cv/detection/yolov3/tensorflow/scripts/show_bboxes.py b/cv/detection/yolov3/tensorflow/scripts/show_bboxes.py new file mode 100644 index 0000000000000000000000000000000000000000..6e4e368a76287f44c07ddd1d382bfda0e1cb30ab --- /dev/null +++ b/cv/detection/yolov3/tensorflow/scripts/show_bboxes.py @@ -0,0 +1,32 @@ +#! /usr/bin/env python +# coding=utf-8 +#================================================================ +# Copyright (C) 2019 * Ltd. All rights reserved. +# +# Editor : VIM +# File name : show_bboxes.py +# Author : YunYang1994 +# Created date: 2019-05-29 01:18:24 +# Description : +# +#================================================================ + +import cv2 +import numpy as np +from PIL import Image + +ID = 0 +label_txt = "../data/dataset/traffic_test.txt" +image_info = open(label_txt).readlines()[ID].split() + +image_path = image_info[0] +image = cv2.imread(image_path) +for bbox in image_info[1:]: + bbox = bbox.split(",") + image = cv2.rectangle(image,(int(float(bbox[0])), + int(float(bbox[1]))), + (int(float(bbox[2])), + int(float(bbox[3]))), (255,0,0), 2) + +image = Image.fromarray(np.uint8(image)) +image.show() diff --git a/cv/detection/yolov3/tensorflow/scripts/voc_annotation.py b/cv/detection/yolov3/tensorflow/scripts/voc_annotation.py new file mode 100644 index 0000000000000000000000000000000000000000..3b2a2f2adc6b677019403aceb0bec26d5eb20639 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/scripts/voc_annotation.py @@ -0,0 +1,54 @@ +import os +import argparse +import xml.etree.ElementTree as ET + +def convert_voc_annotation(data_path, data_type, anno_path, use_difficult_bbox=True): + + classes = ['aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', + 'car', 'cat', 'chair', 'cow', 'diningtable', 'dog', 'horse', + 'motorbike', 'person', 'pottedplant', 'sheep', 'sofa', + 'train', 'tvmonitor'] + img_inds_file = os.path.join(data_path, 'ImageSets', 'Main', data_type + '.txt') + with open(img_inds_file, 'r') as f: + txt = f.readlines() + image_inds = [line.strip() for line in txt] + + with open(anno_path, 'a') as f: + for image_ind in image_inds: + image_path = os.path.join(data_path, 'JPEGImages', image_ind + '.jpg') + annotation = image_path + label_path = os.path.join(data_path, 'Annotations', image_ind + '.xml') + root = ET.parse(label_path).getroot() + objects = root.findall('object') + for obj in objects: + difficult = obj.find('difficult').text.strip() + if (not use_difficult_bbox) and(int(difficult) == 1): + continue + bbox = obj.find('bndbox') + class_ind = classes.index(obj.find('name').text.lower().strip()) + xmin = bbox.find('xmin').text.strip() + xmax = bbox.find('xmax').text.strip() + ymin = bbox.find('ymin').text.strip() + ymax = bbox.find('ymax').text.strip() + annotation += ' ' + ','.join([xmin, ymin, xmax, ymax, str(class_ind)]) + print(annotation) + f.write(annotation + "\n") + return len(image_inds) + + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument("--data_path", default="/home/yang/test/VOC/") + parser.add_argument("--train_annotation", default="./data/dataset/voc_train.txt") + parser.add_argument("--test_annotation", default="./data/dataset/voc_test.txt") + flags = parser.parse_args() + + if os.path.exists(flags.train_annotation):os.remove(flags.train_annotation) + if os.path.exists(flags.test_annotation):os.remove(flags.test_annotation) + + num1 = convert_voc_annotation(os.path.join(flags.data_path, 'train/VOCdevkit/VOC2007'), 'trainval', flags.train_annotation, False) + num2 = convert_voc_annotation(os.path.join(flags.data_path, 'train/VOCdevkit/VOC2012'), 'trainval', flags.train_annotation, False) + num3 = convert_voc_annotation(os.path.join(flags.data_path, 'test/VOCdevkit/VOC2007'), 'test', flags.test_annotation, False) + print('=> The number of image for train is: %d\tThe number of image for test is:%d' %(num1 + num2, num3)) + + diff --git a/cv/detection/yolov3/tensorflow/setup.sh b/cv/detection/yolov3/tensorflow/setup.sh new file mode 100644 index 0000000000000000000000000000000000000000..a14a770d0f8f642147cd247a2507a760ac4e1251 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/setup.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +PIPCMD=pip3 + +# 1. Install packages +# To solve this error -- import cv2 ImportError: libGL.so.1: cannot open shared object file +#sudo apt update +ID=$(grep -oP '(?<=^ID=).+' /etc/os-release | tr -d '"') +if [[ ${ID} == "ubuntu" ]]; then + echo ${ID} + sudo apt -y install libgl1-mesa-glx + if [ $? -ne 0 ]; then + apt -y install libgl1-mesa-glx + fi +elif [[ ${ID} == "centos" ]]; then + echo ${ID} + sudo yum -y install mesa-libGL + if [ $? -ne 0 ]; then + yum -y install mesa-libGL + fi +else + echo "Unable to determine OS..." +fi + +$PIPCMD install opencv-python +$PIPCMD install easydict +$PIPCMD install tqdm + +# 2. Download datasets +if [ ! -d "VOC" ]; then + wget -q /files/datasets/VOC/VOC.tar.gz + tar xfz VOC.tar.gz + rm -rf VOC.tar.gz +fi + +# 3. Download pretrained yolov3 models +RUN_MODE=${RUN_MODE:-inference} +if [[ ${RUN_MODE} == "inference" ]] +then + echo "Called inference" + if [ ! -d "model_inference" ]; then + wget -q /files/model/YOLOV3/model_inference.tar.gz + mkdir model_inference + tar xfz model_inference.tar.gz -C model_inference/ + rm -rf model_inference.tar.gz + fi +elif [[ ${RUN_MODE} == "training" ]] +then + echo "Called training" + if [ ! -f "checkpoint/yolov3_coco_demo.ckpt.data-00000-of-00001" ]; then + wget -q /files/model/YOLOV3/yolov3_coco_demo.ckpt.tar.gz + tar xfz yolov3_coco_demo.ckpt.tar.gz -C checkpoint/ + rm -rf yolov3_coco_demo.ckpt.tar.gz + fi +fi diff --git a/cv/detection/yolov3/tensorflow/train.py b/cv/detection/yolov3/tensorflow/train.py new file mode 100644 index 0000000000000000000000000000000000000000..91ad29ecf45baa11ae22d4bc6457d0e9921ac23a --- /dev/null +++ b/cv/detection/yolov3/tensorflow/train.py @@ -0,0 +1,192 @@ +#! /usr/bin/env python +# coding=utf-8 +#================================================================ +# Copyright (C) 2019 * Ltd. All rights reserved. +# +# Editor : VIM +# File name : train.py +# Author : YunYang1994 +# Created date: 2019-02-28 17:50:26 +# Description : +# +#================================================================ + +import os +import time +import shutil +import numpy as np +import tensorflow as tf +import core.utils as utils +from tqdm import tqdm +from core.dataset import Dataset +from core.yolov3 import YOLOV3 +from core.config import cfg + + +if "BATCH_SIZE" in os.environ: + cfg.TRAIN.BATCH_SIZE = int(os.environ["BATCH_SIZE"]) + + +class YoloTrain(object): + def __init__(self): + self.anchor_per_scale = cfg.YOLO.ANCHOR_PER_SCALE + self.classes = utils.read_class_names(cfg.YOLO.CLASSES) + self.num_classes = len(self.classes) + self.learn_rate_init = cfg.TRAIN.LEARN_RATE_INIT + self.learn_rate_end = cfg.TRAIN.LEARN_RATE_END + self.first_stage_epochs = cfg.TRAIN.FISRT_STAGE_EPOCHS + self.second_stage_epochs = cfg.TRAIN.SECOND_STAGE_EPOCHS + self.warmup_periods = cfg.TRAIN.WARMUP_EPOCHS + self.initial_weight = cfg.TRAIN.INITIAL_WEIGHT + self.time = time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time())) + self.moving_ave_decay = cfg.YOLO.MOVING_AVE_DECAY + self.max_bbox_per_scale = 150 + self.train_logdir = "./data/log/train" + self.trainset = Dataset('train') + self.testset = Dataset('test') + self.steps_per_period = len(self.trainset) + self.sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True)) + + with tf.name_scope('define_input'): + self.input_data = tf.placeholder(dtype=tf.float32, name='input_data') + self.label_sbbox = tf.placeholder(dtype=tf.float32, name='label_sbbox') + self.label_mbbox = tf.placeholder(dtype=tf.float32, name='label_mbbox') + self.label_lbbox = tf.placeholder(dtype=tf.float32, name='label_lbbox') + self.true_sbboxes = tf.placeholder(dtype=tf.float32, name='sbboxes') + self.true_mbboxes = tf.placeholder(dtype=tf.float32, name='mbboxes') + self.true_lbboxes = tf.placeholder(dtype=tf.float32, name='lbboxes') + self.trainable = tf.placeholder(dtype=tf.bool, name='training') + + with tf.name_scope("define_loss"): + self.model = YOLOV3(self.input_data, self.trainable) + self.net_var = tf.global_variables() + self.giou_loss, self.conf_loss, self.prob_loss = self.model.compute_loss( + self.label_sbbox, self.label_mbbox, self.label_lbbox, + self.true_sbboxes, self.true_mbboxes, self.true_lbboxes) + self.loss = self.giou_loss + self.conf_loss + self.prob_loss + + with tf.name_scope('learn_rate'): + self.global_step = tf.Variable(1.0, dtype=tf.float32, trainable=False, name='global_step') + warmup_steps = tf.constant(self.warmup_periods * self.steps_per_period, + dtype=tf.float32, name='warmup_steps') + train_steps = tf.constant( (self.first_stage_epochs + self.second_stage_epochs)* self.steps_per_period, + dtype=tf.float32, name='train_steps') + self.learn_rate = tf.cond( + pred=self.global_step < warmup_steps, + true_fn=lambda: self.global_step / warmup_steps * self.learn_rate_init, + false_fn=lambda: self.learn_rate_end + 0.5 * (self.learn_rate_init - self.learn_rate_end) * + (1 + tf.cos( + (self.global_step - warmup_steps) / (train_steps - warmup_steps) * np.pi)) + ) + global_step_update = tf.assign_add(self.global_step, 1.0) + + with tf.name_scope("define_weight_decay"): + moving_ave = tf.train.ExponentialMovingAverage(self.moving_ave_decay).apply(tf.trainable_variables()) + + with tf.name_scope("define_first_stage_train"): + self.first_stage_trainable_var_list = [] + for var in tf.trainable_variables(): + var_name = var.op.name + var_name_mess = str(var_name).split('/') + if var_name_mess[0] in ['conv_sbbox', 'conv_mbbox', 'conv_lbbox']: + self.first_stage_trainable_var_list.append(var) + + first_stage_optimizer = tf.train.AdamOptimizer(self.learn_rate).minimize(self.loss, + var_list=self.first_stage_trainable_var_list) + with tf.control_dependencies(tf.get_collection(tf.GraphKeys.UPDATE_OPS)): + with tf.control_dependencies([first_stage_optimizer, global_step_update]): + with tf.control_dependencies([moving_ave]): + self.train_op_with_frozen_variables = tf.no_op() + + with tf.name_scope("define_second_stage_train"): + second_stage_trainable_var_list = tf.trainable_variables() + second_stage_optimizer = tf.train.AdamOptimizer(self.learn_rate).minimize(self.loss, + var_list=second_stage_trainable_var_list) + + with tf.control_dependencies(tf.get_collection(tf.GraphKeys.UPDATE_OPS)): + with tf.control_dependencies([second_stage_optimizer, global_step_update]): + with tf.control_dependencies([moving_ave]): + self.train_op_with_all_variables = tf.no_op() + + with tf.name_scope('loader_and_saver'): + self.loader = tf.train.Saver(self.net_var) + self.saver = tf.train.Saver(tf.global_variables(), max_to_keep=10) + + with tf.name_scope('summary'): + tf.summary.scalar("learn_rate", self.learn_rate) + tf.summary.scalar("giou_loss", self.giou_loss) + tf.summary.scalar("conf_loss", self.conf_loss) + tf.summary.scalar("prob_loss", self.prob_loss) + tf.summary.scalar("total_loss", self.loss) + + logdir = "./data/log/" + if os.path.exists(logdir): shutil.rmtree(logdir) + os.mkdir(logdir) + self.write_op = tf.summary.merge_all() + self.summary_writer = tf.summary.FileWriter(logdir, graph=self.sess.graph) + + + def train(self): + self.sess.run(tf.global_variables_initializer()) + try: + print('=> Restoring weights from: %s ... ' % self.initial_weight) + self.loader.restore(self.sess, self.initial_weight) + except: + print('=> %s does not exist !!!' % self.initial_weight) + print('=> Now it starts to train YOLOV3 from scratch ...') + self.first_stage_epochs = 0 + + for epoch in range(1, 1+self.first_stage_epochs+self.second_stage_epochs): + if epoch <= self.first_stage_epochs: + train_op = self.train_op_with_frozen_variables + else: + train_op = self.train_op_with_all_variables + + pbar = tqdm(self.trainset) + train_epoch_loss, test_epoch_loss = [], [] + + for train_data in pbar: + _, summary, train_step_loss, global_step_val = self.sess.run( + [train_op, self.write_op, self.loss, self.global_step],feed_dict={ + self.input_data: train_data[0], + self.label_sbbox: train_data[1], + self.label_mbbox: train_data[2], + self.label_lbbox: train_data[3], + self.true_sbboxes: train_data[4], + self.true_mbboxes: train_data[5], + self.true_lbboxes: train_data[6], + self.trainable: True, + }) + + train_epoch_loss.append(train_step_loss) + self.summary_writer.add_summary(summary, global_step_val) + pbar.set_description("train loss: %.2f" %train_step_loss) + + for test_data in self.testset: + test_step_loss = self.sess.run( self.loss, feed_dict={ + self.input_data: test_data[0], + self.label_sbbox: test_data[1], + self.label_mbbox: test_data[2], + self.label_lbbox: test_data[3], + self.true_sbboxes: test_data[4], + self.true_mbboxes: test_data[5], + self.true_lbboxes: test_data[6], + self.trainable: False, + }) + + test_epoch_loss.append(test_step_loss) + + train_epoch_loss, test_epoch_loss = np.mean(train_epoch_loss), np.mean(test_epoch_loss) + ckpt_file = "./checkpoint/yolov3_test_loss=%.4f.ckpt" % test_epoch_loss + log_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) + print("=> Epoch: %2d Time: %s Train loss: %.2f Test loss: %.2f Saving %s ..." + %(epoch, log_time, train_epoch_loss, test_epoch_loss, ckpt_file)) + self.saver.save(self.sess, ckpt_file, global_step=epoch) + + + +if __name__ == '__main__': YoloTrain().train() + + + + diff --git a/cv/detection/yolov3/tensorflow/train_fast.py b/cv/detection/yolov3/tensorflow/train_fast.py new file mode 100644 index 0000000000000000000000000000000000000000..5992fd4ae987c769e6d5bb21acca0b0ddf1f5ef2 --- /dev/null +++ b/cv/detection/yolov3/tensorflow/train_fast.py @@ -0,0 +1,267 @@ +#! /usr/bin/env python +# coding=utf-8 +#================================================================ +# Copyright (C) 2021 * Ltd. All rights reserved. +# +# Editor : VSCode +# File name : train.py +# Author : Liwei Dai +# Created date: 2021/4/30 15:30 +# Description : Fast training: only run second stage training for limited steps. +# +#================================================================ + +import os +import time +from datetime import datetime +import shutil +import numpy as np +import tensorflow.compat.v1 as tf +import core.utils as utils +from tqdm import tqdm +from core.dataset import Dataset +from core.yolov3 import YOLOV3 +from core.config import cfg + +tf.disable_eager_execution() + +if "BATCH_SIZE" in os.environ: + cfg.TRAIN.BATCH_SIZE = int(os.environ["BATCH_SIZE"]) + +try: + from dltest import show_training_arguments + show_training_arguments(cfg) +except: + pass + + +class YoloTrain(object): + def __init__(self): + self.anchor_per_scale = cfg.YOLO.ANCHOR_PER_SCALE + self.classes = utils.read_class_names(cfg.YOLO.CLASSES) + self.num_classes = len(self.classes) + self.learn_rate_init = cfg.TRAIN.LEARN_RATE_INIT + self.learn_rate_end = cfg.TRAIN.LEARN_RATE_END + self.first_stage_epochs = 2 + self.second_stage_epochs = 0 + self.second_stage_steps = 100 + self.warmup_periods = cfg.TRAIN.WARMUP_EPOCHS + self.initial_weight = cfg.TRAIN.INITIAL_WEIGHT + self.time = time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time())) + self.moving_ave_decay = cfg.YOLO.MOVING_AVE_DECAY + self.max_bbox_per_scale = 150 + self.train_logdir = "./data/log/train" + self.trainset = Dataset('train') + self.testset = Dataset('test') + self.steps_per_period = len(self.trainset) + self.sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True)) + + with tf.name_scope('define_input'): + self.input_data = tf.placeholder(dtype=tf.float32, name='input_data') + self.label_sbbox = tf.placeholder(dtype=tf.float32, name='label_sbbox') + self.label_mbbox = tf.placeholder(dtype=tf.float32, name='label_mbbox') + self.label_lbbox = tf.placeholder(dtype=tf.float32, name='label_lbbox') + self.true_sbboxes = tf.placeholder(dtype=tf.float32, name='sbboxes') + self.true_mbboxes = tf.placeholder(dtype=tf.float32, name='mbboxes') + self.true_lbboxes = tf.placeholder(dtype=tf.float32, name='lbboxes') + self.trainable = tf.placeholder(dtype=tf.bool, name='training') + + with tf.name_scope("define_loss"): + self.model = YOLOV3(self.input_data, self.trainable) + self.net_var = tf.global_variables() + self.giou_loss, self.conf_loss, self.prob_loss = self.model.compute_loss( + self.label_sbbox, self.label_mbbox, self.label_lbbox, + self.true_sbboxes, self.true_mbboxes, self.true_lbboxes) + self.loss = self.giou_loss + self.conf_loss + self.prob_loss + + with tf.name_scope('learn_rate'): + self.global_step = tf.Variable(1.0, dtype=tf.float32, trainable=False, name='global_step') + warmup_steps = tf.constant(self.warmup_periods * self.steps_per_period, + dtype=tf.float32, name='warmup_steps') + train_steps = tf.constant( (self.first_stage_epochs + self.second_stage_epochs)* self.steps_per_period + + self.second_stage_steps, dtype=tf.float32, name='train_steps') + self.learn_rate = tf.cond( + pred=self.global_step < warmup_steps, + true_fn=lambda: self.global_step / warmup_steps * self.learn_rate_init, + false_fn=lambda: self.learn_rate_end + 0.5 * (self.learn_rate_init - self.learn_rate_end) * + (1 + tf.cos( + (self.global_step - warmup_steps) / (train_steps - warmup_steps) * np.pi)) + ) + global_step_update = tf.assign_add(self.global_step, 1.0) + + with tf.name_scope("define_weight_decay"): + moving_ave = tf.train.ExponentialMovingAverage(self.moving_ave_decay).apply(tf.trainable_variables()) + + with tf.name_scope("define_first_stage_train"): + self.first_stage_trainable_var_list = [] + for var in tf.trainable_variables(): + var_name = var.op.name + var_name_mess = str(var_name).split('/') + if var_name_mess[0] in ['conv_sbbox', 'conv_mbbox', 'conv_lbbox']: + self.first_stage_trainable_var_list.append(var) + + first_stage_optimizer = tf.train.AdamOptimizer(self.learn_rate).minimize(self.loss, + var_list=self.first_stage_trainable_var_list) + with tf.control_dependencies(tf.get_collection(tf.GraphKeys.UPDATE_OPS)): + with tf.control_dependencies([first_stage_optimizer, global_step_update]): + with tf.control_dependencies([moving_ave]): + self.train_op_with_frozen_variables = tf.no_op() + + with tf.name_scope("define_second_stage_train"): + second_stage_trainable_var_list = tf.trainable_variables() + second_stage_optimizer = tf.train.AdamOptimizer(self.learn_rate).minimize(self.loss, + var_list=second_stage_trainable_var_list) + + with tf.control_dependencies(tf.get_collection(tf.GraphKeys.UPDATE_OPS)): + with tf.control_dependencies([second_stage_optimizer, global_step_update]): + with tf.control_dependencies([moving_ave]): + self.train_op_with_all_variables = tf.no_op() + + with tf.name_scope('loader_and_saver'): + self.loader = tf.train.Saver(self.net_var) + self.saver = tf.train.Saver(tf.global_variables(), max_to_keep=10) + + with tf.name_scope('summary'): + tf.summary.scalar("learn_rate", self.learn_rate) + tf.summary.scalar("giou_loss", self.giou_loss) + tf.summary.scalar("conf_loss", self.conf_loss) + tf.summary.scalar("prob_loss", self.prob_loss) + tf.summary.scalar("total_loss", self.loss) + + date = datetime.now().strftime("%Y_%m_%d-%I:%M:%S") + logdir = "./data/log/" + date + #if os.path.exists(logdir): shutil.rmtree(logdir) + os.makedirs(logdir) + self.write_op = tf.summary.merge_all() + self.summary_writer = tf.summary.FileWriter(logdir, graph=self.sess.graph) + + + def train(self): + self.sess.run(tf.global_variables_initializer()) + try: + print('=> Restoring weights from: %s ... ' % self.initial_weight) + self.loader.restore(self.sess, self.initial_weight) + except: + print('=> %s does not exist !!!' % self.initial_weight) + print('=> Now it starts to train YOLOV3 from scratch ...') + self.first_stage_epochs = 0 + + for epoch in range(1, 1+self.first_stage_epochs+self.second_stage_epochs): + if epoch <= self.first_stage_epochs: + train_op = self.train_op_with_frozen_variables + else: + train_op = self.train_op_with_all_variables + + pbar = tqdm(self.trainset) + train_epoch_loss, test_epoch_loss = [], [] + + for train_data in pbar: + _, summary, train_step_loss, global_step_val = self.sess.run( + [train_op, self.write_op, self.loss, self.global_step],feed_dict={ + self.input_data: train_data[0], + self.label_sbbox: train_data[1], + self.label_mbbox: train_data[2], + self.label_lbbox: train_data[3], + self.true_sbboxes: train_data[4], + self.true_mbboxes: train_data[5], + self.true_lbboxes: train_data[6], + self.trainable: True, + }) + + train_epoch_loss.append(train_step_loss) + self.summary_writer.add_summary(summary, global_step_val) + pbar.set_description("train loss: %.2f" % train_step_loss) + + train_epoch_loss = np.mean(train_epoch_loss) + log_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) + print("=> Epoch: %2d Time: %s Train loss: %.2f..." + %(epoch, log_time, train_epoch_loss)) + + if epoch > 1 + self.first_stage_epochs: + pbar_test = tqdm(self.testset) + for test_data in pbar_test: + test_step_loss = self.sess.run( self.loss, feed_dict={ + self.input_data: test_data[0], + self.label_sbbox: test_data[1], + self.label_mbbox: test_data[2], + self.label_lbbox: test_data[3], + self.true_sbboxes: test_data[4], + self.true_mbboxes: test_data[5], + self.true_lbboxes: test_data[6], + self.trainable: False, + }) + + test_epoch_loss.append(test_step_loss) + pbar_test.set_description("test loss: %.2f" % test_step_loss) + + test_epoch_loss = np.mean(test_epoch_loss) + log_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) + print("=> Epoch: %2d Time: %s Train loss: %.2f Test loss: %.2f ..." + %(epoch, log_time, train_epoch_loss, test_epoch_loss)) + + # Save checkpoints + ckpt_file = "./checkpoint/yolov3_train_loss=%.4f.ckpt" % train_epoch_loss + print("\tSaving to %s.%s..." % (ckpt_file, epoch)) + self.saver.save(self.sess, ckpt_file, global_step=epoch) + + # Second stage training, unfreeze all weights + train_op = self.train_op_with_all_variables + pbar = tqdm(range(self.second_stage_steps)) + train_epoch_loss, test_epoch_loss = [], [] + + for idx in pbar: + train_data = next(self.trainset) + _, summary, train_step_loss, global_step_val = self.sess.run( + [train_op, self.write_op, self.loss, self.global_step],feed_dict={ + self.input_data: train_data[0], + self.label_sbbox: train_data[1], + self.label_mbbox: train_data[2], + self.label_lbbox: train_data[3], + self.true_sbboxes: train_data[4], + self.true_mbboxes: train_data[5], + self.true_lbboxes: train_data[6], + self.trainable: True, + }) + + train_epoch_loss.append(train_step_loss) + self.summary_writer.add_summary(summary, global_step_val) + pbar.set_description("train loss: %.2f" % train_step_loss) + + train_epoch_loss = np.mean(train_epoch_loss) + log_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) + print("=> Epoch: %2d Time: %s Train loss: %.2f..." + %(epoch+1, log_time, train_epoch_loss)) + + # evaluate on testset in the end + pbar_test = tqdm(self.testset) + for test_data in pbar_test: + test_step_loss = self.sess.run( self.loss, feed_dict={ + self.input_data: test_data[0], + self.label_sbbox: test_data[1], + self.label_mbbox: test_data[2], + self.label_lbbox: test_data[3], + self.true_sbboxes: test_data[4], + self.true_mbboxes: test_data[5], + self.true_lbboxes: test_data[6], + self.trainable: False, + }) + + test_epoch_loss.append(test_step_loss) + pbar_test.set_description("test loss: %.2f" % test_step_loss) + + test_epoch_loss = np.mean(test_epoch_loss) + log_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) + print("=> Epoch: %2d Time: %s Train loss: %.2f Test loss: %.2f ..." + %(epoch, log_time, train_epoch_loss, test_epoch_loss)) + # Save checkpoints + ckpt_file = "./checkpoint/yolov3_train_fast.ckpt" + print("\tSaving to %s..." % ckpt_file) + self.saver.save(self.sess, ckpt_file) + + + +if __name__ == '__main__': YoloTrain().train() + + + + diff --git a/cv/detection/yolov3/tensorflow/video_demo.py b/cv/detection/yolov3/tensorflow/video_demo.py new file mode 100644 index 0000000000000000000000000000000000000000..3bafc2d33eb5425a8c97ae33e44cdc387ef573fd --- /dev/null +++ b/cv/detection/yolov3/tensorflow/video_demo.py @@ -0,0 +1,68 @@ +#! /usr/bin/env python +# coding=utf-8 +#================================================================ +# Copyright (C) 2018 * Ltd. All rights reserved. +# +# Editor : VIM +# File name : video_demo.py +# Author : YunYang1994 +# Created date: 2018-11-30 15:56:37 +# Description : +# +#================================================================ + +import cv2 +import time +import numpy as np +import core.utils as utils +import tensorflow as tf +from PIL import Image + + +return_elements = ["input/input_data:0", "pred_sbbox/concat_2:0", "pred_mbbox/concat_2:0", "pred_lbbox/concat_2:0"] +pb_file = "./yolov3_coco.pb" +video_path = "./docs/images/road.mp4" +# video_path = 0 +num_classes = 80 +input_size = 416 +graph = tf.Graph() +return_tensors = utils.read_pb_return_tensors(graph, pb_file, return_elements) + +with tf.Session(graph=graph) as sess: + vid = cv2.VideoCapture(video_path) + while True: + return_value, frame = vid.read() + if return_value: + frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) + image = Image.fromarray(frame) + else: + raise ValueError("No image!") + frame_size = frame.shape[:2] + image_data = utils.image_preporcess(np.copy(frame), [input_size, input_size]) + image_data = image_data[np.newaxis, ...] + prev_time = time.time() + + pred_sbbox, pred_mbbox, pred_lbbox = sess.run( + [return_tensors[1], return_tensors[2], return_tensors[3]], + feed_dict={ return_tensors[0]: image_data}) + + pred_bbox = np.concatenate([np.reshape(pred_sbbox, (-1, 5 + num_classes)), + np.reshape(pred_mbbox, (-1, 5 + num_classes)), + np.reshape(pred_lbbox, (-1, 5 + num_classes))], axis=0) + + bboxes = utils.postprocess_boxes(pred_bbox, frame_size, input_size, 0.3) + bboxes = utils.nms(bboxes, 0.45, method='nms') + image = utils.draw_bbox(frame, bboxes) + + curr_time = time.time() + exec_time = curr_time - prev_time + result = np.asarray(image) + info = "time: %.2f ms" %(1000*exec_time) + cv2.namedWindow("result", cv2.WINDOW_AUTOSIZE) + result = cv2.cvtColor(image, cv2.COLOR_RGB2BGR) + cv2.imshow("result", result) + if cv2.waitKey(1) & 0xFF == ord('q'): break + + + +