diff --git a/.github/workflows/main_py310.yml b/.github/workflows/main_py310.yml index 7260720f..508dcf44 100644 --- a/.github/workflows/main_py310.yml +++ b/.github/workflows/main_py310.yml @@ -1,4 +1,4 @@ -name: Python 3.10 Testing PyGAD using PyTest +name: PyGAD PyTest / Python 3.10 on: push: diff --git a/.github/workflows/main_py311.yml b/.github/workflows/main_py311.yml index 5c37789c..ce5a1963 100644 --- a/.github/workflows/main_py311.yml +++ b/.github/workflows/main_py311.yml @@ -1,4 +1,4 @@ -name: Python 3.11 Testing PyGAD using PyTest +name: PyGAD PyTest / Python 3.11 on: push: diff --git a/.github/workflows/main_py312.yml b/.github/workflows/main_py312.yml new file mode 100644 index 00000000..560d5019 --- /dev/null +++ b/.github/workflows/main_py312.yml @@ -0,0 +1,45 @@ +name: PyGAD PyTest / Python 3.12 + +# Cannot install packages in Python 3.12. +# The reason is that we use pip for installing packages. +# pip uses setuptools for the installation. +# setuptools depends on distutils. +# But Python 3.12 does not support distutils. +# Let's wait until setuptools changes its dependencies. + +# on: +# push: +# branches: + # - github-actions + # - master +on: workflow_dispatch + +jobs: + job_id_1: + runs-on: ubuntu-latest + name: PyTest Workflow Job + + steps: + - name: Checkout Pre-Built Action + uses: actions/checkout@v3 + + - name: Setup Python 3.12 + uses: actions/setup-python@v4 + with: + python-version: '3.12.0-beta.2' + + - name: Build PyGAD from the Repository + run: | + python3 -m pip install --upgrade build + python3 -m build + + - name: Install PyGAD after Building the .whl File + run: | + find ./dist/*.whl | xargs pip install + + - name: Install PyTest + run: pip install pytest + + - name: Run the Tests by Calling PyTest + run: | + pytest diff --git a/.github/workflows/main_py37.yml b/.github/workflows/main_py37.yml index 77e5a9f0..6268472d 100644 --- a/.github/workflows/main_py37.yml +++ b/.github/workflows/main_py37.yml @@ -1,4 +1,4 @@ -name: Python 3.7 Testing PyGAD using PyTest +name: PyGAD PyTest / Python 3.7 on: push: diff --git a/.github/workflows/main_py38.yml b/.github/workflows/main_py38.yml index 7839f184..d8902dcb 100644 --- a/.github/workflows/main_py38.yml +++ b/.github/workflows/main_py38.yml @@ -1,4 +1,4 @@ -name: Python 3.8 Testing PyGAD using PyTest +name: PyGAD PyTest / Python 3.8 on: push: diff --git a/.github/workflows/main_py39.yml b/.github/workflows/main_py39.yml index b34d7baf..e4e0ef1d 100644 --- a/.github/workflows/main_py39.yml +++ b/.github/workflows/main_py39.yml @@ -1,4 +1,4 @@ -name: Python 3.9 Testing PyGAD using PyTest +name: PyGAD PyTest / Python 3.9 on: push: diff --git a/README.md b/README.md index ef5a7ae2..faf8f303 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ The library is under active development and more features are added regularly. I # Installation -To install [PyGAD](https://pypi.org/project/pygad), simply use pip to download and install the library from [PyPI](https://pypi.org/project/pygad) (Python Package Index). The library lives a PyPI at this page https://pypi.org/project/pygad. +To install [PyGAD](https://pypi.org/project/pygad), simply use pip to download and install the library from [PyPI](https://pypi.org/project/pygad) (Python Package Index). The library is at PyPI at this page https://pypi.org/project/pygad. Install PyGAD with the following command: @@ -29,7 +29,7 @@ Install PyGAD with the following command: pip install pygad ``` -To get started with PyGAD, please read the documentation at [Read The Docs](https://pygad.readthedocs.io) https://pygad.readthedocs.io. +To get started with PyGAD, please read the documentation at [Read The Docs](https://pygad.readthedocs.io/) https://pygad.readthedocs.io. # PyGAD Source Code @@ -146,7 +146,7 @@ on_stop() # Example -Check the [PyGAD's documentation](https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html) for information about the implementation of this example. +Check the [PyGAD's documentation](https://pygad.readthedocs.io/en/latest/pygad.html) for information about the implementation of this example. ```python import pygad diff --git a/Tutorial Project/README.md b/Tutorial Project/README.md index e9e32eb8..3b2f2fb0 100644 --- a/Tutorial Project/README.md +++ b/Tutorial Project/README.md @@ -1,24 +1,11 @@ # GeneticAlgorithmPython -Genetic algorithm implementation in Python - -This folder under the project has the code built in the tutorial titled [**Genetic Algorithm Implementation in Python**](https://www.linkedin.com/pulse/genetic-algorithm-implementation-python-ahmed-gad) which is available in these links: +This folder has the code for the tutorial titled [**Genetic Algorithm Implementation in Python**](https://www.linkedin.com/pulse/genetic-algorithm-implementation-python-ahmed-gad) which is available at these links: * https://www.linkedin.com/pulse/genetic-algorithm-implementation-python-ahmed-gad * https://towardsdatascience.com/genetic-algorithm-implementation-in-python-5ab67bb124a6 * https://www.kdnuggets.com/2018/07/genetic-algorithm-implementation-python.html -The `ga.py` file holds the implementation of the GA operations such as mutation and crossover. The other file gives an example of using the GA.py file. - -It is important to note that this project does not implement everything in GA and there are a wide number of variations to be applied. For example, this project uses decimal representation for the chromosome and the binary representations might be preferred for other problems. - -## For Contacting the Author +The `ga.py` file has the implementation of the GA operations such as mutation and crossover. It is a primitive implementation of the genetic algorithm. The other file gives an example of using the ga.py file. -* E-mail: ahmed.f.gad@gmail.com -* [LinkedIn](https://www.linkedin.com/in/ahmedfgad) -* [Amazon Author Page](https://amazon.com/author/ahmedgad) -* [Paperspace](https://blog.paperspace.com/author/ahmed) -* [Hearbeat](https://heartbeat.fritz.ai/@ahmedfgad) -* [KDnuggets](https://kdnuggets.com/author/ahmed-gad) -* [TowardsDataScience](https://towardsdatascience.com/@ahmedfgad) -* [GitHub](https://github.com/ahmedfgad) +It is important to note that this project does not implement everything in GA and there are a wide number of variations to be applied. For example, this project uses decimal representation for the chromosome and the binary representations might be preferred for other problems. Check [PyGAD](https://pygad.readthedocs.io/en) for extensive features. diff --git a/docs/source/conf.py b/docs/source/conf.py index eca93138..806bb02c 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -18,11 +18,11 @@ # -- Project information ----------------------------------------------------- project = 'PyGAD' -copyright = '2020, Ahmed Fawzy Gad' +copyright = '2023, Ahmed Fawzy Gad' author = 'Ahmed Fawzy Gad' # The full version, including alpha/beta/rc tags -release = '3.0.1' +release = '3.1.0' master_doc = 'index' diff --git a/docs/source/kerasga.rst b/docs/source/kerasga.rst index a602468c..e1c8316c 100644 --- a/docs/source/kerasga.rst +++ b/docs/source/kerasga.rst @@ -4,7 +4,7 @@ ======================== This section of the PyGAD's library documentation discusses the -`pygad.kerasga `__ +`pygad.kerasga `__ module. The ``pygad.kerarsga`` module has helper a class and 2 functions to @@ -206,7 +206,19 @@ accepts the following parameters: 3. ``data``: The test data inputs. -It returns the predictions for the data samples. +4. ``batch_size=None``: The batch size (i.e. number of samples per step + or batch). + +5. ``verbose=None``: Verbosity mode. + +6. ``steps=None``: The total number of steps (batches of samples). + +Check documentation of the `Keras +Model.predict() `__ +method for more information about the ``batch_size``, ``verbose``, and +``steps`` parameters. + +It returns the predictions of the data samples. Examples ======== @@ -241,7 +253,7 @@ subsections discuss each part in the code. return solution_fitness - def callback_generation(ga_instance): + def on_generation(ga_instance): print("Generation = {generation}".format(generation=ga_instance.generations_completed)) print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) @@ -266,7 +278,7 @@ subsections discuss each part in the code. [1.3], [2.5]]) - # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class + # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/pygad.html#pygad-ga-class num_generations = 250 # Number of generations. num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. initial_population = keras_ga.population_weights # Initial population of network weights @@ -275,7 +287,7 @@ subsections discuss each part in the code. num_parents_mating=num_parents_mating, initial_population=initial_population, fitness_func=fitness_func, - on_generation=callback_generation) + on_generation=on_generation) ga_instance.run() @@ -343,8 +355,6 @@ Change this number according to your needs. keras_ga = pygad.kerasga.KerasGA(model=model, num_solutions=10) -.. _prepare-the-training-data-1: - Prepare the Training Data ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -406,11 +416,11 @@ The fifth step is to instantiate the ``pygad.GA`` class. Note how the the Keras models. For more information, please check the `parameters this class -accepts `__. +accepts `__. .. code:: python - # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class + # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/pygad.html#pygad-ga-class num_generations = 250 # Number of generations. num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. initial_population = keras_ga.population_weights # Initial population of network weights @@ -419,7 +429,7 @@ accepts `__ +Data `__ section of the ``pygad.cnn`` module. Simply download these 2 files and read them according to the next code. @@ -938,14 +948,14 @@ Note that the class labels are one-hot encoded using the import numpy - data_inputs = numpy.load("dataset_inputs.npy") + data_inputs = numpy.load("../data/dataset_inputs.npy") - data_outputs = numpy.load("dataset_outputs.npy") + data_outputs = numpy.load("../data/dataset_outputs.npy") data_outputs = tensorflow.keras.utils.to_categorical(data_outputs) The next figure shows how the fitness value changes. -.. figure:: https://user-images.githubusercontent.com/16560492/93722654-cc55d780-fb98-11ea-8f95-7b65dc67f5c8.png +.. image:: https://user-images.githubusercontent.com/16560492/93722654-cc55d780-fb98-11ea-8f95-7b65dc67f5c8.png :alt: Here are some statistics about the trained model. The model accuracy is @@ -969,3 +979,100 @@ To improve the model performance, you can do the following: - Use different parameters for the genetic algorithm (e.g. number of solution, number of generations, etc) + +Example 5: Image Classification using Data Generator +---------------------------------------------------- + +This example uses the image data generator +``tensorflow.keras.preprocessing.image.ImageDataGenerator`` to feed data +to the model. Instead of reading all the data in the memory, the data +generator generates the data needed by the model and only save it in the +memory instead of saving all the data. This frees the memory but adds +more computational time. + +.. code:: python + + import tensorflow as tf + import tensorflow.keras + import pygad.kerasga + import pygad + + def fitness_func(ga_instanse, solution, sol_idx): + global train_generator, data_outputs, keras_ga, model + + predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=train_generator) + + cce = tensorflow.keras.losses.CategoricalCrossentropy() + solution_fitness = 1.0 / (cce(data_outputs, predictions).numpy() + 0.00000001) + + return solution_fitness + + def on_generation(ga_instance): + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution(ga_instance.last_generation_fitness)[1])) + + # The dataset path. + dataset_path = r'../data/Skin_Cancer_Dataset' + + num_classes = 2 + img_size = 224 + + # Create a simple CNN. This does not gurantee high classification accuracy. + model = tf.keras.models.Sequential() + model.add(tf.keras.layers.Input(shape=(img_size, img_size, 3))) + model.add(tf.keras.layers.Conv2D(32, (3,3), activation="relu", padding="same")) + model.add(tf.keras.layers.MaxPooling2D((2, 2))) + model.add(tf.keras.layers.Flatten()) + model.add(tf.keras.layers.Dropout(rate=0.2)) + model.add(tf.keras.layers.Dense(num_classes, activation="softmax")) + + # Create an instance of the pygad.kerasga.KerasGA class to build the initial population. + keras_ga = pygad.kerasga.KerasGA(model=model, + num_solutions=10) + + data_generator = tf.keras.preprocessing.image.ImageDataGenerator() + train_generator = data_generator.flow_from_directory(dataset_path, + class_mode='categorical', + target_size=(224, 224), + batch_size=32, + shuffle=False) + # train_generator.class_indices + data_outputs = tf.keras.utils.to_categorical(train_generator.labels) + + # Check the documentation for more information about the parameters: https://pygad.readthedocs.io/en/latest/pygad.html#pygad-ga-class + initial_population = keras_ga.population_weights # Initial population of network weights. + + # Create an instance of the pygad.GA class + ga_instance = pygad.GA(num_generations=10, + num_parents_mating=5, + initial_population=initial_population, + fitness_func=fitness_func, + on_generation=on_generation) + + # Start the genetic algorithm evolution. + ga_instance.run() + + # After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. + ga_instance.plot_fitness(title="PyGAD & Keras - Iteration vs. Fitness", linewidth=4) + + # Returning the details of the best solution. + solution, solution_fitness, solution_idx = ga_instance.best_solution(ga_instance.last_generation_fitness) + print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) + print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + + predictions = pygad.kerasga.predict(model=model, + solution=solution, + data=train_generator) + # print("Predictions : \n", predictions) + + # Calculate the categorical crossentropy for the trained model. + cce = tensorflow.keras.losses.CategoricalCrossentropy() + print("Categorical Crossentropy : ", cce(data_outputs, predictions).numpy()) + + # Calculate the classification accuracy for the trained model. + ca = tensorflow.keras.metrics.CategoricalAccuracy() + ca.update_state(data_outputs, predictions) + accuracy = ca.result().numpy() + print("Accuracy : ", accuracy) diff --git a/docs/source/pygad.rst b/docs/source/pygad.rst index 4e09154f..73d1ef6a 100644 --- a/docs/source/pygad.rst +++ b/docs/source/pygad.rst @@ -39,7 +39,7 @@ The ``pygad.GA`` class constructor supports the following parameters: solution, and 3. its index in the population). If method, then it accepts a fourth parameter representing the method's class instance. Check the `Preparing the fitness_func - Parameter `__ + Parameter `__ section for information about creating such a function. - ``fitness_batch_size=None``: A new optional parameter called @@ -51,7 +51,7 @@ The ``pygad.GA`` class constructor supports the following parameters: ``1 < fitness_batch_size <= sol_per_pop``, then the solutions are grouped into batches of size ``fitness_batch_size`` and the fitness function is called once for each batch. Check the `Batch Fitness - Calculation `__ + Calculation `__ section for more details and examples. Added in from `PyGAD 2.19.0 `__. @@ -114,7 +114,7 @@ The ``pygad.GA`` class constructor supports the following parameters: function can be passed starting from `PyGAD 2.16.0 `__. Check the `User-Defined Crossover, Mutation, and Parent Selection - Operators `__ + Operators `__ section for more details about building a user-defined parent selection function. @@ -158,7 +158,7 @@ The ``pygad.GA`` class constructor supports the following parameters: function can be passed starting from `PyGAD 2.16.0 `__. Check the `User-Defined Crossover, Mutation, and Parent Selection - Operators `__ + Operators `__ section for more details about creating a user-defined crossover function. Starting from `PyGAD 2.2.2 `__ @@ -184,7 +184,7 @@ The ``pygad.GA`` class constructor supports the following parameters: starting from `PyGAD 2.16.0 `__. Check the `User-Defined Crossover, Mutation, and Parent Selection - Operators `__ + Operators `__ section for more details about creating a user-defined mutation function. Starting from `PyGAD 2.2.2 `__ @@ -195,10 +195,10 @@ The ``pygad.GA`` class constructor supports the following parameters: mutation is supported starting from `PyGAD 2.10.0 `__. For more information about adaptive mutation, go the the `Adaptive - Mutation `__ + Mutation `__ section. For example about using adaptive mutation, check the `Use Adaptive Mutation in - PyGAD `__ + PyGAD `__ section. - ``mutation_probability=None``: The probability of selecting a gene @@ -263,7 +263,7 @@ The ``pygad.GA`` class constructor supports the following parameters: - ``gene_space=None``: It is used to specify the possible values for each gene in case the user wants to restrict the gene values. It is useful if the gene space is restricted to a certain range or to - discrete values. It accepts a ``list``, ``tuple``, ``range``, or + discrete values. It accepts a ``list``, ``range``, or ``numpy.ndarray``. When all genes have the same global space, specify their values as a ``list``/``tuple``/``range``/``numpy.ndarray``. For example, ``gene_space = [0.3, 5.2, -4, 8]`` restricts the gene values @@ -399,7 +399,7 @@ The ``pygad.GA`` class constructor supports the following parameters: 5 threads which is equivalent to ``parallel_processing=["thread", 5]``. For more information, check the `Parallel Processing in - PyGAD `__ + PyGAD `__ section. - ``random_seed=None``: Added in `PyGAD @@ -417,7 +417,7 @@ The ``pygad.GA`` class constructor supports the following parameters: Added in `PyGAD 3.0.0 `__. Check the `Logging - Outputs `__ + Outputs `__ for more information. The user doesn't have to specify all of such parameters while creating @@ -553,7 +553,14 @@ Other Attributes module. Supported in `PyGAD 3.0.0 `__. -Note that the attributes with its name start with ``last_generation_`` +- ``gene_space_unpacked``: This is the unpacked version of the + ``gene_space`` parameter. For example, ``range(1, 5)`` is unpacked to + ``[1, 2, 3, 4]``. For an infinite range like + ``{'low': 2, 'high': 4}``, then it is unpacked to a limited number of + values (e.g. 100). Supported in `PyGAD + 3.1.0 `__. + +Note that the attributes with names starting with ``last_generation_`` are updated after each generation. Other Methods @@ -601,7 +608,7 @@ Other Methods `PyGAD 2.19.0 `__. Check the `Print Lifecycle - Summary `__ + Summary `__ section for more details and examples. The next sections discuss the methods available in the ``pygad.GA`` @@ -1286,7 +1293,7 @@ generations. ga_instance.plot_fitness() -.. figure:: https://user-images.githubusercontent.com/16560492/78830005-93111d00-79e7-11ea-9d8e-a8d8325a6101.png +.. image:: https://user-images.githubusercontent.com/16560492/78830005-93111d00-79e7-11ea-9d8e-a8d8325a6101.png :alt: Information about the Best Solution @@ -1411,7 +1418,7 @@ instance of the ``pygad.GA`` class. Note that PyGAD stops when either all generations are completed or when the function passed to the ``on_generation`` parameter returns the string ``stop``. -.. figure:: https://user-images.githubusercontent.com/16560492/220486073-c5b6089d-81e4-44d9-a53c-385f479a7273.jpg +.. image:: https://user-images.githubusercontent.com/16560492/220486073-c5b6089d-81e4-44d9-a53c-385f479a7273.jpg :alt: The next code implements all the callback functions to trace the @@ -1551,7 +1558,7 @@ In PyGAD, if ``f=f_avg``, then the solution is regarded of high quality. The next figure summarizes the previous steps. -.. figure:: https://user-images.githubusercontent.com/16560492/103468973-e3c26600-4d2c-11eb-8af3-b3bb39b50540.jpg +.. image:: https://user-images.githubusercontent.com/16560492/103468973-e3c26600-4d2c-11eb-8af3-b3bb39b50540.jpg :alt: This strategy is applied in PyGAD. @@ -1571,7 +1578,7 @@ the following 2 simple steps: ``mutation_probability``, ``mutation_num_genes``, and ``mutation_percent_genes``. Please check the `documentation of each of these - parameters `__ + parameters `__ for more information. When adaptive mutation is used, then the value assigned to any of the 3 @@ -1658,8 +1665,10 @@ Here is an example that uses adaptive mutation. ga_instance.plot_fitness(title="PyGAD with Adaptive Mutation", linewidth=5) -Limit the Gene Value Range -========================== +.. _limit-the-gene-value-range-using-the-genespace-parameter: + +Limit the Gene Value Range using the ``gene_space`` Parameter +============================================================= In `PyGAD 2.11.0 `__, @@ -1735,6 +1744,157 @@ take any floating-point value from the range that starts from 1 gene_space = [{'low': 1, 'high': 5}, {'low': 0.3, 'high': 1.4}, {'low': -0.2, 'high': 4.5}] +.. _more-about-the-genespace-parameter: + +More about the ``gene_space`` Parameter +======================================= + +The ``gene_space`` parameter customizes the space of values of each +gene. + +Assuming that all genes have the same global space which include the +values 0.3, 5.2, -4, and 8, then those values can be assigned to the +``gene_space`` parameter as a list, tuple, or range. Here is a list +assigned to this parameter. By doing that, then the gene values are +restricted to those assigned to the ``gene_space`` parameter. + +.. code:: python + + gene_space = [0.3, 5.2, -4, 8] + +If some genes have different spaces, then ``gene_space`` should accept a +nested list or tuple. In this case, the elements could be: + +1. Number (of ``int``, ``float``, or ``NumPy`` data types): A single + value to be assigned to the gene. This means this gene will have the + same value across all generations. + +2. ``list``, ``tuple``, ``numpy.ndarray``, or any range like ``range``, + ``numpy.arange()``, or ``numpy.linspace``: It holds the space for + each individual gene. But this space is usually discrete. That is + there is a set of finite values to select from. + +3. ``dict``: To sample a value for a gene from a continuous range. The + dictionary must have 2 mandatory keys which are ``"low"`` and + ``"high"`` in addition to an optional key which is ``"step"``. A + random value is returned between the values assigned to the items + with ``"low"`` and ``"high"`` keys. If the ``"step"`` exists, then + this works as the previous options (i.e. discrete set of values). + +4. ``None``: A gene with its space set to ``None`` is initialized + randomly from the range specified by the 2 parameters + ``init_range_low`` and ``init_range_high``. For mutation, its value + is mutated based on a random value from the range specified by the 2 + parameters ``random_mutation_min_val`` and + ``random_mutation_max_val``. If all elements in the ``gene_space`` + parameter are ``None``, the parameter will not have any effect. + +Assuming that a chromosome has 2 genes and each gene has a different +value space. Then the ``gene_space`` could be assigned a nested +list/tuple where each element determines the space of a gene. + +According to the next code, the space of the first gene is ``[0.4, -5]`` +which has 2 values and the space for the second gene is +``[0.5, -3.2, 8.8, -9]`` which has 4 values. + +.. code:: python + + gene_space = [[0.4, -5], [0.5, -3.2, 8.2, -9]] + +For a 2 gene chromosome, if the first gene space is restricted to the +discrete values from 0 to 4 and the second gene is restricted to the +values from 10 to 19, then it could be specified according to the next +code. + +.. code:: python + + gene_space = [range(5), range(10, 20)] + +The ``gene_space`` can also be assigned to a single range, as given +below, where the values of all genes are sampled from the same range. + +.. code:: python + + gene_space = numpy.arange(15) + +The ``gene_space`` can be assigned a dictionary to sample a value from a +continuous range. + +.. code:: python + + gene_space = {"low": 4, "high": 30} + +A step also can be assigned to the dictionary. This works as if a range +is used. + +.. code:: python + + gene_space = {"low": 4, "high": 30, "step": 2.5} + +.. + + Setting a ``dict`` like ``{"low": 0, "high": 10}`` in the + ``gene_space`` means that random values from the continuous range [0, + 10) are sampled. Note that ``0`` is included but ``10`` is not + included while sampling. Thus, the maximum value that could be + returned is less than ``10`` like ``9.9999``. But if the user decided + to round the genes using, for example, ``[float, 2]``, then this + value will become 10. So, the user should be careful to the inputs. + +If a ``None`` is assigned to only a single gene, then its value will be +randomly generated initially using the ``init_range_low`` and +``init_range_high`` parameters in the ``pygad.GA`` class's constructor. +During mutation, the value are sampled from the range defined by the 2 +parameters ``random_mutation_min_val`` and ``random_mutation_max_val``. +This is an example where the second gene is given a ``None`` value. + +.. code:: python + + gene_space = [range(5), None, numpy.linspace(10, 20, 300)] + +If the user did not assign the initial population to the +``initial_population`` parameter, the initial population is created +randomly based on the ``gene_space`` parameter. Moreover, the mutation +is applied based on this parameter. + +.. _how-mutation-works-with-the-genespace-parameter: + +How Mutation Works with the ``gene_space`` Parameter? +----------------------------------------------------- + +If a gene has its static space defined in the ``gene_space`` parameter, +then mutation works by replacing the gene value by a value randomly +selected from the gene space. This happens for both ``int`` and +``float`` data types. + +For example, the following ``gene_space`` has the static space +``[1, 2, 3]`` defined for the first gene. So, this gene can only have a +value out of these 3 values. + +.. code:: python + + Gene space: [[1, 2, 3], + None] + Solution: [1, 5] + +For a solution like ``[1, -0.5, 4]``, then mutation happens for the +first gene by simply replacing its current value by a randomly selected +value (other than its current value if possible). So, the value 1 will +be replaced by either 2 or 3. + +For the second gene, its space is set to ``None``. So, traditional +mutation happens for this gene by: + +1. Generating a random value from the range defined by the + ``random_mutation_min_val`` and ``random_mutation_max_val`` + parameters. + +2. Adding this random value to the current gene's value. + +If its current value is 5 and the random value is ``-0.5``, then the new +value is 4.5. If the gene type is integer, then the value will be +rounded. + Stop at Any Generation ====================== @@ -1882,7 +2042,7 @@ offspring will be created. ga_instance.run() -.. figure:: https://user-images.githubusercontent.com/16560492/189273225-67ffad41-97ab-45e1-9324-429705e17b20.png +.. image:: https://user-images.githubusercontent.com/16560492/189273225-67ffad41-97ab-45e1-9324-429705e17b20.png :alt: Note that if the ``keep_elitism`` parameter is effective (i.e. is @@ -2179,6 +2339,118 @@ non-duplicating genes that may make a room for a unique value in one the duplicates. The resultant gene is then ``[3 4 2 0]``. But this option is not yet supported in PyGAD. +Solve Duplicates using a Third Gene +----------------------------------- + +When ``allow_duplicate_genes=False`` and a user-defined ``gene_space`` +is used, it sometimes happen that there is no room to solve the +duplicates between the 2 genes by simply replacing the value of one gene +by another gene. In `PyGAD +3.1.0 `__, +the duplicates are solved by looking for a third gene that will help in +solving the duplicates. The following examples explain how it works. + +Example 1: + +Let's assume that this gene space is used and there is a solution with 2 +duplicate genes with the same value 4. + +.. code:: python + + Gene space: [[2, 3], + [3, 4], + [4, 5], + [5, 6]] + Solution: [3, 4, 4, 5] + +By checking the gene space, the second gene can have the values +``[3, 4]`` and the third gene can have the values ``[4, 5]``. To solve +the duplicates, we have the value of any of these 2 genes. + +If the value of the second gene changes from 4 to 3, then it will be +duplicate with the first gene. If we are to change the value of the +third gene from 4 to 5, then it will duplicate with the fourth gene. As +a conclusion, trying to just selecting a different gene value for either +the second or third genes will introduce new duplicating genes. + +When there are 2 duplicate genes but there is no way to solve their +duplicates, then the solution is to change a third gene that makes a +room to solve the duplicates between the 2 genes. + +In our example, duplicates between the second and third genes can be +solved by, for example,: + +- Changing the first gene from 3 to 2 then changing the second gene + from 4 to 3. + +- Or changing the fourth gene from 5 to 6 then changing the third gene + from 4 to 5. + +Generally, this is how to solve such duplicates: + +1. For any duplicate gene **GENE1**, select another value. + +2. Check which other gene **GENEX** has duplicate with this new value. + +3. Find if **GENEX** can have another value that will not cause any more + duplicates. If so, go to step 7. + +4. If all the other values of **GENEX** will cause duplicates, then try + another gene **GENEY**. + +5. Repeat steps 3 and 4 until exploring all the genes. + +6. If there is no possibility to solve the duplicates, then there is not + way to solve the duplicates and we have to keep the duplicate value. + +7. If a value for a gene **GENEM** is found that will not cause more + duplicates, then use this value for the gene **GENEM**. + +8. Replace the value of the gene **GENE1** by the old value of the gene + **GENEM**. This solves the duplicates. + +This is an example to solve the duplicate for the solution +``[3, 4, 4, 5]``: + +1. Let's use the second gene with value 4. Because the space of this + gene is ``[3, 4]``, then the only other value we can select is 3. + +2. The first gene also have the value 3. + +3. The first gene has another value 2 that will not cause more + duplicates in the solution. Then go to step 7. + +4. Skip. + +5. Skip. + +6. Skip. + +7. The value of the first gene 3 will be replaced by the new value 2. + The new solution is [2, 4, 4, 5]. + +8. Replace the value of the second gene 4 by the old value of the first + gene which is 3. The new solution is [2, 3, 4, 5]. The duplicate is + solved. + +Example 2: + +.. code:: python + + Gene space: [[0, 1], + [1, 2], + [2, 3], + [3, 4]] + Solution: [1, 2, 2, 3] + +The quick summary is: + +- Change the value of the first gene from 1 to 0. The solution becomes + [0, 2, 2, 3]. + +- Change the value of the second gene from 2 to 1. The solution becomes + [0, 1, 2, 3]. The duplicate is solved. + User-Defined Crossover, Mutation, and Parent Selection Operators ================================================================ @@ -2200,7 +2472,7 @@ Starting from `PyGAD the user can create a custom crossover, mutation, and parent selection operators and assign these functions to the above parameters. Thus, a new operator can be plugged easily into the `PyGAD -Lifecycle `__. +Lifecycle `__. This is a sample code that does not use any custom function. @@ -2586,109 +2858,6 @@ This is the same example but using methods instead of functions. ga_instance.run() ga_instance.plot_fitness() -.. _more-about-the-genespace-parameter: - -More about the ``gene_space`` Parameter -======================================= - -The ``gene_space`` parameter customizes the space of values of each -gene. - -Assuming that all genes have the same global space which include the -values 0.3, 5.2, -4, and 8, then those values can be assigned to the -``gene_space`` parameter as a list, tuple, or range. Here is a list -assigned to this parameter. By doing that, then the gene values are -restricted to those assigned to the ``gene_space`` parameter. - -.. code:: python - - gene_space = [0.3, 5.2, -4, 8] - -If some genes have different spaces, then ``gene_space`` should accept a -nested list or tuple. In this case, the elements could be: - -1. Number (of ``int``, ``float``, or ``NumPy`` data types): A single - value to be assigned to the gene. This means this gene will have the - same value across all generations. - -2. ``list``, ``tuple``, ``numpy.ndarray``, or any range like ``range``, - ``numpy.arange()``, or ``numpy.linspace``: It holds the space for - each individual gene. But this space is usually discrete. That is - there is a set of finite values to select from. - -3. ``dict``: To sample a value for a gene from a continuous range. The - dictionary must have 2 mandatory keys which are ``"low"`` and - ``"high"`` in addition to an optional key which is ``"step"``. A - random value is returned between the values assigned to the items - with ``"low"`` and ``"high"`` keys. If the ``"step"`` exists, then - this works as the previous options (i.e. discrete set of values). - -4. ``None``: A gene with its space set to ``None`` is initialized - randomly from the range specified by the 2 parameters - ``init_range_low`` and ``init_range_high``. For mutation, its value - is mutated based on a random value from the range specified by the 2 - parameters ``random_mutation_min_val`` and - ``random_mutation_max_val``. If all elements in the ``gene_space`` - parameter are ``None``, the parameter will not have any effect. - -Assuming that a chromosome has 2 genes and each gene has a different -value space. Then the ``gene_space`` could be assigned a nested -list/tuple where each element determines the space of a gene. - -According to the next code, the space of the first gene is ``[0.4, -5]`` -which has 2 values and the space for the second gene is -``[0.5, -3.2, 8.8, -9]`` which has 4 values. - -.. code:: python - - gene_space = [[0.4, -5], [0.5, -3.2, 8.2, -9]] - -For a 2 gene chromosome, if the first gene space is restricted to the -discrete values from 0 to 4 and the second gene is restricted to the -values from 10 to 19, then it could be specified according to the next -code. - -.. code:: python - - gene_space = [range(5), range(10, 20)] - -The ``gene_space`` can also be assigned to a single range, as given -below, where the values of all genes are sampled from the same range. - -.. code:: python - - gene_space = numpy.arange(15) - -The ``gene_space`` can be assigned a dictionary to sample a value from a -continuous range. - -.. code:: python - - gene_space = {"low": 4, "high": 30} - -A step also can be assigned to the dictionary. This works as if a range -is used. - -.. code:: python - - gene_space = {"low": 4, "high": 30, "step": 2.5} - -If a ``None`` is assigned to only a single gene, then its value will be -randomly generated initially using the ``init_range_low`` and -``init_range_high`` parameters in the ``pygad.GA`` class's constructor. -During mutation, the value are sampled from the range defined by the 2 -parameters ``random_mutation_min_val`` and ``random_mutation_max_val``. -This is an example where the second gene is given a ``None`` value. - -.. code:: python - - gene_space = [range(5), None, numpy.linspace(10, 20, 300)] - -If the user did not assign the initial population to the -``initial_population`` parameter, the initial population is created -randomly based on the ``gene_space`` parameter. Moreover, the mutation -is applied based on this parameter. - .. _more-about-the-genetype-parameter: More about the ``gene_type`` Parameter @@ -3020,7 +3189,7 @@ line connecting the fitness values across all generations: ga_instance.plot_fitness() # ga_instance.plot_fitness(plot_type="plot") -.. figure:: https://user-images.githubusercontent.com/16560492/122472609-d02f5280-cf8e-11eb-88a7-f9366ff6e7c6.png +.. image:: https://user-images.githubusercontent.com/16560492/122472609-d02f5280-cf8e-11eb-88a7-f9366ff6e7c6.png :alt: .. _plottypescatter: @@ -3036,7 +3205,7 @@ these dots can be changed using the ``linewidth`` parameter. ga_instance.plot_fitness(plot_type="scatter") -.. figure:: https://user-images.githubusercontent.com/16560492/122473159-75e2c180-cf8f-11eb-942d-31279b286dbd.png +.. image:: https://user-images.githubusercontent.com/16560492/122473159-75e2c180-cf8f-11eb-942d-31279b286dbd.png :alt: .. _plottypebar: @@ -3051,7 +3220,7 @@ bar graph with each individual fitness represented as a bar. ga_instance.plot_fitness(plot_type="bar") -.. figure:: https://user-images.githubusercontent.com/16560492/122473340-b7736c80-cf8f-11eb-89c5-4f7db3b653cc.png +.. image:: https://user-images.githubusercontent.com/16560492/122473340-b7736c80-cf8f-11eb-89c5-4f7db3b653cc.png :alt: .. _plotnewsolutionrate-2: @@ -3087,7 +3256,7 @@ first generation is always equal to the number of solutions in the population (i.e. the value assigned to the ``sol_per_pop`` parameter in the constructor of the ``pygad.GA`` class) which is 10 in this example. -.. figure:: https://user-images.githubusercontent.com/16560492/122475815-3322e880-cf93-11eb-9648-bf66f823234b.png +.. image:: https://user-images.githubusercontent.com/16560492/122475815-3322e880-cf93-11eb-9648-bf66f823234b.png :alt: .. _plottypescatter-2: @@ -3102,7 +3271,7 @@ The previous graph can be represented as scattered points by setting ga_instance.plot_new_solution_rate(plot_type="scatter") -.. figure:: https://user-images.githubusercontent.com/16560492/122476108-adec0380-cf93-11eb-80ac-7588bf90492f.png +.. image:: https://user-images.githubusercontent.com/16560492/122476108-adec0380-cf93-11eb-80ac-7588bf90492f.png :alt: .. _plottypebar-2: @@ -3117,7 +3286,7 @@ vertical bar. ga_instance.plot_new_solution_rate(plot_type="bar") -.. figure:: https://user-images.githubusercontent.com/16560492/122476173-c2c89700-cf93-11eb-9e77-d39737cd3a96.png +.. image:: https://user-images.githubusercontent.com/16560492/122476173-c2c89700-cf93-11eb-9e77-d39737cd3a96.png :alt: .. _plotgenes-2: @@ -3186,7 +3355,7 @@ of the next graph) lasted for 83 generations. ga_instance.plot_genes(graph_type="plot", plot_type="plot") -.. figure:: https://user-images.githubusercontent.com/16560492/122477158-4a62d580-cf95-11eb-8c93-9b6e74cb814c.png +.. image:: https://user-images.githubusercontent.com/16560492/122477158-4a62d580-cf95-11eb-8c93-9b6e74cb814c.png :alt: As the default value for the ``solutions`` parameter is ``"all"``, then @@ -3222,7 +3391,7 @@ scatter plot. plot_type="scatter", solutions='all') -.. figure:: https://user-images.githubusercontent.com/16560492/122477273-73836600-cf95-11eb-828f-f357c7b0f815.png +.. image:: https://user-images.githubusercontent.com/16560492/122477273-73836600-cf95-11eb-828f-f357c7b0f815.png :alt: .. _plottypebar-3: @@ -3238,7 +3407,7 @@ scatter plot. plot_type="bar", solutions='all') -.. figure:: https://user-images.githubusercontent.com/16560492/122477370-99106f80-cf95-11eb-8643-865b55e6b844.png +.. image:: https://user-images.githubusercontent.com/16560492/122477370-99106f80-cf95-11eb-8643-865b55e6b844.png :alt: .. _graphtypeboxplot: @@ -3260,7 +3429,7 @@ figure as the default value for the ``solutions`` parameter is ga_instance.plot_genes(graph_type="boxplot", solutions='all') -.. figure:: https://user-images.githubusercontent.com/16560492/122479260-beeb4380-cf98-11eb-8f08-23707929b12c.png +.. image:: https://user-images.githubusercontent.com/16560492/122479260-beeb4380-cf98-11eb-8f08-23707929b12c.png :alt: .. _graphtypehistogram: @@ -3283,7 +3452,7 @@ figure as the default value for the ``solutions`` parameter is ga_instance.plot_genes(graph_type="histogram", solutions='all') -.. figure:: https://user-images.githubusercontent.com/16560492/122477314-8007be80-cf95-11eb-9c95-da3f49204151.png +.. image:: https://user-images.githubusercontent.com/16560492/122477314-8007be80-cf95-11eb-9c95-da3f49204151.png :alt: All the previous figures can be created for only the best solutions by @@ -3298,7 +3467,7 @@ parallel processing becomes supported. This section explains how to use parallel processing in PyGAD. According to the `PyGAD -lifecycle `__, +lifecycle `__, parallel processing can be parallelized in only 2 operations: 1. Population fitness calculation. @@ -4275,7 +4444,7 @@ Linear Model Optimization ------------------------- This example is discussed in the `Steps to Use -PyGAD `__ +PyGAD `__ section which optimizes a linear model. Its complete code is listed below. @@ -4401,7 +4570,7 @@ to the next code. Here is the read image. -.. figure:: https://user-images.githubusercontent.com/16560492/36948808-f0ac882e-1fe8-11e8-8d07-1307e3477fd0.jpg +.. image:: https://user-images.githubusercontent.com/16560492/36948808-f0ac882e-1fe8-11e8-8d07-1307e3477fd0.jpg :alt: Based on the chromosome representation used in the example, the pixel @@ -4517,7 +4686,7 @@ generations can be viewed in a plot using the ``plot_fitness()`` method. Here is the plot after 20,000 generations. -.. figure:: https://user-images.githubusercontent.com/16560492/82232124-77762c00-992e-11ea-9fc6-14a1cd7a04ff.png +.. image:: https://user-images.githubusercontent.com/16560492/82232124-77762c00-992e-11ea-9fc6-14a1cd7a04ff.png :alt: Calculate Some Statistics @@ -4545,13 +4714,13 @@ Evolution by Generation The solution reached after the 20,000 generations is shown below. -.. figure:: https://user-images.githubusercontent.com/16560492/82232405-e0f63a80-992e-11ea-984f-b6ed76465bd1.png +.. image:: https://user-images.githubusercontent.com/16560492/82232405-e0f63a80-992e-11ea-984f-b6ed76465bd1.png :alt: After more generations, the result can be enhanced like what shown below. -.. figure:: https://user-images.githubusercontent.com/16560492/82232345-cf149780-992e-11ea-8390-bf1a57a19de7.png +.. image:: https://user-images.githubusercontent.com/16560492/82232345-cf149780-992e-11ea-8390-bf1a57a19de7.png :alt: The results can also be enhanced by changing the parameters passed to @@ -4562,37 +4731,37 @@ Here is how the image is evolved from generation 0 to generation Generation 0 -.. figure:: https://user-images.githubusercontent.com/16560492/36948589-b47276f0-1fe5-11e8-8efe-0cd1a225ea3a.png +.. image:: https://user-images.githubusercontent.com/16560492/36948589-b47276f0-1fe5-11e8-8efe-0cd1a225ea3a.png :alt: Generation 1,000 -.. figure:: https://user-images.githubusercontent.com/16560492/36948823-16f490ee-1fe9-11e8-97db-3e8905ad5440.png +.. image:: https://user-images.githubusercontent.com/16560492/36948823-16f490ee-1fe9-11e8-97db-3e8905ad5440.png :alt: Generation 2,500 -.. figure:: https://user-images.githubusercontent.com/16560492/36948832-3f314b60-1fe9-11e8-8f4a-4d9a53b99f3d.png +.. image:: https://user-images.githubusercontent.com/16560492/36948832-3f314b60-1fe9-11e8-8f4a-4d9a53b99f3d.png :alt: Generation 4,500 -.. figure:: https://user-images.githubusercontent.com/16560492/36948837-53d1849a-1fe9-11e8-9b36-e9e9291e347b.png +.. image:: https://user-images.githubusercontent.com/16560492/36948837-53d1849a-1fe9-11e8-9b36-e9e9291e347b.png :alt: Generation 7,000 -.. figure:: https://user-images.githubusercontent.com/16560492/36948852-66f1b176-1fe9-11e8-9f9b-460804e94004.png +.. image:: https://user-images.githubusercontent.com/16560492/36948852-66f1b176-1fe9-11e8-9f9b-460804e94004.png :alt: Generation 8,000 -.. figure:: https://user-images.githubusercontent.com/16560492/36948865-7fbb5158-1fe9-11e8-8c04-8ac3c1f7b1b1.png +.. image:: https://user-images.githubusercontent.com/16560492/36948865-7fbb5158-1fe9-11e8-8c04-8ac3c1f7b1b1.png :alt: Generation 20,000 -.. figure:: https://user-images.githubusercontent.com/16560492/82232405-e0f63a80-992e-11ea-984f-b6ed76465bd1.png +.. image:: https://user-images.githubusercontent.com/16560492/82232405-e0f63a80-992e-11ea-984f-b6ed76465bd1.png :alt: Clustering diff --git a/docs/source/releases.rst b/docs/source/releases.rst index 3458aaf3..cd992cbc 100644 --- a/docs/source/releases.rst +++ b/docs/source/releases.rst @@ -1,7 +1,7 @@ Release History =============== -.. figure:: https://user-images.githubusercontent.com/16560492/101267295-c74c0180-375f-11eb-9ad0-f8e37bd796ce.png +.. image:: https://user-images.githubusercontent.com/16560492/101267295-c74c0180-375f-11eb-9ad0-f8e37bd796ce.png :alt: .. _pygad-1017: @@ -250,7 +250,7 @@ Release date: 19 July 2020 values. It is useful if the gene space is restricted to a certain range or to discrete values. For more information, check the `More about the ``gene_space`` - Parameter `__ + Parameter `__ section. Thanks to `Prof. Tamer A. Farrag `__ for requesting this useful feature. @@ -412,11 +412,11 @@ Release Date: 03 January 2021 1. Support of a new module ``pygad.torchga`` to train PyTorch models using PyGAD. Check `its - documentation `__. + documentation `__. 2. Support of adaptive mutation where the mutation rate is determined by the fitness value of each solution. Read the `Adaptive - Mutation `__ + Mutation `__ section for more details. Also, read this paper: `Libelli, S. Marsili, and P. Alba. "Adaptive mutation in genetic algorithms." Soft computing 4.2 (2000): @@ -525,7 +525,7 @@ Release Date: 16 February 2021 to 5 (exclusive) while the second one has values between 0.2 (inclusive) and 0.85 (exclusive). For more information, please check the `Limit the Gene Value - Range `__ + Range `__ section of the documentation. 2. The ``plot_result()`` method returns the figure so that the user can @@ -594,7 +594,7 @@ Release Date: 12 March 2021 solution/chromosome may have duplicate gene values. If ``False``, then each gene will have a unique value in its solution. Check the `Prevent Duplicates in Gene - Values `__ + Values `__ section for more details. 2. The ``last_generation_fitness`` is updated at the end of each @@ -624,7 +624,7 @@ Release Date: 19 May 2021 Previously, the ``gene_type`` can be assigned only to a single data type that is applied for all genes. For more information, check the `More about the ``gene_type`` - Parameter `__ + Parameter `__ section. Thanks to `Rainer Engel `__ for asking about this feature in `this @@ -721,7 +721,7 @@ Release Date: 17 June 2021 ``{"low": 0, "high": 30, "step": 2}`` to have only even values for the gene(s) starting from 0 to 30. For more information, check the `More about the ``gene_space`` - Parameter `__ + Parameter `__ section. https://github.com/ahmedfgad/GeneticAlgorithmPython/discussions/48 @@ -794,7 +794,7 @@ Release Date: 17 June 2021 ``[float, 2]`` forces a gene with a value like ``0.1234`` to be ``0.12``. For more information, check the `More about the ``gene_type`` - Parameter `__ + Parameter `__ section. .. _pygad-2151: @@ -829,7 +829,7 @@ Release Date: 19 June 2021 ``pygad.GA`` class to create a custom mutation, crossover, and parent selection operators. Check the `User-Defined Crossover, Mutation, and Parent Selection - Operators `__ + Operators `__ section for more details. https://github.com/ahmedfgad/GeneticAlgorithmPython/discussions/50 @@ -994,7 +994,7 @@ Release Date: 8 July 2022 issue `#78 `__ at GitHub. Check the `Parallel Processing in - PyGAD `__ + PyGAD `__ section for more information and examples. .. _pygad-2180: @@ -1021,7 +1021,7 @@ Release Date: 9 September 2022 the ``run()`` method is called, as the old fitness value are shown on the graph alongside with the new fitness values. Read more in this section: `Continue without Loosing - Progress `__ + Progress `__ 4. Thanks `Prof. Fernando Jiménez Barrionuevo `__ (Dept. of Information and @@ -1037,7 +1037,7 @@ Release Date: 9 September 2022 ``keep_elitism``. It defaults to 1 which means for each generation keep only the best solution in the next generation. If assigned 0, then it has no effect. Read more in this section: `Elitism - Selection `__. + Selection `__. https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/74 7. A new instance attribute named ``last_generation_elitism`` added to @@ -1048,7 +1048,7 @@ Release Date: 9 September 2022 https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/70 and `Prof. Fernando Jiménez Barrionuevo `__. Read more in this section: `Random - Seed `__. + Seed `__. 9. Editing the ``pygad.TorchGA`` module to make sure the tensor data is moved from GPU to CPU. Thanks to Rasmus Johansson for opening this @@ -1226,7 +1226,7 @@ Release Date 8 April 2023 the console and text file instead of using the ``print()`` function. This is by assigning the ``logging.Logger`` to the new ``logger`` parameter. Check the `Logging - Outputs `__ + Outputs `__ for more information. 8. A new instance attribute called ``logger`` to save the logger. @@ -1235,14 +1235,14 @@ Release Date 8 April 2023 a new parameter that refers to the instance of the ``pygad.GA`` class. Check this for an example: `Use Functions and Methods to Build Fitness Function and - Callbacks `__. + Callbacks `__. https://github.com/ahmedfgad/GeneticAlgorithmPython/issues/163 10. Update the documentation to include an example of using functions and methods to calculate the fitness and build callbacks. Check this for more details: `Use Functions and Methods to Build Fitness Function and - Callbacks `__. + Callbacks `__. https://github.com/ahmedfgad/GeneticAlgorithmPython/pull/92#issuecomment-1443635003 11. Validate the value passed to the ``initial_population`` parameter. @@ -1988,7 +1988,7 @@ Find the book at these links: - `Google Books `__ -.. figure:: https://user-images.githubusercontent.com/16560492/78830077-ae7c2800-79e7-11ea-980b-53b6bd879eeb.jpg +.. image:: https://user-images.githubusercontent.com/16560492/78830077-ae7c2800-79e7-11ea-980b-53b6bd879eeb.jpg :alt: Contact Us @@ -2010,7 +2010,7 @@ Contact Us - `GitHub `__ -.. figure:: https://user-images.githubusercontent.com/16560492/101267295-c74c0180-375f-11eb-9ad0-f8e37bd796ce.png +.. image:: https://user-images.githubusercontent.com/16560492/101267295-c74c0180-375f-11eb-9ad0-f8e37bd796ce.png :alt: Thank you for using diff --git a/docs/source/torchga.rst b/docs/source/torchga.rst index e49a2a26..6d35d4b4 100644 --- a/docs/source/torchga.rst +++ b/docs/source/torchga.rst @@ -211,7 +211,7 @@ subsections discuss each part in the code. return solution_fitness - def callback_generation(ga_instance): + def on_generation(ga_instance): print("Generation = {generation}".format(generation=ga_instance.generations_completed)) print("Fitness = {fitness}".format(fitness=ga_instance.best_solution()[1])) @@ -243,7 +243,7 @@ subsections discuss each part in the code. [1.3], [2.5]]) - # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class + # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/pygad.html#pygad-ga-class num_generations = 250 # Number of generations. num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. initial_population = torch_ga.population_weights # Initial population of network weights @@ -252,7 +252,7 @@ subsections discuss each part in the code. num_parents_mating=num_parents_mating, initial_population=initial_population, fitness_func=fitness_func, - on_generation=callback_generation) + on_generation=on_generation) ga_instance.run() @@ -308,8 +308,6 @@ Change this number according to your needs. torch_ga = torchga.TorchGA(model=model, num_solutions=10) -.. _prepare-the-training-data-1: - Prepare the Training Data ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -372,11 +370,11 @@ The fifth step is to instantiate the ``pygad.GA`` class. Note how the the PyTorch models. For more information, please check the `parameters this class -accepts `__. +accepts `__. .. code:: python - # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/README_pygad_ReadTheDocs.html#pygad-ga-class + # Prepare the PyGAD parameters. Check the documentation for more information: https://pygad.readthedocs.io/en/latest/pygad.html#pygad-ga-class num_generations = 250 # Number of generations. num_parents_mating = 5 # Number of solutions to be selected as parents in the mating pool. initial_population = torch_ga.population_weights # Initial population of network weights @@ -385,7 +383,7 @@ accepts `__ +Data `__ section of the ``pygad.cnn`` module. Simply download these 2 files and read them according to the next code. @@ -931,7 +929,7 @@ Simply download these 2 files and read them according to the next code. The next figure shows how the fitness value changes. -.. figure:: https://user-images.githubusercontent.com/16560492/103469887-c7c4c180-4d38-11eb-98a7-1c5e73e918d0.png +.. image:: https://user-images.githubusercontent.com/16560492/103469887-c7c4c180-4d38-11eb-98a7-1c5e73e918d0.png :alt: Here are some statistics about the trained model. The model accuracy is diff --git a/examples/cnn/example_image_classification.py b/examples/cnn/example_image_classification.py new file mode 100644 index 00000000..9b90a8b5 --- /dev/null +++ b/examples/cnn/example_image_classification.py @@ -0,0 +1,72 @@ +import numpy +import pygad.cnn + +""" +Convolutional neural network implementation using NumPy +A tutorial that helps to get started (Building Convolutional Neural Network using NumPy from Scratch) available in these links: + https://www.linkedin.com/pulse/building-convolutional-neural-network-using-numpy-from-ahmed-gad + https://towardsdatascience.com/building-convolutional-neural-network-using-numpy-from-scratch-b30aac50e50a + https://www.kdnuggets.com/2018/04/building-convolutional-neural-network-numpy-scratch.html +It is also translated into Chinese: http://m.aliyun.com/yunqi/articles/585741 +""" + +train_inputs = numpy.load("../data/dataset_inputs.npy") +train_outputs = numpy.load("../data/dataset_outputs.npy") + +sample_shape = train_inputs.shape[1:] +num_classes = 4 + +input_layer = pygad.cnn.Input2D(input_shape=sample_shape) +conv_layer1 = pygad.cnn.Conv2D(num_filters=2, + kernel_size=3, + previous_layer=input_layer, + activation_function=None) +relu_layer1 = pygad.cnn.Sigmoid(previous_layer=conv_layer1) +average_pooling_layer = pygad.cnn.AveragePooling2D(pool_size=2, + previous_layer=relu_layer1, + stride=2) + +conv_layer2 = pygad.cnn.Conv2D(num_filters=3, + kernel_size=3, + previous_layer=average_pooling_layer, + activation_function=None) +relu_layer2 = pygad.cnn.ReLU(previous_layer=conv_layer2) +max_pooling_layer = pygad.cnn.MaxPooling2D(pool_size=2, + previous_layer=relu_layer2, + stride=2) + +conv_layer3 = pygad.cnn.Conv2D(num_filters=1, + kernel_size=3, + previous_layer=max_pooling_layer, + activation_function=None) +relu_layer3 = pygad.cnn.ReLU(previous_layer=conv_layer3) +pooling_layer = pygad.cnn.AveragePooling2D(pool_size=2, + previous_layer=relu_layer3, + stride=2) + +flatten_layer = pygad.cnn.Flatten(previous_layer=pooling_layer) +dense_layer1 = pygad.cnn.Dense(num_neurons=100, + previous_layer=flatten_layer, + activation_function="relu") +dense_layer2 = pygad.cnn.Dense(num_neurons=num_classes, + previous_layer=dense_layer1, + activation_function="softmax") + +model = pygad.cnn.Model(last_layer=dense_layer2, + epochs=1, + learning_rate=0.01) + +model.summary() + +model.train(train_inputs=train_inputs, + train_outputs=train_outputs) + +predictions = model.predict(data_inputs=train_inputs) +print(predictions) + +num_wrong = numpy.where(predictions != train_outputs)[0] +num_correct = train_outputs.size - num_wrong.size +accuracy = 100 * (num_correct/train_outputs.size) +print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) +print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) +print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) diff --git a/examples/data/Fish.csv b/examples/data/Fish.csv new file mode 100644 index 00000000..a0bbd322 --- /dev/null +++ b/examples/data/Fish.csv @@ -0,0 +1,160 @@ +Species,Weight,Length1,Length2,Length3,Height,Width +Bream,242,23.2,25.4,30,11.52,4.02 +Bream,290,24,26.3,31.2,12.48,4.3056 +Bream,340,23.9,26.5,31.1,12.3778,4.6961 +Bream,363,26.3,29,33.5,12.73,4.4555 +Bream,430,26.5,29,34,12.444,5.134 +Bream,450,26.8,29.7,34.7,13.6024,4.9274 +Bream,500,26.8,29.7,34.5,14.1795,5.2785 +Bream,390,27.6,30,35,12.67,4.69 +Bream,450,27.6,30,35.1,14.0049,4.8438 +Bream,500,28.5,30.7,36.2,14.2266,4.9594 +Bream,475,28.4,31,36.2,14.2628,5.1042 +Bream,500,28.7,31,36.2,14.3714,4.8146 +Bream,500,29.1,31.5,36.4,13.7592,4.368 +Bream,340,29.5,32,37.3,13.9129,5.0728 +Bream,600,29.4,32,37.2,14.9544,5.1708 +Bream,600,29.4,32,37.2,15.438,5.58 +Bream,700,30.4,33,38.3,14.8604,5.2854 +Bream,700,30.4,33,38.5,14.938,5.1975 +Bream,610,30.9,33.5,38.6,15.633,5.1338 +Bream,650,31,33.5,38.7,14.4738,5.7276 +Bream,575,31.3,34,39.5,15.1285,5.5695 +Bream,685,31.4,34,39.2,15.9936,5.3704 +Bream,620,31.5,34.5,39.7,15.5227,5.2801 +Bream,680,31.8,35,40.6,15.4686,6.1306 +Bream,700,31.9,35,40.5,16.2405,5.589 +Bream,725,31.8,35,40.9,16.36,6.0532 +Bream,720,32,35,40.6,16.3618,6.09 +Bream,714,32.7,36,41.5,16.517,5.8515 +Bream,850,32.8,36,41.6,16.8896,6.1984 +Bream,1000,33.5,37,42.6,18.957,6.603 +Bream,920,35,38.5,44.1,18.0369,6.3063 +Bream,955,35,38.5,44,18.084,6.292 +Bream,925,36.2,39.5,45.3,18.7542,6.7497 +Bream,975,37.4,41,45.9,18.6354,6.7473 +Bream,950,38,41,46.5,17.6235,6.3705 +Roach,40,12.9,14.1,16.2,4.1472,2.268 +Roach,69,16.5,18.2,20.3,5.2983,2.8217 +Roach,78,17.5,18.8,21.2,5.5756,2.9044 +Roach,87,18.2,19.8,22.2,5.6166,3.1746 +Roach,120,18.6,20,22.2,6.216,3.5742 +Roach,0,19,20.5,22.8,6.4752,3.3516 +Roach,110,19.1,20.8,23.1,6.1677,3.3957 +Roach,120,19.4,21,23.7,6.1146,3.2943 +Roach,150,20.4,22,24.7,5.8045,3.7544 +Roach,145,20.5,22,24.3,6.6339,3.5478 +Roach,160,20.5,22.5,25.3,7.0334,3.8203 +Roach,140,21,22.5,25,6.55,3.325 +Roach,160,21.1,22.5,25,6.4,3.8 +Roach,169,22,24,27.2,7.5344,3.8352 +Roach,161,22,23.4,26.7,6.9153,3.6312 +Roach,200,22.1,23.5,26.8,7.3968,4.1272 +Roach,180,23.6,25.2,27.9,7.0866,3.906 +Roach,290,24,26,29.2,8.8768,4.4968 +Roach,272,25,27,30.6,8.568,4.7736 +Roach,390,29.5,31.7,35,9.485,5.355 +Whitefish,270,23.6,26,28.7,8.3804,4.2476 +Whitefish,270,24.1,26.5,29.3,8.1454,4.2485 +Whitefish,306,25.6,28,30.8,8.778,4.6816 +Whitefish,540,28.5,31,34,10.744,6.562 +Whitefish,800,33.7,36.4,39.6,11.7612,6.5736 +Whitefish,1000,37.3,40,43.5,12.354,6.525 +Parkki,55,13.5,14.7,16.5,6.8475,2.3265 +Parkki,60,14.3,15.5,17.4,6.5772,2.3142 +Parkki,90,16.3,17.7,19.8,7.4052,2.673 +Parkki,120,17.5,19,21.3,8.3922,2.9181 +Parkki,150,18.4,20,22.4,8.8928,3.2928 +Parkki,140,19,20.7,23.2,8.5376,3.2944 +Parkki,170,19,20.7,23.2,9.396,3.4104 +Parkki,145,19.8,21.5,24.1,9.7364,3.1571 +Parkki,200,21.2,23,25.8,10.3458,3.6636 +Parkki,273,23,25,28,11.088,4.144 +Parkki,300,24,26,29,11.368,4.234 +Perch,5.9,7.5,8.4,8.8,2.112,1.408 +Perch,32,12.5,13.7,14.7,3.528,1.9992 +Perch,40,13.8,15,16,3.824,2.432 +Perch,51.5,15,16.2,17.2,4.5924,2.6316 +Perch,70,15.7,17.4,18.5,4.588,2.9415 +Perch,100,16.2,18,19.2,5.2224,3.3216 +Perch,78,16.8,18.7,19.4,5.1992,3.1234 +Perch,80,17.2,19,20.2,5.6358,3.0502 +Perch,85,17.8,19.6,20.8,5.1376,3.0368 +Perch,85,18.2,20,21,5.082,2.772 +Perch,110,19,21,22.5,5.6925,3.555 +Perch,115,19,21,22.5,5.9175,3.3075 +Perch,125,19,21,22.5,5.6925,3.6675 +Perch,130,19.3,21.3,22.8,6.384,3.534 +Perch,120,20,22,23.5,6.11,3.4075 +Perch,120,20,22,23.5,5.64,3.525 +Perch,130,20,22,23.5,6.11,3.525 +Perch,135,20,22,23.5,5.875,3.525 +Perch,110,20,22,23.5,5.5225,3.995 +Perch,130,20.5,22.5,24,5.856,3.624 +Perch,150,20.5,22.5,24,6.792,3.624 +Perch,145,20.7,22.7,24.2,5.9532,3.63 +Perch,150,21,23,24.5,5.2185,3.626 +Perch,170,21.5,23.5,25,6.275,3.725 +Perch,225,22,24,25.5,7.293,3.723 +Perch,145,22,24,25.5,6.375,3.825 +Perch,188,22.6,24.6,26.2,6.7334,4.1658 +Perch,180,23,25,26.5,6.4395,3.6835 +Perch,197,23.5,25.6,27,6.561,4.239 +Perch,218,25,26.5,28,7.168,4.144 +Perch,300,25.2,27.3,28.7,8.323,5.1373 +Perch,260,25.4,27.5,28.9,7.1672,4.335 +Perch,265,25.4,27.5,28.9,7.0516,4.335 +Perch,250,25.4,27.5,28.9,7.2828,4.5662 +Perch,250,25.9,28,29.4,7.8204,4.2042 +Perch,300,26.9,28.7,30.1,7.5852,4.6354 +Perch,320,27.8,30,31.6,7.6156,4.7716 +Perch,514,30.5,32.8,34,10.03,6.018 +Perch,556,32,34.5,36.5,10.2565,6.3875 +Perch,840,32.5,35,37.3,11.4884,7.7957 +Perch,685,34,36.5,39,10.881,6.864 +Perch,700,34,36,38.3,10.6091,6.7408 +Perch,700,34.5,37,39.4,10.835,6.2646 +Perch,690,34.6,37,39.3,10.5717,6.3666 +Perch,900,36.5,39,41.4,11.1366,7.4934 +Perch,650,36.5,39,41.4,11.1366,6.003 +Perch,820,36.6,39,41.3,12.4313,7.3514 +Perch,850,36.9,40,42.3,11.9286,7.1064 +Perch,900,37,40,42.5,11.73,7.225 +Perch,1015,37,40,42.4,12.3808,7.4624 +Perch,820,37.1,40,42.5,11.135,6.63 +Perch,1100,39,42,44.6,12.8002,6.8684 +Perch,1000,39.8,43,45.2,11.9328,7.2772 +Perch,1100,40.1,43,45.5,12.5125,7.4165 +Perch,1000,40.2,43.5,46,12.604,8.142 +Perch,1000,41.1,44,46.6,12.4888,7.5958 +Pike,200,30,32.3,34.8,5.568,3.3756 +Pike,300,31.7,34,37.8,5.7078,4.158 +Pike,300,32.7,35,38.8,5.9364,4.3844 +Pike,300,34.8,37.3,39.8,6.2884,4.0198 +Pike,430,35.5,38,40.5,7.29,4.5765 +Pike,345,36,38.5,41,6.396,3.977 +Pike,456,40,42.5,45.5,7.28,4.3225 +Pike,510,40,42.5,45.5,6.825,4.459 +Pike,540,40.1,43,45.8,7.786,5.1296 +Pike,500,42,45,48,6.96,4.896 +Pike,567,43.2,46,48.7,7.792,4.87 +Pike,770,44.8,48,51.2,7.68,5.376 +Pike,950,48.3,51.7,55.1,8.9262,6.1712 +Pike,1250,52,56,59.7,10.6863,6.9849 +Pike,1600,56,60,64,9.6,6.144 +Pike,1550,56,60,64,9.6,6.144 +Pike,1650,59,63.4,68,10.812,7.48 +Smelt,6.7,9.3,9.8,10.8,1.7388,1.0476 +Smelt,7.5,10,10.5,11.6,1.972,1.16 +Smelt,7,10.1,10.6,11.6,1.7284,1.1484 +Smelt,9.7,10.4,11,12,2.196,1.38 +Smelt,9.8,10.7,11.2,12.4,2.0832,1.2772 +Smelt,8.7,10.8,11.3,12.6,1.9782,1.2852 +Smelt,10,11.3,11.8,13.1,2.2139,1.2838 +Smelt,9.9,11.3,11.8,13.1,2.2139,1.1659 +Smelt,9.8,11.4,12,13.2,2.2044,1.1484 +Smelt,12.2,11.5,12.2,13.4,2.0904,1.3936 +Smelt,13.4,11.7,12.4,13.5,2.43,1.269 +Smelt,12.2,12.1,13,13.8,2.277,1.2558 +Smelt,19.7,13.2,14.3,15.2,2.8728,2.0672 +Smelt,19.9,13.8,15,16.2,2.9322,1.8792 diff --git a/examples/data/Fruit360/apple/0_100.jpg b/examples/data/Fruit360/apple/0_100.jpg new file mode 100644 index 00000000..c0dee8fa Binary files /dev/null and b/examples/data/Fruit360/apple/0_100.jpg differ diff --git a/examples/data/Fruit360/apple/100_100.jpg b/examples/data/Fruit360/apple/100_100.jpg new file mode 100644 index 00000000..0fa24cd4 Binary files /dev/null and b/examples/data/Fruit360/apple/100_100.jpg differ diff --git a/examples/data/Fruit360/apple/101_100.jpg b/examples/data/Fruit360/apple/101_100.jpg new file mode 100644 index 00000000..041dc837 Binary files /dev/null and b/examples/data/Fruit360/apple/101_100.jpg differ diff --git a/examples/data/Fruit360/apple/102_100.jpg b/examples/data/Fruit360/apple/102_100.jpg new file mode 100644 index 00000000..a673cbfb Binary files /dev/null and b/examples/data/Fruit360/apple/102_100.jpg differ diff --git a/examples/data/Fruit360/apple/103_100.jpg b/examples/data/Fruit360/apple/103_100.jpg new file mode 100644 index 00000000..75be237b Binary files /dev/null and b/examples/data/Fruit360/apple/103_100.jpg differ diff --git a/examples/data/Fruit360/apple/104_100.jpg b/examples/data/Fruit360/apple/104_100.jpg new file mode 100644 index 00000000..12b16928 Binary files /dev/null and b/examples/data/Fruit360/apple/104_100.jpg differ diff --git a/examples/data/Fruit360/apple/105_100.jpg b/examples/data/Fruit360/apple/105_100.jpg new file mode 100644 index 00000000..d277484e Binary files /dev/null and b/examples/data/Fruit360/apple/105_100.jpg differ diff --git a/examples/data/Fruit360/apple/106_100.jpg b/examples/data/Fruit360/apple/106_100.jpg new file mode 100644 index 00000000..2c650148 Binary files /dev/null and b/examples/data/Fruit360/apple/106_100.jpg differ diff --git a/examples/data/Fruit360/apple/107_100.jpg b/examples/data/Fruit360/apple/107_100.jpg new file mode 100644 index 00000000..80cffdf1 Binary files /dev/null and b/examples/data/Fruit360/apple/107_100.jpg differ diff --git a/examples/data/Fruit360/apple/108_100.jpg b/examples/data/Fruit360/apple/108_100.jpg new file mode 100644 index 00000000..a91e833d Binary files /dev/null and b/examples/data/Fruit360/apple/108_100.jpg differ diff --git a/examples/data/Fruit360/apple/109_100.jpg b/examples/data/Fruit360/apple/109_100.jpg new file mode 100644 index 00000000..bbfda498 Binary files /dev/null and b/examples/data/Fruit360/apple/109_100.jpg differ diff --git a/examples/data/Fruit360/apple/10_100.jpg b/examples/data/Fruit360/apple/10_100.jpg new file mode 100644 index 00000000..988971a2 Binary files /dev/null and b/examples/data/Fruit360/apple/10_100.jpg differ diff --git a/examples/data/Fruit360/apple/110_100.jpg b/examples/data/Fruit360/apple/110_100.jpg new file mode 100644 index 00000000..f8071891 Binary files /dev/null and b/examples/data/Fruit360/apple/110_100.jpg differ diff --git a/examples/data/Fruit360/apple/111_100.jpg b/examples/data/Fruit360/apple/111_100.jpg new file mode 100644 index 00000000..218e71a0 Binary files /dev/null and b/examples/data/Fruit360/apple/111_100.jpg differ diff --git a/examples/data/Fruit360/apple/112_100.jpg b/examples/data/Fruit360/apple/112_100.jpg new file mode 100644 index 00000000..54d192a0 Binary files /dev/null and b/examples/data/Fruit360/apple/112_100.jpg differ diff --git a/examples/data/Fruit360/apple/113_100.jpg b/examples/data/Fruit360/apple/113_100.jpg new file mode 100644 index 00000000..a0fa8d97 Binary files /dev/null and b/examples/data/Fruit360/apple/113_100.jpg differ diff --git a/examples/data/Fruit360/apple/114_100.jpg b/examples/data/Fruit360/apple/114_100.jpg new file mode 100644 index 00000000..ab2c682e Binary files /dev/null and b/examples/data/Fruit360/apple/114_100.jpg differ diff --git a/examples/data/Fruit360/apple/115_100.jpg b/examples/data/Fruit360/apple/115_100.jpg new file mode 100644 index 00000000..de47f01e Binary files /dev/null and b/examples/data/Fruit360/apple/115_100.jpg differ diff --git a/examples/data/Fruit360/apple/116_100.jpg b/examples/data/Fruit360/apple/116_100.jpg new file mode 100644 index 00000000..c94ade64 Binary files /dev/null and b/examples/data/Fruit360/apple/116_100.jpg differ diff --git a/examples/data/Fruit360/apple/117_100.jpg b/examples/data/Fruit360/apple/117_100.jpg new file mode 100644 index 00000000..ec49e33f Binary files /dev/null and b/examples/data/Fruit360/apple/117_100.jpg differ diff --git a/examples/data/Fruit360/apple/118_100.jpg b/examples/data/Fruit360/apple/118_100.jpg new file mode 100644 index 00000000..7d475075 Binary files /dev/null and b/examples/data/Fruit360/apple/118_100.jpg differ diff --git a/examples/data/Fruit360/apple/119_100.jpg b/examples/data/Fruit360/apple/119_100.jpg new file mode 100644 index 00000000..cacae9d1 Binary files /dev/null and b/examples/data/Fruit360/apple/119_100.jpg differ diff --git a/examples/data/Fruit360/apple/11_100.jpg b/examples/data/Fruit360/apple/11_100.jpg new file mode 100644 index 00000000..9a7f1336 Binary files /dev/null and b/examples/data/Fruit360/apple/11_100.jpg differ diff --git a/examples/data/Fruit360/apple/120_100.jpg b/examples/data/Fruit360/apple/120_100.jpg new file mode 100644 index 00000000..f676ff47 Binary files /dev/null and b/examples/data/Fruit360/apple/120_100.jpg differ diff --git a/examples/data/Fruit360/apple/121_100.jpg b/examples/data/Fruit360/apple/121_100.jpg new file mode 100644 index 00000000..8750f413 Binary files /dev/null and b/examples/data/Fruit360/apple/121_100.jpg differ diff --git a/examples/data/Fruit360/apple/122_100.jpg b/examples/data/Fruit360/apple/122_100.jpg new file mode 100644 index 00000000..6a32024d Binary files /dev/null and b/examples/data/Fruit360/apple/122_100.jpg differ diff --git a/examples/data/Fruit360/apple/123_100.jpg b/examples/data/Fruit360/apple/123_100.jpg new file mode 100644 index 00000000..4f1efd59 Binary files /dev/null and b/examples/data/Fruit360/apple/123_100.jpg differ diff --git a/examples/data/Fruit360/apple/124_100.jpg b/examples/data/Fruit360/apple/124_100.jpg new file mode 100644 index 00000000..df313539 Binary files /dev/null and b/examples/data/Fruit360/apple/124_100.jpg differ diff --git a/examples/data/Fruit360/apple/125_100.jpg b/examples/data/Fruit360/apple/125_100.jpg new file mode 100644 index 00000000..ae83255b Binary files /dev/null and b/examples/data/Fruit360/apple/125_100.jpg differ diff --git a/examples/data/Fruit360/apple/126_100.jpg b/examples/data/Fruit360/apple/126_100.jpg new file mode 100644 index 00000000..7234c186 Binary files /dev/null and b/examples/data/Fruit360/apple/126_100.jpg differ diff --git a/examples/data/Fruit360/apple/127_100.jpg b/examples/data/Fruit360/apple/127_100.jpg new file mode 100644 index 00000000..1c99075c Binary files /dev/null and b/examples/data/Fruit360/apple/127_100.jpg differ diff --git a/examples/data/Fruit360/apple/128_100.jpg b/examples/data/Fruit360/apple/128_100.jpg new file mode 100644 index 00000000..e0213ae8 Binary files /dev/null and b/examples/data/Fruit360/apple/128_100.jpg differ diff --git a/examples/data/Fruit360/apple/129_100.jpg b/examples/data/Fruit360/apple/129_100.jpg new file mode 100644 index 00000000..f9ee9664 Binary files /dev/null and b/examples/data/Fruit360/apple/129_100.jpg differ diff --git a/examples/data/Fruit360/apple/12_100.jpg b/examples/data/Fruit360/apple/12_100.jpg new file mode 100644 index 00000000..54d3950c Binary files /dev/null and b/examples/data/Fruit360/apple/12_100.jpg differ diff --git a/examples/data/Fruit360/apple/130_100.jpg b/examples/data/Fruit360/apple/130_100.jpg new file mode 100644 index 00000000..972a060e Binary files /dev/null and b/examples/data/Fruit360/apple/130_100.jpg differ diff --git a/examples/data/Fruit360/apple/131_100.jpg b/examples/data/Fruit360/apple/131_100.jpg new file mode 100644 index 00000000..76aff803 Binary files /dev/null and b/examples/data/Fruit360/apple/131_100.jpg differ diff --git a/examples/data/Fruit360/apple/132_100.jpg b/examples/data/Fruit360/apple/132_100.jpg new file mode 100644 index 00000000..3557f96e Binary files /dev/null and b/examples/data/Fruit360/apple/132_100.jpg differ diff --git a/examples/data/Fruit360/apple/133_100.jpg b/examples/data/Fruit360/apple/133_100.jpg new file mode 100644 index 00000000..d3002a6f Binary files /dev/null and b/examples/data/Fruit360/apple/133_100.jpg differ diff --git a/examples/data/Fruit360/apple/134_100.jpg b/examples/data/Fruit360/apple/134_100.jpg new file mode 100644 index 00000000..1bc291ac Binary files /dev/null and b/examples/data/Fruit360/apple/134_100.jpg differ diff --git a/examples/data/Fruit360/apple/135_100.jpg b/examples/data/Fruit360/apple/135_100.jpg new file mode 100644 index 00000000..893e7087 Binary files /dev/null and b/examples/data/Fruit360/apple/135_100.jpg differ diff --git a/examples/data/Fruit360/apple/136_100.jpg b/examples/data/Fruit360/apple/136_100.jpg new file mode 100644 index 00000000..38b72138 Binary files /dev/null and b/examples/data/Fruit360/apple/136_100.jpg differ diff --git a/examples/data/Fruit360/apple/137_100.jpg b/examples/data/Fruit360/apple/137_100.jpg new file mode 100644 index 00000000..d0ed60fd Binary files /dev/null and b/examples/data/Fruit360/apple/137_100.jpg differ diff --git a/examples/data/Fruit360/apple/138_100.jpg b/examples/data/Fruit360/apple/138_100.jpg new file mode 100644 index 00000000..4f6daa97 Binary files /dev/null and b/examples/data/Fruit360/apple/138_100.jpg differ diff --git a/examples/data/Fruit360/apple/139_100.jpg b/examples/data/Fruit360/apple/139_100.jpg new file mode 100644 index 00000000..a0c4cd50 Binary files /dev/null and b/examples/data/Fruit360/apple/139_100.jpg differ diff --git a/examples/data/Fruit360/apple/13_100.jpg b/examples/data/Fruit360/apple/13_100.jpg new file mode 100644 index 00000000..2307d9bf Binary files /dev/null and b/examples/data/Fruit360/apple/13_100.jpg differ diff --git a/examples/data/Fruit360/apple/140_100.jpg b/examples/data/Fruit360/apple/140_100.jpg new file mode 100644 index 00000000..4d08dba1 Binary files /dev/null and b/examples/data/Fruit360/apple/140_100.jpg differ diff --git a/examples/data/Fruit360/apple/141_100.jpg b/examples/data/Fruit360/apple/141_100.jpg new file mode 100644 index 00000000..508c791a Binary files /dev/null and b/examples/data/Fruit360/apple/141_100.jpg differ diff --git a/examples/data/Fruit360/apple/142_100.jpg b/examples/data/Fruit360/apple/142_100.jpg new file mode 100644 index 00000000..2740085f Binary files /dev/null and b/examples/data/Fruit360/apple/142_100.jpg differ diff --git a/examples/data/Fruit360/apple/143_100.jpg b/examples/data/Fruit360/apple/143_100.jpg new file mode 100644 index 00000000..811fd3ac Binary files /dev/null and b/examples/data/Fruit360/apple/143_100.jpg differ diff --git a/examples/data/Fruit360/apple/144_100.jpg b/examples/data/Fruit360/apple/144_100.jpg new file mode 100644 index 00000000..37b05c08 Binary files /dev/null and b/examples/data/Fruit360/apple/144_100.jpg differ diff --git a/examples/data/Fruit360/apple/145_100.jpg b/examples/data/Fruit360/apple/145_100.jpg new file mode 100644 index 00000000..eb673dc9 Binary files /dev/null and b/examples/data/Fruit360/apple/145_100.jpg differ diff --git a/examples/data/Fruit360/apple/146_100.jpg b/examples/data/Fruit360/apple/146_100.jpg new file mode 100644 index 00000000..298d9ef3 Binary files /dev/null and b/examples/data/Fruit360/apple/146_100.jpg differ diff --git a/examples/data/Fruit360/apple/147_100.jpg b/examples/data/Fruit360/apple/147_100.jpg new file mode 100644 index 00000000..f0624850 Binary files /dev/null and b/examples/data/Fruit360/apple/147_100.jpg differ diff --git a/examples/data/Fruit360/apple/148_100.jpg b/examples/data/Fruit360/apple/148_100.jpg new file mode 100644 index 00000000..2c8da9b5 Binary files /dev/null and b/examples/data/Fruit360/apple/148_100.jpg differ diff --git a/examples/data/Fruit360/apple/149_100.jpg b/examples/data/Fruit360/apple/149_100.jpg new file mode 100644 index 00000000..7eaeff54 Binary files /dev/null and b/examples/data/Fruit360/apple/149_100.jpg differ diff --git a/examples/data/Fruit360/apple/14_100.jpg b/examples/data/Fruit360/apple/14_100.jpg new file mode 100644 index 00000000..603ad529 Binary files /dev/null and b/examples/data/Fruit360/apple/14_100.jpg differ diff --git a/examples/data/Fruit360/apple/150_100.jpg b/examples/data/Fruit360/apple/150_100.jpg new file mode 100644 index 00000000..e9afe6ff Binary files /dev/null and b/examples/data/Fruit360/apple/150_100.jpg differ diff --git a/examples/data/Fruit360/apple/151_100.jpg b/examples/data/Fruit360/apple/151_100.jpg new file mode 100644 index 00000000..1e1a6cf1 Binary files /dev/null and b/examples/data/Fruit360/apple/151_100.jpg differ diff --git a/examples/data/Fruit360/apple/152_100.jpg b/examples/data/Fruit360/apple/152_100.jpg new file mode 100644 index 00000000..89d49014 Binary files /dev/null and b/examples/data/Fruit360/apple/152_100.jpg differ diff --git a/examples/data/Fruit360/apple/153_100.jpg b/examples/data/Fruit360/apple/153_100.jpg new file mode 100644 index 00000000..c16bea91 Binary files /dev/null and b/examples/data/Fruit360/apple/153_100.jpg differ diff --git a/examples/data/Fruit360/apple/154_100.jpg b/examples/data/Fruit360/apple/154_100.jpg new file mode 100644 index 00000000..14d05403 Binary files /dev/null and b/examples/data/Fruit360/apple/154_100.jpg differ diff --git a/examples/data/Fruit360/apple/155_100.jpg b/examples/data/Fruit360/apple/155_100.jpg new file mode 100644 index 00000000..5e002790 Binary files /dev/null and b/examples/data/Fruit360/apple/155_100.jpg differ diff --git a/examples/data/Fruit360/apple/156_100.jpg b/examples/data/Fruit360/apple/156_100.jpg new file mode 100644 index 00000000..2e1c7153 Binary files /dev/null and b/examples/data/Fruit360/apple/156_100.jpg differ diff --git a/examples/data/Fruit360/apple/157_100.jpg b/examples/data/Fruit360/apple/157_100.jpg new file mode 100644 index 00000000..1888e7ff Binary files /dev/null and b/examples/data/Fruit360/apple/157_100.jpg differ diff --git a/examples/data/Fruit360/apple/158_100.jpg b/examples/data/Fruit360/apple/158_100.jpg new file mode 100644 index 00000000..464fceaf Binary files /dev/null and b/examples/data/Fruit360/apple/158_100.jpg differ diff --git a/examples/data/Fruit360/apple/159_100.jpg b/examples/data/Fruit360/apple/159_100.jpg new file mode 100644 index 00000000..363c0973 Binary files /dev/null and b/examples/data/Fruit360/apple/159_100.jpg differ diff --git a/examples/data/Fruit360/apple/15_100.jpg b/examples/data/Fruit360/apple/15_100.jpg new file mode 100644 index 00000000..cedb6113 Binary files /dev/null and b/examples/data/Fruit360/apple/15_100.jpg differ diff --git a/examples/data/Fruit360/apple/160_100.jpg b/examples/data/Fruit360/apple/160_100.jpg new file mode 100644 index 00000000..66f1a37f Binary files /dev/null and b/examples/data/Fruit360/apple/160_100.jpg differ diff --git a/examples/data/Fruit360/apple/161_100.jpg b/examples/data/Fruit360/apple/161_100.jpg new file mode 100644 index 00000000..84a9db8f Binary files /dev/null and b/examples/data/Fruit360/apple/161_100.jpg differ diff --git a/examples/data/Fruit360/apple/162_100.jpg b/examples/data/Fruit360/apple/162_100.jpg new file mode 100644 index 00000000..689b9993 Binary files /dev/null and b/examples/data/Fruit360/apple/162_100.jpg differ diff --git a/examples/data/Fruit360/apple/163_100.jpg b/examples/data/Fruit360/apple/163_100.jpg new file mode 100644 index 00000000..4d25272b Binary files /dev/null and b/examples/data/Fruit360/apple/163_100.jpg differ diff --git a/examples/data/Fruit360/apple/164_100.jpg b/examples/data/Fruit360/apple/164_100.jpg new file mode 100644 index 00000000..6501f746 Binary files /dev/null and b/examples/data/Fruit360/apple/164_100.jpg differ diff --git a/examples/data/Fruit360/apple/165_100.jpg b/examples/data/Fruit360/apple/165_100.jpg new file mode 100644 index 00000000..8198af35 Binary files /dev/null and b/examples/data/Fruit360/apple/165_100.jpg differ diff --git a/examples/data/Fruit360/apple/166_100.jpg b/examples/data/Fruit360/apple/166_100.jpg new file mode 100644 index 00000000..c491134f Binary files /dev/null and b/examples/data/Fruit360/apple/166_100.jpg differ diff --git a/examples/data/Fruit360/apple/167_100.jpg b/examples/data/Fruit360/apple/167_100.jpg new file mode 100644 index 00000000..44f54acd Binary files /dev/null and b/examples/data/Fruit360/apple/167_100.jpg differ diff --git a/examples/data/Fruit360/apple/168_100.jpg b/examples/data/Fruit360/apple/168_100.jpg new file mode 100644 index 00000000..5075e7ef Binary files /dev/null and b/examples/data/Fruit360/apple/168_100.jpg differ diff --git a/examples/data/Fruit360/apple/169_100.jpg b/examples/data/Fruit360/apple/169_100.jpg new file mode 100644 index 00000000..497edef4 Binary files /dev/null and b/examples/data/Fruit360/apple/169_100.jpg differ diff --git a/examples/data/Fruit360/apple/16_100.jpg b/examples/data/Fruit360/apple/16_100.jpg new file mode 100644 index 00000000..5e348ad8 Binary files /dev/null and b/examples/data/Fruit360/apple/16_100.jpg differ diff --git a/examples/data/Fruit360/apple/170_100.jpg b/examples/data/Fruit360/apple/170_100.jpg new file mode 100644 index 00000000..7ef46f6f Binary files /dev/null and b/examples/data/Fruit360/apple/170_100.jpg differ diff --git a/examples/data/Fruit360/apple/171_100.jpg b/examples/data/Fruit360/apple/171_100.jpg new file mode 100644 index 00000000..b190fbf9 Binary files /dev/null and b/examples/data/Fruit360/apple/171_100.jpg differ diff --git a/examples/data/Fruit360/apple/172_100.jpg b/examples/data/Fruit360/apple/172_100.jpg new file mode 100644 index 00000000..ab87ccc3 Binary files /dev/null and b/examples/data/Fruit360/apple/172_100.jpg differ diff --git a/examples/data/Fruit360/apple/173_100.jpg b/examples/data/Fruit360/apple/173_100.jpg new file mode 100644 index 00000000..e9cdb6fb Binary files /dev/null and b/examples/data/Fruit360/apple/173_100.jpg differ diff --git a/examples/data/Fruit360/apple/174_100.jpg b/examples/data/Fruit360/apple/174_100.jpg new file mode 100644 index 00000000..e8af0f46 Binary files /dev/null and b/examples/data/Fruit360/apple/174_100.jpg differ diff --git a/examples/data/Fruit360/apple/175_100.jpg b/examples/data/Fruit360/apple/175_100.jpg new file mode 100644 index 00000000..e63eec67 Binary files /dev/null and b/examples/data/Fruit360/apple/175_100.jpg differ diff --git a/examples/data/Fruit360/apple/176_100.jpg b/examples/data/Fruit360/apple/176_100.jpg new file mode 100644 index 00000000..23addf02 Binary files /dev/null and b/examples/data/Fruit360/apple/176_100.jpg differ diff --git a/examples/data/Fruit360/apple/177_100.jpg b/examples/data/Fruit360/apple/177_100.jpg new file mode 100644 index 00000000..8ccd0759 Binary files /dev/null and b/examples/data/Fruit360/apple/177_100.jpg differ diff --git a/examples/data/Fruit360/apple/178_100.jpg b/examples/data/Fruit360/apple/178_100.jpg new file mode 100644 index 00000000..833b46c6 Binary files /dev/null and b/examples/data/Fruit360/apple/178_100.jpg differ diff --git a/examples/data/Fruit360/apple/179_100.jpg b/examples/data/Fruit360/apple/179_100.jpg new file mode 100644 index 00000000..1d70f850 Binary files /dev/null and b/examples/data/Fruit360/apple/179_100.jpg differ diff --git a/examples/data/Fruit360/apple/17_100.jpg b/examples/data/Fruit360/apple/17_100.jpg new file mode 100644 index 00000000..f1fd2855 Binary files /dev/null and b/examples/data/Fruit360/apple/17_100.jpg differ diff --git a/examples/data/Fruit360/apple/180_100.jpg b/examples/data/Fruit360/apple/180_100.jpg new file mode 100644 index 00000000..26a3b7c1 Binary files /dev/null and b/examples/data/Fruit360/apple/180_100.jpg differ diff --git a/examples/data/Fruit360/apple/181_100.jpg b/examples/data/Fruit360/apple/181_100.jpg new file mode 100644 index 00000000..ee09a266 Binary files /dev/null and b/examples/data/Fruit360/apple/181_100.jpg differ diff --git a/examples/data/Fruit360/apple/182_100.jpg b/examples/data/Fruit360/apple/182_100.jpg new file mode 100644 index 00000000..7e334543 Binary files /dev/null and b/examples/data/Fruit360/apple/182_100.jpg differ diff --git a/examples/data/Fruit360/apple/183_100.jpg b/examples/data/Fruit360/apple/183_100.jpg new file mode 100644 index 00000000..65b7b597 Binary files /dev/null and b/examples/data/Fruit360/apple/183_100.jpg differ diff --git a/examples/data/Fruit360/apple/184_100.jpg b/examples/data/Fruit360/apple/184_100.jpg new file mode 100644 index 00000000..dd71543a Binary files /dev/null and b/examples/data/Fruit360/apple/184_100.jpg differ diff --git a/examples/data/Fruit360/apple/185_100.jpg b/examples/data/Fruit360/apple/185_100.jpg new file mode 100644 index 00000000..92a84bfd Binary files /dev/null and b/examples/data/Fruit360/apple/185_100.jpg differ diff --git a/examples/data/Fruit360/apple/186_100.jpg b/examples/data/Fruit360/apple/186_100.jpg new file mode 100644 index 00000000..d3140700 Binary files /dev/null and b/examples/data/Fruit360/apple/186_100.jpg differ diff --git a/examples/data/Fruit360/apple/187_100.jpg b/examples/data/Fruit360/apple/187_100.jpg new file mode 100644 index 00000000..a6451792 Binary files /dev/null and b/examples/data/Fruit360/apple/187_100.jpg differ diff --git a/examples/data/Fruit360/apple/188_100.jpg b/examples/data/Fruit360/apple/188_100.jpg new file mode 100644 index 00000000..a359d1df Binary files /dev/null and b/examples/data/Fruit360/apple/188_100.jpg differ diff --git a/examples/data/Fruit360/apple/189_100.jpg b/examples/data/Fruit360/apple/189_100.jpg new file mode 100644 index 00000000..05afbe61 Binary files /dev/null and b/examples/data/Fruit360/apple/189_100.jpg differ diff --git a/examples/data/Fruit360/apple/18_100.jpg b/examples/data/Fruit360/apple/18_100.jpg new file mode 100644 index 00000000..220de227 Binary files /dev/null and b/examples/data/Fruit360/apple/18_100.jpg differ diff --git a/examples/data/Fruit360/apple/190_100.jpg b/examples/data/Fruit360/apple/190_100.jpg new file mode 100644 index 00000000..a334c6e7 Binary files /dev/null and b/examples/data/Fruit360/apple/190_100.jpg differ diff --git a/examples/data/Fruit360/apple/191_100.jpg b/examples/data/Fruit360/apple/191_100.jpg new file mode 100644 index 00000000..810c89fb Binary files /dev/null and b/examples/data/Fruit360/apple/191_100.jpg differ diff --git a/examples/data/Fruit360/apple/192_100.jpg b/examples/data/Fruit360/apple/192_100.jpg new file mode 100644 index 00000000..7e9a6f5d Binary files /dev/null and b/examples/data/Fruit360/apple/192_100.jpg differ diff --git a/examples/data/Fruit360/apple/193_100.jpg b/examples/data/Fruit360/apple/193_100.jpg new file mode 100644 index 00000000..2d9ab13e Binary files /dev/null and b/examples/data/Fruit360/apple/193_100.jpg differ diff --git a/examples/data/Fruit360/apple/194_100.jpg b/examples/data/Fruit360/apple/194_100.jpg new file mode 100644 index 00000000..8a2ed912 Binary files /dev/null and b/examples/data/Fruit360/apple/194_100.jpg differ diff --git a/examples/data/Fruit360/apple/195_100.jpg b/examples/data/Fruit360/apple/195_100.jpg new file mode 100644 index 00000000..80f7825f Binary files /dev/null and b/examples/data/Fruit360/apple/195_100.jpg differ diff --git a/examples/data/Fruit360/apple/196_100.jpg b/examples/data/Fruit360/apple/196_100.jpg new file mode 100644 index 00000000..c5149e50 Binary files /dev/null and b/examples/data/Fruit360/apple/196_100.jpg differ diff --git a/examples/data/Fruit360/apple/197_100.jpg b/examples/data/Fruit360/apple/197_100.jpg new file mode 100644 index 00000000..f4c8e750 Binary files /dev/null and b/examples/data/Fruit360/apple/197_100.jpg differ diff --git a/examples/data/Fruit360/apple/198_100.jpg b/examples/data/Fruit360/apple/198_100.jpg new file mode 100644 index 00000000..af2513d1 Binary files /dev/null and b/examples/data/Fruit360/apple/198_100.jpg differ diff --git a/examples/data/Fruit360/apple/199_100.jpg b/examples/data/Fruit360/apple/199_100.jpg new file mode 100644 index 00000000..787dadf0 Binary files /dev/null and b/examples/data/Fruit360/apple/199_100.jpg differ diff --git a/examples/data/Fruit360/apple/19_100.jpg b/examples/data/Fruit360/apple/19_100.jpg new file mode 100644 index 00000000..c6fffee5 Binary files /dev/null and b/examples/data/Fruit360/apple/19_100.jpg differ diff --git a/examples/data/Fruit360/apple/1_100.jpg b/examples/data/Fruit360/apple/1_100.jpg new file mode 100644 index 00000000..96cbfd77 Binary files /dev/null and b/examples/data/Fruit360/apple/1_100.jpg differ diff --git a/examples/data/Fruit360/apple/200_100.jpg b/examples/data/Fruit360/apple/200_100.jpg new file mode 100644 index 00000000..b28ff367 Binary files /dev/null and b/examples/data/Fruit360/apple/200_100.jpg differ diff --git a/examples/data/Fruit360/apple/201_100.jpg b/examples/data/Fruit360/apple/201_100.jpg new file mode 100644 index 00000000..e5729793 Binary files /dev/null and b/examples/data/Fruit360/apple/201_100.jpg differ diff --git a/examples/data/Fruit360/apple/202_100.jpg b/examples/data/Fruit360/apple/202_100.jpg new file mode 100644 index 00000000..ad54850d Binary files /dev/null and b/examples/data/Fruit360/apple/202_100.jpg differ diff --git a/examples/data/Fruit360/apple/203_100.jpg b/examples/data/Fruit360/apple/203_100.jpg new file mode 100644 index 00000000..79b019e6 Binary files /dev/null and b/examples/data/Fruit360/apple/203_100.jpg differ diff --git a/examples/data/Fruit360/apple/204_100.jpg b/examples/data/Fruit360/apple/204_100.jpg new file mode 100644 index 00000000..8303ba09 Binary files /dev/null and b/examples/data/Fruit360/apple/204_100.jpg differ diff --git a/examples/data/Fruit360/apple/205_100.jpg b/examples/data/Fruit360/apple/205_100.jpg new file mode 100644 index 00000000..7470292c Binary files /dev/null and b/examples/data/Fruit360/apple/205_100.jpg differ diff --git a/examples/data/Fruit360/apple/206_100.jpg b/examples/data/Fruit360/apple/206_100.jpg new file mode 100644 index 00000000..8ac8c710 Binary files /dev/null and b/examples/data/Fruit360/apple/206_100.jpg differ diff --git a/examples/data/Fruit360/apple/207_100.jpg b/examples/data/Fruit360/apple/207_100.jpg new file mode 100644 index 00000000..3876c8c9 Binary files /dev/null and b/examples/data/Fruit360/apple/207_100.jpg differ diff --git a/examples/data/Fruit360/apple/208_100.jpg b/examples/data/Fruit360/apple/208_100.jpg new file mode 100644 index 00000000..4844db98 Binary files /dev/null and b/examples/data/Fruit360/apple/208_100.jpg differ diff --git a/examples/data/Fruit360/apple/209_100.jpg b/examples/data/Fruit360/apple/209_100.jpg new file mode 100644 index 00000000..7a961584 Binary files /dev/null and b/examples/data/Fruit360/apple/209_100.jpg differ diff --git a/examples/data/Fruit360/apple/20_100.jpg b/examples/data/Fruit360/apple/20_100.jpg new file mode 100644 index 00000000..37550094 Binary files /dev/null and b/examples/data/Fruit360/apple/20_100.jpg differ diff --git a/examples/data/Fruit360/apple/210_100.jpg b/examples/data/Fruit360/apple/210_100.jpg new file mode 100644 index 00000000..4ce8c4b4 Binary files /dev/null and b/examples/data/Fruit360/apple/210_100.jpg differ diff --git a/examples/data/Fruit360/apple/211_100.jpg b/examples/data/Fruit360/apple/211_100.jpg new file mode 100644 index 00000000..811fa109 Binary files /dev/null and b/examples/data/Fruit360/apple/211_100.jpg differ diff --git a/examples/data/Fruit360/apple/212_100.jpg b/examples/data/Fruit360/apple/212_100.jpg new file mode 100644 index 00000000..349ff662 Binary files /dev/null and b/examples/data/Fruit360/apple/212_100.jpg differ diff --git a/examples/data/Fruit360/apple/213_100.jpg b/examples/data/Fruit360/apple/213_100.jpg new file mode 100644 index 00000000..b5b85f70 Binary files /dev/null and b/examples/data/Fruit360/apple/213_100.jpg differ diff --git a/examples/data/Fruit360/apple/214_100.jpg b/examples/data/Fruit360/apple/214_100.jpg new file mode 100644 index 00000000..e836c680 Binary files /dev/null and b/examples/data/Fruit360/apple/214_100.jpg differ diff --git a/examples/data/Fruit360/apple/215_100.jpg b/examples/data/Fruit360/apple/215_100.jpg new file mode 100644 index 00000000..66edf846 Binary files /dev/null and b/examples/data/Fruit360/apple/215_100.jpg differ diff --git a/examples/data/Fruit360/apple/216_100.jpg b/examples/data/Fruit360/apple/216_100.jpg new file mode 100644 index 00000000..1e9ea95d Binary files /dev/null and b/examples/data/Fruit360/apple/216_100.jpg differ diff --git a/examples/data/Fruit360/apple/217_100.jpg b/examples/data/Fruit360/apple/217_100.jpg new file mode 100644 index 00000000..c9dbbf99 Binary files /dev/null and b/examples/data/Fruit360/apple/217_100.jpg differ diff --git a/examples/data/Fruit360/apple/218_100.jpg b/examples/data/Fruit360/apple/218_100.jpg new file mode 100644 index 00000000..33c907ea Binary files /dev/null and b/examples/data/Fruit360/apple/218_100.jpg differ diff --git a/examples/data/Fruit360/apple/219_100.jpg b/examples/data/Fruit360/apple/219_100.jpg new file mode 100644 index 00000000..c66d0315 Binary files /dev/null and b/examples/data/Fruit360/apple/219_100.jpg differ diff --git a/examples/data/Fruit360/apple/21_100.jpg b/examples/data/Fruit360/apple/21_100.jpg new file mode 100644 index 00000000..fe125846 Binary files /dev/null and b/examples/data/Fruit360/apple/21_100.jpg differ diff --git a/examples/data/Fruit360/apple/220_100.jpg b/examples/data/Fruit360/apple/220_100.jpg new file mode 100644 index 00000000..359c35f8 Binary files /dev/null and b/examples/data/Fruit360/apple/220_100.jpg differ diff --git a/examples/data/Fruit360/apple/221_100.jpg b/examples/data/Fruit360/apple/221_100.jpg new file mode 100644 index 00000000..d3d3f42c Binary files /dev/null and b/examples/data/Fruit360/apple/221_100.jpg differ diff --git a/examples/data/Fruit360/apple/222_100.jpg b/examples/data/Fruit360/apple/222_100.jpg new file mode 100644 index 00000000..07fcf06f Binary files /dev/null and b/examples/data/Fruit360/apple/222_100.jpg differ diff --git a/examples/data/Fruit360/apple/223_100.jpg b/examples/data/Fruit360/apple/223_100.jpg new file mode 100644 index 00000000..1f2dbe02 Binary files /dev/null and b/examples/data/Fruit360/apple/223_100.jpg differ diff --git a/examples/data/Fruit360/apple/224_100.jpg b/examples/data/Fruit360/apple/224_100.jpg new file mode 100644 index 00000000..94a7c152 Binary files /dev/null and b/examples/data/Fruit360/apple/224_100.jpg differ diff --git a/examples/data/Fruit360/apple/225_100.jpg b/examples/data/Fruit360/apple/225_100.jpg new file mode 100644 index 00000000..347da0da Binary files /dev/null and b/examples/data/Fruit360/apple/225_100.jpg differ diff --git a/examples/data/Fruit360/apple/226_100.jpg b/examples/data/Fruit360/apple/226_100.jpg new file mode 100644 index 00000000..b332b689 Binary files /dev/null and b/examples/data/Fruit360/apple/226_100.jpg differ diff --git a/examples/data/Fruit360/apple/227_100.jpg b/examples/data/Fruit360/apple/227_100.jpg new file mode 100644 index 00000000..89e4a4b4 Binary files /dev/null and b/examples/data/Fruit360/apple/227_100.jpg differ diff --git a/examples/data/Fruit360/apple/228_100.jpg b/examples/data/Fruit360/apple/228_100.jpg new file mode 100644 index 00000000..25be0e2a Binary files /dev/null and b/examples/data/Fruit360/apple/228_100.jpg differ diff --git a/examples/data/Fruit360/apple/229_100.jpg b/examples/data/Fruit360/apple/229_100.jpg new file mode 100644 index 00000000..52c22d04 Binary files /dev/null and b/examples/data/Fruit360/apple/229_100.jpg differ diff --git a/examples/data/Fruit360/apple/22_100.jpg b/examples/data/Fruit360/apple/22_100.jpg new file mode 100644 index 00000000..0f89d072 Binary files /dev/null and b/examples/data/Fruit360/apple/22_100.jpg differ diff --git a/examples/data/Fruit360/apple/230_100.jpg b/examples/data/Fruit360/apple/230_100.jpg new file mode 100644 index 00000000..05512771 Binary files /dev/null and b/examples/data/Fruit360/apple/230_100.jpg differ diff --git a/examples/data/Fruit360/apple/231_100.jpg b/examples/data/Fruit360/apple/231_100.jpg new file mode 100644 index 00000000..93694167 Binary files /dev/null and b/examples/data/Fruit360/apple/231_100.jpg differ diff --git a/examples/data/Fruit360/apple/232_100.jpg b/examples/data/Fruit360/apple/232_100.jpg new file mode 100644 index 00000000..2f5120df Binary files /dev/null and b/examples/data/Fruit360/apple/232_100.jpg differ diff --git a/examples/data/Fruit360/apple/233_100.jpg b/examples/data/Fruit360/apple/233_100.jpg new file mode 100644 index 00000000..6e03cbab Binary files /dev/null and b/examples/data/Fruit360/apple/233_100.jpg differ diff --git a/examples/data/Fruit360/apple/234_100.jpg b/examples/data/Fruit360/apple/234_100.jpg new file mode 100644 index 00000000..437c872c Binary files /dev/null and b/examples/data/Fruit360/apple/234_100.jpg differ diff --git a/examples/data/Fruit360/apple/235_100.jpg b/examples/data/Fruit360/apple/235_100.jpg new file mode 100644 index 00000000..0e75238b Binary files /dev/null and b/examples/data/Fruit360/apple/235_100.jpg differ diff --git a/examples/data/Fruit360/apple/236_100.jpg b/examples/data/Fruit360/apple/236_100.jpg new file mode 100644 index 00000000..c32be1da Binary files /dev/null and b/examples/data/Fruit360/apple/236_100.jpg differ diff --git a/examples/data/Fruit360/apple/237_100.jpg b/examples/data/Fruit360/apple/237_100.jpg new file mode 100644 index 00000000..d14030b6 Binary files /dev/null and b/examples/data/Fruit360/apple/237_100.jpg differ diff --git a/examples/data/Fruit360/apple/238_100.jpg b/examples/data/Fruit360/apple/238_100.jpg new file mode 100644 index 00000000..bdf9820e Binary files /dev/null and b/examples/data/Fruit360/apple/238_100.jpg differ diff --git a/examples/data/Fruit360/apple/239_100.jpg b/examples/data/Fruit360/apple/239_100.jpg new file mode 100644 index 00000000..63b14cd4 Binary files /dev/null and b/examples/data/Fruit360/apple/239_100.jpg differ diff --git a/examples/data/Fruit360/apple/23_100.jpg b/examples/data/Fruit360/apple/23_100.jpg new file mode 100644 index 00000000..bae47f34 Binary files /dev/null and b/examples/data/Fruit360/apple/23_100.jpg differ diff --git a/examples/data/Fruit360/apple/240_100.jpg b/examples/data/Fruit360/apple/240_100.jpg new file mode 100644 index 00000000..5e071c92 Binary files /dev/null and b/examples/data/Fruit360/apple/240_100.jpg differ diff --git a/examples/data/Fruit360/apple/241_100.jpg b/examples/data/Fruit360/apple/241_100.jpg new file mode 100644 index 00000000..ff9cdc21 Binary files /dev/null and b/examples/data/Fruit360/apple/241_100.jpg differ diff --git a/examples/data/Fruit360/apple/242_100.jpg b/examples/data/Fruit360/apple/242_100.jpg new file mode 100644 index 00000000..dfc6b356 Binary files /dev/null and b/examples/data/Fruit360/apple/242_100.jpg differ diff --git a/examples/data/Fruit360/apple/243_100.jpg b/examples/data/Fruit360/apple/243_100.jpg new file mode 100644 index 00000000..6320ad3f Binary files /dev/null and b/examples/data/Fruit360/apple/243_100.jpg differ diff --git a/examples/data/Fruit360/apple/244_100.jpg b/examples/data/Fruit360/apple/244_100.jpg new file mode 100644 index 00000000..5b74e66f Binary files /dev/null and b/examples/data/Fruit360/apple/244_100.jpg differ diff --git a/examples/data/Fruit360/apple/245_100.jpg b/examples/data/Fruit360/apple/245_100.jpg new file mode 100644 index 00000000..f55c14d3 Binary files /dev/null and b/examples/data/Fruit360/apple/245_100.jpg differ diff --git a/examples/data/Fruit360/apple/246_100.jpg b/examples/data/Fruit360/apple/246_100.jpg new file mode 100644 index 00000000..8f72965d Binary files /dev/null and b/examples/data/Fruit360/apple/246_100.jpg differ diff --git a/examples/data/Fruit360/apple/247_100.jpg b/examples/data/Fruit360/apple/247_100.jpg new file mode 100644 index 00000000..8910753c Binary files /dev/null and b/examples/data/Fruit360/apple/247_100.jpg differ diff --git a/examples/data/Fruit360/apple/248_100.jpg b/examples/data/Fruit360/apple/248_100.jpg new file mode 100644 index 00000000..9095f113 Binary files /dev/null and b/examples/data/Fruit360/apple/248_100.jpg differ diff --git a/examples/data/Fruit360/apple/249_100.jpg b/examples/data/Fruit360/apple/249_100.jpg new file mode 100644 index 00000000..12b68d29 Binary files /dev/null and b/examples/data/Fruit360/apple/249_100.jpg differ diff --git a/examples/data/Fruit360/apple/24_100.jpg b/examples/data/Fruit360/apple/24_100.jpg new file mode 100644 index 00000000..7d7fdcdd Binary files /dev/null and b/examples/data/Fruit360/apple/24_100.jpg differ diff --git a/examples/data/Fruit360/apple/250_100.jpg b/examples/data/Fruit360/apple/250_100.jpg new file mode 100644 index 00000000..7121b696 Binary files /dev/null and b/examples/data/Fruit360/apple/250_100.jpg differ diff --git a/examples/data/Fruit360/apple/251_100.jpg b/examples/data/Fruit360/apple/251_100.jpg new file mode 100644 index 00000000..b12e82f5 Binary files /dev/null and b/examples/data/Fruit360/apple/251_100.jpg differ diff --git a/examples/data/Fruit360/apple/252_100.jpg b/examples/data/Fruit360/apple/252_100.jpg new file mode 100644 index 00000000..b46aaa6a Binary files /dev/null and b/examples/data/Fruit360/apple/252_100.jpg differ diff --git a/examples/data/Fruit360/apple/253_100.jpg b/examples/data/Fruit360/apple/253_100.jpg new file mode 100644 index 00000000..2520bd55 Binary files /dev/null and b/examples/data/Fruit360/apple/253_100.jpg differ diff --git a/examples/data/Fruit360/apple/254_100.jpg b/examples/data/Fruit360/apple/254_100.jpg new file mode 100644 index 00000000..d5d4dc61 Binary files /dev/null and b/examples/data/Fruit360/apple/254_100.jpg differ diff --git a/examples/data/Fruit360/apple/255_100.jpg b/examples/data/Fruit360/apple/255_100.jpg new file mode 100644 index 00000000..fcdbfd7b Binary files /dev/null and b/examples/data/Fruit360/apple/255_100.jpg differ diff --git a/examples/data/Fruit360/apple/256_100.jpg b/examples/data/Fruit360/apple/256_100.jpg new file mode 100644 index 00000000..b10cedf3 Binary files /dev/null and b/examples/data/Fruit360/apple/256_100.jpg differ diff --git a/examples/data/Fruit360/apple/257_100.jpg b/examples/data/Fruit360/apple/257_100.jpg new file mode 100644 index 00000000..0243dfc7 Binary files /dev/null and b/examples/data/Fruit360/apple/257_100.jpg differ diff --git a/examples/data/Fruit360/apple/258_100.jpg b/examples/data/Fruit360/apple/258_100.jpg new file mode 100644 index 00000000..01b7fc51 Binary files /dev/null and b/examples/data/Fruit360/apple/258_100.jpg differ diff --git a/examples/data/Fruit360/apple/259_100.jpg b/examples/data/Fruit360/apple/259_100.jpg new file mode 100644 index 00000000..4050ff26 Binary files /dev/null and b/examples/data/Fruit360/apple/259_100.jpg differ diff --git a/examples/data/Fruit360/apple/25_100.jpg b/examples/data/Fruit360/apple/25_100.jpg new file mode 100644 index 00000000..1e874e86 Binary files /dev/null and b/examples/data/Fruit360/apple/25_100.jpg differ diff --git a/examples/data/Fruit360/apple/260_100.jpg b/examples/data/Fruit360/apple/260_100.jpg new file mode 100644 index 00000000..bdbe6bea Binary files /dev/null and b/examples/data/Fruit360/apple/260_100.jpg differ diff --git a/examples/data/Fruit360/apple/261_100.jpg b/examples/data/Fruit360/apple/261_100.jpg new file mode 100644 index 00000000..68557c0f Binary files /dev/null and b/examples/data/Fruit360/apple/261_100.jpg differ diff --git a/examples/data/Fruit360/apple/262_100.jpg b/examples/data/Fruit360/apple/262_100.jpg new file mode 100644 index 00000000..fafe052e Binary files /dev/null and b/examples/data/Fruit360/apple/262_100.jpg differ diff --git a/examples/data/Fruit360/apple/263_100.jpg b/examples/data/Fruit360/apple/263_100.jpg new file mode 100644 index 00000000..b37d49cc Binary files /dev/null and b/examples/data/Fruit360/apple/263_100.jpg differ diff --git a/examples/data/Fruit360/apple/264_100.jpg b/examples/data/Fruit360/apple/264_100.jpg new file mode 100644 index 00000000..cc795bc6 Binary files /dev/null and b/examples/data/Fruit360/apple/264_100.jpg differ diff --git a/examples/data/Fruit360/apple/265_100.jpg b/examples/data/Fruit360/apple/265_100.jpg new file mode 100644 index 00000000..d3c798cb Binary files /dev/null and b/examples/data/Fruit360/apple/265_100.jpg differ diff --git a/examples/data/Fruit360/apple/266_100.jpg b/examples/data/Fruit360/apple/266_100.jpg new file mode 100644 index 00000000..0752a3e2 Binary files /dev/null and b/examples/data/Fruit360/apple/266_100.jpg differ diff --git a/examples/data/Fruit360/apple/267_100.jpg b/examples/data/Fruit360/apple/267_100.jpg new file mode 100644 index 00000000..6b00eb3e Binary files /dev/null and b/examples/data/Fruit360/apple/267_100.jpg differ diff --git a/examples/data/Fruit360/apple/268_100.jpg b/examples/data/Fruit360/apple/268_100.jpg new file mode 100644 index 00000000..22fa1cc0 Binary files /dev/null and b/examples/data/Fruit360/apple/268_100.jpg differ diff --git a/examples/data/Fruit360/apple/269_100.jpg b/examples/data/Fruit360/apple/269_100.jpg new file mode 100644 index 00000000..21a6b5d2 Binary files /dev/null and b/examples/data/Fruit360/apple/269_100.jpg differ diff --git a/examples/data/Fruit360/apple/26_100.jpg b/examples/data/Fruit360/apple/26_100.jpg new file mode 100644 index 00000000..c0c4ac3b Binary files /dev/null and b/examples/data/Fruit360/apple/26_100.jpg differ diff --git a/examples/data/Fruit360/apple/270_100.jpg b/examples/data/Fruit360/apple/270_100.jpg new file mode 100644 index 00000000..1c2a2e98 Binary files /dev/null and b/examples/data/Fruit360/apple/270_100.jpg differ diff --git a/examples/data/Fruit360/apple/271_100.jpg b/examples/data/Fruit360/apple/271_100.jpg new file mode 100644 index 00000000..b3026999 Binary files /dev/null and b/examples/data/Fruit360/apple/271_100.jpg differ diff --git a/examples/data/Fruit360/apple/272_100.jpg b/examples/data/Fruit360/apple/272_100.jpg new file mode 100644 index 00000000..efd7165f Binary files /dev/null and b/examples/data/Fruit360/apple/272_100.jpg differ diff --git a/examples/data/Fruit360/apple/273_100.jpg b/examples/data/Fruit360/apple/273_100.jpg new file mode 100644 index 00000000..3050c069 Binary files /dev/null and b/examples/data/Fruit360/apple/273_100.jpg differ diff --git a/examples/data/Fruit360/apple/274_100.jpg b/examples/data/Fruit360/apple/274_100.jpg new file mode 100644 index 00000000..8041ff50 Binary files /dev/null and b/examples/data/Fruit360/apple/274_100.jpg differ diff --git a/examples/data/Fruit360/apple/275_100.jpg b/examples/data/Fruit360/apple/275_100.jpg new file mode 100644 index 00000000..f93c7ba4 Binary files /dev/null and b/examples/data/Fruit360/apple/275_100.jpg differ diff --git a/examples/data/Fruit360/apple/276_100.jpg b/examples/data/Fruit360/apple/276_100.jpg new file mode 100644 index 00000000..b583cb2f Binary files /dev/null and b/examples/data/Fruit360/apple/276_100.jpg differ diff --git a/examples/data/Fruit360/apple/277_100.jpg b/examples/data/Fruit360/apple/277_100.jpg new file mode 100644 index 00000000..d8d36216 Binary files /dev/null and b/examples/data/Fruit360/apple/277_100.jpg differ diff --git a/examples/data/Fruit360/apple/278_100.jpg b/examples/data/Fruit360/apple/278_100.jpg new file mode 100644 index 00000000..3f09c684 Binary files /dev/null and b/examples/data/Fruit360/apple/278_100.jpg differ diff --git a/examples/data/Fruit360/apple/279_100.jpg b/examples/data/Fruit360/apple/279_100.jpg new file mode 100644 index 00000000..d8c51613 Binary files /dev/null and b/examples/data/Fruit360/apple/279_100.jpg differ diff --git a/examples/data/Fruit360/apple/27_100.jpg b/examples/data/Fruit360/apple/27_100.jpg new file mode 100644 index 00000000..0a073861 Binary files /dev/null and b/examples/data/Fruit360/apple/27_100.jpg differ diff --git a/examples/data/Fruit360/apple/280_100.jpg b/examples/data/Fruit360/apple/280_100.jpg new file mode 100644 index 00000000..48f3f8b4 Binary files /dev/null and b/examples/data/Fruit360/apple/280_100.jpg differ diff --git a/examples/data/Fruit360/apple/281_100.jpg b/examples/data/Fruit360/apple/281_100.jpg new file mode 100644 index 00000000..cc29f063 Binary files /dev/null and b/examples/data/Fruit360/apple/281_100.jpg differ diff --git a/examples/data/Fruit360/apple/282_100.jpg b/examples/data/Fruit360/apple/282_100.jpg new file mode 100644 index 00000000..5728920e Binary files /dev/null and b/examples/data/Fruit360/apple/282_100.jpg differ diff --git a/examples/data/Fruit360/apple/283_100.jpg b/examples/data/Fruit360/apple/283_100.jpg new file mode 100644 index 00000000..7e6ac234 Binary files /dev/null and b/examples/data/Fruit360/apple/283_100.jpg differ diff --git a/examples/data/Fruit360/apple/284_100.jpg b/examples/data/Fruit360/apple/284_100.jpg new file mode 100644 index 00000000..114b625c Binary files /dev/null and b/examples/data/Fruit360/apple/284_100.jpg differ diff --git a/examples/data/Fruit360/apple/285_100.jpg b/examples/data/Fruit360/apple/285_100.jpg new file mode 100644 index 00000000..c042352a Binary files /dev/null and b/examples/data/Fruit360/apple/285_100.jpg differ diff --git a/examples/data/Fruit360/apple/286_100.jpg b/examples/data/Fruit360/apple/286_100.jpg new file mode 100644 index 00000000..3c402748 Binary files /dev/null and b/examples/data/Fruit360/apple/286_100.jpg differ diff --git a/examples/data/Fruit360/apple/287_100.jpg b/examples/data/Fruit360/apple/287_100.jpg new file mode 100644 index 00000000..af28ed4d Binary files /dev/null and b/examples/data/Fruit360/apple/287_100.jpg differ diff --git a/examples/data/Fruit360/apple/288_100.jpg b/examples/data/Fruit360/apple/288_100.jpg new file mode 100644 index 00000000..f6914fbe Binary files /dev/null and b/examples/data/Fruit360/apple/288_100.jpg differ diff --git a/examples/data/Fruit360/apple/289_100.jpg b/examples/data/Fruit360/apple/289_100.jpg new file mode 100644 index 00000000..b03e4847 Binary files /dev/null and b/examples/data/Fruit360/apple/289_100.jpg differ diff --git a/examples/data/Fruit360/apple/28_100.jpg b/examples/data/Fruit360/apple/28_100.jpg new file mode 100644 index 00000000..d63b7233 Binary files /dev/null and b/examples/data/Fruit360/apple/28_100.jpg differ diff --git a/examples/data/Fruit360/apple/290_100.jpg b/examples/data/Fruit360/apple/290_100.jpg new file mode 100644 index 00000000..e333708a Binary files /dev/null and b/examples/data/Fruit360/apple/290_100.jpg differ diff --git a/examples/data/Fruit360/apple/291_100.jpg b/examples/data/Fruit360/apple/291_100.jpg new file mode 100644 index 00000000..e6bca991 Binary files /dev/null and b/examples/data/Fruit360/apple/291_100.jpg differ diff --git a/examples/data/Fruit360/apple/292_100.jpg b/examples/data/Fruit360/apple/292_100.jpg new file mode 100644 index 00000000..cc46c15e Binary files /dev/null and b/examples/data/Fruit360/apple/292_100.jpg differ diff --git a/examples/data/Fruit360/apple/293_100.jpg b/examples/data/Fruit360/apple/293_100.jpg new file mode 100644 index 00000000..200f592e Binary files /dev/null and b/examples/data/Fruit360/apple/293_100.jpg differ diff --git a/examples/data/Fruit360/apple/294_100.jpg b/examples/data/Fruit360/apple/294_100.jpg new file mode 100644 index 00000000..3e7a568e Binary files /dev/null and b/examples/data/Fruit360/apple/294_100.jpg differ diff --git a/examples/data/Fruit360/apple/295_100.jpg b/examples/data/Fruit360/apple/295_100.jpg new file mode 100644 index 00000000..2980d3e7 Binary files /dev/null and b/examples/data/Fruit360/apple/295_100.jpg differ diff --git a/examples/data/Fruit360/apple/296_100.jpg b/examples/data/Fruit360/apple/296_100.jpg new file mode 100644 index 00000000..7048fdeb Binary files /dev/null and b/examples/data/Fruit360/apple/296_100.jpg differ diff --git a/examples/data/Fruit360/apple/297_100.jpg b/examples/data/Fruit360/apple/297_100.jpg new file mode 100644 index 00000000..ca6a1f4a Binary files /dev/null and b/examples/data/Fruit360/apple/297_100.jpg differ diff --git a/examples/data/Fruit360/apple/298_100.jpg b/examples/data/Fruit360/apple/298_100.jpg new file mode 100644 index 00000000..38f91908 Binary files /dev/null and b/examples/data/Fruit360/apple/298_100.jpg differ diff --git a/examples/data/Fruit360/apple/299_100.jpg b/examples/data/Fruit360/apple/299_100.jpg new file mode 100644 index 00000000..3e066556 Binary files /dev/null and b/examples/data/Fruit360/apple/299_100.jpg differ diff --git a/examples/data/Fruit360/apple/29_100.jpg b/examples/data/Fruit360/apple/29_100.jpg new file mode 100644 index 00000000..a69777c7 Binary files /dev/null and b/examples/data/Fruit360/apple/29_100.jpg differ diff --git a/examples/data/Fruit360/apple/2_100.jpg b/examples/data/Fruit360/apple/2_100.jpg new file mode 100644 index 00000000..6e1130cd Binary files /dev/null and b/examples/data/Fruit360/apple/2_100.jpg differ diff --git a/examples/data/Fruit360/apple/300_100.jpg b/examples/data/Fruit360/apple/300_100.jpg new file mode 100644 index 00000000..a5f57b48 Binary files /dev/null and b/examples/data/Fruit360/apple/300_100.jpg differ diff --git a/examples/data/Fruit360/apple/301_100.jpg b/examples/data/Fruit360/apple/301_100.jpg new file mode 100644 index 00000000..57b5720d Binary files /dev/null and b/examples/data/Fruit360/apple/301_100.jpg differ diff --git a/examples/data/Fruit360/apple/302_100.jpg b/examples/data/Fruit360/apple/302_100.jpg new file mode 100644 index 00000000..6ac36d43 Binary files /dev/null and b/examples/data/Fruit360/apple/302_100.jpg differ diff --git a/examples/data/Fruit360/apple/303_100.jpg b/examples/data/Fruit360/apple/303_100.jpg new file mode 100644 index 00000000..66aa72d4 Binary files /dev/null and b/examples/data/Fruit360/apple/303_100.jpg differ diff --git a/examples/data/Fruit360/apple/304_100.jpg b/examples/data/Fruit360/apple/304_100.jpg new file mode 100644 index 00000000..551304d1 Binary files /dev/null and b/examples/data/Fruit360/apple/304_100.jpg differ diff --git a/examples/data/Fruit360/apple/305_100.jpg b/examples/data/Fruit360/apple/305_100.jpg new file mode 100644 index 00000000..9438e032 Binary files /dev/null and b/examples/data/Fruit360/apple/305_100.jpg differ diff --git a/examples/data/Fruit360/apple/306_100.jpg b/examples/data/Fruit360/apple/306_100.jpg new file mode 100644 index 00000000..7dd2eaab Binary files /dev/null and b/examples/data/Fruit360/apple/306_100.jpg differ diff --git a/examples/data/Fruit360/apple/307_100.jpg b/examples/data/Fruit360/apple/307_100.jpg new file mode 100644 index 00000000..172ec55d Binary files /dev/null and b/examples/data/Fruit360/apple/307_100.jpg differ diff --git a/examples/data/Fruit360/apple/308_100.jpg b/examples/data/Fruit360/apple/308_100.jpg new file mode 100644 index 00000000..4fc621e1 Binary files /dev/null and b/examples/data/Fruit360/apple/308_100.jpg differ diff --git a/examples/data/Fruit360/apple/309_100.jpg b/examples/data/Fruit360/apple/309_100.jpg new file mode 100644 index 00000000..4745490e Binary files /dev/null and b/examples/data/Fruit360/apple/309_100.jpg differ diff --git a/examples/data/Fruit360/apple/30_100.jpg b/examples/data/Fruit360/apple/30_100.jpg new file mode 100644 index 00000000..df75ac91 Binary files /dev/null and b/examples/data/Fruit360/apple/30_100.jpg differ diff --git a/examples/data/Fruit360/apple/310_100.jpg b/examples/data/Fruit360/apple/310_100.jpg new file mode 100644 index 00000000..f40653f3 Binary files /dev/null and b/examples/data/Fruit360/apple/310_100.jpg differ diff --git a/examples/data/Fruit360/apple/311_100.jpg b/examples/data/Fruit360/apple/311_100.jpg new file mode 100644 index 00000000..718aa1a7 Binary files /dev/null and b/examples/data/Fruit360/apple/311_100.jpg differ diff --git a/examples/data/Fruit360/apple/312_100.jpg b/examples/data/Fruit360/apple/312_100.jpg new file mode 100644 index 00000000..2c4cbcc3 Binary files /dev/null and b/examples/data/Fruit360/apple/312_100.jpg differ diff --git a/examples/data/Fruit360/apple/313_100.jpg b/examples/data/Fruit360/apple/313_100.jpg new file mode 100644 index 00000000..58e0c377 Binary files /dev/null and b/examples/data/Fruit360/apple/313_100.jpg differ diff --git a/examples/data/Fruit360/apple/314_100.jpg b/examples/data/Fruit360/apple/314_100.jpg new file mode 100644 index 00000000..5a51ff96 Binary files /dev/null and b/examples/data/Fruit360/apple/314_100.jpg differ diff --git a/examples/data/Fruit360/apple/315_100.jpg b/examples/data/Fruit360/apple/315_100.jpg new file mode 100644 index 00000000..1222a6c1 Binary files /dev/null and b/examples/data/Fruit360/apple/315_100.jpg differ diff --git a/examples/data/Fruit360/apple/316_100.jpg b/examples/data/Fruit360/apple/316_100.jpg new file mode 100644 index 00000000..e0ca9b57 Binary files /dev/null and b/examples/data/Fruit360/apple/316_100.jpg differ diff --git a/examples/data/Fruit360/apple/317_100.jpg b/examples/data/Fruit360/apple/317_100.jpg new file mode 100644 index 00000000..fd46fe4a Binary files /dev/null and b/examples/data/Fruit360/apple/317_100.jpg differ diff --git a/examples/data/Fruit360/apple/318_100.jpg b/examples/data/Fruit360/apple/318_100.jpg new file mode 100644 index 00000000..2ecf23b4 Binary files /dev/null and b/examples/data/Fruit360/apple/318_100.jpg differ diff --git a/examples/data/Fruit360/apple/319_100.jpg b/examples/data/Fruit360/apple/319_100.jpg new file mode 100644 index 00000000..8ff7f1bb Binary files /dev/null and b/examples/data/Fruit360/apple/319_100.jpg differ diff --git a/examples/data/Fruit360/apple/31_100.jpg b/examples/data/Fruit360/apple/31_100.jpg new file mode 100644 index 00000000..bddabbe5 Binary files /dev/null and b/examples/data/Fruit360/apple/31_100.jpg differ diff --git a/examples/data/Fruit360/apple/320_100.jpg b/examples/data/Fruit360/apple/320_100.jpg new file mode 100644 index 00000000..d2b91a82 Binary files /dev/null and b/examples/data/Fruit360/apple/320_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_0_100.jpg b/examples/data/Fruit360/apple/r_0_100.jpg new file mode 100644 index 00000000..60be829f Binary files /dev/null and b/examples/data/Fruit360/apple/r_0_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_100_100.jpg b/examples/data/Fruit360/apple/r_100_100.jpg new file mode 100644 index 00000000..fe0ae332 Binary files /dev/null and b/examples/data/Fruit360/apple/r_100_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_101_100.jpg b/examples/data/Fruit360/apple/r_101_100.jpg new file mode 100644 index 00000000..f5f03f3b Binary files /dev/null and b/examples/data/Fruit360/apple/r_101_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_102_100.jpg b/examples/data/Fruit360/apple/r_102_100.jpg new file mode 100644 index 00000000..4bf432f5 Binary files /dev/null and b/examples/data/Fruit360/apple/r_102_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_103_100.jpg b/examples/data/Fruit360/apple/r_103_100.jpg new file mode 100644 index 00000000..edd1a5d2 Binary files /dev/null and b/examples/data/Fruit360/apple/r_103_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_104_100.jpg b/examples/data/Fruit360/apple/r_104_100.jpg new file mode 100644 index 00000000..e16b0590 Binary files /dev/null and b/examples/data/Fruit360/apple/r_104_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_105_100.jpg b/examples/data/Fruit360/apple/r_105_100.jpg new file mode 100644 index 00000000..a763e246 Binary files /dev/null and b/examples/data/Fruit360/apple/r_105_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_106_100.jpg b/examples/data/Fruit360/apple/r_106_100.jpg new file mode 100644 index 00000000..e60dd2db Binary files /dev/null and b/examples/data/Fruit360/apple/r_106_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_107_100.jpg b/examples/data/Fruit360/apple/r_107_100.jpg new file mode 100644 index 00000000..afb36b70 Binary files /dev/null and b/examples/data/Fruit360/apple/r_107_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_108_100.jpg b/examples/data/Fruit360/apple/r_108_100.jpg new file mode 100644 index 00000000..e21d3428 Binary files /dev/null and b/examples/data/Fruit360/apple/r_108_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_109_100.jpg b/examples/data/Fruit360/apple/r_109_100.jpg new file mode 100644 index 00000000..f2ee4aec Binary files /dev/null and b/examples/data/Fruit360/apple/r_109_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_10_100.jpg b/examples/data/Fruit360/apple/r_10_100.jpg new file mode 100644 index 00000000..f5f0d1c0 Binary files /dev/null and b/examples/data/Fruit360/apple/r_10_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_110_100.jpg b/examples/data/Fruit360/apple/r_110_100.jpg new file mode 100644 index 00000000..4fec89a2 Binary files /dev/null and b/examples/data/Fruit360/apple/r_110_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_111_100.jpg b/examples/data/Fruit360/apple/r_111_100.jpg new file mode 100644 index 00000000..61ff1a4b Binary files /dev/null and b/examples/data/Fruit360/apple/r_111_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_112_100.jpg b/examples/data/Fruit360/apple/r_112_100.jpg new file mode 100644 index 00000000..1e9dbb57 Binary files /dev/null and b/examples/data/Fruit360/apple/r_112_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_113_100.jpg b/examples/data/Fruit360/apple/r_113_100.jpg new file mode 100644 index 00000000..21e89934 Binary files /dev/null and b/examples/data/Fruit360/apple/r_113_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_114_100.jpg b/examples/data/Fruit360/apple/r_114_100.jpg new file mode 100644 index 00000000..c927fc16 Binary files /dev/null and b/examples/data/Fruit360/apple/r_114_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_115_100.jpg b/examples/data/Fruit360/apple/r_115_100.jpg new file mode 100644 index 00000000..fd31e37d Binary files /dev/null and b/examples/data/Fruit360/apple/r_115_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_116_100.jpg b/examples/data/Fruit360/apple/r_116_100.jpg new file mode 100644 index 00000000..488c2a1d Binary files /dev/null and b/examples/data/Fruit360/apple/r_116_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_117_100.jpg b/examples/data/Fruit360/apple/r_117_100.jpg new file mode 100644 index 00000000..682780d5 Binary files /dev/null and b/examples/data/Fruit360/apple/r_117_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_118_100.jpg b/examples/data/Fruit360/apple/r_118_100.jpg new file mode 100644 index 00000000..2370a4a7 Binary files /dev/null and b/examples/data/Fruit360/apple/r_118_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_119_100.jpg b/examples/data/Fruit360/apple/r_119_100.jpg new file mode 100644 index 00000000..9cf6ada7 Binary files /dev/null and b/examples/data/Fruit360/apple/r_119_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_11_100.jpg b/examples/data/Fruit360/apple/r_11_100.jpg new file mode 100644 index 00000000..19c33924 Binary files /dev/null and b/examples/data/Fruit360/apple/r_11_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_120_100.jpg b/examples/data/Fruit360/apple/r_120_100.jpg new file mode 100644 index 00000000..a8be6e2b Binary files /dev/null and b/examples/data/Fruit360/apple/r_120_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_121_100.jpg b/examples/data/Fruit360/apple/r_121_100.jpg new file mode 100644 index 00000000..ba49bed4 Binary files /dev/null and b/examples/data/Fruit360/apple/r_121_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_122_100.jpg b/examples/data/Fruit360/apple/r_122_100.jpg new file mode 100644 index 00000000..601ea383 Binary files /dev/null and b/examples/data/Fruit360/apple/r_122_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_123_100.jpg b/examples/data/Fruit360/apple/r_123_100.jpg new file mode 100644 index 00000000..f23a426f Binary files /dev/null and b/examples/data/Fruit360/apple/r_123_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_124_100.jpg b/examples/data/Fruit360/apple/r_124_100.jpg new file mode 100644 index 00000000..860af4b7 Binary files /dev/null and b/examples/data/Fruit360/apple/r_124_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_125_100.jpg b/examples/data/Fruit360/apple/r_125_100.jpg new file mode 100644 index 00000000..da08d84b Binary files /dev/null and b/examples/data/Fruit360/apple/r_125_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_126_100.jpg b/examples/data/Fruit360/apple/r_126_100.jpg new file mode 100644 index 00000000..f9c828f5 Binary files /dev/null and b/examples/data/Fruit360/apple/r_126_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_127_100.jpg b/examples/data/Fruit360/apple/r_127_100.jpg new file mode 100644 index 00000000..dc18c0ef Binary files /dev/null and b/examples/data/Fruit360/apple/r_127_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_128_100.jpg b/examples/data/Fruit360/apple/r_128_100.jpg new file mode 100644 index 00000000..0ca5dc72 Binary files /dev/null and b/examples/data/Fruit360/apple/r_128_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_129_100.jpg b/examples/data/Fruit360/apple/r_129_100.jpg new file mode 100644 index 00000000..2b942b3c Binary files /dev/null and b/examples/data/Fruit360/apple/r_129_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_12_100.jpg b/examples/data/Fruit360/apple/r_12_100.jpg new file mode 100644 index 00000000..8da031cf Binary files /dev/null and b/examples/data/Fruit360/apple/r_12_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_130_100.jpg b/examples/data/Fruit360/apple/r_130_100.jpg new file mode 100644 index 00000000..685e3076 Binary files /dev/null and b/examples/data/Fruit360/apple/r_130_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_131_100.jpg b/examples/data/Fruit360/apple/r_131_100.jpg new file mode 100644 index 00000000..a5d998dc Binary files /dev/null and b/examples/data/Fruit360/apple/r_131_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_132_100.jpg b/examples/data/Fruit360/apple/r_132_100.jpg new file mode 100644 index 00000000..966bc778 Binary files /dev/null and b/examples/data/Fruit360/apple/r_132_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_133_100.jpg b/examples/data/Fruit360/apple/r_133_100.jpg new file mode 100644 index 00000000..fea31def Binary files /dev/null and b/examples/data/Fruit360/apple/r_133_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_134_100.jpg b/examples/data/Fruit360/apple/r_134_100.jpg new file mode 100644 index 00000000..4d93e76c Binary files /dev/null and b/examples/data/Fruit360/apple/r_134_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_135_100.jpg b/examples/data/Fruit360/apple/r_135_100.jpg new file mode 100644 index 00000000..704d6779 Binary files /dev/null and b/examples/data/Fruit360/apple/r_135_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_136_100.jpg b/examples/data/Fruit360/apple/r_136_100.jpg new file mode 100644 index 00000000..71d22435 Binary files /dev/null and b/examples/data/Fruit360/apple/r_136_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_137_100.jpg b/examples/data/Fruit360/apple/r_137_100.jpg new file mode 100644 index 00000000..3f65d1fb Binary files /dev/null and b/examples/data/Fruit360/apple/r_137_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_138_100.jpg b/examples/data/Fruit360/apple/r_138_100.jpg new file mode 100644 index 00000000..ab8df40b Binary files /dev/null and b/examples/data/Fruit360/apple/r_138_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_139_100.jpg b/examples/data/Fruit360/apple/r_139_100.jpg new file mode 100644 index 00000000..118df630 Binary files /dev/null and b/examples/data/Fruit360/apple/r_139_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_13_100.jpg b/examples/data/Fruit360/apple/r_13_100.jpg new file mode 100644 index 00000000..12a1c699 Binary files /dev/null and b/examples/data/Fruit360/apple/r_13_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_140_100.jpg b/examples/data/Fruit360/apple/r_140_100.jpg new file mode 100644 index 00000000..db829d21 Binary files /dev/null and b/examples/data/Fruit360/apple/r_140_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_141_100.jpg b/examples/data/Fruit360/apple/r_141_100.jpg new file mode 100644 index 00000000..3c4b28da Binary files /dev/null and b/examples/data/Fruit360/apple/r_141_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_142_100.jpg b/examples/data/Fruit360/apple/r_142_100.jpg new file mode 100644 index 00000000..36d39996 Binary files /dev/null and b/examples/data/Fruit360/apple/r_142_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_143_100.jpg b/examples/data/Fruit360/apple/r_143_100.jpg new file mode 100644 index 00000000..b69ae654 Binary files /dev/null and b/examples/data/Fruit360/apple/r_143_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_144_100.jpg b/examples/data/Fruit360/apple/r_144_100.jpg new file mode 100644 index 00000000..3e0bd377 Binary files /dev/null and b/examples/data/Fruit360/apple/r_144_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_145_100.jpg b/examples/data/Fruit360/apple/r_145_100.jpg new file mode 100644 index 00000000..5c775879 Binary files /dev/null and b/examples/data/Fruit360/apple/r_145_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_146_100.jpg b/examples/data/Fruit360/apple/r_146_100.jpg new file mode 100644 index 00000000..532d1960 Binary files /dev/null and b/examples/data/Fruit360/apple/r_146_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_147_100.jpg b/examples/data/Fruit360/apple/r_147_100.jpg new file mode 100644 index 00000000..925cacbf Binary files /dev/null and b/examples/data/Fruit360/apple/r_147_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_148_100.jpg b/examples/data/Fruit360/apple/r_148_100.jpg new file mode 100644 index 00000000..e414cce4 Binary files /dev/null and b/examples/data/Fruit360/apple/r_148_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_149_100.jpg b/examples/data/Fruit360/apple/r_149_100.jpg new file mode 100644 index 00000000..7278982b Binary files /dev/null and b/examples/data/Fruit360/apple/r_149_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_14_100.jpg b/examples/data/Fruit360/apple/r_14_100.jpg new file mode 100644 index 00000000..b85da3c7 Binary files /dev/null and b/examples/data/Fruit360/apple/r_14_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_150_100.jpg b/examples/data/Fruit360/apple/r_150_100.jpg new file mode 100644 index 00000000..2ccc7c45 Binary files /dev/null and b/examples/data/Fruit360/apple/r_150_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_151_100.jpg b/examples/data/Fruit360/apple/r_151_100.jpg new file mode 100644 index 00000000..3efe8e0c Binary files /dev/null and b/examples/data/Fruit360/apple/r_151_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_152_100.jpg b/examples/data/Fruit360/apple/r_152_100.jpg new file mode 100644 index 00000000..b6da9f8f Binary files /dev/null and b/examples/data/Fruit360/apple/r_152_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_153_100.jpg b/examples/data/Fruit360/apple/r_153_100.jpg new file mode 100644 index 00000000..729bfd04 Binary files /dev/null and b/examples/data/Fruit360/apple/r_153_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_154_100.jpg b/examples/data/Fruit360/apple/r_154_100.jpg new file mode 100644 index 00000000..5e858449 Binary files /dev/null and b/examples/data/Fruit360/apple/r_154_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_155_100.jpg b/examples/data/Fruit360/apple/r_155_100.jpg new file mode 100644 index 00000000..2e1dc997 Binary files /dev/null and b/examples/data/Fruit360/apple/r_155_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_156_100.jpg b/examples/data/Fruit360/apple/r_156_100.jpg new file mode 100644 index 00000000..f68a44e3 Binary files /dev/null and b/examples/data/Fruit360/apple/r_156_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_157_100.jpg b/examples/data/Fruit360/apple/r_157_100.jpg new file mode 100644 index 00000000..e8a5d368 Binary files /dev/null and b/examples/data/Fruit360/apple/r_157_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_158_100.jpg b/examples/data/Fruit360/apple/r_158_100.jpg new file mode 100644 index 00000000..3b66d764 Binary files /dev/null and b/examples/data/Fruit360/apple/r_158_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_159_100.jpg b/examples/data/Fruit360/apple/r_159_100.jpg new file mode 100644 index 00000000..d93d8b62 Binary files /dev/null and b/examples/data/Fruit360/apple/r_159_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_15_100.jpg b/examples/data/Fruit360/apple/r_15_100.jpg new file mode 100644 index 00000000..9cd29dda Binary files /dev/null and b/examples/data/Fruit360/apple/r_15_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_160_100.jpg b/examples/data/Fruit360/apple/r_160_100.jpg new file mode 100644 index 00000000..ffe5149b Binary files /dev/null and b/examples/data/Fruit360/apple/r_160_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_161_100.jpg b/examples/data/Fruit360/apple/r_161_100.jpg new file mode 100644 index 00000000..2765af8e Binary files /dev/null and b/examples/data/Fruit360/apple/r_161_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_162_100.jpg b/examples/data/Fruit360/apple/r_162_100.jpg new file mode 100644 index 00000000..5a9c4644 Binary files /dev/null and b/examples/data/Fruit360/apple/r_162_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_163_100.jpg b/examples/data/Fruit360/apple/r_163_100.jpg new file mode 100644 index 00000000..ead3e2b3 Binary files /dev/null and b/examples/data/Fruit360/apple/r_163_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_164_100.jpg b/examples/data/Fruit360/apple/r_164_100.jpg new file mode 100644 index 00000000..e149c56f Binary files /dev/null and b/examples/data/Fruit360/apple/r_164_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_165_100.jpg b/examples/data/Fruit360/apple/r_165_100.jpg new file mode 100644 index 00000000..512f9df5 Binary files /dev/null and b/examples/data/Fruit360/apple/r_165_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_166_100.jpg b/examples/data/Fruit360/apple/r_166_100.jpg new file mode 100644 index 00000000..c3bdcf2e Binary files /dev/null and b/examples/data/Fruit360/apple/r_166_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_167_100.jpg b/examples/data/Fruit360/apple/r_167_100.jpg new file mode 100644 index 00000000..ce850cb2 Binary files /dev/null and b/examples/data/Fruit360/apple/r_167_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_168_100.jpg b/examples/data/Fruit360/apple/r_168_100.jpg new file mode 100644 index 00000000..be8e996a Binary files /dev/null and b/examples/data/Fruit360/apple/r_168_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_169_100.jpg b/examples/data/Fruit360/apple/r_169_100.jpg new file mode 100644 index 00000000..d6d1efd3 Binary files /dev/null and b/examples/data/Fruit360/apple/r_169_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_16_100.jpg b/examples/data/Fruit360/apple/r_16_100.jpg new file mode 100644 index 00000000..21eabd42 Binary files /dev/null and b/examples/data/Fruit360/apple/r_16_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_170_100.jpg b/examples/data/Fruit360/apple/r_170_100.jpg new file mode 100644 index 00000000..47ec2def Binary files /dev/null and b/examples/data/Fruit360/apple/r_170_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_171_100.jpg b/examples/data/Fruit360/apple/r_171_100.jpg new file mode 100644 index 00000000..8ac327e9 Binary files /dev/null and b/examples/data/Fruit360/apple/r_171_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_172_100.jpg b/examples/data/Fruit360/apple/r_172_100.jpg new file mode 100644 index 00000000..e854f06f Binary files /dev/null and b/examples/data/Fruit360/apple/r_172_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_173_100.jpg b/examples/data/Fruit360/apple/r_173_100.jpg new file mode 100644 index 00000000..2af59309 Binary files /dev/null and b/examples/data/Fruit360/apple/r_173_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_174_100.jpg b/examples/data/Fruit360/apple/r_174_100.jpg new file mode 100644 index 00000000..a8709086 Binary files /dev/null and b/examples/data/Fruit360/apple/r_174_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_175_100.jpg b/examples/data/Fruit360/apple/r_175_100.jpg new file mode 100644 index 00000000..d5eceee6 Binary files /dev/null and b/examples/data/Fruit360/apple/r_175_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_176_100.jpg b/examples/data/Fruit360/apple/r_176_100.jpg new file mode 100644 index 00000000..b81a06e6 Binary files /dev/null and b/examples/data/Fruit360/apple/r_176_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_177_100.jpg b/examples/data/Fruit360/apple/r_177_100.jpg new file mode 100644 index 00000000..93e00abb Binary files /dev/null and b/examples/data/Fruit360/apple/r_177_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_178_100.jpg b/examples/data/Fruit360/apple/r_178_100.jpg new file mode 100644 index 00000000..e78097c2 Binary files /dev/null and b/examples/data/Fruit360/apple/r_178_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_179_100.jpg b/examples/data/Fruit360/apple/r_179_100.jpg new file mode 100644 index 00000000..41d49755 Binary files /dev/null and b/examples/data/Fruit360/apple/r_179_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_17_100.jpg b/examples/data/Fruit360/apple/r_17_100.jpg new file mode 100644 index 00000000..3866adfa Binary files /dev/null and b/examples/data/Fruit360/apple/r_17_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_180_100.jpg b/examples/data/Fruit360/apple/r_180_100.jpg new file mode 100644 index 00000000..b37b2c66 Binary files /dev/null and b/examples/data/Fruit360/apple/r_180_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_181_100.jpg b/examples/data/Fruit360/apple/r_181_100.jpg new file mode 100644 index 00000000..9bacb9eb Binary files /dev/null and b/examples/data/Fruit360/apple/r_181_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_182_100.jpg b/examples/data/Fruit360/apple/r_182_100.jpg new file mode 100644 index 00000000..59cc5eb1 Binary files /dev/null and b/examples/data/Fruit360/apple/r_182_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_183_100.jpg b/examples/data/Fruit360/apple/r_183_100.jpg new file mode 100644 index 00000000..1181717a Binary files /dev/null and b/examples/data/Fruit360/apple/r_183_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_184_100.jpg b/examples/data/Fruit360/apple/r_184_100.jpg new file mode 100644 index 00000000..2bdcd20e Binary files /dev/null and b/examples/data/Fruit360/apple/r_184_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_185_100.jpg b/examples/data/Fruit360/apple/r_185_100.jpg new file mode 100644 index 00000000..41e33aa4 Binary files /dev/null and b/examples/data/Fruit360/apple/r_185_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_186_100.jpg b/examples/data/Fruit360/apple/r_186_100.jpg new file mode 100644 index 00000000..9be282fb Binary files /dev/null and b/examples/data/Fruit360/apple/r_186_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_187_100.jpg b/examples/data/Fruit360/apple/r_187_100.jpg new file mode 100644 index 00000000..c6498500 Binary files /dev/null and b/examples/data/Fruit360/apple/r_187_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_188_100.jpg b/examples/data/Fruit360/apple/r_188_100.jpg new file mode 100644 index 00000000..ddeb7c31 Binary files /dev/null and b/examples/data/Fruit360/apple/r_188_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_189_100.jpg b/examples/data/Fruit360/apple/r_189_100.jpg new file mode 100644 index 00000000..2e8bafa4 Binary files /dev/null and b/examples/data/Fruit360/apple/r_189_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_18_100.jpg b/examples/data/Fruit360/apple/r_18_100.jpg new file mode 100644 index 00000000..daa85e29 Binary files /dev/null and b/examples/data/Fruit360/apple/r_18_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_190_100.jpg b/examples/data/Fruit360/apple/r_190_100.jpg new file mode 100644 index 00000000..f239e0f3 Binary files /dev/null and b/examples/data/Fruit360/apple/r_190_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_191_100.jpg b/examples/data/Fruit360/apple/r_191_100.jpg new file mode 100644 index 00000000..e79122a5 Binary files /dev/null and b/examples/data/Fruit360/apple/r_191_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_192_100.jpg b/examples/data/Fruit360/apple/r_192_100.jpg new file mode 100644 index 00000000..15903d63 Binary files /dev/null and b/examples/data/Fruit360/apple/r_192_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_193_100.jpg b/examples/data/Fruit360/apple/r_193_100.jpg new file mode 100644 index 00000000..b5cf324d Binary files /dev/null and b/examples/data/Fruit360/apple/r_193_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_194_100.jpg b/examples/data/Fruit360/apple/r_194_100.jpg new file mode 100644 index 00000000..d1fdd7d6 Binary files /dev/null and b/examples/data/Fruit360/apple/r_194_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_195_100.jpg b/examples/data/Fruit360/apple/r_195_100.jpg new file mode 100644 index 00000000..ebd59fef Binary files /dev/null and b/examples/data/Fruit360/apple/r_195_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_196_100.jpg b/examples/data/Fruit360/apple/r_196_100.jpg new file mode 100644 index 00000000..b99334f8 Binary files /dev/null and b/examples/data/Fruit360/apple/r_196_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_197_100.jpg b/examples/data/Fruit360/apple/r_197_100.jpg new file mode 100644 index 00000000..cf180d34 Binary files /dev/null and b/examples/data/Fruit360/apple/r_197_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_198_100.jpg b/examples/data/Fruit360/apple/r_198_100.jpg new file mode 100644 index 00000000..44ec5f0e Binary files /dev/null and b/examples/data/Fruit360/apple/r_198_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_199_100.jpg b/examples/data/Fruit360/apple/r_199_100.jpg new file mode 100644 index 00000000..511d620d Binary files /dev/null and b/examples/data/Fruit360/apple/r_199_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_19_100.jpg b/examples/data/Fruit360/apple/r_19_100.jpg new file mode 100644 index 00000000..a4f82030 Binary files /dev/null and b/examples/data/Fruit360/apple/r_19_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_1_100.jpg b/examples/data/Fruit360/apple/r_1_100.jpg new file mode 100644 index 00000000..5f360423 Binary files /dev/null and b/examples/data/Fruit360/apple/r_1_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_200_100.jpg b/examples/data/Fruit360/apple/r_200_100.jpg new file mode 100644 index 00000000..69405929 Binary files /dev/null and b/examples/data/Fruit360/apple/r_200_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_201_100.jpg b/examples/data/Fruit360/apple/r_201_100.jpg new file mode 100644 index 00000000..a49e6e7b Binary files /dev/null and b/examples/data/Fruit360/apple/r_201_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_202_100.jpg b/examples/data/Fruit360/apple/r_202_100.jpg new file mode 100644 index 00000000..9ae3314d Binary files /dev/null and b/examples/data/Fruit360/apple/r_202_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_203_100.jpg b/examples/data/Fruit360/apple/r_203_100.jpg new file mode 100644 index 00000000..d824d135 Binary files /dev/null and b/examples/data/Fruit360/apple/r_203_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_204_100.jpg b/examples/data/Fruit360/apple/r_204_100.jpg new file mode 100644 index 00000000..90aa1110 Binary files /dev/null and b/examples/data/Fruit360/apple/r_204_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_205_100.jpg b/examples/data/Fruit360/apple/r_205_100.jpg new file mode 100644 index 00000000..f7d24f9d Binary files /dev/null and b/examples/data/Fruit360/apple/r_205_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_206_100.jpg b/examples/data/Fruit360/apple/r_206_100.jpg new file mode 100644 index 00000000..0e5924aa Binary files /dev/null and b/examples/data/Fruit360/apple/r_206_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_207_100.jpg b/examples/data/Fruit360/apple/r_207_100.jpg new file mode 100644 index 00000000..8e833236 Binary files /dev/null and b/examples/data/Fruit360/apple/r_207_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_208_100.jpg b/examples/data/Fruit360/apple/r_208_100.jpg new file mode 100644 index 00000000..2ced1ec1 Binary files /dev/null and b/examples/data/Fruit360/apple/r_208_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_209_100.jpg b/examples/data/Fruit360/apple/r_209_100.jpg new file mode 100644 index 00000000..488900d6 Binary files /dev/null and b/examples/data/Fruit360/apple/r_209_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_20_100.jpg b/examples/data/Fruit360/apple/r_20_100.jpg new file mode 100644 index 00000000..18ea7abf Binary files /dev/null and b/examples/data/Fruit360/apple/r_20_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_210_100.jpg b/examples/data/Fruit360/apple/r_210_100.jpg new file mode 100644 index 00000000..70db7061 Binary files /dev/null and b/examples/data/Fruit360/apple/r_210_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_211_100.jpg b/examples/data/Fruit360/apple/r_211_100.jpg new file mode 100644 index 00000000..eb10dfb0 Binary files /dev/null and b/examples/data/Fruit360/apple/r_211_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_212_100.jpg b/examples/data/Fruit360/apple/r_212_100.jpg new file mode 100644 index 00000000..1cc131ac Binary files /dev/null and b/examples/data/Fruit360/apple/r_212_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_213_100.jpg b/examples/data/Fruit360/apple/r_213_100.jpg new file mode 100644 index 00000000..e99da110 Binary files /dev/null and b/examples/data/Fruit360/apple/r_213_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_214_100.jpg b/examples/data/Fruit360/apple/r_214_100.jpg new file mode 100644 index 00000000..91e345cd Binary files /dev/null and b/examples/data/Fruit360/apple/r_214_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_215_100.jpg b/examples/data/Fruit360/apple/r_215_100.jpg new file mode 100644 index 00000000..fe010700 Binary files /dev/null and b/examples/data/Fruit360/apple/r_215_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_216_100.jpg b/examples/data/Fruit360/apple/r_216_100.jpg new file mode 100644 index 00000000..60ba9c70 Binary files /dev/null and b/examples/data/Fruit360/apple/r_216_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_217_100.jpg b/examples/data/Fruit360/apple/r_217_100.jpg new file mode 100644 index 00000000..b5a0cd6e Binary files /dev/null and b/examples/data/Fruit360/apple/r_217_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_218_100.jpg b/examples/data/Fruit360/apple/r_218_100.jpg new file mode 100644 index 00000000..3c009c60 Binary files /dev/null and b/examples/data/Fruit360/apple/r_218_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_219_100.jpg b/examples/data/Fruit360/apple/r_219_100.jpg new file mode 100644 index 00000000..f97358ff Binary files /dev/null and b/examples/data/Fruit360/apple/r_219_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_21_100.jpg b/examples/data/Fruit360/apple/r_21_100.jpg new file mode 100644 index 00000000..63178730 Binary files /dev/null and b/examples/data/Fruit360/apple/r_21_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_220_100.jpg b/examples/data/Fruit360/apple/r_220_100.jpg new file mode 100644 index 00000000..05feac92 Binary files /dev/null and b/examples/data/Fruit360/apple/r_220_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_221_100.jpg b/examples/data/Fruit360/apple/r_221_100.jpg new file mode 100644 index 00000000..022e2e38 Binary files /dev/null and b/examples/data/Fruit360/apple/r_221_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_222_100.jpg b/examples/data/Fruit360/apple/r_222_100.jpg new file mode 100644 index 00000000..bc964559 Binary files /dev/null and b/examples/data/Fruit360/apple/r_222_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_223_100.jpg b/examples/data/Fruit360/apple/r_223_100.jpg new file mode 100644 index 00000000..b7db92ec Binary files /dev/null and b/examples/data/Fruit360/apple/r_223_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_224_100.jpg b/examples/data/Fruit360/apple/r_224_100.jpg new file mode 100644 index 00000000..a12a14b9 Binary files /dev/null and b/examples/data/Fruit360/apple/r_224_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_225_100.jpg b/examples/data/Fruit360/apple/r_225_100.jpg new file mode 100644 index 00000000..e51c7350 Binary files /dev/null and b/examples/data/Fruit360/apple/r_225_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_226_100.jpg b/examples/data/Fruit360/apple/r_226_100.jpg new file mode 100644 index 00000000..f219a427 Binary files /dev/null and b/examples/data/Fruit360/apple/r_226_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_227_100.jpg b/examples/data/Fruit360/apple/r_227_100.jpg new file mode 100644 index 00000000..0d3cce50 Binary files /dev/null and b/examples/data/Fruit360/apple/r_227_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_228_100.jpg b/examples/data/Fruit360/apple/r_228_100.jpg new file mode 100644 index 00000000..c6ebf365 Binary files /dev/null and b/examples/data/Fruit360/apple/r_228_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_229_100.jpg b/examples/data/Fruit360/apple/r_229_100.jpg new file mode 100644 index 00000000..691adc82 Binary files /dev/null and b/examples/data/Fruit360/apple/r_229_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_22_100.jpg b/examples/data/Fruit360/apple/r_22_100.jpg new file mode 100644 index 00000000..ca91c8e3 Binary files /dev/null and b/examples/data/Fruit360/apple/r_22_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_230_100.jpg b/examples/data/Fruit360/apple/r_230_100.jpg new file mode 100644 index 00000000..52596b19 Binary files /dev/null and b/examples/data/Fruit360/apple/r_230_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_231_100.jpg b/examples/data/Fruit360/apple/r_231_100.jpg new file mode 100644 index 00000000..a398fffd Binary files /dev/null and b/examples/data/Fruit360/apple/r_231_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_232_100.jpg b/examples/data/Fruit360/apple/r_232_100.jpg new file mode 100644 index 00000000..899bab8c Binary files /dev/null and b/examples/data/Fruit360/apple/r_232_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_233_100.jpg b/examples/data/Fruit360/apple/r_233_100.jpg new file mode 100644 index 00000000..de5f6480 Binary files /dev/null and b/examples/data/Fruit360/apple/r_233_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_234_100.jpg b/examples/data/Fruit360/apple/r_234_100.jpg new file mode 100644 index 00000000..58f29729 Binary files /dev/null and b/examples/data/Fruit360/apple/r_234_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_235_100.jpg b/examples/data/Fruit360/apple/r_235_100.jpg new file mode 100644 index 00000000..3926d3a0 Binary files /dev/null and b/examples/data/Fruit360/apple/r_235_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_236_100.jpg b/examples/data/Fruit360/apple/r_236_100.jpg new file mode 100644 index 00000000..8a2d1416 Binary files /dev/null and b/examples/data/Fruit360/apple/r_236_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_237_100.jpg b/examples/data/Fruit360/apple/r_237_100.jpg new file mode 100644 index 00000000..60dbfa6b Binary files /dev/null and b/examples/data/Fruit360/apple/r_237_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_238_100.jpg b/examples/data/Fruit360/apple/r_238_100.jpg new file mode 100644 index 00000000..3552e7bc Binary files /dev/null and b/examples/data/Fruit360/apple/r_238_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_239_100.jpg b/examples/data/Fruit360/apple/r_239_100.jpg new file mode 100644 index 00000000..7efa51cb Binary files /dev/null and b/examples/data/Fruit360/apple/r_239_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_23_100.jpg b/examples/data/Fruit360/apple/r_23_100.jpg new file mode 100644 index 00000000..bc335676 Binary files /dev/null and b/examples/data/Fruit360/apple/r_23_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_240_100.jpg b/examples/data/Fruit360/apple/r_240_100.jpg new file mode 100644 index 00000000..151e0ef2 Binary files /dev/null and b/examples/data/Fruit360/apple/r_240_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_241_100.jpg b/examples/data/Fruit360/apple/r_241_100.jpg new file mode 100644 index 00000000..eb930e77 Binary files /dev/null and b/examples/data/Fruit360/apple/r_241_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_242_100.jpg b/examples/data/Fruit360/apple/r_242_100.jpg new file mode 100644 index 00000000..cf1adcaf Binary files /dev/null and b/examples/data/Fruit360/apple/r_242_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_243_100.jpg b/examples/data/Fruit360/apple/r_243_100.jpg new file mode 100644 index 00000000..d91ee4e3 Binary files /dev/null and b/examples/data/Fruit360/apple/r_243_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_244_100.jpg b/examples/data/Fruit360/apple/r_244_100.jpg new file mode 100644 index 00000000..12fa9a1f Binary files /dev/null and b/examples/data/Fruit360/apple/r_244_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_245_100.jpg b/examples/data/Fruit360/apple/r_245_100.jpg new file mode 100644 index 00000000..d55d05a5 Binary files /dev/null and b/examples/data/Fruit360/apple/r_245_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_246_100.jpg b/examples/data/Fruit360/apple/r_246_100.jpg new file mode 100644 index 00000000..86eb4c55 Binary files /dev/null and b/examples/data/Fruit360/apple/r_246_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_247_100.jpg b/examples/data/Fruit360/apple/r_247_100.jpg new file mode 100644 index 00000000..9caef1ed Binary files /dev/null and b/examples/data/Fruit360/apple/r_247_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_248_100.jpg b/examples/data/Fruit360/apple/r_248_100.jpg new file mode 100644 index 00000000..dbf4ca23 Binary files /dev/null and b/examples/data/Fruit360/apple/r_248_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_249_100.jpg b/examples/data/Fruit360/apple/r_249_100.jpg new file mode 100644 index 00000000..2b0bc284 Binary files /dev/null and b/examples/data/Fruit360/apple/r_249_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_24_100.jpg b/examples/data/Fruit360/apple/r_24_100.jpg new file mode 100644 index 00000000..993f32d8 Binary files /dev/null and b/examples/data/Fruit360/apple/r_24_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_250_100.jpg b/examples/data/Fruit360/apple/r_250_100.jpg new file mode 100644 index 00000000..d6e01527 Binary files /dev/null and b/examples/data/Fruit360/apple/r_250_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_251_100.jpg b/examples/data/Fruit360/apple/r_251_100.jpg new file mode 100644 index 00000000..8786eb3a Binary files /dev/null and b/examples/data/Fruit360/apple/r_251_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_252_100.jpg b/examples/data/Fruit360/apple/r_252_100.jpg new file mode 100644 index 00000000..09043c16 Binary files /dev/null and b/examples/data/Fruit360/apple/r_252_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_253_100.jpg b/examples/data/Fruit360/apple/r_253_100.jpg new file mode 100644 index 00000000..e76186a4 Binary files /dev/null and b/examples/data/Fruit360/apple/r_253_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_254_100.jpg b/examples/data/Fruit360/apple/r_254_100.jpg new file mode 100644 index 00000000..7815bb84 Binary files /dev/null and b/examples/data/Fruit360/apple/r_254_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_255_100.jpg b/examples/data/Fruit360/apple/r_255_100.jpg new file mode 100644 index 00000000..b9e4b77c Binary files /dev/null and b/examples/data/Fruit360/apple/r_255_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_256_100.jpg b/examples/data/Fruit360/apple/r_256_100.jpg new file mode 100644 index 00000000..287c53c3 Binary files /dev/null and b/examples/data/Fruit360/apple/r_256_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_257_100.jpg b/examples/data/Fruit360/apple/r_257_100.jpg new file mode 100644 index 00000000..e630f1e8 Binary files /dev/null and b/examples/data/Fruit360/apple/r_257_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_258_100.jpg b/examples/data/Fruit360/apple/r_258_100.jpg new file mode 100644 index 00000000..7ea184a4 Binary files /dev/null and b/examples/data/Fruit360/apple/r_258_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_259_100.jpg b/examples/data/Fruit360/apple/r_259_100.jpg new file mode 100644 index 00000000..6bd1e29b Binary files /dev/null and b/examples/data/Fruit360/apple/r_259_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_25_100.jpg b/examples/data/Fruit360/apple/r_25_100.jpg new file mode 100644 index 00000000..494129a4 Binary files /dev/null and b/examples/data/Fruit360/apple/r_25_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_260_100.jpg b/examples/data/Fruit360/apple/r_260_100.jpg new file mode 100644 index 00000000..97487390 Binary files /dev/null and b/examples/data/Fruit360/apple/r_260_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_261_100.jpg b/examples/data/Fruit360/apple/r_261_100.jpg new file mode 100644 index 00000000..8a65d4e9 Binary files /dev/null and b/examples/data/Fruit360/apple/r_261_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_262_100.jpg b/examples/data/Fruit360/apple/r_262_100.jpg new file mode 100644 index 00000000..9426f045 Binary files /dev/null and b/examples/data/Fruit360/apple/r_262_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_263_100.jpg b/examples/data/Fruit360/apple/r_263_100.jpg new file mode 100644 index 00000000..6d1013fc Binary files /dev/null and b/examples/data/Fruit360/apple/r_263_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_264_100.jpg b/examples/data/Fruit360/apple/r_264_100.jpg new file mode 100644 index 00000000..76d5f1dc Binary files /dev/null and b/examples/data/Fruit360/apple/r_264_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_265_100.jpg b/examples/data/Fruit360/apple/r_265_100.jpg new file mode 100644 index 00000000..953c247d Binary files /dev/null and b/examples/data/Fruit360/apple/r_265_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_266_100.jpg b/examples/data/Fruit360/apple/r_266_100.jpg new file mode 100644 index 00000000..efa03699 Binary files /dev/null and b/examples/data/Fruit360/apple/r_266_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_267_100.jpg b/examples/data/Fruit360/apple/r_267_100.jpg new file mode 100644 index 00000000..3b5ea4fe Binary files /dev/null and b/examples/data/Fruit360/apple/r_267_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_268_100.jpg b/examples/data/Fruit360/apple/r_268_100.jpg new file mode 100644 index 00000000..12813d58 Binary files /dev/null and b/examples/data/Fruit360/apple/r_268_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_269_100.jpg b/examples/data/Fruit360/apple/r_269_100.jpg new file mode 100644 index 00000000..72dfbbc8 Binary files /dev/null and b/examples/data/Fruit360/apple/r_269_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_26_100.jpg b/examples/data/Fruit360/apple/r_26_100.jpg new file mode 100644 index 00000000..d0a381eb Binary files /dev/null and b/examples/data/Fruit360/apple/r_26_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_270_100.jpg b/examples/data/Fruit360/apple/r_270_100.jpg new file mode 100644 index 00000000..07e8a804 Binary files /dev/null and b/examples/data/Fruit360/apple/r_270_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_271_100.jpg b/examples/data/Fruit360/apple/r_271_100.jpg new file mode 100644 index 00000000..a6b6bf65 Binary files /dev/null and b/examples/data/Fruit360/apple/r_271_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_272_100.jpg b/examples/data/Fruit360/apple/r_272_100.jpg new file mode 100644 index 00000000..6241940d Binary files /dev/null and b/examples/data/Fruit360/apple/r_272_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_273_100.jpg b/examples/data/Fruit360/apple/r_273_100.jpg new file mode 100644 index 00000000..df8fbb66 Binary files /dev/null and b/examples/data/Fruit360/apple/r_273_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_274_100.jpg b/examples/data/Fruit360/apple/r_274_100.jpg new file mode 100644 index 00000000..e085af8a Binary files /dev/null and b/examples/data/Fruit360/apple/r_274_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_275_100.jpg b/examples/data/Fruit360/apple/r_275_100.jpg new file mode 100644 index 00000000..b85de3ac Binary files /dev/null and b/examples/data/Fruit360/apple/r_275_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_276_100.jpg b/examples/data/Fruit360/apple/r_276_100.jpg new file mode 100644 index 00000000..c6fe6cee Binary files /dev/null and b/examples/data/Fruit360/apple/r_276_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_277_100.jpg b/examples/data/Fruit360/apple/r_277_100.jpg new file mode 100644 index 00000000..5c2b5b67 Binary files /dev/null and b/examples/data/Fruit360/apple/r_277_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_278_100.jpg b/examples/data/Fruit360/apple/r_278_100.jpg new file mode 100644 index 00000000..b9a22a45 Binary files /dev/null and b/examples/data/Fruit360/apple/r_278_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_279_100.jpg b/examples/data/Fruit360/apple/r_279_100.jpg new file mode 100644 index 00000000..280e781d Binary files /dev/null and b/examples/data/Fruit360/apple/r_279_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_27_100.jpg b/examples/data/Fruit360/apple/r_27_100.jpg new file mode 100644 index 00000000..35bd1365 Binary files /dev/null and b/examples/data/Fruit360/apple/r_27_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_280_100.jpg b/examples/data/Fruit360/apple/r_280_100.jpg new file mode 100644 index 00000000..11145e9c Binary files /dev/null and b/examples/data/Fruit360/apple/r_280_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_281_100.jpg b/examples/data/Fruit360/apple/r_281_100.jpg new file mode 100644 index 00000000..11eb3ed4 Binary files /dev/null and b/examples/data/Fruit360/apple/r_281_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_282_100.jpg b/examples/data/Fruit360/apple/r_282_100.jpg new file mode 100644 index 00000000..a2efad90 Binary files /dev/null and b/examples/data/Fruit360/apple/r_282_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_283_100.jpg b/examples/data/Fruit360/apple/r_283_100.jpg new file mode 100644 index 00000000..50148581 Binary files /dev/null and b/examples/data/Fruit360/apple/r_283_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_284_100.jpg b/examples/data/Fruit360/apple/r_284_100.jpg new file mode 100644 index 00000000..e8f23100 Binary files /dev/null and b/examples/data/Fruit360/apple/r_284_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_285_100.jpg b/examples/data/Fruit360/apple/r_285_100.jpg new file mode 100644 index 00000000..f43ae476 Binary files /dev/null and b/examples/data/Fruit360/apple/r_285_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_286_100.jpg b/examples/data/Fruit360/apple/r_286_100.jpg new file mode 100644 index 00000000..44d40432 Binary files /dev/null and b/examples/data/Fruit360/apple/r_286_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_287_100.jpg b/examples/data/Fruit360/apple/r_287_100.jpg new file mode 100644 index 00000000..df818916 Binary files /dev/null and b/examples/data/Fruit360/apple/r_287_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_288_100.jpg b/examples/data/Fruit360/apple/r_288_100.jpg new file mode 100644 index 00000000..bb3c05f6 Binary files /dev/null and b/examples/data/Fruit360/apple/r_288_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_289_100.jpg b/examples/data/Fruit360/apple/r_289_100.jpg new file mode 100644 index 00000000..76d12049 Binary files /dev/null and b/examples/data/Fruit360/apple/r_289_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_28_100.jpg b/examples/data/Fruit360/apple/r_28_100.jpg new file mode 100644 index 00000000..77b4efb7 Binary files /dev/null and b/examples/data/Fruit360/apple/r_28_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_290_100.jpg b/examples/data/Fruit360/apple/r_290_100.jpg new file mode 100644 index 00000000..16c6df03 Binary files /dev/null and b/examples/data/Fruit360/apple/r_290_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_291_100.jpg b/examples/data/Fruit360/apple/r_291_100.jpg new file mode 100644 index 00000000..b16baef4 Binary files /dev/null and b/examples/data/Fruit360/apple/r_291_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_292_100.jpg b/examples/data/Fruit360/apple/r_292_100.jpg new file mode 100644 index 00000000..e45007fe Binary files /dev/null and b/examples/data/Fruit360/apple/r_292_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_293_100.jpg b/examples/data/Fruit360/apple/r_293_100.jpg new file mode 100644 index 00000000..90d708b4 Binary files /dev/null and b/examples/data/Fruit360/apple/r_293_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_294_100.jpg b/examples/data/Fruit360/apple/r_294_100.jpg new file mode 100644 index 00000000..4e549119 Binary files /dev/null and b/examples/data/Fruit360/apple/r_294_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_295_100.jpg b/examples/data/Fruit360/apple/r_295_100.jpg new file mode 100644 index 00000000..4f975b87 Binary files /dev/null and b/examples/data/Fruit360/apple/r_295_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_296_100.jpg b/examples/data/Fruit360/apple/r_296_100.jpg new file mode 100644 index 00000000..043c481c Binary files /dev/null and b/examples/data/Fruit360/apple/r_296_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_297_100.jpg b/examples/data/Fruit360/apple/r_297_100.jpg new file mode 100644 index 00000000..ff1269a3 Binary files /dev/null and b/examples/data/Fruit360/apple/r_297_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_298_100.jpg b/examples/data/Fruit360/apple/r_298_100.jpg new file mode 100644 index 00000000..54b168e5 Binary files /dev/null and b/examples/data/Fruit360/apple/r_298_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_299_100.jpg b/examples/data/Fruit360/apple/r_299_100.jpg new file mode 100644 index 00000000..b5f16e23 Binary files /dev/null and b/examples/data/Fruit360/apple/r_299_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_29_100.jpg b/examples/data/Fruit360/apple/r_29_100.jpg new file mode 100644 index 00000000..3bd591ea Binary files /dev/null and b/examples/data/Fruit360/apple/r_29_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_2_100.jpg b/examples/data/Fruit360/apple/r_2_100.jpg new file mode 100644 index 00000000..3ec7d289 Binary files /dev/null and b/examples/data/Fruit360/apple/r_2_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_300_100.jpg b/examples/data/Fruit360/apple/r_300_100.jpg new file mode 100644 index 00000000..f1126a95 Binary files /dev/null and b/examples/data/Fruit360/apple/r_300_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_301_100.jpg b/examples/data/Fruit360/apple/r_301_100.jpg new file mode 100644 index 00000000..c0244c97 Binary files /dev/null and b/examples/data/Fruit360/apple/r_301_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_302_100.jpg b/examples/data/Fruit360/apple/r_302_100.jpg new file mode 100644 index 00000000..c1a9c4e6 Binary files /dev/null and b/examples/data/Fruit360/apple/r_302_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_303_100.jpg b/examples/data/Fruit360/apple/r_303_100.jpg new file mode 100644 index 00000000..f1055adb Binary files /dev/null and b/examples/data/Fruit360/apple/r_303_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_304_100.jpg b/examples/data/Fruit360/apple/r_304_100.jpg new file mode 100644 index 00000000..81f900c8 Binary files /dev/null and b/examples/data/Fruit360/apple/r_304_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_305_100.jpg b/examples/data/Fruit360/apple/r_305_100.jpg new file mode 100644 index 00000000..5c67ccb4 Binary files /dev/null and b/examples/data/Fruit360/apple/r_305_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_306_100.jpg b/examples/data/Fruit360/apple/r_306_100.jpg new file mode 100644 index 00000000..95c8daf2 Binary files /dev/null and b/examples/data/Fruit360/apple/r_306_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_307_100.jpg b/examples/data/Fruit360/apple/r_307_100.jpg new file mode 100644 index 00000000..79e45f92 Binary files /dev/null and b/examples/data/Fruit360/apple/r_307_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_308_100.jpg b/examples/data/Fruit360/apple/r_308_100.jpg new file mode 100644 index 00000000..a3058da8 Binary files /dev/null and b/examples/data/Fruit360/apple/r_308_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_309_100.jpg b/examples/data/Fruit360/apple/r_309_100.jpg new file mode 100644 index 00000000..e99e213f Binary files /dev/null and b/examples/data/Fruit360/apple/r_309_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_30_100.jpg b/examples/data/Fruit360/apple/r_30_100.jpg new file mode 100644 index 00000000..bb3f6281 Binary files /dev/null and b/examples/data/Fruit360/apple/r_30_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_310_100.jpg b/examples/data/Fruit360/apple/r_310_100.jpg new file mode 100644 index 00000000..287a4cbb Binary files /dev/null and b/examples/data/Fruit360/apple/r_310_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_311_100.jpg b/examples/data/Fruit360/apple/r_311_100.jpg new file mode 100644 index 00000000..5bf8c6a5 Binary files /dev/null and b/examples/data/Fruit360/apple/r_311_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_312_100.jpg b/examples/data/Fruit360/apple/r_312_100.jpg new file mode 100644 index 00000000..1b18510a Binary files /dev/null and b/examples/data/Fruit360/apple/r_312_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_313_100.jpg b/examples/data/Fruit360/apple/r_313_100.jpg new file mode 100644 index 00000000..495329fc Binary files /dev/null and b/examples/data/Fruit360/apple/r_313_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_314_100.jpg b/examples/data/Fruit360/apple/r_314_100.jpg new file mode 100644 index 00000000..f88ffb26 Binary files /dev/null and b/examples/data/Fruit360/apple/r_314_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_315_100.jpg b/examples/data/Fruit360/apple/r_315_100.jpg new file mode 100644 index 00000000..3a61aedf Binary files /dev/null and b/examples/data/Fruit360/apple/r_315_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_316_100.jpg b/examples/data/Fruit360/apple/r_316_100.jpg new file mode 100644 index 00000000..de069a88 Binary files /dev/null and b/examples/data/Fruit360/apple/r_316_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_317_100.jpg b/examples/data/Fruit360/apple/r_317_100.jpg new file mode 100644 index 00000000..f368e97e Binary files /dev/null and b/examples/data/Fruit360/apple/r_317_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_318_100.jpg b/examples/data/Fruit360/apple/r_318_100.jpg new file mode 100644 index 00000000..ad89371a Binary files /dev/null and b/examples/data/Fruit360/apple/r_318_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_319_100.jpg b/examples/data/Fruit360/apple/r_319_100.jpg new file mode 100644 index 00000000..5091b5d8 Binary files /dev/null and b/examples/data/Fruit360/apple/r_319_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_31_100.jpg b/examples/data/Fruit360/apple/r_31_100.jpg new file mode 100644 index 00000000..268bbc10 Binary files /dev/null and b/examples/data/Fruit360/apple/r_31_100.jpg differ diff --git a/examples/data/Fruit360/apple/r_320_100.jpg b/examples/data/Fruit360/apple/r_320_100.jpg new file mode 100644 index 00000000..d33d52aa Binary files /dev/null and b/examples/data/Fruit360/apple/r_320_100.jpg differ diff --git a/examples/data/Fruit360/lemon/0_100.jpg b/examples/data/Fruit360/lemon/0_100.jpg new file mode 100644 index 00000000..513d32c7 Binary files /dev/null and b/examples/data/Fruit360/lemon/0_100.jpg differ diff --git a/examples/data/Fruit360/lemon/100_100.jpg b/examples/data/Fruit360/lemon/100_100.jpg new file mode 100644 index 00000000..298ccc45 Binary files /dev/null and b/examples/data/Fruit360/lemon/100_100.jpg differ diff --git a/examples/data/Fruit360/lemon/101_100.jpg b/examples/data/Fruit360/lemon/101_100.jpg new file mode 100644 index 00000000..3d5a8018 Binary files /dev/null and b/examples/data/Fruit360/lemon/101_100.jpg differ diff --git a/examples/data/Fruit360/lemon/102_100.jpg b/examples/data/Fruit360/lemon/102_100.jpg new file mode 100644 index 00000000..02bccfe8 Binary files /dev/null and b/examples/data/Fruit360/lemon/102_100.jpg differ diff --git a/examples/data/Fruit360/lemon/103_100.jpg b/examples/data/Fruit360/lemon/103_100.jpg new file mode 100644 index 00000000..ed841a85 Binary files /dev/null and b/examples/data/Fruit360/lemon/103_100.jpg differ diff --git a/examples/data/Fruit360/lemon/104_100.jpg b/examples/data/Fruit360/lemon/104_100.jpg new file mode 100644 index 00000000..bef1daed Binary files /dev/null and b/examples/data/Fruit360/lemon/104_100.jpg differ diff --git a/examples/data/Fruit360/lemon/105_100.jpg b/examples/data/Fruit360/lemon/105_100.jpg new file mode 100644 index 00000000..38812475 Binary files /dev/null and b/examples/data/Fruit360/lemon/105_100.jpg differ diff --git a/examples/data/Fruit360/lemon/106_100.jpg b/examples/data/Fruit360/lemon/106_100.jpg new file mode 100644 index 00000000..c3101dc1 Binary files /dev/null and b/examples/data/Fruit360/lemon/106_100.jpg differ diff --git a/examples/data/Fruit360/lemon/107_100.jpg b/examples/data/Fruit360/lemon/107_100.jpg new file mode 100644 index 00000000..fc991791 Binary files /dev/null and b/examples/data/Fruit360/lemon/107_100.jpg differ diff --git a/examples/data/Fruit360/lemon/108_100.jpg b/examples/data/Fruit360/lemon/108_100.jpg new file mode 100644 index 00000000..2387a3a5 Binary files /dev/null and b/examples/data/Fruit360/lemon/108_100.jpg differ diff --git a/examples/data/Fruit360/lemon/109_100.jpg b/examples/data/Fruit360/lemon/109_100.jpg new file mode 100644 index 00000000..422a5b16 Binary files /dev/null and b/examples/data/Fruit360/lemon/109_100.jpg differ diff --git a/examples/data/Fruit360/lemon/10_100.jpg b/examples/data/Fruit360/lemon/10_100.jpg new file mode 100644 index 00000000..a4951bdf Binary files /dev/null and b/examples/data/Fruit360/lemon/10_100.jpg differ diff --git a/examples/data/Fruit360/lemon/110_100.jpg b/examples/data/Fruit360/lemon/110_100.jpg new file mode 100644 index 00000000..01509f59 Binary files /dev/null and b/examples/data/Fruit360/lemon/110_100.jpg differ diff --git a/examples/data/Fruit360/lemon/111_100.jpg b/examples/data/Fruit360/lemon/111_100.jpg new file mode 100644 index 00000000..1724908c Binary files /dev/null and b/examples/data/Fruit360/lemon/111_100.jpg differ diff --git a/examples/data/Fruit360/lemon/112_100.jpg b/examples/data/Fruit360/lemon/112_100.jpg new file mode 100644 index 00000000..b6756c37 Binary files /dev/null and b/examples/data/Fruit360/lemon/112_100.jpg differ diff --git a/examples/data/Fruit360/lemon/113_100.jpg b/examples/data/Fruit360/lemon/113_100.jpg new file mode 100644 index 00000000..3d8c4c1d Binary files /dev/null and b/examples/data/Fruit360/lemon/113_100.jpg differ diff --git a/examples/data/Fruit360/lemon/114_100.jpg b/examples/data/Fruit360/lemon/114_100.jpg new file mode 100644 index 00000000..10d084f4 Binary files /dev/null and b/examples/data/Fruit360/lemon/114_100.jpg differ diff --git a/examples/data/Fruit360/lemon/115_100.jpg b/examples/data/Fruit360/lemon/115_100.jpg new file mode 100644 index 00000000..e4b91d91 Binary files /dev/null and b/examples/data/Fruit360/lemon/115_100.jpg differ diff --git a/examples/data/Fruit360/lemon/116_100.jpg b/examples/data/Fruit360/lemon/116_100.jpg new file mode 100644 index 00000000..8fb8118f Binary files /dev/null and b/examples/data/Fruit360/lemon/116_100.jpg differ diff --git a/examples/data/Fruit360/lemon/117_100.jpg b/examples/data/Fruit360/lemon/117_100.jpg new file mode 100644 index 00000000..dff9bfd4 Binary files /dev/null and b/examples/data/Fruit360/lemon/117_100.jpg differ diff --git a/examples/data/Fruit360/lemon/118_100.jpg b/examples/data/Fruit360/lemon/118_100.jpg new file mode 100644 index 00000000..c638fb78 Binary files /dev/null and b/examples/data/Fruit360/lemon/118_100.jpg differ diff --git a/examples/data/Fruit360/lemon/119_100.jpg b/examples/data/Fruit360/lemon/119_100.jpg new file mode 100644 index 00000000..e0b09351 Binary files /dev/null and b/examples/data/Fruit360/lemon/119_100.jpg differ diff --git a/examples/data/Fruit360/lemon/11_100.jpg b/examples/data/Fruit360/lemon/11_100.jpg new file mode 100644 index 00000000..7221eb63 Binary files /dev/null and b/examples/data/Fruit360/lemon/11_100.jpg differ diff --git a/examples/data/Fruit360/lemon/120_100.jpg b/examples/data/Fruit360/lemon/120_100.jpg new file mode 100644 index 00000000..f63bb290 Binary files /dev/null and b/examples/data/Fruit360/lemon/120_100.jpg differ diff --git a/examples/data/Fruit360/lemon/121_100.jpg b/examples/data/Fruit360/lemon/121_100.jpg new file mode 100644 index 00000000..3467b4c2 Binary files /dev/null and b/examples/data/Fruit360/lemon/121_100.jpg differ diff --git a/examples/data/Fruit360/lemon/122_100.jpg b/examples/data/Fruit360/lemon/122_100.jpg new file mode 100644 index 00000000..305b0590 Binary files /dev/null and b/examples/data/Fruit360/lemon/122_100.jpg differ diff --git a/examples/data/Fruit360/lemon/123_100.jpg b/examples/data/Fruit360/lemon/123_100.jpg new file mode 100644 index 00000000..3162d6ac Binary files /dev/null and b/examples/data/Fruit360/lemon/123_100.jpg differ diff --git a/examples/data/Fruit360/lemon/124_100.jpg b/examples/data/Fruit360/lemon/124_100.jpg new file mode 100644 index 00000000..2cabd4d4 Binary files /dev/null and b/examples/data/Fruit360/lemon/124_100.jpg differ diff --git a/examples/data/Fruit360/lemon/125_100.jpg b/examples/data/Fruit360/lemon/125_100.jpg new file mode 100644 index 00000000..ffcd1bb0 Binary files /dev/null and b/examples/data/Fruit360/lemon/125_100.jpg differ diff --git a/examples/data/Fruit360/lemon/126_100.jpg b/examples/data/Fruit360/lemon/126_100.jpg new file mode 100644 index 00000000..538e56be Binary files /dev/null and b/examples/data/Fruit360/lemon/126_100.jpg differ diff --git a/examples/data/Fruit360/lemon/127_100.jpg b/examples/data/Fruit360/lemon/127_100.jpg new file mode 100644 index 00000000..e4c84de1 Binary files /dev/null and b/examples/data/Fruit360/lemon/127_100.jpg differ diff --git a/examples/data/Fruit360/lemon/128_100.jpg b/examples/data/Fruit360/lemon/128_100.jpg new file mode 100644 index 00000000..209796bb Binary files /dev/null and b/examples/data/Fruit360/lemon/128_100.jpg differ diff --git a/examples/data/Fruit360/lemon/129_100.jpg b/examples/data/Fruit360/lemon/129_100.jpg new file mode 100644 index 00000000..21f08612 Binary files /dev/null and b/examples/data/Fruit360/lemon/129_100.jpg differ diff --git a/examples/data/Fruit360/lemon/12_100.jpg b/examples/data/Fruit360/lemon/12_100.jpg new file mode 100644 index 00000000..691abf3b Binary files /dev/null and b/examples/data/Fruit360/lemon/12_100.jpg differ diff --git a/examples/data/Fruit360/lemon/130_100.jpg b/examples/data/Fruit360/lemon/130_100.jpg new file mode 100644 index 00000000..4240a594 Binary files /dev/null and b/examples/data/Fruit360/lemon/130_100.jpg differ diff --git a/examples/data/Fruit360/lemon/131_100.jpg b/examples/data/Fruit360/lemon/131_100.jpg new file mode 100644 index 00000000..d586ea34 Binary files /dev/null and b/examples/data/Fruit360/lemon/131_100.jpg differ diff --git a/examples/data/Fruit360/lemon/132_100.jpg b/examples/data/Fruit360/lemon/132_100.jpg new file mode 100644 index 00000000..0e04e2c7 Binary files /dev/null and b/examples/data/Fruit360/lemon/132_100.jpg differ diff --git a/examples/data/Fruit360/lemon/133_100.jpg b/examples/data/Fruit360/lemon/133_100.jpg new file mode 100644 index 00000000..fa4a6f7b Binary files /dev/null and b/examples/data/Fruit360/lemon/133_100.jpg differ diff --git a/examples/data/Fruit360/lemon/134_100.jpg b/examples/data/Fruit360/lemon/134_100.jpg new file mode 100644 index 00000000..1eabadf2 Binary files /dev/null and b/examples/data/Fruit360/lemon/134_100.jpg differ diff --git a/examples/data/Fruit360/lemon/135_100.jpg b/examples/data/Fruit360/lemon/135_100.jpg new file mode 100644 index 00000000..fa008721 Binary files /dev/null and b/examples/data/Fruit360/lemon/135_100.jpg differ diff --git a/examples/data/Fruit360/lemon/136_100.jpg b/examples/data/Fruit360/lemon/136_100.jpg new file mode 100644 index 00000000..8a9022ba Binary files /dev/null and b/examples/data/Fruit360/lemon/136_100.jpg differ diff --git a/examples/data/Fruit360/lemon/137_100.jpg b/examples/data/Fruit360/lemon/137_100.jpg new file mode 100644 index 00000000..2544d947 Binary files /dev/null and b/examples/data/Fruit360/lemon/137_100.jpg differ diff --git a/examples/data/Fruit360/lemon/138_100.jpg b/examples/data/Fruit360/lemon/138_100.jpg new file mode 100644 index 00000000..2195d957 Binary files /dev/null and b/examples/data/Fruit360/lemon/138_100.jpg differ diff --git a/examples/data/Fruit360/lemon/139_100.jpg b/examples/data/Fruit360/lemon/139_100.jpg new file mode 100644 index 00000000..22755d12 Binary files /dev/null and b/examples/data/Fruit360/lemon/139_100.jpg differ diff --git a/examples/data/Fruit360/lemon/13_100.jpg b/examples/data/Fruit360/lemon/13_100.jpg new file mode 100644 index 00000000..588d3705 Binary files /dev/null and b/examples/data/Fruit360/lemon/13_100.jpg differ diff --git a/examples/data/Fruit360/lemon/140_100.jpg b/examples/data/Fruit360/lemon/140_100.jpg new file mode 100644 index 00000000..c7b5df03 Binary files /dev/null and b/examples/data/Fruit360/lemon/140_100.jpg differ diff --git a/examples/data/Fruit360/lemon/141_100.jpg b/examples/data/Fruit360/lemon/141_100.jpg new file mode 100644 index 00000000..26587e66 Binary files /dev/null and b/examples/data/Fruit360/lemon/141_100.jpg differ diff --git a/examples/data/Fruit360/lemon/142_100.jpg b/examples/data/Fruit360/lemon/142_100.jpg new file mode 100644 index 00000000..f6dc1cbd Binary files /dev/null and b/examples/data/Fruit360/lemon/142_100.jpg differ diff --git a/examples/data/Fruit360/lemon/143_100.jpg b/examples/data/Fruit360/lemon/143_100.jpg new file mode 100644 index 00000000..04bc6b92 Binary files /dev/null and b/examples/data/Fruit360/lemon/143_100.jpg differ diff --git a/examples/data/Fruit360/lemon/144_100.jpg b/examples/data/Fruit360/lemon/144_100.jpg new file mode 100644 index 00000000..44870d77 Binary files /dev/null and b/examples/data/Fruit360/lemon/144_100.jpg differ diff --git a/examples/data/Fruit360/lemon/145_100.jpg b/examples/data/Fruit360/lemon/145_100.jpg new file mode 100644 index 00000000..45d8ad71 Binary files /dev/null and b/examples/data/Fruit360/lemon/145_100.jpg differ diff --git a/examples/data/Fruit360/lemon/146_100.jpg b/examples/data/Fruit360/lemon/146_100.jpg new file mode 100644 index 00000000..5df2900d Binary files /dev/null and b/examples/data/Fruit360/lemon/146_100.jpg differ diff --git a/examples/data/Fruit360/lemon/14_100.jpg b/examples/data/Fruit360/lemon/14_100.jpg new file mode 100644 index 00000000..af818406 Binary files /dev/null and b/examples/data/Fruit360/lemon/14_100.jpg differ diff --git a/examples/data/Fruit360/lemon/15_100.jpg b/examples/data/Fruit360/lemon/15_100.jpg new file mode 100644 index 00000000..6b02c7b8 Binary files /dev/null and b/examples/data/Fruit360/lemon/15_100.jpg differ diff --git a/examples/data/Fruit360/lemon/167_100.jpg b/examples/data/Fruit360/lemon/167_100.jpg new file mode 100644 index 00000000..107ef301 Binary files /dev/null and b/examples/data/Fruit360/lemon/167_100.jpg differ diff --git a/examples/data/Fruit360/lemon/169_100.jpg b/examples/data/Fruit360/lemon/169_100.jpg new file mode 100644 index 00000000..f533a5c9 Binary files /dev/null and b/examples/data/Fruit360/lemon/169_100.jpg differ diff --git a/examples/data/Fruit360/lemon/16_100.jpg b/examples/data/Fruit360/lemon/16_100.jpg new file mode 100644 index 00000000..f33f33ec Binary files /dev/null and b/examples/data/Fruit360/lemon/16_100.jpg differ diff --git a/examples/data/Fruit360/lemon/170_100.jpg b/examples/data/Fruit360/lemon/170_100.jpg new file mode 100644 index 00000000..f2b38188 Binary files /dev/null and b/examples/data/Fruit360/lemon/170_100.jpg differ diff --git a/examples/data/Fruit360/lemon/171_100.jpg b/examples/data/Fruit360/lemon/171_100.jpg new file mode 100644 index 00000000..067f2566 Binary files /dev/null and b/examples/data/Fruit360/lemon/171_100.jpg differ diff --git a/examples/data/Fruit360/lemon/172_100.jpg b/examples/data/Fruit360/lemon/172_100.jpg new file mode 100644 index 00000000..f30e5c01 Binary files /dev/null and b/examples/data/Fruit360/lemon/172_100.jpg differ diff --git a/examples/data/Fruit360/lemon/173_100.jpg b/examples/data/Fruit360/lemon/173_100.jpg new file mode 100644 index 00000000..a29713e8 Binary files /dev/null and b/examples/data/Fruit360/lemon/173_100.jpg differ diff --git a/examples/data/Fruit360/lemon/174_100.jpg b/examples/data/Fruit360/lemon/174_100.jpg new file mode 100644 index 00000000..aec21f6d Binary files /dev/null and b/examples/data/Fruit360/lemon/174_100.jpg differ diff --git a/examples/data/Fruit360/lemon/176_100.jpg b/examples/data/Fruit360/lemon/176_100.jpg new file mode 100644 index 00000000..1e08acdc Binary files /dev/null and b/examples/data/Fruit360/lemon/176_100.jpg differ diff --git a/examples/data/Fruit360/lemon/178_100.jpg b/examples/data/Fruit360/lemon/178_100.jpg new file mode 100644 index 00000000..dc79d2d1 Binary files /dev/null and b/examples/data/Fruit360/lemon/178_100.jpg differ diff --git a/examples/data/Fruit360/lemon/179_100.jpg b/examples/data/Fruit360/lemon/179_100.jpg new file mode 100644 index 00000000..80ab87e1 Binary files /dev/null and b/examples/data/Fruit360/lemon/179_100.jpg differ diff --git a/examples/data/Fruit360/lemon/17_100.jpg b/examples/data/Fruit360/lemon/17_100.jpg new file mode 100644 index 00000000..27f47f07 Binary files /dev/null and b/examples/data/Fruit360/lemon/17_100.jpg differ diff --git a/examples/data/Fruit360/lemon/180_100.jpg b/examples/data/Fruit360/lemon/180_100.jpg new file mode 100644 index 00000000..e7328fd5 Binary files /dev/null and b/examples/data/Fruit360/lemon/180_100.jpg differ diff --git a/examples/data/Fruit360/lemon/181_100.jpg b/examples/data/Fruit360/lemon/181_100.jpg new file mode 100644 index 00000000..6aed01ce Binary files /dev/null and b/examples/data/Fruit360/lemon/181_100.jpg differ diff --git a/examples/data/Fruit360/lemon/182_100.jpg b/examples/data/Fruit360/lemon/182_100.jpg new file mode 100644 index 00000000..03bca35f Binary files /dev/null and b/examples/data/Fruit360/lemon/182_100.jpg differ diff --git a/examples/data/Fruit360/lemon/183_100.jpg b/examples/data/Fruit360/lemon/183_100.jpg new file mode 100644 index 00000000..b639901a Binary files /dev/null and b/examples/data/Fruit360/lemon/183_100.jpg differ diff --git a/examples/data/Fruit360/lemon/184_100.jpg b/examples/data/Fruit360/lemon/184_100.jpg new file mode 100644 index 00000000..7dd724e9 Binary files /dev/null and b/examples/data/Fruit360/lemon/184_100.jpg differ diff --git a/examples/data/Fruit360/lemon/185_100.jpg b/examples/data/Fruit360/lemon/185_100.jpg new file mode 100644 index 00000000..187ea097 Binary files /dev/null and b/examples/data/Fruit360/lemon/185_100.jpg differ diff --git a/examples/data/Fruit360/lemon/186_100.jpg b/examples/data/Fruit360/lemon/186_100.jpg new file mode 100644 index 00000000..325b334b Binary files /dev/null and b/examples/data/Fruit360/lemon/186_100.jpg differ diff --git a/examples/data/Fruit360/lemon/187_100.jpg b/examples/data/Fruit360/lemon/187_100.jpg new file mode 100644 index 00000000..57c58eb7 Binary files /dev/null and b/examples/data/Fruit360/lemon/187_100.jpg differ diff --git a/examples/data/Fruit360/lemon/188_100.jpg b/examples/data/Fruit360/lemon/188_100.jpg new file mode 100644 index 00000000..c6c2b0cf Binary files /dev/null and b/examples/data/Fruit360/lemon/188_100.jpg differ diff --git a/examples/data/Fruit360/lemon/18_100.jpg b/examples/data/Fruit360/lemon/18_100.jpg new file mode 100644 index 00000000..ae927f31 Binary files /dev/null and b/examples/data/Fruit360/lemon/18_100.jpg differ diff --git a/examples/data/Fruit360/lemon/1_100.jpg b/examples/data/Fruit360/lemon/1_100.jpg new file mode 100644 index 00000000..c5c5b50a Binary files /dev/null and b/examples/data/Fruit360/lemon/1_100.jpg differ diff --git a/examples/data/Fruit360/lemon/20_100.jpg b/examples/data/Fruit360/lemon/20_100.jpg new file mode 100644 index 00000000..ead33c30 Binary files /dev/null and b/examples/data/Fruit360/lemon/20_100.jpg differ diff --git a/examples/data/Fruit360/lemon/215_100.jpg b/examples/data/Fruit360/lemon/215_100.jpg new file mode 100644 index 00000000..ca61ddf9 Binary files /dev/null and b/examples/data/Fruit360/lemon/215_100.jpg differ diff --git a/examples/data/Fruit360/lemon/216_100.jpg b/examples/data/Fruit360/lemon/216_100.jpg new file mode 100644 index 00000000..dc3f2eef Binary files /dev/null and b/examples/data/Fruit360/lemon/216_100.jpg differ diff --git a/examples/data/Fruit360/lemon/217_100.jpg b/examples/data/Fruit360/lemon/217_100.jpg new file mode 100644 index 00000000..673cd425 Binary files /dev/null and b/examples/data/Fruit360/lemon/217_100.jpg differ diff --git a/examples/data/Fruit360/lemon/218_100.jpg b/examples/data/Fruit360/lemon/218_100.jpg new file mode 100644 index 00000000..e00d9a87 Binary files /dev/null and b/examples/data/Fruit360/lemon/218_100.jpg differ diff --git a/examples/data/Fruit360/lemon/219_100.jpg b/examples/data/Fruit360/lemon/219_100.jpg new file mode 100644 index 00000000..4e108140 Binary files /dev/null and b/examples/data/Fruit360/lemon/219_100.jpg differ diff --git a/examples/data/Fruit360/lemon/21_100.jpg b/examples/data/Fruit360/lemon/21_100.jpg new file mode 100644 index 00000000..ee231197 Binary files /dev/null and b/examples/data/Fruit360/lemon/21_100.jpg differ diff --git a/examples/data/Fruit360/lemon/220_100.jpg b/examples/data/Fruit360/lemon/220_100.jpg new file mode 100644 index 00000000..767f3200 Binary files /dev/null and b/examples/data/Fruit360/lemon/220_100.jpg differ diff --git a/examples/data/Fruit360/lemon/221_100.jpg b/examples/data/Fruit360/lemon/221_100.jpg new file mode 100644 index 00000000..1fde8ed0 Binary files /dev/null and b/examples/data/Fruit360/lemon/221_100.jpg differ diff --git a/examples/data/Fruit360/lemon/222_100.jpg b/examples/data/Fruit360/lemon/222_100.jpg new file mode 100644 index 00000000..4bbee3d0 Binary files /dev/null and b/examples/data/Fruit360/lemon/222_100.jpg differ diff --git a/examples/data/Fruit360/lemon/223_100.jpg b/examples/data/Fruit360/lemon/223_100.jpg new file mode 100644 index 00000000..97d5838e Binary files /dev/null and b/examples/data/Fruit360/lemon/223_100.jpg differ diff --git a/examples/data/Fruit360/lemon/224_100.jpg b/examples/data/Fruit360/lemon/224_100.jpg new file mode 100644 index 00000000..6987cf69 Binary files /dev/null and b/examples/data/Fruit360/lemon/224_100.jpg differ diff --git a/examples/data/Fruit360/lemon/225_100.jpg b/examples/data/Fruit360/lemon/225_100.jpg new file mode 100644 index 00000000..55f5404b Binary files /dev/null and b/examples/data/Fruit360/lemon/225_100.jpg differ diff --git a/examples/data/Fruit360/lemon/226_100.jpg b/examples/data/Fruit360/lemon/226_100.jpg new file mode 100644 index 00000000..03a831bd Binary files /dev/null and b/examples/data/Fruit360/lemon/226_100.jpg differ diff --git a/examples/data/Fruit360/lemon/227_100.jpg b/examples/data/Fruit360/lemon/227_100.jpg new file mode 100644 index 00000000..2e6eca8d Binary files /dev/null and b/examples/data/Fruit360/lemon/227_100.jpg differ diff --git a/examples/data/Fruit360/lemon/228_100.jpg b/examples/data/Fruit360/lemon/228_100.jpg new file mode 100644 index 00000000..15d8d779 Binary files /dev/null and b/examples/data/Fruit360/lemon/228_100.jpg differ diff --git a/examples/data/Fruit360/lemon/229_100.jpg b/examples/data/Fruit360/lemon/229_100.jpg new file mode 100644 index 00000000..048fa5fd Binary files /dev/null and b/examples/data/Fruit360/lemon/229_100.jpg differ diff --git a/examples/data/Fruit360/lemon/22_100.jpg b/examples/data/Fruit360/lemon/22_100.jpg new file mode 100644 index 00000000..6c56d4df Binary files /dev/null and b/examples/data/Fruit360/lemon/22_100.jpg differ diff --git a/examples/data/Fruit360/lemon/230_100.jpg b/examples/data/Fruit360/lemon/230_100.jpg new file mode 100644 index 00000000..bb10c8f5 Binary files /dev/null and b/examples/data/Fruit360/lemon/230_100.jpg differ diff --git a/examples/data/Fruit360/lemon/231_100.jpg b/examples/data/Fruit360/lemon/231_100.jpg new file mode 100644 index 00000000..467440f1 Binary files /dev/null and b/examples/data/Fruit360/lemon/231_100.jpg differ diff --git a/examples/data/Fruit360/lemon/232_100.jpg b/examples/data/Fruit360/lemon/232_100.jpg new file mode 100644 index 00000000..6e21125a Binary files /dev/null and b/examples/data/Fruit360/lemon/232_100.jpg differ diff --git a/examples/data/Fruit360/lemon/233_100.jpg b/examples/data/Fruit360/lemon/233_100.jpg new file mode 100644 index 00000000..db7cc870 Binary files /dev/null and b/examples/data/Fruit360/lemon/233_100.jpg differ diff --git a/examples/data/Fruit360/lemon/234_100.jpg b/examples/data/Fruit360/lemon/234_100.jpg new file mode 100644 index 00000000..9690c239 Binary files /dev/null and b/examples/data/Fruit360/lemon/234_100.jpg differ diff --git a/examples/data/Fruit360/lemon/235_100.jpg b/examples/data/Fruit360/lemon/235_100.jpg new file mode 100644 index 00000000..0895be53 Binary files /dev/null and b/examples/data/Fruit360/lemon/235_100.jpg differ diff --git a/examples/data/Fruit360/lemon/236_100.jpg b/examples/data/Fruit360/lemon/236_100.jpg new file mode 100644 index 00000000..1c046c28 Binary files /dev/null and b/examples/data/Fruit360/lemon/236_100.jpg differ diff --git a/examples/data/Fruit360/lemon/237_100.jpg b/examples/data/Fruit360/lemon/237_100.jpg new file mode 100644 index 00000000..1c219013 Binary files /dev/null and b/examples/data/Fruit360/lemon/237_100.jpg differ diff --git a/examples/data/Fruit360/lemon/238_100.jpg b/examples/data/Fruit360/lemon/238_100.jpg new file mode 100644 index 00000000..2de2a9e1 Binary files /dev/null and b/examples/data/Fruit360/lemon/238_100.jpg differ diff --git a/examples/data/Fruit360/lemon/239_100.jpg b/examples/data/Fruit360/lemon/239_100.jpg new file mode 100644 index 00000000..df8cafbb Binary files /dev/null and b/examples/data/Fruit360/lemon/239_100.jpg differ diff --git a/examples/data/Fruit360/lemon/23_100.jpg b/examples/data/Fruit360/lemon/23_100.jpg new file mode 100644 index 00000000..fdf36dc7 Binary files /dev/null and b/examples/data/Fruit360/lemon/23_100.jpg differ diff --git a/examples/data/Fruit360/lemon/240_100.jpg b/examples/data/Fruit360/lemon/240_100.jpg new file mode 100644 index 00000000..1812f1fd Binary files /dev/null and b/examples/data/Fruit360/lemon/240_100.jpg differ diff --git a/examples/data/Fruit360/lemon/241_100.jpg b/examples/data/Fruit360/lemon/241_100.jpg new file mode 100644 index 00000000..6588ef0e Binary files /dev/null and b/examples/data/Fruit360/lemon/241_100.jpg differ diff --git a/examples/data/Fruit360/lemon/242_100.jpg b/examples/data/Fruit360/lemon/242_100.jpg new file mode 100644 index 00000000..18ff9486 Binary files /dev/null and b/examples/data/Fruit360/lemon/242_100.jpg differ diff --git a/examples/data/Fruit360/lemon/243_100.jpg b/examples/data/Fruit360/lemon/243_100.jpg new file mode 100644 index 00000000..1362a4e0 Binary files /dev/null and b/examples/data/Fruit360/lemon/243_100.jpg differ diff --git a/examples/data/Fruit360/lemon/244_100.jpg b/examples/data/Fruit360/lemon/244_100.jpg new file mode 100644 index 00000000..198ead43 Binary files /dev/null and b/examples/data/Fruit360/lemon/244_100.jpg differ diff --git a/examples/data/Fruit360/lemon/245_100.jpg b/examples/data/Fruit360/lemon/245_100.jpg new file mode 100644 index 00000000..efcdba69 Binary files /dev/null and b/examples/data/Fruit360/lemon/245_100.jpg differ diff --git a/examples/data/Fruit360/lemon/246_100.jpg b/examples/data/Fruit360/lemon/246_100.jpg new file mode 100644 index 00000000..8d52c754 Binary files /dev/null and b/examples/data/Fruit360/lemon/246_100.jpg differ diff --git a/examples/data/Fruit360/lemon/247_100.jpg b/examples/data/Fruit360/lemon/247_100.jpg new file mode 100644 index 00000000..adce19ff Binary files /dev/null and b/examples/data/Fruit360/lemon/247_100.jpg differ diff --git a/examples/data/Fruit360/lemon/248_100.jpg b/examples/data/Fruit360/lemon/248_100.jpg new file mode 100644 index 00000000..be9f291e Binary files /dev/null and b/examples/data/Fruit360/lemon/248_100.jpg differ diff --git a/examples/data/Fruit360/lemon/249_100.jpg b/examples/data/Fruit360/lemon/249_100.jpg new file mode 100644 index 00000000..381851e7 Binary files /dev/null and b/examples/data/Fruit360/lemon/249_100.jpg differ diff --git a/examples/data/Fruit360/lemon/24_100.jpg b/examples/data/Fruit360/lemon/24_100.jpg new file mode 100644 index 00000000..c8a36a0d Binary files /dev/null and b/examples/data/Fruit360/lemon/24_100.jpg differ diff --git a/examples/data/Fruit360/lemon/250_100.jpg b/examples/data/Fruit360/lemon/250_100.jpg new file mode 100644 index 00000000..25ab60d8 Binary files /dev/null and b/examples/data/Fruit360/lemon/250_100.jpg differ diff --git a/examples/data/Fruit360/lemon/251_100.jpg b/examples/data/Fruit360/lemon/251_100.jpg new file mode 100644 index 00000000..b8583e87 Binary files /dev/null and b/examples/data/Fruit360/lemon/251_100.jpg differ diff --git a/examples/data/Fruit360/lemon/252_100.jpg b/examples/data/Fruit360/lemon/252_100.jpg new file mode 100644 index 00000000..821aeb47 Binary files /dev/null and b/examples/data/Fruit360/lemon/252_100.jpg differ diff --git a/examples/data/Fruit360/lemon/253_100.jpg b/examples/data/Fruit360/lemon/253_100.jpg new file mode 100644 index 00000000..734b8ef9 Binary files /dev/null and b/examples/data/Fruit360/lemon/253_100.jpg differ diff --git a/examples/data/Fruit360/lemon/254_100.jpg b/examples/data/Fruit360/lemon/254_100.jpg new file mode 100644 index 00000000..78410905 Binary files /dev/null and b/examples/data/Fruit360/lemon/254_100.jpg differ diff --git a/examples/data/Fruit360/lemon/255_100.jpg b/examples/data/Fruit360/lemon/255_100.jpg new file mode 100644 index 00000000..5bf7938b Binary files /dev/null and b/examples/data/Fruit360/lemon/255_100.jpg differ diff --git a/examples/data/Fruit360/lemon/256_100.jpg b/examples/data/Fruit360/lemon/256_100.jpg new file mode 100644 index 00000000..0573db4b Binary files /dev/null and b/examples/data/Fruit360/lemon/256_100.jpg differ diff --git a/examples/data/Fruit360/lemon/257_100.jpg b/examples/data/Fruit360/lemon/257_100.jpg new file mode 100644 index 00000000..57193274 Binary files /dev/null and b/examples/data/Fruit360/lemon/257_100.jpg differ diff --git a/examples/data/Fruit360/lemon/258_100.jpg b/examples/data/Fruit360/lemon/258_100.jpg new file mode 100644 index 00000000..38704237 Binary files /dev/null and b/examples/data/Fruit360/lemon/258_100.jpg differ diff --git a/examples/data/Fruit360/lemon/259_100.jpg b/examples/data/Fruit360/lemon/259_100.jpg new file mode 100644 index 00000000..7dec9b89 Binary files /dev/null and b/examples/data/Fruit360/lemon/259_100.jpg differ diff --git a/examples/data/Fruit360/lemon/25_100.jpg b/examples/data/Fruit360/lemon/25_100.jpg new file mode 100644 index 00000000..1aab6c9a Binary files /dev/null and b/examples/data/Fruit360/lemon/25_100.jpg differ diff --git a/examples/data/Fruit360/lemon/260_100.jpg b/examples/data/Fruit360/lemon/260_100.jpg new file mode 100644 index 00000000..7da2ecb1 Binary files /dev/null and b/examples/data/Fruit360/lemon/260_100.jpg differ diff --git a/examples/data/Fruit360/lemon/261_100.jpg b/examples/data/Fruit360/lemon/261_100.jpg new file mode 100644 index 00000000..8485d987 Binary files /dev/null and b/examples/data/Fruit360/lemon/261_100.jpg differ diff --git a/examples/data/Fruit360/lemon/262_100.jpg b/examples/data/Fruit360/lemon/262_100.jpg new file mode 100644 index 00000000..659ea1bb Binary files /dev/null and b/examples/data/Fruit360/lemon/262_100.jpg differ diff --git a/examples/data/Fruit360/lemon/263_100.jpg b/examples/data/Fruit360/lemon/263_100.jpg new file mode 100644 index 00000000..12736cb8 Binary files /dev/null and b/examples/data/Fruit360/lemon/263_100.jpg differ diff --git a/examples/data/Fruit360/lemon/264_100.jpg b/examples/data/Fruit360/lemon/264_100.jpg new file mode 100644 index 00000000..c021d491 Binary files /dev/null and b/examples/data/Fruit360/lemon/264_100.jpg differ diff --git a/examples/data/Fruit360/lemon/265_100.jpg b/examples/data/Fruit360/lemon/265_100.jpg new file mode 100644 index 00000000..b7faba4e Binary files /dev/null and b/examples/data/Fruit360/lemon/265_100.jpg differ diff --git a/examples/data/Fruit360/lemon/266_100.jpg b/examples/data/Fruit360/lemon/266_100.jpg new file mode 100644 index 00000000..8ac04262 Binary files /dev/null and b/examples/data/Fruit360/lemon/266_100.jpg differ diff --git a/examples/data/Fruit360/lemon/267_100.jpg b/examples/data/Fruit360/lemon/267_100.jpg new file mode 100644 index 00000000..e071f87f Binary files /dev/null and b/examples/data/Fruit360/lemon/267_100.jpg differ diff --git a/examples/data/Fruit360/lemon/268_100.jpg b/examples/data/Fruit360/lemon/268_100.jpg new file mode 100644 index 00000000..86d79cec Binary files /dev/null and b/examples/data/Fruit360/lemon/268_100.jpg differ diff --git a/examples/data/Fruit360/lemon/269_100.jpg b/examples/data/Fruit360/lemon/269_100.jpg new file mode 100644 index 00000000..140d2522 Binary files /dev/null and b/examples/data/Fruit360/lemon/269_100.jpg differ diff --git a/examples/data/Fruit360/lemon/270_100.jpg b/examples/data/Fruit360/lemon/270_100.jpg new file mode 100644 index 00000000..eda62aaa Binary files /dev/null and b/examples/data/Fruit360/lemon/270_100.jpg differ diff --git a/examples/data/Fruit360/lemon/271_100.jpg b/examples/data/Fruit360/lemon/271_100.jpg new file mode 100644 index 00000000..c0ec7a16 Binary files /dev/null and b/examples/data/Fruit360/lemon/271_100.jpg differ diff --git a/examples/data/Fruit360/lemon/272_100.jpg b/examples/data/Fruit360/lemon/272_100.jpg new file mode 100644 index 00000000..1b9349d6 Binary files /dev/null and b/examples/data/Fruit360/lemon/272_100.jpg differ diff --git a/examples/data/Fruit360/lemon/273_100.jpg b/examples/data/Fruit360/lemon/273_100.jpg new file mode 100644 index 00000000..b879e6ee Binary files /dev/null and b/examples/data/Fruit360/lemon/273_100.jpg differ diff --git a/examples/data/Fruit360/lemon/274_100.jpg b/examples/data/Fruit360/lemon/274_100.jpg new file mode 100644 index 00000000..815c482e Binary files /dev/null and b/examples/data/Fruit360/lemon/274_100.jpg differ diff --git a/examples/data/Fruit360/lemon/275_100.jpg b/examples/data/Fruit360/lemon/275_100.jpg new file mode 100644 index 00000000..a66bf1d3 Binary files /dev/null and b/examples/data/Fruit360/lemon/275_100.jpg differ diff --git a/examples/data/Fruit360/lemon/276_100.jpg b/examples/data/Fruit360/lemon/276_100.jpg new file mode 100644 index 00000000..d9ffb886 Binary files /dev/null and b/examples/data/Fruit360/lemon/276_100.jpg differ diff --git a/examples/data/Fruit360/lemon/277_100.jpg b/examples/data/Fruit360/lemon/277_100.jpg new file mode 100644 index 00000000..620dc8f1 Binary files /dev/null and b/examples/data/Fruit360/lemon/277_100.jpg differ diff --git a/examples/data/Fruit360/lemon/278_100.jpg b/examples/data/Fruit360/lemon/278_100.jpg new file mode 100644 index 00000000..32575ef6 Binary files /dev/null and b/examples/data/Fruit360/lemon/278_100.jpg differ diff --git a/examples/data/Fruit360/lemon/279_100.jpg b/examples/data/Fruit360/lemon/279_100.jpg new file mode 100644 index 00000000..ef75528b Binary files /dev/null and b/examples/data/Fruit360/lemon/279_100.jpg differ diff --git a/examples/data/Fruit360/lemon/27_100.jpg b/examples/data/Fruit360/lemon/27_100.jpg new file mode 100644 index 00000000..be2f53f0 Binary files /dev/null and b/examples/data/Fruit360/lemon/27_100.jpg differ diff --git a/examples/data/Fruit360/lemon/280_100.jpg b/examples/data/Fruit360/lemon/280_100.jpg new file mode 100644 index 00000000..783aebf6 Binary files /dev/null and b/examples/data/Fruit360/lemon/280_100.jpg differ diff --git a/examples/data/Fruit360/lemon/281_100.jpg b/examples/data/Fruit360/lemon/281_100.jpg new file mode 100644 index 00000000..52223115 Binary files /dev/null and b/examples/data/Fruit360/lemon/281_100.jpg differ diff --git a/examples/data/Fruit360/lemon/282_100.jpg b/examples/data/Fruit360/lemon/282_100.jpg new file mode 100644 index 00000000..4b1aed46 Binary files /dev/null and b/examples/data/Fruit360/lemon/282_100.jpg differ diff --git a/examples/data/Fruit360/lemon/283_100.jpg b/examples/data/Fruit360/lemon/283_100.jpg new file mode 100644 index 00000000..a96b0a12 Binary files /dev/null and b/examples/data/Fruit360/lemon/283_100.jpg differ diff --git a/examples/data/Fruit360/lemon/284_100.jpg b/examples/data/Fruit360/lemon/284_100.jpg new file mode 100644 index 00000000..de09129d Binary files /dev/null and b/examples/data/Fruit360/lemon/284_100.jpg differ diff --git a/examples/data/Fruit360/lemon/285_100.jpg b/examples/data/Fruit360/lemon/285_100.jpg new file mode 100644 index 00000000..dbfdd0f5 Binary files /dev/null and b/examples/data/Fruit360/lemon/285_100.jpg differ diff --git a/examples/data/Fruit360/lemon/286_100.jpg b/examples/data/Fruit360/lemon/286_100.jpg new file mode 100644 index 00000000..fd1993a8 Binary files /dev/null and b/examples/data/Fruit360/lemon/286_100.jpg differ diff --git a/examples/data/Fruit360/lemon/287_100.jpg b/examples/data/Fruit360/lemon/287_100.jpg new file mode 100644 index 00000000..812f7c44 Binary files /dev/null and b/examples/data/Fruit360/lemon/287_100.jpg differ diff --git a/examples/data/Fruit360/lemon/288_100.jpg b/examples/data/Fruit360/lemon/288_100.jpg new file mode 100644 index 00000000..22a0deff Binary files /dev/null and b/examples/data/Fruit360/lemon/288_100.jpg differ diff --git a/examples/data/Fruit360/lemon/289_100.jpg b/examples/data/Fruit360/lemon/289_100.jpg new file mode 100644 index 00000000..0f9b7099 Binary files /dev/null and b/examples/data/Fruit360/lemon/289_100.jpg differ diff --git a/examples/data/Fruit360/lemon/290_100.jpg b/examples/data/Fruit360/lemon/290_100.jpg new file mode 100644 index 00000000..20959797 Binary files /dev/null and b/examples/data/Fruit360/lemon/290_100.jpg differ diff --git a/examples/data/Fruit360/lemon/291_100.jpg b/examples/data/Fruit360/lemon/291_100.jpg new file mode 100644 index 00000000..d70d0794 Binary files /dev/null and b/examples/data/Fruit360/lemon/291_100.jpg differ diff --git a/examples/data/Fruit360/lemon/292_100.jpg b/examples/data/Fruit360/lemon/292_100.jpg new file mode 100644 index 00000000..41dea971 Binary files /dev/null and b/examples/data/Fruit360/lemon/292_100.jpg differ diff --git a/examples/data/Fruit360/lemon/293_100.jpg b/examples/data/Fruit360/lemon/293_100.jpg new file mode 100644 index 00000000..4a917e6a Binary files /dev/null and b/examples/data/Fruit360/lemon/293_100.jpg differ diff --git a/examples/data/Fruit360/lemon/294_100.jpg b/examples/data/Fruit360/lemon/294_100.jpg new file mode 100644 index 00000000..14d52e42 Binary files /dev/null and b/examples/data/Fruit360/lemon/294_100.jpg differ diff --git a/examples/data/Fruit360/lemon/295_100.jpg b/examples/data/Fruit360/lemon/295_100.jpg new file mode 100644 index 00000000..51924472 Binary files /dev/null and b/examples/data/Fruit360/lemon/295_100.jpg differ diff --git a/examples/data/Fruit360/lemon/296_100.jpg b/examples/data/Fruit360/lemon/296_100.jpg new file mode 100644 index 00000000..80f89a8c Binary files /dev/null and b/examples/data/Fruit360/lemon/296_100.jpg differ diff --git a/examples/data/Fruit360/lemon/297_100.jpg b/examples/data/Fruit360/lemon/297_100.jpg new file mode 100644 index 00000000..e6679b24 Binary files /dev/null and b/examples/data/Fruit360/lemon/297_100.jpg differ diff --git a/examples/data/Fruit360/lemon/298_100.jpg b/examples/data/Fruit360/lemon/298_100.jpg new file mode 100644 index 00000000..e10ec86e Binary files /dev/null and b/examples/data/Fruit360/lemon/298_100.jpg differ diff --git a/examples/data/Fruit360/lemon/299_100.jpg b/examples/data/Fruit360/lemon/299_100.jpg new file mode 100644 index 00000000..211eaf9a Binary files /dev/null and b/examples/data/Fruit360/lemon/299_100.jpg differ diff --git a/examples/data/Fruit360/lemon/2_100.jpg b/examples/data/Fruit360/lemon/2_100.jpg new file mode 100644 index 00000000..ca1144e8 Binary files /dev/null and b/examples/data/Fruit360/lemon/2_100.jpg differ diff --git a/examples/data/Fruit360/lemon/300_100.jpg b/examples/data/Fruit360/lemon/300_100.jpg new file mode 100644 index 00000000..6cb826d2 Binary files /dev/null and b/examples/data/Fruit360/lemon/300_100.jpg differ diff --git a/examples/data/Fruit360/lemon/301_100.jpg b/examples/data/Fruit360/lemon/301_100.jpg new file mode 100644 index 00000000..96f12908 Binary files /dev/null and b/examples/data/Fruit360/lemon/301_100.jpg differ diff --git a/examples/data/Fruit360/lemon/302_100.jpg b/examples/data/Fruit360/lemon/302_100.jpg new file mode 100644 index 00000000..d069f4c1 Binary files /dev/null and b/examples/data/Fruit360/lemon/302_100.jpg differ diff --git a/examples/data/Fruit360/lemon/303_100.jpg b/examples/data/Fruit360/lemon/303_100.jpg new file mode 100644 index 00000000..b109e985 Binary files /dev/null and b/examples/data/Fruit360/lemon/303_100.jpg differ diff --git a/examples/data/Fruit360/lemon/304_100.jpg b/examples/data/Fruit360/lemon/304_100.jpg new file mode 100644 index 00000000..5f06e05e Binary files /dev/null and b/examples/data/Fruit360/lemon/304_100.jpg differ diff --git a/examples/data/Fruit360/lemon/305_100.jpg b/examples/data/Fruit360/lemon/305_100.jpg new file mode 100644 index 00000000..df5244c7 Binary files /dev/null and b/examples/data/Fruit360/lemon/305_100.jpg differ diff --git a/examples/data/Fruit360/lemon/306_100.jpg b/examples/data/Fruit360/lemon/306_100.jpg new file mode 100644 index 00000000..ca9b49fd Binary files /dev/null and b/examples/data/Fruit360/lemon/306_100.jpg differ diff --git a/examples/data/Fruit360/lemon/307_100.jpg b/examples/data/Fruit360/lemon/307_100.jpg new file mode 100644 index 00000000..f15a98e0 Binary files /dev/null and b/examples/data/Fruit360/lemon/307_100.jpg differ diff --git a/examples/data/Fruit360/lemon/308_100.jpg b/examples/data/Fruit360/lemon/308_100.jpg new file mode 100644 index 00000000..4e72786f Binary files /dev/null and b/examples/data/Fruit360/lemon/308_100.jpg differ diff --git a/examples/data/Fruit360/lemon/309_100.jpg b/examples/data/Fruit360/lemon/309_100.jpg new file mode 100644 index 00000000..ef4eb636 Binary files /dev/null and b/examples/data/Fruit360/lemon/309_100.jpg differ diff --git a/examples/data/Fruit360/lemon/310_100.jpg b/examples/data/Fruit360/lemon/310_100.jpg new file mode 100644 index 00000000..d106a494 Binary files /dev/null and b/examples/data/Fruit360/lemon/310_100.jpg differ diff --git a/examples/data/Fruit360/lemon/311_100.jpg b/examples/data/Fruit360/lemon/311_100.jpg new file mode 100644 index 00000000..a7621527 Binary files /dev/null and b/examples/data/Fruit360/lemon/311_100.jpg differ diff --git a/examples/data/Fruit360/lemon/312_100.jpg b/examples/data/Fruit360/lemon/312_100.jpg new file mode 100644 index 00000000..cd80c888 Binary files /dev/null and b/examples/data/Fruit360/lemon/312_100.jpg differ diff --git a/examples/data/Fruit360/lemon/313_100.jpg b/examples/data/Fruit360/lemon/313_100.jpg new file mode 100644 index 00000000..e3f0e36d Binary files /dev/null and b/examples/data/Fruit360/lemon/313_100.jpg differ diff --git a/examples/data/Fruit360/lemon/314_100.jpg b/examples/data/Fruit360/lemon/314_100.jpg new file mode 100644 index 00000000..6b56c746 Binary files /dev/null and b/examples/data/Fruit360/lemon/314_100.jpg differ diff --git a/examples/data/Fruit360/lemon/315_100.jpg b/examples/data/Fruit360/lemon/315_100.jpg new file mode 100644 index 00000000..fff6b66f Binary files /dev/null and b/examples/data/Fruit360/lemon/315_100.jpg differ diff --git a/examples/data/Fruit360/lemon/316_100.jpg b/examples/data/Fruit360/lemon/316_100.jpg new file mode 100644 index 00000000..ef5bdd83 Binary files /dev/null and b/examples/data/Fruit360/lemon/316_100.jpg differ diff --git a/examples/data/Fruit360/lemon/317_100.jpg b/examples/data/Fruit360/lemon/317_100.jpg new file mode 100644 index 00000000..6c42e658 Binary files /dev/null and b/examples/data/Fruit360/lemon/317_100.jpg differ diff --git a/examples/data/Fruit360/lemon/318_100.jpg b/examples/data/Fruit360/lemon/318_100.jpg new file mode 100644 index 00000000..96940778 Binary files /dev/null and b/examples/data/Fruit360/lemon/318_100.jpg differ diff --git a/examples/data/Fruit360/lemon/319_100.jpg b/examples/data/Fruit360/lemon/319_100.jpg new file mode 100644 index 00000000..a8f2d4d8 Binary files /dev/null and b/examples/data/Fruit360/lemon/319_100.jpg differ diff --git a/examples/data/Fruit360/lemon/320_100.jpg b/examples/data/Fruit360/lemon/320_100.jpg new file mode 100644 index 00000000..1e8a64f9 Binary files /dev/null and b/examples/data/Fruit360/lemon/320_100.jpg differ diff --git a/examples/data/Fruit360/lemon/321_100.jpg b/examples/data/Fruit360/lemon/321_100.jpg new file mode 100644 index 00000000..897d46e5 Binary files /dev/null and b/examples/data/Fruit360/lemon/321_100.jpg differ diff --git a/examples/data/Fruit360/lemon/322_100.jpg b/examples/data/Fruit360/lemon/322_100.jpg new file mode 100644 index 00000000..7cd3e8a3 Binary files /dev/null and b/examples/data/Fruit360/lemon/322_100.jpg differ diff --git a/examples/data/Fruit360/lemon/323_100.jpg b/examples/data/Fruit360/lemon/323_100.jpg new file mode 100644 index 00000000..638a6806 Binary files /dev/null and b/examples/data/Fruit360/lemon/323_100.jpg differ diff --git a/examples/data/Fruit360/lemon/325_100.jpg b/examples/data/Fruit360/lemon/325_100.jpg new file mode 100644 index 00000000..60e6e22f Binary files /dev/null and b/examples/data/Fruit360/lemon/325_100.jpg differ diff --git a/examples/data/Fruit360/lemon/327_100.jpg b/examples/data/Fruit360/lemon/327_100.jpg new file mode 100644 index 00000000..dcfec975 Binary files /dev/null and b/examples/data/Fruit360/lemon/327_100.jpg differ diff --git a/examples/data/Fruit360/lemon/33_100.jpg b/examples/data/Fruit360/lemon/33_100.jpg new file mode 100644 index 00000000..5684833a Binary files /dev/null and b/examples/data/Fruit360/lemon/33_100.jpg differ diff --git a/examples/data/Fruit360/lemon/34_100.jpg b/examples/data/Fruit360/lemon/34_100.jpg new file mode 100644 index 00000000..635d50f8 Binary files /dev/null and b/examples/data/Fruit360/lemon/34_100.jpg differ diff --git a/examples/data/Fruit360/lemon/35_100.jpg b/examples/data/Fruit360/lemon/35_100.jpg new file mode 100644 index 00000000..dba61fb4 Binary files /dev/null and b/examples/data/Fruit360/lemon/35_100.jpg differ diff --git a/examples/data/Fruit360/lemon/36_100.jpg b/examples/data/Fruit360/lemon/36_100.jpg new file mode 100644 index 00000000..2b309ac7 Binary files /dev/null and b/examples/data/Fruit360/lemon/36_100.jpg differ diff --git a/examples/data/Fruit360/lemon/3_100.jpg b/examples/data/Fruit360/lemon/3_100.jpg new file mode 100644 index 00000000..9bdc655f Binary files /dev/null and b/examples/data/Fruit360/lemon/3_100.jpg differ diff --git a/examples/data/Fruit360/lemon/4_100.jpg b/examples/data/Fruit360/lemon/4_100.jpg new file mode 100644 index 00000000..fcc9d989 Binary files /dev/null and b/examples/data/Fruit360/lemon/4_100.jpg differ diff --git a/examples/data/Fruit360/lemon/5_100.jpg b/examples/data/Fruit360/lemon/5_100.jpg new file mode 100644 index 00000000..77ca1bd8 Binary files /dev/null and b/examples/data/Fruit360/lemon/5_100.jpg differ diff --git a/examples/data/Fruit360/lemon/62_100.jpg b/examples/data/Fruit360/lemon/62_100.jpg new file mode 100644 index 00000000..f462fbd2 Binary files /dev/null and b/examples/data/Fruit360/lemon/62_100.jpg differ diff --git a/examples/data/Fruit360/lemon/63_100.jpg b/examples/data/Fruit360/lemon/63_100.jpg new file mode 100644 index 00000000..1c30033d Binary files /dev/null and b/examples/data/Fruit360/lemon/63_100.jpg differ diff --git a/examples/data/Fruit360/lemon/64_100.jpg b/examples/data/Fruit360/lemon/64_100.jpg new file mode 100644 index 00000000..9e29a65d Binary files /dev/null and b/examples/data/Fruit360/lemon/64_100.jpg differ diff --git a/examples/data/Fruit360/lemon/65_100.jpg b/examples/data/Fruit360/lemon/65_100.jpg new file mode 100644 index 00000000..1a8895cb Binary files /dev/null and b/examples/data/Fruit360/lemon/65_100.jpg differ diff --git a/examples/data/Fruit360/lemon/66_100.jpg b/examples/data/Fruit360/lemon/66_100.jpg new file mode 100644 index 00000000..ded0f1a1 Binary files /dev/null and b/examples/data/Fruit360/lemon/66_100.jpg differ diff --git a/examples/data/Fruit360/lemon/67_100.jpg b/examples/data/Fruit360/lemon/67_100.jpg new file mode 100644 index 00000000..5d7c5226 Binary files /dev/null and b/examples/data/Fruit360/lemon/67_100.jpg differ diff --git a/examples/data/Fruit360/lemon/68_100.jpg b/examples/data/Fruit360/lemon/68_100.jpg new file mode 100644 index 00000000..6a5c4092 Binary files /dev/null and b/examples/data/Fruit360/lemon/68_100.jpg differ diff --git a/examples/data/Fruit360/lemon/69_100.jpg b/examples/data/Fruit360/lemon/69_100.jpg new file mode 100644 index 00000000..aa3963f0 Binary files /dev/null and b/examples/data/Fruit360/lemon/69_100.jpg differ diff --git a/examples/data/Fruit360/lemon/6_100.jpg b/examples/data/Fruit360/lemon/6_100.jpg new file mode 100644 index 00000000..80a57f13 Binary files /dev/null and b/examples/data/Fruit360/lemon/6_100.jpg differ diff --git a/examples/data/Fruit360/lemon/70_100.jpg b/examples/data/Fruit360/lemon/70_100.jpg new file mode 100644 index 00000000..95515b39 Binary files /dev/null and b/examples/data/Fruit360/lemon/70_100.jpg differ diff --git a/examples/data/Fruit360/lemon/71_100.jpg b/examples/data/Fruit360/lemon/71_100.jpg new file mode 100644 index 00000000..1bca6c98 Binary files /dev/null and b/examples/data/Fruit360/lemon/71_100.jpg differ diff --git a/examples/data/Fruit360/lemon/72_100.jpg b/examples/data/Fruit360/lemon/72_100.jpg new file mode 100644 index 00000000..0eb736a2 Binary files /dev/null and b/examples/data/Fruit360/lemon/72_100.jpg differ diff --git a/examples/data/Fruit360/lemon/73_100.jpg b/examples/data/Fruit360/lemon/73_100.jpg new file mode 100644 index 00000000..ae7fd2c2 Binary files /dev/null and b/examples/data/Fruit360/lemon/73_100.jpg differ diff --git a/examples/data/Fruit360/lemon/74_100.jpg b/examples/data/Fruit360/lemon/74_100.jpg new file mode 100644 index 00000000..99275757 Binary files /dev/null and b/examples/data/Fruit360/lemon/74_100.jpg differ diff --git a/examples/data/Fruit360/lemon/75_100.jpg b/examples/data/Fruit360/lemon/75_100.jpg new file mode 100644 index 00000000..173b938a Binary files /dev/null and b/examples/data/Fruit360/lemon/75_100.jpg differ diff --git a/examples/data/Fruit360/lemon/76_100.jpg b/examples/data/Fruit360/lemon/76_100.jpg new file mode 100644 index 00000000..8244de63 Binary files /dev/null and b/examples/data/Fruit360/lemon/76_100.jpg differ diff --git a/examples/data/Fruit360/lemon/77_100.jpg b/examples/data/Fruit360/lemon/77_100.jpg new file mode 100644 index 00000000..8208eda9 Binary files /dev/null and b/examples/data/Fruit360/lemon/77_100.jpg differ diff --git a/examples/data/Fruit360/lemon/78_100.jpg b/examples/data/Fruit360/lemon/78_100.jpg new file mode 100644 index 00000000..21ba8a0c Binary files /dev/null and b/examples/data/Fruit360/lemon/78_100.jpg differ diff --git a/examples/data/Fruit360/lemon/79_100.jpg b/examples/data/Fruit360/lemon/79_100.jpg new file mode 100644 index 00000000..e049a95c Binary files /dev/null and b/examples/data/Fruit360/lemon/79_100.jpg differ diff --git a/examples/data/Fruit360/lemon/7_100.jpg b/examples/data/Fruit360/lemon/7_100.jpg new file mode 100644 index 00000000..8d565881 Binary files /dev/null and b/examples/data/Fruit360/lemon/7_100.jpg differ diff --git a/examples/data/Fruit360/lemon/80_100.jpg b/examples/data/Fruit360/lemon/80_100.jpg new file mode 100644 index 00000000..b45d0114 Binary files /dev/null and b/examples/data/Fruit360/lemon/80_100.jpg differ diff --git a/examples/data/Fruit360/lemon/81_100.jpg b/examples/data/Fruit360/lemon/81_100.jpg new file mode 100644 index 00000000..191b473b Binary files /dev/null and b/examples/data/Fruit360/lemon/81_100.jpg differ diff --git a/examples/data/Fruit360/lemon/82_100.jpg b/examples/data/Fruit360/lemon/82_100.jpg new file mode 100644 index 00000000..2a2b86ec Binary files /dev/null and b/examples/data/Fruit360/lemon/82_100.jpg differ diff --git a/examples/data/Fruit360/lemon/83_100.jpg b/examples/data/Fruit360/lemon/83_100.jpg new file mode 100644 index 00000000..afaa4a2f Binary files /dev/null and b/examples/data/Fruit360/lemon/83_100.jpg differ diff --git a/examples/data/Fruit360/lemon/84_100.jpg b/examples/data/Fruit360/lemon/84_100.jpg new file mode 100644 index 00000000..f083267b Binary files /dev/null and b/examples/data/Fruit360/lemon/84_100.jpg differ diff --git a/examples/data/Fruit360/lemon/85_100.jpg b/examples/data/Fruit360/lemon/85_100.jpg new file mode 100644 index 00000000..b7338ad5 Binary files /dev/null and b/examples/data/Fruit360/lemon/85_100.jpg differ diff --git a/examples/data/Fruit360/lemon/86_100.jpg b/examples/data/Fruit360/lemon/86_100.jpg new file mode 100644 index 00000000..1c9edd76 Binary files /dev/null and b/examples/data/Fruit360/lemon/86_100.jpg differ diff --git a/examples/data/Fruit360/lemon/87_100.jpg b/examples/data/Fruit360/lemon/87_100.jpg new file mode 100644 index 00000000..85cede35 Binary files /dev/null and b/examples/data/Fruit360/lemon/87_100.jpg differ diff --git a/examples/data/Fruit360/lemon/88_100.jpg b/examples/data/Fruit360/lemon/88_100.jpg new file mode 100644 index 00000000..071200dd Binary files /dev/null and b/examples/data/Fruit360/lemon/88_100.jpg differ diff --git a/examples/data/Fruit360/lemon/89_100.jpg b/examples/data/Fruit360/lemon/89_100.jpg new file mode 100644 index 00000000..06a5a5ff Binary files /dev/null and b/examples/data/Fruit360/lemon/89_100.jpg differ diff --git a/examples/data/Fruit360/lemon/8_100.jpg b/examples/data/Fruit360/lemon/8_100.jpg new file mode 100644 index 00000000..4ddc8f60 Binary files /dev/null and b/examples/data/Fruit360/lemon/8_100.jpg differ diff --git a/examples/data/Fruit360/lemon/90_100.jpg b/examples/data/Fruit360/lemon/90_100.jpg new file mode 100644 index 00000000..4ff4c3ab Binary files /dev/null and b/examples/data/Fruit360/lemon/90_100.jpg differ diff --git a/examples/data/Fruit360/lemon/91_100.jpg b/examples/data/Fruit360/lemon/91_100.jpg new file mode 100644 index 00000000..164051cb Binary files /dev/null and b/examples/data/Fruit360/lemon/91_100.jpg differ diff --git a/examples/data/Fruit360/lemon/92_100.jpg b/examples/data/Fruit360/lemon/92_100.jpg new file mode 100644 index 00000000..ea2f6970 Binary files /dev/null and b/examples/data/Fruit360/lemon/92_100.jpg differ diff --git a/examples/data/Fruit360/lemon/93_100.jpg b/examples/data/Fruit360/lemon/93_100.jpg new file mode 100644 index 00000000..423c99be Binary files /dev/null and b/examples/data/Fruit360/lemon/93_100.jpg differ diff --git a/examples/data/Fruit360/lemon/94_100.jpg b/examples/data/Fruit360/lemon/94_100.jpg new file mode 100644 index 00000000..af6b7e68 Binary files /dev/null and b/examples/data/Fruit360/lemon/94_100.jpg differ diff --git a/examples/data/Fruit360/lemon/95_100.jpg b/examples/data/Fruit360/lemon/95_100.jpg new file mode 100644 index 00000000..a54b84b2 Binary files /dev/null and b/examples/data/Fruit360/lemon/95_100.jpg differ diff --git a/examples/data/Fruit360/lemon/96_100.jpg b/examples/data/Fruit360/lemon/96_100.jpg new file mode 100644 index 00000000..00b9d24e Binary files /dev/null and b/examples/data/Fruit360/lemon/96_100.jpg differ diff --git a/examples/data/Fruit360/lemon/97_100.jpg b/examples/data/Fruit360/lemon/97_100.jpg new file mode 100644 index 00000000..cc6f79ac Binary files /dev/null and b/examples/data/Fruit360/lemon/97_100.jpg differ diff --git a/examples/data/Fruit360/lemon/98_100.jpg b/examples/data/Fruit360/lemon/98_100.jpg new file mode 100644 index 00000000..dfca98ed Binary files /dev/null and b/examples/data/Fruit360/lemon/98_100.jpg differ diff --git a/examples/data/Fruit360/lemon/99_100.jpg b/examples/data/Fruit360/lemon/99_100.jpg new file mode 100644 index 00000000..5c65ffae Binary files /dev/null and b/examples/data/Fruit360/lemon/99_100.jpg differ diff --git a/examples/data/Fruit360/lemon/9_100.jpg b/examples/data/Fruit360/lemon/9_100.jpg new file mode 100644 index 00000000..df945f3a Binary files /dev/null and b/examples/data/Fruit360/lemon/9_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_100_100.jpg b/examples/data/Fruit360/lemon/r_100_100.jpg new file mode 100644 index 00000000..5212b3be Binary files /dev/null and b/examples/data/Fruit360/lemon/r_100_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_101_100.jpg b/examples/data/Fruit360/lemon/r_101_100.jpg new file mode 100644 index 00000000..f8c2a32a Binary files /dev/null and b/examples/data/Fruit360/lemon/r_101_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_102_100.jpg b/examples/data/Fruit360/lemon/r_102_100.jpg new file mode 100644 index 00000000..c09d52c6 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_102_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_103_100.jpg b/examples/data/Fruit360/lemon/r_103_100.jpg new file mode 100644 index 00000000..0ea17f25 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_103_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_104_100.jpg b/examples/data/Fruit360/lemon/r_104_100.jpg new file mode 100644 index 00000000..b270df93 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_104_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_105_100.jpg b/examples/data/Fruit360/lemon/r_105_100.jpg new file mode 100644 index 00000000..679939e8 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_105_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_106_100.jpg b/examples/data/Fruit360/lemon/r_106_100.jpg new file mode 100644 index 00000000..57e4cfee Binary files /dev/null and b/examples/data/Fruit360/lemon/r_106_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_107_100.jpg b/examples/data/Fruit360/lemon/r_107_100.jpg new file mode 100644 index 00000000..f0000843 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_107_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_108_100.jpg b/examples/data/Fruit360/lemon/r_108_100.jpg new file mode 100644 index 00000000..a67897e1 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_108_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_109_100.jpg b/examples/data/Fruit360/lemon/r_109_100.jpg new file mode 100644 index 00000000..74145b00 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_109_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_110_100.jpg b/examples/data/Fruit360/lemon/r_110_100.jpg new file mode 100644 index 00000000..b1deb36c Binary files /dev/null and b/examples/data/Fruit360/lemon/r_110_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_111_100.jpg b/examples/data/Fruit360/lemon/r_111_100.jpg new file mode 100644 index 00000000..c1710654 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_111_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_112_100.jpg b/examples/data/Fruit360/lemon/r_112_100.jpg new file mode 100644 index 00000000..65e5f0f9 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_112_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_113_100.jpg b/examples/data/Fruit360/lemon/r_113_100.jpg new file mode 100644 index 00000000..5a659a8f Binary files /dev/null and b/examples/data/Fruit360/lemon/r_113_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_114_100.jpg b/examples/data/Fruit360/lemon/r_114_100.jpg new file mode 100644 index 00000000..a390fa83 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_114_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_115_100.jpg b/examples/data/Fruit360/lemon/r_115_100.jpg new file mode 100644 index 00000000..0e41b38f Binary files /dev/null and b/examples/data/Fruit360/lemon/r_115_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_116_100.jpg b/examples/data/Fruit360/lemon/r_116_100.jpg new file mode 100644 index 00000000..ad747e27 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_116_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_117_100.jpg b/examples/data/Fruit360/lemon/r_117_100.jpg new file mode 100644 index 00000000..7bdf1c42 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_117_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_118_100.jpg b/examples/data/Fruit360/lemon/r_118_100.jpg new file mode 100644 index 00000000..96c0f6db Binary files /dev/null and b/examples/data/Fruit360/lemon/r_118_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_119_100.jpg b/examples/data/Fruit360/lemon/r_119_100.jpg new file mode 100644 index 00000000..c97427a6 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_119_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_120_100.jpg b/examples/data/Fruit360/lemon/r_120_100.jpg new file mode 100644 index 00000000..6f4f7ad2 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_120_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_121_100.jpg b/examples/data/Fruit360/lemon/r_121_100.jpg new file mode 100644 index 00000000..22436409 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_121_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_122_100.jpg b/examples/data/Fruit360/lemon/r_122_100.jpg new file mode 100644 index 00000000..a5ca614e Binary files /dev/null and b/examples/data/Fruit360/lemon/r_122_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_123_100.jpg b/examples/data/Fruit360/lemon/r_123_100.jpg new file mode 100644 index 00000000..9c0ed686 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_123_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_124_100.jpg b/examples/data/Fruit360/lemon/r_124_100.jpg new file mode 100644 index 00000000..597c0404 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_124_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_125_100.jpg b/examples/data/Fruit360/lemon/r_125_100.jpg new file mode 100644 index 00000000..e5feaccf Binary files /dev/null and b/examples/data/Fruit360/lemon/r_125_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_126_100.jpg b/examples/data/Fruit360/lemon/r_126_100.jpg new file mode 100644 index 00000000..fe8ad510 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_126_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_127_100.jpg b/examples/data/Fruit360/lemon/r_127_100.jpg new file mode 100644 index 00000000..9f7b9c77 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_127_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_128_100.jpg b/examples/data/Fruit360/lemon/r_128_100.jpg new file mode 100644 index 00000000..369a9841 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_128_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_129_100.jpg b/examples/data/Fruit360/lemon/r_129_100.jpg new file mode 100644 index 00000000..16534230 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_129_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_130_100.jpg b/examples/data/Fruit360/lemon/r_130_100.jpg new file mode 100644 index 00000000..310bd7c3 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_130_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_131_100.jpg b/examples/data/Fruit360/lemon/r_131_100.jpg new file mode 100644 index 00000000..8b27bc43 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_131_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_132_100.jpg b/examples/data/Fruit360/lemon/r_132_100.jpg new file mode 100644 index 00000000..57231455 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_132_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_133_100.jpg b/examples/data/Fruit360/lemon/r_133_100.jpg new file mode 100644 index 00000000..2e8c2bc5 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_133_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_134_100.jpg b/examples/data/Fruit360/lemon/r_134_100.jpg new file mode 100644 index 00000000..e0e8f238 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_134_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_135_100.jpg b/examples/data/Fruit360/lemon/r_135_100.jpg new file mode 100644 index 00000000..30659861 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_135_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_136_100.jpg b/examples/data/Fruit360/lemon/r_136_100.jpg new file mode 100644 index 00000000..b34e7f4f Binary files /dev/null and b/examples/data/Fruit360/lemon/r_136_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_137_100.jpg b/examples/data/Fruit360/lemon/r_137_100.jpg new file mode 100644 index 00000000..2ec46a48 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_137_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_138_100.jpg b/examples/data/Fruit360/lemon/r_138_100.jpg new file mode 100644 index 00000000..d194def6 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_138_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_139_100.jpg b/examples/data/Fruit360/lemon/r_139_100.jpg new file mode 100644 index 00000000..28023714 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_139_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_140_100.jpg b/examples/data/Fruit360/lemon/r_140_100.jpg new file mode 100644 index 00000000..1e8aee19 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_140_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_141_100.jpg b/examples/data/Fruit360/lemon/r_141_100.jpg new file mode 100644 index 00000000..69afb4bd Binary files /dev/null and b/examples/data/Fruit360/lemon/r_141_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_142_100.jpg b/examples/data/Fruit360/lemon/r_142_100.jpg new file mode 100644 index 00000000..cd2a7dc5 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_142_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_143_100.jpg b/examples/data/Fruit360/lemon/r_143_100.jpg new file mode 100644 index 00000000..8ac54098 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_143_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_144_100.jpg b/examples/data/Fruit360/lemon/r_144_100.jpg new file mode 100644 index 00000000..05678e4e Binary files /dev/null and b/examples/data/Fruit360/lemon/r_144_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_145_100.jpg b/examples/data/Fruit360/lemon/r_145_100.jpg new file mode 100644 index 00000000..e00dbd0d Binary files /dev/null and b/examples/data/Fruit360/lemon/r_145_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_146_100.jpg b/examples/data/Fruit360/lemon/r_146_100.jpg new file mode 100644 index 00000000..8b008bfb Binary files /dev/null and b/examples/data/Fruit360/lemon/r_146_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_147_100.jpg b/examples/data/Fruit360/lemon/r_147_100.jpg new file mode 100644 index 00000000..b2dd3a19 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_147_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_148_100.jpg b/examples/data/Fruit360/lemon/r_148_100.jpg new file mode 100644 index 00000000..cf6f80be Binary files /dev/null and b/examples/data/Fruit360/lemon/r_148_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_149_100.jpg b/examples/data/Fruit360/lemon/r_149_100.jpg new file mode 100644 index 00000000..dc4571cd Binary files /dev/null and b/examples/data/Fruit360/lemon/r_149_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_150_100.jpg b/examples/data/Fruit360/lemon/r_150_100.jpg new file mode 100644 index 00000000..9c9be3ca Binary files /dev/null and b/examples/data/Fruit360/lemon/r_150_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_151_100.jpg b/examples/data/Fruit360/lemon/r_151_100.jpg new file mode 100644 index 00000000..2ad3aafb Binary files /dev/null and b/examples/data/Fruit360/lemon/r_151_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_152_100.jpg b/examples/data/Fruit360/lemon/r_152_100.jpg new file mode 100644 index 00000000..7a9c9630 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_152_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_153_100.jpg b/examples/data/Fruit360/lemon/r_153_100.jpg new file mode 100644 index 00000000..e9ba0fcb Binary files /dev/null and b/examples/data/Fruit360/lemon/r_153_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_154_100.jpg b/examples/data/Fruit360/lemon/r_154_100.jpg new file mode 100644 index 00000000..c832b119 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_154_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_155_100.jpg b/examples/data/Fruit360/lemon/r_155_100.jpg new file mode 100644 index 00000000..dae6045e Binary files /dev/null and b/examples/data/Fruit360/lemon/r_155_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_156_100.jpg b/examples/data/Fruit360/lemon/r_156_100.jpg new file mode 100644 index 00000000..cdaf4519 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_156_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_157_100.jpg b/examples/data/Fruit360/lemon/r_157_100.jpg new file mode 100644 index 00000000..f7b25dac Binary files /dev/null and b/examples/data/Fruit360/lemon/r_157_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_158_100.jpg b/examples/data/Fruit360/lemon/r_158_100.jpg new file mode 100644 index 00000000..639ff5ca Binary files /dev/null and b/examples/data/Fruit360/lemon/r_158_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_159_100.jpg b/examples/data/Fruit360/lemon/r_159_100.jpg new file mode 100644 index 00000000..2e4830b9 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_159_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_160_100.jpg b/examples/data/Fruit360/lemon/r_160_100.jpg new file mode 100644 index 00000000..727fc394 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_160_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_161_100.jpg b/examples/data/Fruit360/lemon/r_161_100.jpg new file mode 100644 index 00000000..8ebb4cd7 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_161_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_162_100.jpg b/examples/data/Fruit360/lemon/r_162_100.jpg new file mode 100644 index 00000000..6be2f584 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_162_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_163_100.jpg b/examples/data/Fruit360/lemon/r_163_100.jpg new file mode 100644 index 00000000..3183c02e Binary files /dev/null and b/examples/data/Fruit360/lemon/r_163_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_164_100.jpg b/examples/data/Fruit360/lemon/r_164_100.jpg new file mode 100644 index 00000000..090cc5e6 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_164_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_165_100.jpg b/examples/data/Fruit360/lemon/r_165_100.jpg new file mode 100644 index 00000000..5d53c6db Binary files /dev/null and b/examples/data/Fruit360/lemon/r_165_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_166_100.jpg b/examples/data/Fruit360/lemon/r_166_100.jpg new file mode 100644 index 00000000..db4a8019 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_166_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_167_100.jpg b/examples/data/Fruit360/lemon/r_167_100.jpg new file mode 100644 index 00000000..e90e5c8b Binary files /dev/null and b/examples/data/Fruit360/lemon/r_167_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_168_100.jpg b/examples/data/Fruit360/lemon/r_168_100.jpg new file mode 100644 index 00000000..dd663cd7 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_168_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_169_100.jpg b/examples/data/Fruit360/lemon/r_169_100.jpg new file mode 100644 index 00000000..5473ef87 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_169_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_170_100.jpg b/examples/data/Fruit360/lemon/r_170_100.jpg new file mode 100644 index 00000000..635a691d Binary files /dev/null and b/examples/data/Fruit360/lemon/r_170_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_171_100.jpg b/examples/data/Fruit360/lemon/r_171_100.jpg new file mode 100644 index 00000000..c0a22fe9 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_171_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_172_100.jpg b/examples/data/Fruit360/lemon/r_172_100.jpg new file mode 100644 index 00000000..a94c9e47 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_172_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_173_100.jpg b/examples/data/Fruit360/lemon/r_173_100.jpg new file mode 100644 index 00000000..0c070782 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_173_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_174_100.jpg b/examples/data/Fruit360/lemon/r_174_100.jpg new file mode 100644 index 00000000..af0cbf01 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_174_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_175_100.jpg b/examples/data/Fruit360/lemon/r_175_100.jpg new file mode 100644 index 00000000..6f9c2b55 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_175_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_176_100.jpg b/examples/data/Fruit360/lemon/r_176_100.jpg new file mode 100644 index 00000000..af575e26 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_176_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_177_100.jpg b/examples/data/Fruit360/lemon/r_177_100.jpg new file mode 100644 index 00000000..e9906d88 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_177_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_179_100.jpg b/examples/data/Fruit360/lemon/r_179_100.jpg new file mode 100644 index 00000000..a668b0a4 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_179_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_200_100.jpg b/examples/data/Fruit360/lemon/r_200_100.jpg new file mode 100644 index 00000000..5d70ebe8 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_200_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_201_100.jpg b/examples/data/Fruit360/lemon/r_201_100.jpg new file mode 100644 index 00000000..b4a232ad Binary files /dev/null and b/examples/data/Fruit360/lemon/r_201_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_202_100.jpg b/examples/data/Fruit360/lemon/r_202_100.jpg new file mode 100644 index 00000000..5c360baf Binary files /dev/null and b/examples/data/Fruit360/lemon/r_202_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_203_100.jpg b/examples/data/Fruit360/lemon/r_203_100.jpg new file mode 100644 index 00000000..3daa7330 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_203_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_204_100.jpg b/examples/data/Fruit360/lemon/r_204_100.jpg new file mode 100644 index 00000000..0d370490 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_204_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_205_100.jpg b/examples/data/Fruit360/lemon/r_205_100.jpg new file mode 100644 index 00000000..0ca2f6e2 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_205_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_206_100.jpg b/examples/data/Fruit360/lemon/r_206_100.jpg new file mode 100644 index 00000000..2217532f Binary files /dev/null and b/examples/data/Fruit360/lemon/r_206_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_207_100.jpg b/examples/data/Fruit360/lemon/r_207_100.jpg new file mode 100644 index 00000000..f31cbe67 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_207_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_208_100.jpg b/examples/data/Fruit360/lemon/r_208_100.jpg new file mode 100644 index 00000000..2bc64908 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_208_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_209_100.jpg b/examples/data/Fruit360/lemon/r_209_100.jpg new file mode 100644 index 00000000..240feedc Binary files /dev/null and b/examples/data/Fruit360/lemon/r_209_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_210_100.jpg b/examples/data/Fruit360/lemon/r_210_100.jpg new file mode 100644 index 00000000..3fabed71 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_210_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_211_100.jpg b/examples/data/Fruit360/lemon/r_211_100.jpg new file mode 100644 index 00000000..b3ca2d1c Binary files /dev/null and b/examples/data/Fruit360/lemon/r_211_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_212_100.jpg b/examples/data/Fruit360/lemon/r_212_100.jpg new file mode 100644 index 00000000..78ce2d75 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_212_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_213_100.jpg b/examples/data/Fruit360/lemon/r_213_100.jpg new file mode 100644 index 00000000..983c40bc Binary files /dev/null and b/examples/data/Fruit360/lemon/r_213_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_214_100.jpg b/examples/data/Fruit360/lemon/r_214_100.jpg new file mode 100644 index 00000000..dd26f264 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_214_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_215_100.jpg b/examples/data/Fruit360/lemon/r_215_100.jpg new file mode 100644 index 00000000..84618288 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_215_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_216_100.jpg b/examples/data/Fruit360/lemon/r_216_100.jpg new file mode 100644 index 00000000..3dc80f8b Binary files /dev/null and b/examples/data/Fruit360/lemon/r_216_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_217_100.jpg b/examples/data/Fruit360/lemon/r_217_100.jpg new file mode 100644 index 00000000..79ffac76 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_217_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_218_100.jpg b/examples/data/Fruit360/lemon/r_218_100.jpg new file mode 100644 index 00000000..929a6735 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_218_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_219_100.jpg b/examples/data/Fruit360/lemon/r_219_100.jpg new file mode 100644 index 00000000..54264aa5 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_219_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_220_100.jpg b/examples/data/Fruit360/lemon/r_220_100.jpg new file mode 100644 index 00000000..0e0ea42f Binary files /dev/null and b/examples/data/Fruit360/lemon/r_220_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_221_100.jpg b/examples/data/Fruit360/lemon/r_221_100.jpg new file mode 100644 index 00000000..614eb836 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_221_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_222_100.jpg b/examples/data/Fruit360/lemon/r_222_100.jpg new file mode 100644 index 00000000..cf6e5fac Binary files /dev/null and b/examples/data/Fruit360/lemon/r_222_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_223_100.jpg b/examples/data/Fruit360/lemon/r_223_100.jpg new file mode 100644 index 00000000..b89262d0 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_223_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_224_100.jpg b/examples/data/Fruit360/lemon/r_224_100.jpg new file mode 100644 index 00000000..d387980a Binary files /dev/null and b/examples/data/Fruit360/lemon/r_224_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_225_100.jpg b/examples/data/Fruit360/lemon/r_225_100.jpg new file mode 100644 index 00000000..a86e0e41 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_225_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_226_100.jpg b/examples/data/Fruit360/lemon/r_226_100.jpg new file mode 100644 index 00000000..fe7d0d3f Binary files /dev/null and b/examples/data/Fruit360/lemon/r_226_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_227_100.jpg b/examples/data/Fruit360/lemon/r_227_100.jpg new file mode 100644 index 00000000..0a673d31 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_227_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_228_100.jpg b/examples/data/Fruit360/lemon/r_228_100.jpg new file mode 100644 index 00000000..20dd9cd9 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_228_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_229_100.jpg b/examples/data/Fruit360/lemon/r_229_100.jpg new file mode 100644 index 00000000..4d7e1f2d Binary files /dev/null and b/examples/data/Fruit360/lemon/r_229_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_230_100.jpg b/examples/data/Fruit360/lemon/r_230_100.jpg new file mode 100644 index 00000000..68451634 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_230_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_231_100.jpg b/examples/data/Fruit360/lemon/r_231_100.jpg new file mode 100644 index 00000000..7a8e2b3f Binary files /dev/null and b/examples/data/Fruit360/lemon/r_231_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_232_100.jpg b/examples/data/Fruit360/lemon/r_232_100.jpg new file mode 100644 index 00000000..f804cbb7 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_232_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_233_100.jpg b/examples/data/Fruit360/lemon/r_233_100.jpg new file mode 100644 index 00000000..1dd8ba13 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_233_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_234_100.jpg b/examples/data/Fruit360/lemon/r_234_100.jpg new file mode 100644 index 00000000..9d34d7f4 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_234_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_235_100.jpg b/examples/data/Fruit360/lemon/r_235_100.jpg new file mode 100644 index 00000000..98c6683e Binary files /dev/null and b/examples/data/Fruit360/lemon/r_235_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_236_100.jpg b/examples/data/Fruit360/lemon/r_236_100.jpg new file mode 100644 index 00000000..52a9e37c Binary files /dev/null and b/examples/data/Fruit360/lemon/r_236_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_237_100.jpg b/examples/data/Fruit360/lemon/r_237_100.jpg new file mode 100644 index 00000000..44a5f69b Binary files /dev/null and b/examples/data/Fruit360/lemon/r_237_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_238_100.jpg b/examples/data/Fruit360/lemon/r_238_100.jpg new file mode 100644 index 00000000..a47abdc6 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_238_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_239_100.jpg b/examples/data/Fruit360/lemon/r_239_100.jpg new file mode 100644 index 00000000..eab56731 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_239_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_240_100.jpg b/examples/data/Fruit360/lemon/r_240_100.jpg new file mode 100644 index 00000000..709df9eb Binary files /dev/null and b/examples/data/Fruit360/lemon/r_240_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_241_100.jpg b/examples/data/Fruit360/lemon/r_241_100.jpg new file mode 100644 index 00000000..305a64c0 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_241_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_242_100.jpg b/examples/data/Fruit360/lemon/r_242_100.jpg new file mode 100644 index 00000000..6d276826 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_242_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_243_100.jpg b/examples/data/Fruit360/lemon/r_243_100.jpg new file mode 100644 index 00000000..f826cfd5 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_243_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_244_100.jpg b/examples/data/Fruit360/lemon/r_244_100.jpg new file mode 100644 index 00000000..cf398eff Binary files /dev/null and b/examples/data/Fruit360/lemon/r_244_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_245_100.jpg b/examples/data/Fruit360/lemon/r_245_100.jpg new file mode 100644 index 00000000..a8735d61 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_245_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_246_100.jpg b/examples/data/Fruit360/lemon/r_246_100.jpg new file mode 100644 index 00000000..e2765a72 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_246_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_247_100.jpg b/examples/data/Fruit360/lemon/r_247_100.jpg new file mode 100644 index 00000000..888dd7ae Binary files /dev/null and b/examples/data/Fruit360/lemon/r_247_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_248_100.jpg b/examples/data/Fruit360/lemon/r_248_100.jpg new file mode 100644 index 00000000..0514294d Binary files /dev/null and b/examples/data/Fruit360/lemon/r_248_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_249_100.jpg b/examples/data/Fruit360/lemon/r_249_100.jpg new file mode 100644 index 00000000..13603f2a Binary files /dev/null and b/examples/data/Fruit360/lemon/r_249_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_250_100.jpg b/examples/data/Fruit360/lemon/r_250_100.jpg new file mode 100644 index 00000000..02f7e9d6 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_250_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_251_100.jpg b/examples/data/Fruit360/lemon/r_251_100.jpg new file mode 100644 index 00000000..2c2ad26d Binary files /dev/null and b/examples/data/Fruit360/lemon/r_251_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_252_100.jpg b/examples/data/Fruit360/lemon/r_252_100.jpg new file mode 100644 index 00000000..9259dbde Binary files /dev/null and b/examples/data/Fruit360/lemon/r_252_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_253_100.jpg b/examples/data/Fruit360/lemon/r_253_100.jpg new file mode 100644 index 00000000..358d8c9a Binary files /dev/null and b/examples/data/Fruit360/lemon/r_253_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_254_100.jpg b/examples/data/Fruit360/lemon/r_254_100.jpg new file mode 100644 index 00000000..03ff6f26 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_254_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_255_100.jpg b/examples/data/Fruit360/lemon/r_255_100.jpg new file mode 100644 index 00000000..bbf22c86 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_255_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_256_100.jpg b/examples/data/Fruit360/lemon/r_256_100.jpg new file mode 100644 index 00000000..0247a06b Binary files /dev/null and b/examples/data/Fruit360/lemon/r_256_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_257_100.jpg b/examples/data/Fruit360/lemon/r_257_100.jpg new file mode 100644 index 00000000..82c219ec Binary files /dev/null and b/examples/data/Fruit360/lemon/r_257_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_258_100.jpg b/examples/data/Fruit360/lemon/r_258_100.jpg new file mode 100644 index 00000000..afcee446 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_258_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_259_100.jpg b/examples/data/Fruit360/lemon/r_259_100.jpg new file mode 100644 index 00000000..f1dd89dc Binary files /dev/null and b/examples/data/Fruit360/lemon/r_259_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_260_100.jpg b/examples/data/Fruit360/lemon/r_260_100.jpg new file mode 100644 index 00000000..e9b42887 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_260_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_261_100.jpg b/examples/data/Fruit360/lemon/r_261_100.jpg new file mode 100644 index 00000000..9b29c81f Binary files /dev/null and b/examples/data/Fruit360/lemon/r_261_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_262_100.jpg b/examples/data/Fruit360/lemon/r_262_100.jpg new file mode 100644 index 00000000..3ded584c Binary files /dev/null and b/examples/data/Fruit360/lemon/r_262_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_263_100.jpg b/examples/data/Fruit360/lemon/r_263_100.jpg new file mode 100644 index 00000000..2b7ceb14 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_263_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_264_100.jpg b/examples/data/Fruit360/lemon/r_264_100.jpg new file mode 100644 index 00000000..d28af1e2 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_264_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_265_100.jpg b/examples/data/Fruit360/lemon/r_265_100.jpg new file mode 100644 index 00000000..c21fb392 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_265_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_266_100.jpg b/examples/data/Fruit360/lemon/r_266_100.jpg new file mode 100644 index 00000000..aa7144c0 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_266_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_267_100.jpg b/examples/data/Fruit360/lemon/r_267_100.jpg new file mode 100644 index 00000000..b87cc8f5 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_267_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_268_100.jpg b/examples/data/Fruit360/lemon/r_268_100.jpg new file mode 100644 index 00000000..036868e9 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_268_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_269_100.jpg b/examples/data/Fruit360/lemon/r_269_100.jpg new file mode 100644 index 00000000..89a37b6d Binary files /dev/null and b/examples/data/Fruit360/lemon/r_269_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_26_100.jpg b/examples/data/Fruit360/lemon/r_26_100.jpg new file mode 100644 index 00000000..4d965355 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_26_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_270_100.jpg b/examples/data/Fruit360/lemon/r_270_100.jpg new file mode 100644 index 00000000..66be862e Binary files /dev/null and b/examples/data/Fruit360/lemon/r_270_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_271_100.jpg b/examples/data/Fruit360/lemon/r_271_100.jpg new file mode 100644 index 00000000..87ac6dd1 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_271_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_272_100.jpg b/examples/data/Fruit360/lemon/r_272_100.jpg new file mode 100644 index 00000000..cd6e5b34 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_272_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_273_100.jpg b/examples/data/Fruit360/lemon/r_273_100.jpg new file mode 100644 index 00000000..4783426d Binary files /dev/null and b/examples/data/Fruit360/lemon/r_273_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_274_100.jpg b/examples/data/Fruit360/lemon/r_274_100.jpg new file mode 100644 index 00000000..77cd786b Binary files /dev/null and b/examples/data/Fruit360/lemon/r_274_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_275_100.jpg b/examples/data/Fruit360/lemon/r_275_100.jpg new file mode 100644 index 00000000..5124f11f Binary files /dev/null and b/examples/data/Fruit360/lemon/r_275_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_276_100.jpg b/examples/data/Fruit360/lemon/r_276_100.jpg new file mode 100644 index 00000000..17af9a4a Binary files /dev/null and b/examples/data/Fruit360/lemon/r_276_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_277_100.jpg b/examples/data/Fruit360/lemon/r_277_100.jpg new file mode 100644 index 00000000..438126c1 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_277_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_278_100.jpg b/examples/data/Fruit360/lemon/r_278_100.jpg new file mode 100644 index 00000000..7f186741 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_278_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_279_100.jpg b/examples/data/Fruit360/lemon/r_279_100.jpg new file mode 100644 index 00000000..2de71150 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_279_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_27_100.jpg b/examples/data/Fruit360/lemon/r_27_100.jpg new file mode 100644 index 00000000..e26b0df0 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_27_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_280_100.jpg b/examples/data/Fruit360/lemon/r_280_100.jpg new file mode 100644 index 00000000..60788319 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_280_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_281_100.jpg b/examples/data/Fruit360/lemon/r_281_100.jpg new file mode 100644 index 00000000..616d14f5 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_281_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_282_100.jpg b/examples/data/Fruit360/lemon/r_282_100.jpg new file mode 100644 index 00000000..1b0dfc6c Binary files /dev/null and b/examples/data/Fruit360/lemon/r_282_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_283_100.jpg b/examples/data/Fruit360/lemon/r_283_100.jpg new file mode 100644 index 00000000..856c8a1d Binary files /dev/null and b/examples/data/Fruit360/lemon/r_283_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_284_100.jpg b/examples/data/Fruit360/lemon/r_284_100.jpg new file mode 100644 index 00000000..2c02ab3c Binary files /dev/null and b/examples/data/Fruit360/lemon/r_284_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_285_100.jpg b/examples/data/Fruit360/lemon/r_285_100.jpg new file mode 100644 index 00000000..fceab225 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_285_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_286_100.jpg b/examples/data/Fruit360/lemon/r_286_100.jpg new file mode 100644 index 00000000..961e4b08 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_286_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_287_100.jpg b/examples/data/Fruit360/lemon/r_287_100.jpg new file mode 100644 index 00000000..02983e6d Binary files /dev/null and b/examples/data/Fruit360/lemon/r_287_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_288_100.jpg b/examples/data/Fruit360/lemon/r_288_100.jpg new file mode 100644 index 00000000..df653e95 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_288_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_289_100.jpg b/examples/data/Fruit360/lemon/r_289_100.jpg new file mode 100644 index 00000000..2e75c690 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_289_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_290_100.jpg b/examples/data/Fruit360/lemon/r_290_100.jpg new file mode 100644 index 00000000..373abf3f Binary files /dev/null and b/examples/data/Fruit360/lemon/r_290_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_291_100.jpg b/examples/data/Fruit360/lemon/r_291_100.jpg new file mode 100644 index 00000000..4afb466a Binary files /dev/null and b/examples/data/Fruit360/lemon/r_291_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_292_100.jpg b/examples/data/Fruit360/lemon/r_292_100.jpg new file mode 100644 index 00000000..699279e3 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_292_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_293_100.jpg b/examples/data/Fruit360/lemon/r_293_100.jpg new file mode 100644 index 00000000..87109966 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_293_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_294_100.jpg b/examples/data/Fruit360/lemon/r_294_100.jpg new file mode 100644 index 00000000..1e663dc5 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_294_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_295_100.jpg b/examples/data/Fruit360/lemon/r_295_100.jpg new file mode 100644 index 00000000..9d2ccfa3 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_295_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_296_100.jpg b/examples/data/Fruit360/lemon/r_296_100.jpg new file mode 100644 index 00000000..7205f438 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_296_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_297_100.jpg b/examples/data/Fruit360/lemon/r_297_100.jpg new file mode 100644 index 00000000..0f25739c Binary files /dev/null and b/examples/data/Fruit360/lemon/r_297_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_298_100.jpg b/examples/data/Fruit360/lemon/r_298_100.jpg new file mode 100644 index 00000000..5ecccbea Binary files /dev/null and b/examples/data/Fruit360/lemon/r_298_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_299_100.jpg b/examples/data/Fruit360/lemon/r_299_100.jpg new file mode 100644 index 00000000..89f180f4 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_299_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_300_100.jpg b/examples/data/Fruit360/lemon/r_300_100.jpg new file mode 100644 index 00000000..a09e47f9 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_300_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_311_100.jpg b/examples/data/Fruit360/lemon/r_311_100.jpg new file mode 100644 index 00000000..df50c518 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_311_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_314_100.jpg b/examples/data/Fruit360/lemon/r_314_100.jpg new file mode 100644 index 00000000..33076219 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_314_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_321_100.jpg b/examples/data/Fruit360/lemon/r_321_100.jpg new file mode 100644 index 00000000..37627a76 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_321_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_32_100.jpg b/examples/data/Fruit360/lemon/r_32_100.jpg new file mode 100644 index 00000000..58f39eb8 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_32_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_33_100.jpg b/examples/data/Fruit360/lemon/r_33_100.jpg new file mode 100644 index 00000000..2f1ba82b Binary files /dev/null and b/examples/data/Fruit360/lemon/r_33_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_34_100.jpg b/examples/data/Fruit360/lemon/r_34_100.jpg new file mode 100644 index 00000000..616bb243 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_34_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_35_100.jpg b/examples/data/Fruit360/lemon/r_35_100.jpg new file mode 100644 index 00000000..57deb32c Binary files /dev/null and b/examples/data/Fruit360/lemon/r_35_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_36_100.jpg b/examples/data/Fruit360/lemon/r_36_100.jpg new file mode 100644 index 00000000..9a422f10 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_36_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_37_100.jpg b/examples/data/Fruit360/lemon/r_37_100.jpg new file mode 100644 index 00000000..61ec449d Binary files /dev/null and b/examples/data/Fruit360/lemon/r_37_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_38_100.jpg b/examples/data/Fruit360/lemon/r_38_100.jpg new file mode 100644 index 00000000..6806c0b1 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_38_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_39_100.jpg b/examples/data/Fruit360/lemon/r_39_100.jpg new file mode 100644 index 00000000..41f07d5f Binary files /dev/null and b/examples/data/Fruit360/lemon/r_39_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_40_100.jpg b/examples/data/Fruit360/lemon/r_40_100.jpg new file mode 100644 index 00000000..4763ae98 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_40_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_41_100.jpg b/examples/data/Fruit360/lemon/r_41_100.jpg new file mode 100644 index 00000000..9948d0af Binary files /dev/null and b/examples/data/Fruit360/lemon/r_41_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_42_100.jpg b/examples/data/Fruit360/lemon/r_42_100.jpg new file mode 100644 index 00000000..0eb78dc4 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_42_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_43_100.jpg b/examples/data/Fruit360/lemon/r_43_100.jpg new file mode 100644 index 00000000..f8e92218 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_43_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_44_100.jpg b/examples/data/Fruit360/lemon/r_44_100.jpg new file mode 100644 index 00000000..020547dc Binary files /dev/null and b/examples/data/Fruit360/lemon/r_44_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_45_100.jpg b/examples/data/Fruit360/lemon/r_45_100.jpg new file mode 100644 index 00000000..0f64f8d7 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_45_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_46_100.jpg b/examples/data/Fruit360/lemon/r_46_100.jpg new file mode 100644 index 00000000..6e983c13 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_46_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_47_100.jpg b/examples/data/Fruit360/lemon/r_47_100.jpg new file mode 100644 index 00000000..628fd006 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_47_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_48_100.jpg b/examples/data/Fruit360/lemon/r_48_100.jpg new file mode 100644 index 00000000..44d4535e Binary files /dev/null and b/examples/data/Fruit360/lemon/r_48_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_49_100.jpg b/examples/data/Fruit360/lemon/r_49_100.jpg new file mode 100644 index 00000000..a8360793 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_49_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_51_100.jpg b/examples/data/Fruit360/lemon/r_51_100.jpg new file mode 100644 index 00000000..3d0697de Binary files /dev/null and b/examples/data/Fruit360/lemon/r_51_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_52_100.jpg b/examples/data/Fruit360/lemon/r_52_100.jpg new file mode 100644 index 00000000..a0b4c449 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_52_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_53_100.jpg b/examples/data/Fruit360/lemon/r_53_100.jpg new file mode 100644 index 00000000..a3c926bd Binary files /dev/null and b/examples/data/Fruit360/lemon/r_53_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_58_100.jpg b/examples/data/Fruit360/lemon/r_58_100.jpg new file mode 100644 index 00000000..150a608e Binary files /dev/null and b/examples/data/Fruit360/lemon/r_58_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_61_100.jpg b/examples/data/Fruit360/lemon/r_61_100.jpg new file mode 100644 index 00000000..49e16f92 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_61_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_62_100.jpg b/examples/data/Fruit360/lemon/r_62_100.jpg new file mode 100644 index 00000000..32d7c331 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_62_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_64_100.jpg b/examples/data/Fruit360/lemon/r_64_100.jpg new file mode 100644 index 00000000..f891d3d1 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_64_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_65_100.jpg b/examples/data/Fruit360/lemon/r_65_100.jpg new file mode 100644 index 00000000..7559bf80 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_65_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_66_100.jpg b/examples/data/Fruit360/lemon/r_66_100.jpg new file mode 100644 index 00000000..aafd37d6 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_66_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_67_100.jpg b/examples/data/Fruit360/lemon/r_67_100.jpg new file mode 100644 index 00000000..027e64aa Binary files /dev/null and b/examples/data/Fruit360/lemon/r_67_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_68_100.jpg b/examples/data/Fruit360/lemon/r_68_100.jpg new file mode 100644 index 00000000..799347ae Binary files /dev/null and b/examples/data/Fruit360/lemon/r_68_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_69_100.jpg b/examples/data/Fruit360/lemon/r_69_100.jpg new file mode 100644 index 00000000..b9fd5ac5 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_69_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_70_100.jpg b/examples/data/Fruit360/lemon/r_70_100.jpg new file mode 100644 index 00000000..99efd038 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_70_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_71_100.jpg b/examples/data/Fruit360/lemon/r_71_100.jpg new file mode 100644 index 00000000..95d35ced Binary files /dev/null and b/examples/data/Fruit360/lemon/r_71_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_72_100.jpg b/examples/data/Fruit360/lemon/r_72_100.jpg new file mode 100644 index 00000000..d066b697 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_72_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_73_100.jpg b/examples/data/Fruit360/lemon/r_73_100.jpg new file mode 100644 index 00000000..0ce89207 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_73_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_74_100.jpg b/examples/data/Fruit360/lemon/r_74_100.jpg new file mode 100644 index 00000000..b2dc99aa Binary files /dev/null and b/examples/data/Fruit360/lemon/r_74_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_75_100.jpg b/examples/data/Fruit360/lemon/r_75_100.jpg new file mode 100644 index 00000000..da05a89b Binary files /dev/null and b/examples/data/Fruit360/lemon/r_75_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_76_100.jpg b/examples/data/Fruit360/lemon/r_76_100.jpg new file mode 100644 index 00000000..d9c8a9b5 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_76_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_77_100.jpg b/examples/data/Fruit360/lemon/r_77_100.jpg new file mode 100644 index 00000000..57149769 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_77_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_78_100.jpg b/examples/data/Fruit360/lemon/r_78_100.jpg new file mode 100644 index 00000000..c0d5b717 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_78_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_79_100.jpg b/examples/data/Fruit360/lemon/r_79_100.jpg new file mode 100644 index 00000000..2b83e68c Binary files /dev/null and b/examples/data/Fruit360/lemon/r_79_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_80_100.jpg b/examples/data/Fruit360/lemon/r_80_100.jpg new file mode 100644 index 00000000..a85db312 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_80_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_81_100.jpg b/examples/data/Fruit360/lemon/r_81_100.jpg new file mode 100644 index 00000000..413e659c Binary files /dev/null and b/examples/data/Fruit360/lemon/r_81_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_82_100.jpg b/examples/data/Fruit360/lemon/r_82_100.jpg new file mode 100644 index 00000000..9751d804 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_82_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_83_100.jpg b/examples/data/Fruit360/lemon/r_83_100.jpg new file mode 100644 index 00000000..160156e8 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_83_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_84_100.jpg b/examples/data/Fruit360/lemon/r_84_100.jpg new file mode 100644 index 00000000..ff2aeb02 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_84_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_85_100.jpg b/examples/data/Fruit360/lemon/r_85_100.jpg new file mode 100644 index 00000000..b4c42ee8 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_85_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_86_100.jpg b/examples/data/Fruit360/lemon/r_86_100.jpg new file mode 100644 index 00000000..0998f719 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_86_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_87_100.jpg b/examples/data/Fruit360/lemon/r_87_100.jpg new file mode 100644 index 00000000..4cb4c70e Binary files /dev/null and b/examples/data/Fruit360/lemon/r_87_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_88_100.jpg b/examples/data/Fruit360/lemon/r_88_100.jpg new file mode 100644 index 00000000..fb9ce3f7 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_88_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_89_100.jpg b/examples/data/Fruit360/lemon/r_89_100.jpg new file mode 100644 index 00000000..bc243f95 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_89_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_90_100.jpg b/examples/data/Fruit360/lemon/r_90_100.jpg new file mode 100644 index 00000000..ce4b302f Binary files /dev/null and b/examples/data/Fruit360/lemon/r_90_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_91_100.jpg b/examples/data/Fruit360/lemon/r_91_100.jpg new file mode 100644 index 00000000..0a621220 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_91_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_92_100.jpg b/examples/data/Fruit360/lemon/r_92_100.jpg new file mode 100644 index 00000000..230c40a1 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_92_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_93_100.jpg b/examples/data/Fruit360/lemon/r_93_100.jpg new file mode 100644 index 00000000..95824a81 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_93_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_94_100.jpg b/examples/data/Fruit360/lemon/r_94_100.jpg new file mode 100644 index 00000000..841b5e4d Binary files /dev/null and b/examples/data/Fruit360/lemon/r_94_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_95_100.jpg b/examples/data/Fruit360/lemon/r_95_100.jpg new file mode 100644 index 00000000..385690cc Binary files /dev/null and b/examples/data/Fruit360/lemon/r_95_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_96_100.jpg b/examples/data/Fruit360/lemon/r_96_100.jpg new file mode 100644 index 00000000..d8b312e6 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_96_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_97_100.jpg b/examples/data/Fruit360/lemon/r_97_100.jpg new file mode 100644 index 00000000..7860e4eb Binary files /dev/null and b/examples/data/Fruit360/lemon/r_97_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_98_100.jpg b/examples/data/Fruit360/lemon/r_98_100.jpg new file mode 100644 index 00000000..1a3242be Binary files /dev/null and b/examples/data/Fruit360/lemon/r_98_100.jpg differ diff --git a/examples/data/Fruit360/lemon/r_99_100.jpg b/examples/data/Fruit360/lemon/r_99_100.jpg new file mode 100644 index 00000000..ac0d1f93 Binary files /dev/null and b/examples/data/Fruit360/lemon/r_99_100.jpg differ diff --git a/examples/data/Fruit360/mango/100_100.jpg b/examples/data/Fruit360/mango/100_100.jpg new file mode 100644 index 00000000..f70461ff Binary files /dev/null and b/examples/data/Fruit360/mango/100_100.jpg differ diff --git a/examples/data/Fruit360/mango/101_100.jpg b/examples/data/Fruit360/mango/101_100.jpg new file mode 100644 index 00000000..e04f7b88 Binary files /dev/null and b/examples/data/Fruit360/mango/101_100.jpg differ diff --git a/examples/data/Fruit360/mango/102_100.jpg b/examples/data/Fruit360/mango/102_100.jpg new file mode 100644 index 00000000..3d00c803 Binary files /dev/null and b/examples/data/Fruit360/mango/102_100.jpg differ diff --git a/examples/data/Fruit360/mango/103_100.jpg b/examples/data/Fruit360/mango/103_100.jpg new file mode 100644 index 00000000..413fcb0b Binary files /dev/null and b/examples/data/Fruit360/mango/103_100.jpg differ diff --git a/examples/data/Fruit360/mango/104_100.jpg b/examples/data/Fruit360/mango/104_100.jpg new file mode 100644 index 00000000..d6ac22f5 Binary files /dev/null and b/examples/data/Fruit360/mango/104_100.jpg differ diff --git a/examples/data/Fruit360/mango/105_100.jpg b/examples/data/Fruit360/mango/105_100.jpg new file mode 100644 index 00000000..4b1dd106 Binary files /dev/null and b/examples/data/Fruit360/mango/105_100.jpg differ diff --git a/examples/data/Fruit360/mango/106_100.jpg b/examples/data/Fruit360/mango/106_100.jpg new file mode 100644 index 00000000..b7294f6a Binary files /dev/null and b/examples/data/Fruit360/mango/106_100.jpg differ diff --git a/examples/data/Fruit360/mango/107_100.jpg b/examples/data/Fruit360/mango/107_100.jpg new file mode 100644 index 00000000..49a8c3d2 Binary files /dev/null and b/examples/data/Fruit360/mango/107_100.jpg differ diff --git a/examples/data/Fruit360/mango/108_100.jpg b/examples/data/Fruit360/mango/108_100.jpg new file mode 100644 index 00000000..0e3ae52f Binary files /dev/null and b/examples/data/Fruit360/mango/108_100.jpg differ diff --git a/examples/data/Fruit360/mango/109_100.jpg b/examples/data/Fruit360/mango/109_100.jpg new file mode 100644 index 00000000..652a5f4b Binary files /dev/null and b/examples/data/Fruit360/mango/109_100.jpg differ diff --git a/examples/data/Fruit360/mango/110_100.jpg b/examples/data/Fruit360/mango/110_100.jpg new file mode 100644 index 00000000..ed65565d Binary files /dev/null and b/examples/data/Fruit360/mango/110_100.jpg differ diff --git a/examples/data/Fruit360/mango/111_100.jpg b/examples/data/Fruit360/mango/111_100.jpg new file mode 100644 index 00000000..0c2198e9 Binary files /dev/null and b/examples/data/Fruit360/mango/111_100.jpg differ diff --git a/examples/data/Fruit360/mango/112_100.jpg b/examples/data/Fruit360/mango/112_100.jpg new file mode 100644 index 00000000..9847d2b8 Binary files /dev/null and b/examples/data/Fruit360/mango/112_100.jpg differ diff --git a/examples/data/Fruit360/mango/113_100.jpg b/examples/data/Fruit360/mango/113_100.jpg new file mode 100644 index 00000000..e34355d5 Binary files /dev/null and b/examples/data/Fruit360/mango/113_100.jpg differ diff --git a/examples/data/Fruit360/mango/114_100.jpg b/examples/data/Fruit360/mango/114_100.jpg new file mode 100644 index 00000000..b1985d6a Binary files /dev/null and b/examples/data/Fruit360/mango/114_100.jpg differ diff --git a/examples/data/Fruit360/mango/115_100.jpg b/examples/data/Fruit360/mango/115_100.jpg new file mode 100644 index 00000000..60e1f912 Binary files /dev/null and b/examples/data/Fruit360/mango/115_100.jpg differ diff --git a/examples/data/Fruit360/mango/116_100.jpg b/examples/data/Fruit360/mango/116_100.jpg new file mode 100644 index 00000000..f6861d25 Binary files /dev/null and b/examples/data/Fruit360/mango/116_100.jpg differ diff --git a/examples/data/Fruit360/mango/117_100.jpg b/examples/data/Fruit360/mango/117_100.jpg new file mode 100644 index 00000000..e803e941 Binary files /dev/null and b/examples/data/Fruit360/mango/117_100.jpg differ diff --git a/examples/data/Fruit360/mango/118_100.jpg b/examples/data/Fruit360/mango/118_100.jpg new file mode 100644 index 00000000..499f6a98 Binary files /dev/null and b/examples/data/Fruit360/mango/118_100.jpg differ diff --git a/examples/data/Fruit360/mango/119_100.jpg b/examples/data/Fruit360/mango/119_100.jpg new file mode 100644 index 00000000..4ebc78be Binary files /dev/null and b/examples/data/Fruit360/mango/119_100.jpg differ diff --git a/examples/data/Fruit360/mango/120_100.jpg b/examples/data/Fruit360/mango/120_100.jpg new file mode 100644 index 00000000..3fe446b7 Binary files /dev/null and b/examples/data/Fruit360/mango/120_100.jpg differ diff --git a/examples/data/Fruit360/mango/121_100.jpg b/examples/data/Fruit360/mango/121_100.jpg new file mode 100644 index 00000000..cdef65c9 Binary files /dev/null and b/examples/data/Fruit360/mango/121_100.jpg differ diff --git a/examples/data/Fruit360/mango/122_100.jpg b/examples/data/Fruit360/mango/122_100.jpg new file mode 100644 index 00000000..6d2e93e6 Binary files /dev/null and b/examples/data/Fruit360/mango/122_100.jpg differ diff --git a/examples/data/Fruit360/mango/123_100.jpg b/examples/data/Fruit360/mango/123_100.jpg new file mode 100644 index 00000000..1ca16b97 Binary files /dev/null and b/examples/data/Fruit360/mango/123_100.jpg differ diff --git a/examples/data/Fruit360/mango/124_100.jpg b/examples/data/Fruit360/mango/124_100.jpg new file mode 100644 index 00000000..c2a2fd55 Binary files /dev/null and b/examples/data/Fruit360/mango/124_100.jpg differ diff --git a/examples/data/Fruit360/mango/126_100.jpg b/examples/data/Fruit360/mango/126_100.jpg new file mode 100644 index 00000000..a4211c51 Binary files /dev/null and b/examples/data/Fruit360/mango/126_100.jpg differ diff --git a/examples/data/Fruit360/mango/127_100.jpg b/examples/data/Fruit360/mango/127_100.jpg new file mode 100644 index 00000000..102f415d Binary files /dev/null and b/examples/data/Fruit360/mango/127_100.jpg differ diff --git a/examples/data/Fruit360/mango/128_100.jpg b/examples/data/Fruit360/mango/128_100.jpg new file mode 100644 index 00000000..e300c5db Binary files /dev/null and b/examples/data/Fruit360/mango/128_100.jpg differ diff --git a/examples/data/Fruit360/mango/129_100.jpg b/examples/data/Fruit360/mango/129_100.jpg new file mode 100644 index 00000000..8c90e8e9 Binary files /dev/null and b/examples/data/Fruit360/mango/129_100.jpg differ diff --git a/examples/data/Fruit360/mango/13_100.jpg b/examples/data/Fruit360/mango/13_100.jpg new file mode 100644 index 00000000..7a24cb51 Binary files /dev/null and b/examples/data/Fruit360/mango/13_100.jpg differ diff --git a/examples/data/Fruit360/mango/154_100.jpg b/examples/data/Fruit360/mango/154_100.jpg new file mode 100644 index 00000000..9dcf547b Binary files /dev/null and b/examples/data/Fruit360/mango/154_100.jpg differ diff --git a/examples/data/Fruit360/mango/15_100.jpg b/examples/data/Fruit360/mango/15_100.jpg new file mode 100644 index 00000000..fdf5d2f1 Binary files /dev/null and b/examples/data/Fruit360/mango/15_100.jpg differ diff --git a/examples/data/Fruit360/mango/160_100.jpg b/examples/data/Fruit360/mango/160_100.jpg new file mode 100644 index 00000000..d8fd8624 Binary files /dev/null and b/examples/data/Fruit360/mango/160_100.jpg differ diff --git a/examples/data/Fruit360/mango/161_100.jpg b/examples/data/Fruit360/mango/161_100.jpg new file mode 100644 index 00000000..fcf7d506 Binary files /dev/null and b/examples/data/Fruit360/mango/161_100.jpg differ diff --git a/examples/data/Fruit360/mango/163_100.jpg b/examples/data/Fruit360/mango/163_100.jpg new file mode 100644 index 00000000..faea8729 Binary files /dev/null and b/examples/data/Fruit360/mango/163_100.jpg differ diff --git a/examples/data/Fruit360/mango/164_100.jpg b/examples/data/Fruit360/mango/164_100.jpg new file mode 100644 index 00000000..baf75874 Binary files /dev/null and b/examples/data/Fruit360/mango/164_100.jpg differ diff --git a/examples/data/Fruit360/mango/165_100.jpg b/examples/data/Fruit360/mango/165_100.jpg new file mode 100644 index 00000000..06e6145f Binary files /dev/null and b/examples/data/Fruit360/mango/165_100.jpg differ diff --git a/examples/data/Fruit360/mango/166_100.jpg b/examples/data/Fruit360/mango/166_100.jpg new file mode 100644 index 00000000..5d03e95d Binary files /dev/null and b/examples/data/Fruit360/mango/166_100.jpg differ diff --git a/examples/data/Fruit360/mango/167_100.jpg b/examples/data/Fruit360/mango/167_100.jpg new file mode 100644 index 00000000..aacb4eb7 Binary files /dev/null and b/examples/data/Fruit360/mango/167_100.jpg differ diff --git a/examples/data/Fruit360/mango/168_100.jpg b/examples/data/Fruit360/mango/168_100.jpg new file mode 100644 index 00000000..03f0f196 Binary files /dev/null and b/examples/data/Fruit360/mango/168_100.jpg differ diff --git a/examples/data/Fruit360/mango/169_100.jpg b/examples/data/Fruit360/mango/169_100.jpg new file mode 100644 index 00000000..23e9ddcc Binary files /dev/null and b/examples/data/Fruit360/mango/169_100.jpg differ diff --git a/examples/data/Fruit360/mango/16_100.jpg b/examples/data/Fruit360/mango/16_100.jpg new file mode 100644 index 00000000..6b403e0d Binary files /dev/null and b/examples/data/Fruit360/mango/16_100.jpg differ diff --git a/examples/data/Fruit360/mango/170_100.jpg b/examples/data/Fruit360/mango/170_100.jpg new file mode 100644 index 00000000..9b2436fb Binary files /dev/null and b/examples/data/Fruit360/mango/170_100.jpg differ diff --git a/examples/data/Fruit360/mango/171_100.jpg b/examples/data/Fruit360/mango/171_100.jpg new file mode 100644 index 00000000..5d5be4e8 Binary files /dev/null and b/examples/data/Fruit360/mango/171_100.jpg differ diff --git a/examples/data/Fruit360/mango/172_100.jpg b/examples/data/Fruit360/mango/172_100.jpg new file mode 100644 index 00000000..9a98817e Binary files /dev/null and b/examples/data/Fruit360/mango/172_100.jpg differ diff --git a/examples/data/Fruit360/mango/173_100.jpg b/examples/data/Fruit360/mango/173_100.jpg new file mode 100644 index 00000000..a3c6d18b Binary files /dev/null and b/examples/data/Fruit360/mango/173_100.jpg differ diff --git a/examples/data/Fruit360/mango/174_100.jpg b/examples/data/Fruit360/mango/174_100.jpg new file mode 100644 index 00000000..840e3193 Binary files /dev/null and b/examples/data/Fruit360/mango/174_100.jpg differ diff --git a/examples/data/Fruit360/mango/175_100.jpg b/examples/data/Fruit360/mango/175_100.jpg new file mode 100644 index 00000000..67d2c4ff Binary files /dev/null and b/examples/data/Fruit360/mango/175_100.jpg differ diff --git a/examples/data/Fruit360/mango/176_100.jpg b/examples/data/Fruit360/mango/176_100.jpg new file mode 100644 index 00000000..81576fe6 Binary files /dev/null and b/examples/data/Fruit360/mango/176_100.jpg differ diff --git a/examples/data/Fruit360/mango/177_100.jpg b/examples/data/Fruit360/mango/177_100.jpg new file mode 100644 index 00000000..df303119 Binary files /dev/null and b/examples/data/Fruit360/mango/177_100.jpg differ diff --git a/examples/data/Fruit360/mango/178_100.jpg b/examples/data/Fruit360/mango/178_100.jpg new file mode 100644 index 00000000..44827b36 Binary files /dev/null and b/examples/data/Fruit360/mango/178_100.jpg differ diff --git a/examples/data/Fruit360/mango/179_100.jpg b/examples/data/Fruit360/mango/179_100.jpg new file mode 100644 index 00000000..4399bd19 Binary files /dev/null and b/examples/data/Fruit360/mango/179_100.jpg differ diff --git a/examples/data/Fruit360/mango/17_100.jpg b/examples/data/Fruit360/mango/17_100.jpg new file mode 100644 index 00000000..6dd668dd Binary files /dev/null and b/examples/data/Fruit360/mango/17_100.jpg differ diff --git a/examples/data/Fruit360/mango/180_100.jpg b/examples/data/Fruit360/mango/180_100.jpg new file mode 100644 index 00000000..e96f17b2 Binary files /dev/null and b/examples/data/Fruit360/mango/180_100.jpg differ diff --git a/examples/data/Fruit360/mango/181_100.jpg b/examples/data/Fruit360/mango/181_100.jpg new file mode 100644 index 00000000..6a75f9e8 Binary files /dev/null and b/examples/data/Fruit360/mango/181_100.jpg differ diff --git a/examples/data/Fruit360/mango/185_100.jpg b/examples/data/Fruit360/mango/185_100.jpg new file mode 100644 index 00000000..27a47104 Binary files /dev/null and b/examples/data/Fruit360/mango/185_100.jpg differ diff --git a/examples/data/Fruit360/mango/186_100.jpg b/examples/data/Fruit360/mango/186_100.jpg new file mode 100644 index 00000000..fc8b5471 Binary files /dev/null and b/examples/data/Fruit360/mango/186_100.jpg differ diff --git a/examples/data/Fruit360/mango/187_100.jpg b/examples/data/Fruit360/mango/187_100.jpg new file mode 100644 index 00000000..34bc1cbf Binary files /dev/null and b/examples/data/Fruit360/mango/187_100.jpg differ diff --git a/examples/data/Fruit360/mango/188_100.jpg b/examples/data/Fruit360/mango/188_100.jpg new file mode 100644 index 00000000..0c9112bc Binary files /dev/null and b/examples/data/Fruit360/mango/188_100.jpg differ diff --git a/examples/data/Fruit360/mango/189_100.jpg b/examples/data/Fruit360/mango/189_100.jpg new file mode 100644 index 00000000..1b5f0fdf Binary files /dev/null and b/examples/data/Fruit360/mango/189_100.jpg differ diff --git a/examples/data/Fruit360/mango/18_100.jpg b/examples/data/Fruit360/mango/18_100.jpg new file mode 100644 index 00000000..abbfa7e6 Binary files /dev/null and b/examples/data/Fruit360/mango/18_100.jpg differ diff --git a/examples/data/Fruit360/mango/190_100.jpg b/examples/data/Fruit360/mango/190_100.jpg new file mode 100644 index 00000000..8f5f4d6b Binary files /dev/null and b/examples/data/Fruit360/mango/190_100.jpg differ diff --git a/examples/data/Fruit360/mango/191_100.jpg b/examples/data/Fruit360/mango/191_100.jpg new file mode 100644 index 00000000..8567793f Binary files /dev/null and b/examples/data/Fruit360/mango/191_100.jpg differ diff --git a/examples/data/Fruit360/mango/192_100.jpg b/examples/data/Fruit360/mango/192_100.jpg new file mode 100644 index 00000000..908f437c Binary files /dev/null and b/examples/data/Fruit360/mango/192_100.jpg differ diff --git a/examples/data/Fruit360/mango/193_100.jpg b/examples/data/Fruit360/mango/193_100.jpg new file mode 100644 index 00000000..28a1a67b Binary files /dev/null and b/examples/data/Fruit360/mango/193_100.jpg differ diff --git a/examples/data/Fruit360/mango/194_100.jpg b/examples/data/Fruit360/mango/194_100.jpg new file mode 100644 index 00000000..f6a41e05 Binary files /dev/null and b/examples/data/Fruit360/mango/194_100.jpg differ diff --git a/examples/data/Fruit360/mango/195_100.jpg b/examples/data/Fruit360/mango/195_100.jpg new file mode 100644 index 00000000..bba0b2a1 Binary files /dev/null and b/examples/data/Fruit360/mango/195_100.jpg differ diff --git a/examples/data/Fruit360/mango/196_100.jpg b/examples/data/Fruit360/mango/196_100.jpg new file mode 100644 index 00000000..46fc84e1 Binary files /dev/null and b/examples/data/Fruit360/mango/196_100.jpg differ diff --git a/examples/data/Fruit360/mango/197_100.jpg b/examples/data/Fruit360/mango/197_100.jpg new file mode 100644 index 00000000..33a549f7 Binary files /dev/null and b/examples/data/Fruit360/mango/197_100.jpg differ diff --git a/examples/data/Fruit360/mango/198_100.jpg b/examples/data/Fruit360/mango/198_100.jpg new file mode 100644 index 00000000..aabbe4ed Binary files /dev/null and b/examples/data/Fruit360/mango/198_100.jpg differ diff --git a/examples/data/Fruit360/mango/199_100.jpg b/examples/data/Fruit360/mango/199_100.jpg new file mode 100644 index 00000000..194c987b Binary files /dev/null and b/examples/data/Fruit360/mango/199_100.jpg differ diff --git a/examples/data/Fruit360/mango/19_100.jpg b/examples/data/Fruit360/mango/19_100.jpg new file mode 100644 index 00000000..7d950c24 Binary files /dev/null and b/examples/data/Fruit360/mango/19_100.jpg differ diff --git a/examples/data/Fruit360/mango/200_100.jpg b/examples/data/Fruit360/mango/200_100.jpg new file mode 100644 index 00000000..dca24698 Binary files /dev/null and b/examples/data/Fruit360/mango/200_100.jpg differ diff --git a/examples/data/Fruit360/mango/201_100.jpg b/examples/data/Fruit360/mango/201_100.jpg new file mode 100644 index 00000000..2b9c6ec1 Binary files /dev/null and b/examples/data/Fruit360/mango/201_100.jpg differ diff --git a/examples/data/Fruit360/mango/202_100.jpg b/examples/data/Fruit360/mango/202_100.jpg new file mode 100644 index 00000000..6f96cc6b Binary files /dev/null and b/examples/data/Fruit360/mango/202_100.jpg differ diff --git a/examples/data/Fruit360/mango/203_100.jpg b/examples/data/Fruit360/mango/203_100.jpg new file mode 100644 index 00000000..452f8649 Binary files /dev/null and b/examples/data/Fruit360/mango/203_100.jpg differ diff --git a/examples/data/Fruit360/mango/204_100.jpg b/examples/data/Fruit360/mango/204_100.jpg new file mode 100644 index 00000000..3c2b4e85 Binary files /dev/null and b/examples/data/Fruit360/mango/204_100.jpg differ diff --git a/examples/data/Fruit360/mango/205_100.jpg b/examples/data/Fruit360/mango/205_100.jpg new file mode 100644 index 00000000..32c65074 Binary files /dev/null and b/examples/data/Fruit360/mango/205_100.jpg differ diff --git a/examples/data/Fruit360/mango/206_100.jpg b/examples/data/Fruit360/mango/206_100.jpg new file mode 100644 index 00000000..2c63f78e Binary files /dev/null and b/examples/data/Fruit360/mango/206_100.jpg differ diff --git a/examples/data/Fruit360/mango/207_100.jpg b/examples/data/Fruit360/mango/207_100.jpg new file mode 100644 index 00000000..7974f059 Binary files /dev/null and b/examples/data/Fruit360/mango/207_100.jpg differ diff --git a/examples/data/Fruit360/mango/208_100.jpg b/examples/data/Fruit360/mango/208_100.jpg new file mode 100644 index 00000000..eee0e3b6 Binary files /dev/null and b/examples/data/Fruit360/mango/208_100.jpg differ diff --git a/examples/data/Fruit360/mango/209_100.jpg b/examples/data/Fruit360/mango/209_100.jpg new file mode 100644 index 00000000..43b0c3cf Binary files /dev/null and b/examples/data/Fruit360/mango/209_100.jpg differ diff --git a/examples/data/Fruit360/mango/20_100.jpg b/examples/data/Fruit360/mango/20_100.jpg new file mode 100644 index 00000000..8b11cc55 Binary files /dev/null and b/examples/data/Fruit360/mango/20_100.jpg differ diff --git a/examples/data/Fruit360/mango/210_100.jpg b/examples/data/Fruit360/mango/210_100.jpg new file mode 100644 index 00000000..879ae28d Binary files /dev/null and b/examples/data/Fruit360/mango/210_100.jpg differ diff --git a/examples/data/Fruit360/mango/211_100.jpg b/examples/data/Fruit360/mango/211_100.jpg new file mode 100644 index 00000000..2ca1a7a6 Binary files /dev/null and b/examples/data/Fruit360/mango/211_100.jpg differ diff --git a/examples/data/Fruit360/mango/212_100.jpg b/examples/data/Fruit360/mango/212_100.jpg new file mode 100644 index 00000000..377bae46 Binary files /dev/null and b/examples/data/Fruit360/mango/212_100.jpg differ diff --git a/examples/data/Fruit360/mango/213_100.jpg b/examples/data/Fruit360/mango/213_100.jpg new file mode 100644 index 00000000..9f375648 Binary files /dev/null and b/examples/data/Fruit360/mango/213_100.jpg differ diff --git a/examples/data/Fruit360/mango/214_100.jpg b/examples/data/Fruit360/mango/214_100.jpg new file mode 100644 index 00000000..78728111 Binary files /dev/null and b/examples/data/Fruit360/mango/214_100.jpg differ diff --git a/examples/data/Fruit360/mango/215_100.jpg b/examples/data/Fruit360/mango/215_100.jpg new file mode 100644 index 00000000..fd348678 Binary files /dev/null and b/examples/data/Fruit360/mango/215_100.jpg differ diff --git a/examples/data/Fruit360/mango/216_100.jpg b/examples/data/Fruit360/mango/216_100.jpg new file mode 100644 index 00000000..03d10aa0 Binary files /dev/null and b/examples/data/Fruit360/mango/216_100.jpg differ diff --git a/examples/data/Fruit360/mango/217_100.jpg b/examples/data/Fruit360/mango/217_100.jpg new file mode 100644 index 00000000..2e910632 Binary files /dev/null and b/examples/data/Fruit360/mango/217_100.jpg differ diff --git a/examples/data/Fruit360/mango/218_100.jpg b/examples/data/Fruit360/mango/218_100.jpg new file mode 100644 index 00000000..40395468 Binary files /dev/null and b/examples/data/Fruit360/mango/218_100.jpg differ diff --git a/examples/data/Fruit360/mango/219_100.jpg b/examples/data/Fruit360/mango/219_100.jpg new file mode 100644 index 00000000..9de89ec2 Binary files /dev/null and b/examples/data/Fruit360/mango/219_100.jpg differ diff --git a/examples/data/Fruit360/mango/21_100.jpg b/examples/data/Fruit360/mango/21_100.jpg new file mode 100644 index 00000000..73186432 Binary files /dev/null and b/examples/data/Fruit360/mango/21_100.jpg differ diff --git a/examples/data/Fruit360/mango/220_100.jpg b/examples/data/Fruit360/mango/220_100.jpg new file mode 100644 index 00000000..d72c9070 Binary files /dev/null and b/examples/data/Fruit360/mango/220_100.jpg differ diff --git a/examples/data/Fruit360/mango/221_100.jpg b/examples/data/Fruit360/mango/221_100.jpg new file mode 100644 index 00000000..2372ab9a Binary files /dev/null and b/examples/data/Fruit360/mango/221_100.jpg differ diff --git a/examples/data/Fruit360/mango/222_100.jpg b/examples/data/Fruit360/mango/222_100.jpg new file mode 100644 index 00000000..ad602d4a Binary files /dev/null and b/examples/data/Fruit360/mango/222_100.jpg differ diff --git a/examples/data/Fruit360/mango/223_100.jpg b/examples/data/Fruit360/mango/223_100.jpg new file mode 100644 index 00000000..2d34fce5 Binary files /dev/null and b/examples/data/Fruit360/mango/223_100.jpg differ diff --git a/examples/data/Fruit360/mango/224_100.jpg b/examples/data/Fruit360/mango/224_100.jpg new file mode 100644 index 00000000..358089ef Binary files /dev/null and b/examples/data/Fruit360/mango/224_100.jpg differ diff --git a/examples/data/Fruit360/mango/225_100.jpg b/examples/data/Fruit360/mango/225_100.jpg new file mode 100644 index 00000000..1e327316 Binary files /dev/null and b/examples/data/Fruit360/mango/225_100.jpg differ diff --git a/examples/data/Fruit360/mango/226_100.jpg b/examples/data/Fruit360/mango/226_100.jpg new file mode 100644 index 00000000..12bd4d2b Binary files /dev/null and b/examples/data/Fruit360/mango/226_100.jpg differ diff --git a/examples/data/Fruit360/mango/227_100.jpg b/examples/data/Fruit360/mango/227_100.jpg new file mode 100644 index 00000000..8d5f8979 Binary files /dev/null and b/examples/data/Fruit360/mango/227_100.jpg differ diff --git a/examples/data/Fruit360/mango/228_100.jpg b/examples/data/Fruit360/mango/228_100.jpg new file mode 100644 index 00000000..291450b3 Binary files /dev/null and b/examples/data/Fruit360/mango/228_100.jpg differ diff --git a/examples/data/Fruit360/mango/229_100.jpg b/examples/data/Fruit360/mango/229_100.jpg new file mode 100644 index 00000000..736106fe Binary files /dev/null and b/examples/data/Fruit360/mango/229_100.jpg differ diff --git a/examples/data/Fruit360/mango/22_100.jpg b/examples/data/Fruit360/mango/22_100.jpg new file mode 100644 index 00000000..04c249b8 Binary files /dev/null and b/examples/data/Fruit360/mango/22_100.jpg differ diff --git a/examples/data/Fruit360/mango/230_100.jpg b/examples/data/Fruit360/mango/230_100.jpg new file mode 100644 index 00000000..811038bc Binary files /dev/null and b/examples/data/Fruit360/mango/230_100.jpg differ diff --git a/examples/data/Fruit360/mango/231_100.jpg b/examples/data/Fruit360/mango/231_100.jpg new file mode 100644 index 00000000..dcda8641 Binary files /dev/null and b/examples/data/Fruit360/mango/231_100.jpg differ diff --git a/examples/data/Fruit360/mango/232_100.jpg b/examples/data/Fruit360/mango/232_100.jpg new file mode 100644 index 00000000..afa6a014 Binary files /dev/null and b/examples/data/Fruit360/mango/232_100.jpg differ diff --git a/examples/data/Fruit360/mango/233_100.jpg b/examples/data/Fruit360/mango/233_100.jpg new file mode 100644 index 00000000..9d3e3b32 Binary files /dev/null and b/examples/data/Fruit360/mango/233_100.jpg differ diff --git a/examples/data/Fruit360/mango/234_100.jpg b/examples/data/Fruit360/mango/234_100.jpg new file mode 100644 index 00000000..46e8dfae Binary files /dev/null and b/examples/data/Fruit360/mango/234_100.jpg differ diff --git a/examples/data/Fruit360/mango/235_100.jpg b/examples/data/Fruit360/mango/235_100.jpg new file mode 100644 index 00000000..d9a1b360 Binary files /dev/null and b/examples/data/Fruit360/mango/235_100.jpg differ diff --git a/examples/data/Fruit360/mango/236_100.jpg b/examples/data/Fruit360/mango/236_100.jpg new file mode 100644 index 00000000..1135612e Binary files /dev/null and b/examples/data/Fruit360/mango/236_100.jpg differ diff --git a/examples/data/Fruit360/mango/237_100.jpg b/examples/data/Fruit360/mango/237_100.jpg new file mode 100644 index 00000000..3069cf69 Binary files /dev/null and b/examples/data/Fruit360/mango/237_100.jpg differ diff --git a/examples/data/Fruit360/mango/238_100.jpg b/examples/data/Fruit360/mango/238_100.jpg new file mode 100644 index 00000000..fe185682 Binary files /dev/null and b/examples/data/Fruit360/mango/238_100.jpg differ diff --git a/examples/data/Fruit360/mango/239_100.jpg b/examples/data/Fruit360/mango/239_100.jpg new file mode 100644 index 00000000..88e7579e Binary files /dev/null and b/examples/data/Fruit360/mango/239_100.jpg differ diff --git a/examples/data/Fruit360/mango/23_100.jpg b/examples/data/Fruit360/mango/23_100.jpg new file mode 100644 index 00000000..7cc8f486 Binary files /dev/null and b/examples/data/Fruit360/mango/23_100.jpg differ diff --git a/examples/data/Fruit360/mango/240_100.jpg b/examples/data/Fruit360/mango/240_100.jpg new file mode 100644 index 00000000..0a252b49 Binary files /dev/null and b/examples/data/Fruit360/mango/240_100.jpg differ diff --git a/examples/data/Fruit360/mango/241_100.jpg b/examples/data/Fruit360/mango/241_100.jpg new file mode 100644 index 00000000..51f9c3be Binary files /dev/null and b/examples/data/Fruit360/mango/241_100.jpg differ diff --git a/examples/data/Fruit360/mango/242_100.jpg b/examples/data/Fruit360/mango/242_100.jpg new file mode 100644 index 00000000..854f5de7 Binary files /dev/null and b/examples/data/Fruit360/mango/242_100.jpg differ diff --git a/examples/data/Fruit360/mango/243_100.jpg b/examples/data/Fruit360/mango/243_100.jpg new file mode 100644 index 00000000..0da9df91 Binary files /dev/null and b/examples/data/Fruit360/mango/243_100.jpg differ diff --git a/examples/data/Fruit360/mango/244_100.jpg b/examples/data/Fruit360/mango/244_100.jpg new file mode 100644 index 00000000..72f5b419 Binary files /dev/null and b/examples/data/Fruit360/mango/244_100.jpg differ diff --git a/examples/data/Fruit360/mango/245_100.jpg b/examples/data/Fruit360/mango/245_100.jpg new file mode 100644 index 00000000..04c017ae Binary files /dev/null and b/examples/data/Fruit360/mango/245_100.jpg differ diff --git a/examples/data/Fruit360/mango/246_100.jpg b/examples/data/Fruit360/mango/246_100.jpg new file mode 100644 index 00000000..b2833e0f Binary files /dev/null and b/examples/data/Fruit360/mango/246_100.jpg differ diff --git a/examples/data/Fruit360/mango/247_100.jpg b/examples/data/Fruit360/mango/247_100.jpg new file mode 100644 index 00000000..5cb62a9f Binary files /dev/null and b/examples/data/Fruit360/mango/247_100.jpg differ diff --git a/examples/data/Fruit360/mango/248_100.jpg b/examples/data/Fruit360/mango/248_100.jpg new file mode 100644 index 00000000..534c3ff8 Binary files /dev/null and b/examples/data/Fruit360/mango/248_100.jpg differ diff --git a/examples/data/Fruit360/mango/249_100.jpg b/examples/data/Fruit360/mango/249_100.jpg new file mode 100644 index 00000000..8fd827b1 Binary files /dev/null and b/examples/data/Fruit360/mango/249_100.jpg differ diff --git a/examples/data/Fruit360/mango/24_100.jpg b/examples/data/Fruit360/mango/24_100.jpg new file mode 100644 index 00000000..6e5373fc Binary files /dev/null and b/examples/data/Fruit360/mango/24_100.jpg differ diff --git a/examples/data/Fruit360/mango/250_100.jpg b/examples/data/Fruit360/mango/250_100.jpg new file mode 100644 index 00000000..ff22ce9e Binary files /dev/null and b/examples/data/Fruit360/mango/250_100.jpg differ diff --git a/examples/data/Fruit360/mango/251_100.jpg b/examples/data/Fruit360/mango/251_100.jpg new file mode 100644 index 00000000..9c45a32d Binary files /dev/null and b/examples/data/Fruit360/mango/251_100.jpg differ diff --git a/examples/data/Fruit360/mango/252_100.jpg b/examples/data/Fruit360/mango/252_100.jpg new file mode 100644 index 00000000..f520ca99 Binary files /dev/null and b/examples/data/Fruit360/mango/252_100.jpg differ diff --git a/examples/data/Fruit360/mango/253_100.jpg b/examples/data/Fruit360/mango/253_100.jpg new file mode 100644 index 00000000..b1a69128 Binary files /dev/null and b/examples/data/Fruit360/mango/253_100.jpg differ diff --git a/examples/data/Fruit360/mango/254_100.jpg b/examples/data/Fruit360/mango/254_100.jpg new file mode 100644 index 00000000..2d35f03b Binary files /dev/null and b/examples/data/Fruit360/mango/254_100.jpg differ diff --git a/examples/data/Fruit360/mango/255_100.jpg b/examples/data/Fruit360/mango/255_100.jpg new file mode 100644 index 00000000..bb67f24c Binary files /dev/null and b/examples/data/Fruit360/mango/255_100.jpg differ diff --git a/examples/data/Fruit360/mango/256_100.jpg b/examples/data/Fruit360/mango/256_100.jpg new file mode 100644 index 00000000..4ba5cee5 Binary files /dev/null and b/examples/data/Fruit360/mango/256_100.jpg differ diff --git a/examples/data/Fruit360/mango/257_100.jpg b/examples/data/Fruit360/mango/257_100.jpg new file mode 100644 index 00000000..bf0e077b Binary files /dev/null and b/examples/data/Fruit360/mango/257_100.jpg differ diff --git a/examples/data/Fruit360/mango/258_100.jpg b/examples/data/Fruit360/mango/258_100.jpg new file mode 100644 index 00000000..34f84771 Binary files /dev/null and b/examples/data/Fruit360/mango/258_100.jpg differ diff --git a/examples/data/Fruit360/mango/259_100.jpg b/examples/data/Fruit360/mango/259_100.jpg new file mode 100644 index 00000000..9e2efa01 Binary files /dev/null and b/examples/data/Fruit360/mango/259_100.jpg differ diff --git a/examples/data/Fruit360/mango/25_100.jpg b/examples/data/Fruit360/mango/25_100.jpg new file mode 100644 index 00000000..5f08d727 Binary files /dev/null and b/examples/data/Fruit360/mango/25_100.jpg differ diff --git a/examples/data/Fruit360/mango/263_100.jpg b/examples/data/Fruit360/mango/263_100.jpg new file mode 100644 index 00000000..525978eb Binary files /dev/null and b/examples/data/Fruit360/mango/263_100.jpg differ diff --git a/examples/data/Fruit360/mango/265_100.jpg b/examples/data/Fruit360/mango/265_100.jpg new file mode 100644 index 00000000..e4daffcf Binary files /dev/null and b/examples/data/Fruit360/mango/265_100.jpg differ diff --git a/examples/data/Fruit360/mango/266_100.jpg b/examples/data/Fruit360/mango/266_100.jpg new file mode 100644 index 00000000..5e611185 Binary files /dev/null and b/examples/data/Fruit360/mango/266_100.jpg differ diff --git a/examples/data/Fruit360/mango/267_100.jpg b/examples/data/Fruit360/mango/267_100.jpg new file mode 100644 index 00000000..181f3bdd Binary files /dev/null and b/examples/data/Fruit360/mango/267_100.jpg differ diff --git a/examples/data/Fruit360/mango/268_100.jpg b/examples/data/Fruit360/mango/268_100.jpg new file mode 100644 index 00000000..64c1a19c Binary files /dev/null and b/examples/data/Fruit360/mango/268_100.jpg differ diff --git a/examples/data/Fruit360/mango/26_100.jpg b/examples/data/Fruit360/mango/26_100.jpg new file mode 100644 index 00000000..2c206ea8 Binary files /dev/null and b/examples/data/Fruit360/mango/26_100.jpg differ diff --git a/examples/data/Fruit360/mango/271_100.jpg b/examples/data/Fruit360/mango/271_100.jpg new file mode 100644 index 00000000..e8af6212 Binary files /dev/null and b/examples/data/Fruit360/mango/271_100.jpg differ diff --git a/examples/data/Fruit360/mango/272_100.jpg b/examples/data/Fruit360/mango/272_100.jpg new file mode 100644 index 00000000..0ef74af4 Binary files /dev/null and b/examples/data/Fruit360/mango/272_100.jpg differ diff --git a/examples/data/Fruit360/mango/275_100.jpg b/examples/data/Fruit360/mango/275_100.jpg new file mode 100644 index 00000000..a944284e Binary files /dev/null and b/examples/data/Fruit360/mango/275_100.jpg differ diff --git a/examples/data/Fruit360/mango/276_100.jpg b/examples/data/Fruit360/mango/276_100.jpg new file mode 100644 index 00000000..a1a2fa1b Binary files /dev/null and b/examples/data/Fruit360/mango/276_100.jpg differ diff --git a/examples/data/Fruit360/mango/277_100.jpg b/examples/data/Fruit360/mango/277_100.jpg new file mode 100644 index 00000000..09be73ce Binary files /dev/null and b/examples/data/Fruit360/mango/277_100.jpg differ diff --git a/examples/data/Fruit360/mango/27_100.jpg b/examples/data/Fruit360/mango/27_100.jpg new file mode 100644 index 00000000..d33cd366 Binary files /dev/null and b/examples/data/Fruit360/mango/27_100.jpg differ diff --git a/examples/data/Fruit360/mango/280_100.jpg b/examples/data/Fruit360/mango/280_100.jpg new file mode 100644 index 00000000..eec6c28a Binary files /dev/null and b/examples/data/Fruit360/mango/280_100.jpg differ diff --git a/examples/data/Fruit360/mango/281_100.jpg b/examples/data/Fruit360/mango/281_100.jpg new file mode 100644 index 00000000..b3569d8d Binary files /dev/null and b/examples/data/Fruit360/mango/281_100.jpg differ diff --git a/examples/data/Fruit360/mango/282_100.jpg b/examples/data/Fruit360/mango/282_100.jpg new file mode 100644 index 00000000..d9d78b84 Binary files /dev/null and b/examples/data/Fruit360/mango/282_100.jpg differ diff --git a/examples/data/Fruit360/mango/283_100.jpg b/examples/data/Fruit360/mango/283_100.jpg new file mode 100644 index 00000000..87c23c2f Binary files /dev/null and b/examples/data/Fruit360/mango/283_100.jpg differ diff --git a/examples/data/Fruit360/mango/284_100.jpg b/examples/data/Fruit360/mango/284_100.jpg new file mode 100644 index 00000000..ab036726 Binary files /dev/null and b/examples/data/Fruit360/mango/284_100.jpg differ diff --git a/examples/data/Fruit360/mango/285_100.jpg b/examples/data/Fruit360/mango/285_100.jpg new file mode 100644 index 00000000..c4b45f68 Binary files /dev/null and b/examples/data/Fruit360/mango/285_100.jpg differ diff --git a/examples/data/Fruit360/mango/286_100.jpg b/examples/data/Fruit360/mango/286_100.jpg new file mode 100644 index 00000000..d940be9f Binary files /dev/null and b/examples/data/Fruit360/mango/286_100.jpg differ diff --git a/examples/data/Fruit360/mango/287_100.jpg b/examples/data/Fruit360/mango/287_100.jpg new file mode 100644 index 00000000..93740d7a Binary files /dev/null and b/examples/data/Fruit360/mango/287_100.jpg differ diff --git a/examples/data/Fruit360/mango/288_100.jpg b/examples/data/Fruit360/mango/288_100.jpg new file mode 100644 index 00000000..50394472 Binary files /dev/null and b/examples/data/Fruit360/mango/288_100.jpg differ diff --git a/examples/data/Fruit360/mango/289_100.jpg b/examples/data/Fruit360/mango/289_100.jpg new file mode 100644 index 00000000..288f9b1b Binary files /dev/null and b/examples/data/Fruit360/mango/289_100.jpg differ diff --git a/examples/data/Fruit360/mango/28_100.jpg b/examples/data/Fruit360/mango/28_100.jpg new file mode 100644 index 00000000..c232ec80 Binary files /dev/null and b/examples/data/Fruit360/mango/28_100.jpg differ diff --git a/examples/data/Fruit360/mango/290_100.jpg b/examples/data/Fruit360/mango/290_100.jpg new file mode 100644 index 00000000..7387307d Binary files /dev/null and b/examples/data/Fruit360/mango/290_100.jpg differ diff --git a/examples/data/Fruit360/mango/291_100.jpg b/examples/data/Fruit360/mango/291_100.jpg new file mode 100644 index 00000000..03c963c8 Binary files /dev/null and b/examples/data/Fruit360/mango/291_100.jpg differ diff --git a/examples/data/Fruit360/mango/294_100.jpg b/examples/data/Fruit360/mango/294_100.jpg new file mode 100644 index 00000000..90402ed8 Binary files /dev/null and b/examples/data/Fruit360/mango/294_100.jpg differ diff --git a/examples/data/Fruit360/mango/295_100.jpg b/examples/data/Fruit360/mango/295_100.jpg new file mode 100644 index 00000000..25423241 Binary files /dev/null and b/examples/data/Fruit360/mango/295_100.jpg differ diff --git a/examples/data/Fruit360/mango/296_100.jpg b/examples/data/Fruit360/mango/296_100.jpg new file mode 100644 index 00000000..742a5b36 Binary files /dev/null and b/examples/data/Fruit360/mango/296_100.jpg differ diff --git a/examples/data/Fruit360/mango/297_100.jpg b/examples/data/Fruit360/mango/297_100.jpg new file mode 100644 index 00000000..c6d250c6 Binary files /dev/null and b/examples/data/Fruit360/mango/297_100.jpg differ diff --git a/examples/data/Fruit360/mango/298_100.jpg b/examples/data/Fruit360/mango/298_100.jpg new file mode 100644 index 00000000..459c5a50 Binary files /dev/null and b/examples/data/Fruit360/mango/298_100.jpg differ diff --git a/examples/data/Fruit360/mango/29_100.jpg b/examples/data/Fruit360/mango/29_100.jpg new file mode 100644 index 00000000..663ade5f Binary files /dev/null and b/examples/data/Fruit360/mango/29_100.jpg differ diff --git a/examples/data/Fruit360/mango/30_100.jpg b/examples/data/Fruit360/mango/30_100.jpg new file mode 100644 index 00000000..58cb7fb5 Binary files /dev/null and b/examples/data/Fruit360/mango/30_100.jpg differ diff --git a/examples/data/Fruit360/mango/311_100.jpg b/examples/data/Fruit360/mango/311_100.jpg new file mode 100644 index 00000000..4134562a Binary files /dev/null and b/examples/data/Fruit360/mango/311_100.jpg differ diff --git a/examples/data/Fruit360/mango/31_100.jpg b/examples/data/Fruit360/mango/31_100.jpg new file mode 100644 index 00000000..e72f64bd Binary files /dev/null and b/examples/data/Fruit360/mango/31_100.jpg differ diff --git a/examples/data/Fruit360/mango/322_100.jpg b/examples/data/Fruit360/mango/322_100.jpg new file mode 100644 index 00000000..c71aa768 Binary files /dev/null and b/examples/data/Fruit360/mango/322_100.jpg differ diff --git a/examples/data/Fruit360/mango/324_100.jpg b/examples/data/Fruit360/mango/324_100.jpg new file mode 100644 index 00000000..6991ffb5 Binary files /dev/null and b/examples/data/Fruit360/mango/324_100.jpg differ diff --git a/examples/data/Fruit360/mango/325_100.jpg b/examples/data/Fruit360/mango/325_100.jpg new file mode 100644 index 00000000..66f21721 Binary files /dev/null and b/examples/data/Fruit360/mango/325_100.jpg differ diff --git a/examples/data/Fruit360/mango/326_100.jpg b/examples/data/Fruit360/mango/326_100.jpg new file mode 100644 index 00000000..c1d638fb Binary files /dev/null and b/examples/data/Fruit360/mango/326_100.jpg differ diff --git a/examples/data/Fruit360/mango/327_100.jpg b/examples/data/Fruit360/mango/327_100.jpg new file mode 100644 index 00000000..2515369f Binary files /dev/null and b/examples/data/Fruit360/mango/327_100.jpg differ diff --git a/examples/data/Fruit360/mango/32_100.jpg b/examples/data/Fruit360/mango/32_100.jpg new file mode 100644 index 00000000..a7a3c4cb Binary files /dev/null and b/examples/data/Fruit360/mango/32_100.jpg differ diff --git a/examples/data/Fruit360/mango/33_100.jpg b/examples/data/Fruit360/mango/33_100.jpg new file mode 100644 index 00000000..f9e5a8b6 Binary files /dev/null and b/examples/data/Fruit360/mango/33_100.jpg differ diff --git a/examples/data/Fruit360/mango/34_100.jpg b/examples/data/Fruit360/mango/34_100.jpg new file mode 100644 index 00000000..4ba006b8 Binary files /dev/null and b/examples/data/Fruit360/mango/34_100.jpg differ diff --git a/examples/data/Fruit360/mango/35_100.jpg b/examples/data/Fruit360/mango/35_100.jpg new file mode 100644 index 00000000..759c824b Binary files /dev/null and b/examples/data/Fruit360/mango/35_100.jpg differ diff --git a/examples/data/Fruit360/mango/36_100.jpg b/examples/data/Fruit360/mango/36_100.jpg new file mode 100644 index 00000000..dadc4f77 Binary files /dev/null and b/examples/data/Fruit360/mango/36_100.jpg differ diff --git a/examples/data/Fruit360/mango/37_100.jpg b/examples/data/Fruit360/mango/37_100.jpg new file mode 100644 index 00000000..3125bb66 Binary files /dev/null and b/examples/data/Fruit360/mango/37_100.jpg differ diff --git a/examples/data/Fruit360/mango/38_100.jpg b/examples/data/Fruit360/mango/38_100.jpg new file mode 100644 index 00000000..c90967c1 Binary files /dev/null and b/examples/data/Fruit360/mango/38_100.jpg differ diff --git a/examples/data/Fruit360/mango/39_100.jpg b/examples/data/Fruit360/mango/39_100.jpg new file mode 100644 index 00000000..05a7e061 Binary files /dev/null and b/examples/data/Fruit360/mango/39_100.jpg differ diff --git a/examples/data/Fruit360/mango/40_100.jpg b/examples/data/Fruit360/mango/40_100.jpg new file mode 100644 index 00000000..8c66ccaa Binary files /dev/null and b/examples/data/Fruit360/mango/40_100.jpg differ diff --git a/examples/data/Fruit360/mango/41_100.jpg b/examples/data/Fruit360/mango/41_100.jpg new file mode 100644 index 00000000..728701b8 Binary files /dev/null and b/examples/data/Fruit360/mango/41_100.jpg differ diff --git a/examples/data/Fruit360/mango/42_100.jpg b/examples/data/Fruit360/mango/42_100.jpg new file mode 100644 index 00000000..c171f1b9 Binary files /dev/null and b/examples/data/Fruit360/mango/42_100.jpg differ diff --git a/examples/data/Fruit360/mango/43_100.jpg b/examples/data/Fruit360/mango/43_100.jpg new file mode 100644 index 00000000..64f3110f Binary files /dev/null and b/examples/data/Fruit360/mango/43_100.jpg differ diff --git a/examples/data/Fruit360/mango/44_100.jpg b/examples/data/Fruit360/mango/44_100.jpg new file mode 100644 index 00000000..03bb870d Binary files /dev/null and b/examples/data/Fruit360/mango/44_100.jpg differ diff --git a/examples/data/Fruit360/mango/45_100.jpg b/examples/data/Fruit360/mango/45_100.jpg new file mode 100644 index 00000000..8f613ee3 Binary files /dev/null and b/examples/data/Fruit360/mango/45_100.jpg differ diff --git a/examples/data/Fruit360/mango/46_100.jpg b/examples/data/Fruit360/mango/46_100.jpg new file mode 100644 index 00000000..8330c0b3 Binary files /dev/null and b/examples/data/Fruit360/mango/46_100.jpg differ diff --git a/examples/data/Fruit360/mango/47_100.jpg b/examples/data/Fruit360/mango/47_100.jpg new file mode 100644 index 00000000..82d865e0 Binary files /dev/null and b/examples/data/Fruit360/mango/47_100.jpg differ diff --git a/examples/data/Fruit360/mango/48_100.jpg b/examples/data/Fruit360/mango/48_100.jpg new file mode 100644 index 00000000..819444ca Binary files /dev/null and b/examples/data/Fruit360/mango/48_100.jpg differ diff --git a/examples/data/Fruit360/mango/49_100.jpg b/examples/data/Fruit360/mango/49_100.jpg new file mode 100644 index 00000000..f2145bd2 Binary files /dev/null and b/examples/data/Fruit360/mango/49_100.jpg differ diff --git a/examples/data/Fruit360/mango/50_100.jpg b/examples/data/Fruit360/mango/50_100.jpg new file mode 100644 index 00000000..4ec612d1 Binary files /dev/null and b/examples/data/Fruit360/mango/50_100.jpg differ diff --git a/examples/data/Fruit360/mango/51_100.jpg b/examples/data/Fruit360/mango/51_100.jpg new file mode 100644 index 00000000..3445c766 Binary files /dev/null and b/examples/data/Fruit360/mango/51_100.jpg differ diff --git a/examples/data/Fruit360/mango/52_100.jpg b/examples/data/Fruit360/mango/52_100.jpg new file mode 100644 index 00000000..02cc1390 Binary files /dev/null and b/examples/data/Fruit360/mango/52_100.jpg differ diff --git a/examples/data/Fruit360/mango/53_100.jpg b/examples/data/Fruit360/mango/53_100.jpg new file mode 100644 index 00000000..e1539204 Binary files /dev/null and b/examples/data/Fruit360/mango/53_100.jpg differ diff --git a/examples/data/Fruit360/mango/54_100.jpg b/examples/data/Fruit360/mango/54_100.jpg new file mode 100644 index 00000000..936e9c31 Binary files /dev/null and b/examples/data/Fruit360/mango/54_100.jpg differ diff --git a/examples/data/Fruit360/mango/55_100.jpg b/examples/data/Fruit360/mango/55_100.jpg new file mode 100644 index 00000000..dc78cf1f Binary files /dev/null and b/examples/data/Fruit360/mango/55_100.jpg differ diff --git a/examples/data/Fruit360/mango/56_100.jpg b/examples/data/Fruit360/mango/56_100.jpg new file mode 100644 index 00000000..826763b2 Binary files /dev/null and b/examples/data/Fruit360/mango/56_100.jpg differ diff --git a/examples/data/Fruit360/mango/57_100.jpg b/examples/data/Fruit360/mango/57_100.jpg new file mode 100644 index 00000000..d2689392 Binary files /dev/null and b/examples/data/Fruit360/mango/57_100.jpg differ diff --git a/examples/data/Fruit360/mango/58_100.jpg b/examples/data/Fruit360/mango/58_100.jpg new file mode 100644 index 00000000..a999488a Binary files /dev/null and b/examples/data/Fruit360/mango/58_100.jpg differ diff --git a/examples/data/Fruit360/mango/59_100.jpg b/examples/data/Fruit360/mango/59_100.jpg new file mode 100644 index 00000000..3529c5fb Binary files /dev/null and b/examples/data/Fruit360/mango/59_100.jpg differ diff --git a/examples/data/Fruit360/mango/60_100.jpg b/examples/data/Fruit360/mango/60_100.jpg new file mode 100644 index 00000000..27711699 Binary files /dev/null and b/examples/data/Fruit360/mango/60_100.jpg differ diff --git a/examples/data/Fruit360/mango/61_100.jpg b/examples/data/Fruit360/mango/61_100.jpg new file mode 100644 index 00000000..4f2883eb Binary files /dev/null and b/examples/data/Fruit360/mango/61_100.jpg differ diff --git a/examples/data/Fruit360/mango/62_100.jpg b/examples/data/Fruit360/mango/62_100.jpg new file mode 100644 index 00000000..2f86c75a Binary files /dev/null and b/examples/data/Fruit360/mango/62_100.jpg differ diff --git a/examples/data/Fruit360/mango/63_100.jpg b/examples/data/Fruit360/mango/63_100.jpg new file mode 100644 index 00000000..3103c64e Binary files /dev/null and b/examples/data/Fruit360/mango/63_100.jpg differ diff --git a/examples/data/Fruit360/mango/64_100.jpg b/examples/data/Fruit360/mango/64_100.jpg new file mode 100644 index 00000000..437fa75c Binary files /dev/null and b/examples/data/Fruit360/mango/64_100.jpg differ diff --git a/examples/data/Fruit360/mango/65_100.jpg b/examples/data/Fruit360/mango/65_100.jpg new file mode 100644 index 00000000..909cdaf3 Binary files /dev/null and b/examples/data/Fruit360/mango/65_100.jpg differ diff --git a/examples/data/Fruit360/mango/66_100.jpg b/examples/data/Fruit360/mango/66_100.jpg new file mode 100644 index 00000000..659548d8 Binary files /dev/null and b/examples/data/Fruit360/mango/66_100.jpg differ diff --git a/examples/data/Fruit360/mango/67_100.jpg b/examples/data/Fruit360/mango/67_100.jpg new file mode 100644 index 00000000..9421bdd5 Binary files /dev/null and b/examples/data/Fruit360/mango/67_100.jpg differ diff --git a/examples/data/Fruit360/mango/68_100.jpg b/examples/data/Fruit360/mango/68_100.jpg new file mode 100644 index 00000000..7d0fadfe Binary files /dev/null and b/examples/data/Fruit360/mango/68_100.jpg differ diff --git a/examples/data/Fruit360/mango/69_100.jpg b/examples/data/Fruit360/mango/69_100.jpg new file mode 100644 index 00000000..690c143b Binary files /dev/null and b/examples/data/Fruit360/mango/69_100.jpg differ diff --git a/examples/data/Fruit360/mango/70_100.jpg b/examples/data/Fruit360/mango/70_100.jpg new file mode 100644 index 00000000..505d029d Binary files /dev/null and b/examples/data/Fruit360/mango/70_100.jpg differ diff --git a/examples/data/Fruit360/mango/71_100.jpg b/examples/data/Fruit360/mango/71_100.jpg new file mode 100644 index 00000000..5735e886 Binary files /dev/null and b/examples/data/Fruit360/mango/71_100.jpg differ diff --git a/examples/data/Fruit360/mango/72_100.jpg b/examples/data/Fruit360/mango/72_100.jpg new file mode 100644 index 00000000..0d16d2ee Binary files /dev/null and b/examples/data/Fruit360/mango/72_100.jpg differ diff --git a/examples/data/Fruit360/mango/73_100.jpg b/examples/data/Fruit360/mango/73_100.jpg new file mode 100644 index 00000000..69f285f6 Binary files /dev/null and b/examples/data/Fruit360/mango/73_100.jpg differ diff --git a/examples/data/Fruit360/mango/74_100.jpg b/examples/data/Fruit360/mango/74_100.jpg new file mode 100644 index 00000000..a618264b Binary files /dev/null and b/examples/data/Fruit360/mango/74_100.jpg differ diff --git a/examples/data/Fruit360/mango/75_100.jpg b/examples/data/Fruit360/mango/75_100.jpg new file mode 100644 index 00000000..9191a48c Binary files /dev/null and b/examples/data/Fruit360/mango/75_100.jpg differ diff --git a/examples/data/Fruit360/mango/76_100.jpg b/examples/data/Fruit360/mango/76_100.jpg new file mode 100644 index 00000000..a01fd52b Binary files /dev/null and b/examples/data/Fruit360/mango/76_100.jpg differ diff --git a/examples/data/Fruit360/mango/77_100.jpg b/examples/data/Fruit360/mango/77_100.jpg new file mode 100644 index 00000000..bc391dab Binary files /dev/null and b/examples/data/Fruit360/mango/77_100.jpg differ diff --git a/examples/data/Fruit360/mango/78_100.jpg b/examples/data/Fruit360/mango/78_100.jpg new file mode 100644 index 00000000..83369820 Binary files /dev/null and b/examples/data/Fruit360/mango/78_100.jpg differ diff --git a/examples/data/Fruit360/mango/79_100.jpg b/examples/data/Fruit360/mango/79_100.jpg new file mode 100644 index 00000000..3fe0036b Binary files /dev/null and b/examples/data/Fruit360/mango/79_100.jpg differ diff --git a/examples/data/Fruit360/mango/80_100.jpg b/examples/data/Fruit360/mango/80_100.jpg new file mode 100644 index 00000000..53433ce7 Binary files /dev/null and b/examples/data/Fruit360/mango/80_100.jpg differ diff --git a/examples/data/Fruit360/mango/81_100.jpg b/examples/data/Fruit360/mango/81_100.jpg new file mode 100644 index 00000000..bfc5d821 Binary files /dev/null and b/examples/data/Fruit360/mango/81_100.jpg differ diff --git a/examples/data/Fruit360/mango/82_100.jpg b/examples/data/Fruit360/mango/82_100.jpg new file mode 100644 index 00000000..c1fbe240 Binary files /dev/null and b/examples/data/Fruit360/mango/82_100.jpg differ diff --git a/examples/data/Fruit360/mango/83_100.jpg b/examples/data/Fruit360/mango/83_100.jpg new file mode 100644 index 00000000..5c0e62b4 Binary files /dev/null and b/examples/data/Fruit360/mango/83_100.jpg differ diff --git a/examples/data/Fruit360/mango/84_100.jpg b/examples/data/Fruit360/mango/84_100.jpg new file mode 100644 index 00000000..41ea2836 Binary files /dev/null and b/examples/data/Fruit360/mango/84_100.jpg differ diff --git a/examples/data/Fruit360/mango/85_100.jpg b/examples/data/Fruit360/mango/85_100.jpg new file mode 100644 index 00000000..a01b55d4 Binary files /dev/null and b/examples/data/Fruit360/mango/85_100.jpg differ diff --git a/examples/data/Fruit360/mango/86_100.jpg b/examples/data/Fruit360/mango/86_100.jpg new file mode 100644 index 00000000..abac2f6d Binary files /dev/null and b/examples/data/Fruit360/mango/86_100.jpg differ diff --git a/examples/data/Fruit360/mango/87_100.jpg b/examples/data/Fruit360/mango/87_100.jpg new file mode 100644 index 00000000..cfa43869 Binary files /dev/null and b/examples/data/Fruit360/mango/87_100.jpg differ diff --git a/examples/data/Fruit360/mango/88_100.jpg b/examples/data/Fruit360/mango/88_100.jpg new file mode 100644 index 00000000..af3a90de Binary files /dev/null and b/examples/data/Fruit360/mango/88_100.jpg differ diff --git a/examples/data/Fruit360/mango/89_100.jpg b/examples/data/Fruit360/mango/89_100.jpg new file mode 100644 index 00000000..0cb64e56 Binary files /dev/null and b/examples/data/Fruit360/mango/89_100.jpg differ diff --git a/examples/data/Fruit360/mango/90_100.jpg b/examples/data/Fruit360/mango/90_100.jpg new file mode 100644 index 00000000..bc867d7e Binary files /dev/null and b/examples/data/Fruit360/mango/90_100.jpg differ diff --git a/examples/data/Fruit360/mango/91_100.jpg b/examples/data/Fruit360/mango/91_100.jpg new file mode 100644 index 00000000..4d6b31de Binary files /dev/null and b/examples/data/Fruit360/mango/91_100.jpg differ diff --git a/examples/data/Fruit360/mango/92_100.jpg b/examples/data/Fruit360/mango/92_100.jpg new file mode 100644 index 00000000..aa9e2e8f Binary files /dev/null and b/examples/data/Fruit360/mango/92_100.jpg differ diff --git a/examples/data/Fruit360/mango/93_100.jpg b/examples/data/Fruit360/mango/93_100.jpg new file mode 100644 index 00000000..9be02b81 Binary files /dev/null and b/examples/data/Fruit360/mango/93_100.jpg differ diff --git a/examples/data/Fruit360/mango/94_100.jpg b/examples/data/Fruit360/mango/94_100.jpg new file mode 100644 index 00000000..a19dc4ff Binary files /dev/null and b/examples/data/Fruit360/mango/94_100.jpg differ diff --git a/examples/data/Fruit360/mango/95_100.jpg b/examples/data/Fruit360/mango/95_100.jpg new file mode 100644 index 00000000..42d5fbab Binary files /dev/null and b/examples/data/Fruit360/mango/95_100.jpg differ diff --git a/examples/data/Fruit360/mango/96_100.jpg b/examples/data/Fruit360/mango/96_100.jpg new file mode 100644 index 00000000..93de6f74 Binary files /dev/null and b/examples/data/Fruit360/mango/96_100.jpg differ diff --git a/examples/data/Fruit360/mango/97_100.jpg b/examples/data/Fruit360/mango/97_100.jpg new file mode 100644 index 00000000..ae58ec56 Binary files /dev/null and b/examples/data/Fruit360/mango/97_100.jpg differ diff --git a/examples/data/Fruit360/mango/98_100.jpg b/examples/data/Fruit360/mango/98_100.jpg new file mode 100644 index 00000000..5806ca00 Binary files /dev/null and b/examples/data/Fruit360/mango/98_100.jpg differ diff --git a/examples/data/Fruit360/mango/99_100.jpg b/examples/data/Fruit360/mango/99_100.jpg new file mode 100644 index 00000000..a01f17ab Binary files /dev/null and b/examples/data/Fruit360/mango/99_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_0_100.jpg b/examples/data/Fruit360/mango/r_0_100.jpg new file mode 100644 index 00000000..4557f6f1 Binary files /dev/null and b/examples/data/Fruit360/mango/r_0_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_100_100.jpg b/examples/data/Fruit360/mango/r_100_100.jpg new file mode 100644 index 00000000..a5b0018a Binary files /dev/null and b/examples/data/Fruit360/mango/r_100_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_101_100.jpg b/examples/data/Fruit360/mango/r_101_100.jpg new file mode 100644 index 00000000..181ee79b Binary files /dev/null and b/examples/data/Fruit360/mango/r_101_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_102_100.jpg b/examples/data/Fruit360/mango/r_102_100.jpg new file mode 100644 index 00000000..9323387a Binary files /dev/null and b/examples/data/Fruit360/mango/r_102_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_103_100.jpg b/examples/data/Fruit360/mango/r_103_100.jpg new file mode 100644 index 00000000..d3c217d7 Binary files /dev/null and b/examples/data/Fruit360/mango/r_103_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_104_100.jpg b/examples/data/Fruit360/mango/r_104_100.jpg new file mode 100644 index 00000000..d35875f9 Binary files /dev/null and b/examples/data/Fruit360/mango/r_104_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_105_100.jpg b/examples/data/Fruit360/mango/r_105_100.jpg new file mode 100644 index 00000000..93ba5d88 Binary files /dev/null and b/examples/data/Fruit360/mango/r_105_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_106_100.jpg b/examples/data/Fruit360/mango/r_106_100.jpg new file mode 100644 index 00000000..30e4c018 Binary files /dev/null and b/examples/data/Fruit360/mango/r_106_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_107_100.jpg b/examples/data/Fruit360/mango/r_107_100.jpg new file mode 100644 index 00000000..d26c14cf Binary files /dev/null and b/examples/data/Fruit360/mango/r_107_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_108_100.jpg b/examples/data/Fruit360/mango/r_108_100.jpg new file mode 100644 index 00000000..4d84186a Binary files /dev/null and b/examples/data/Fruit360/mango/r_108_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_109_100.jpg b/examples/data/Fruit360/mango/r_109_100.jpg new file mode 100644 index 00000000..0d5e8995 Binary files /dev/null and b/examples/data/Fruit360/mango/r_109_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_10_100.jpg b/examples/data/Fruit360/mango/r_10_100.jpg new file mode 100644 index 00000000..13d51dc0 Binary files /dev/null and b/examples/data/Fruit360/mango/r_10_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_110_100.jpg b/examples/data/Fruit360/mango/r_110_100.jpg new file mode 100644 index 00000000..6414a8f5 Binary files /dev/null and b/examples/data/Fruit360/mango/r_110_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_111_100.jpg b/examples/data/Fruit360/mango/r_111_100.jpg new file mode 100644 index 00000000..315fa8cb Binary files /dev/null and b/examples/data/Fruit360/mango/r_111_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_112_100.jpg b/examples/data/Fruit360/mango/r_112_100.jpg new file mode 100644 index 00000000..8c2fb8cc Binary files /dev/null and b/examples/data/Fruit360/mango/r_112_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_113_100.jpg b/examples/data/Fruit360/mango/r_113_100.jpg new file mode 100644 index 00000000..77d6873c Binary files /dev/null and b/examples/data/Fruit360/mango/r_113_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_114_100.jpg b/examples/data/Fruit360/mango/r_114_100.jpg new file mode 100644 index 00000000..7b36f4dd Binary files /dev/null and b/examples/data/Fruit360/mango/r_114_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_115_100.jpg b/examples/data/Fruit360/mango/r_115_100.jpg new file mode 100644 index 00000000..574939fd Binary files /dev/null and b/examples/data/Fruit360/mango/r_115_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_116_100.jpg b/examples/data/Fruit360/mango/r_116_100.jpg new file mode 100644 index 00000000..605e3a0f Binary files /dev/null and b/examples/data/Fruit360/mango/r_116_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_117_100.jpg b/examples/data/Fruit360/mango/r_117_100.jpg new file mode 100644 index 00000000..281e4d6c Binary files /dev/null and b/examples/data/Fruit360/mango/r_117_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_118_100.jpg b/examples/data/Fruit360/mango/r_118_100.jpg new file mode 100644 index 00000000..17aba309 Binary files /dev/null and b/examples/data/Fruit360/mango/r_118_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_119_100.jpg b/examples/data/Fruit360/mango/r_119_100.jpg new file mode 100644 index 00000000..2733a307 Binary files /dev/null and b/examples/data/Fruit360/mango/r_119_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_11_100.jpg b/examples/data/Fruit360/mango/r_11_100.jpg new file mode 100644 index 00000000..87245bfc Binary files /dev/null and b/examples/data/Fruit360/mango/r_11_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_120_100.jpg b/examples/data/Fruit360/mango/r_120_100.jpg new file mode 100644 index 00000000..48771bf2 Binary files /dev/null and b/examples/data/Fruit360/mango/r_120_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_121_100.jpg b/examples/data/Fruit360/mango/r_121_100.jpg new file mode 100644 index 00000000..4c1d95af Binary files /dev/null and b/examples/data/Fruit360/mango/r_121_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_122_100.jpg b/examples/data/Fruit360/mango/r_122_100.jpg new file mode 100644 index 00000000..1ae2accb Binary files /dev/null and b/examples/data/Fruit360/mango/r_122_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_123_100.jpg b/examples/data/Fruit360/mango/r_123_100.jpg new file mode 100644 index 00000000..da2da8c2 Binary files /dev/null and b/examples/data/Fruit360/mango/r_123_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_124_100.jpg b/examples/data/Fruit360/mango/r_124_100.jpg new file mode 100644 index 00000000..d7f2aa56 Binary files /dev/null and b/examples/data/Fruit360/mango/r_124_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_125_100.jpg b/examples/data/Fruit360/mango/r_125_100.jpg new file mode 100644 index 00000000..5d3f7a3c Binary files /dev/null and b/examples/data/Fruit360/mango/r_125_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_126_100.jpg b/examples/data/Fruit360/mango/r_126_100.jpg new file mode 100644 index 00000000..9440a1b1 Binary files /dev/null and b/examples/data/Fruit360/mango/r_126_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_127_100.jpg b/examples/data/Fruit360/mango/r_127_100.jpg new file mode 100644 index 00000000..d0d556d0 Binary files /dev/null and b/examples/data/Fruit360/mango/r_127_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_128_100.jpg b/examples/data/Fruit360/mango/r_128_100.jpg new file mode 100644 index 00000000..ac6e337d Binary files /dev/null and b/examples/data/Fruit360/mango/r_128_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_129_100.jpg b/examples/data/Fruit360/mango/r_129_100.jpg new file mode 100644 index 00000000..dcfa3a39 Binary files /dev/null and b/examples/data/Fruit360/mango/r_129_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_12_100.jpg b/examples/data/Fruit360/mango/r_12_100.jpg new file mode 100644 index 00000000..be3f3c65 Binary files /dev/null and b/examples/data/Fruit360/mango/r_12_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_130_100.jpg b/examples/data/Fruit360/mango/r_130_100.jpg new file mode 100644 index 00000000..f80398e9 Binary files /dev/null and b/examples/data/Fruit360/mango/r_130_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_131_100.jpg b/examples/data/Fruit360/mango/r_131_100.jpg new file mode 100644 index 00000000..9f7ce450 Binary files /dev/null and b/examples/data/Fruit360/mango/r_131_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_132_100.jpg b/examples/data/Fruit360/mango/r_132_100.jpg new file mode 100644 index 00000000..8875cbab Binary files /dev/null and b/examples/data/Fruit360/mango/r_132_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_133_100.jpg b/examples/data/Fruit360/mango/r_133_100.jpg new file mode 100644 index 00000000..8d1de0c5 Binary files /dev/null and b/examples/data/Fruit360/mango/r_133_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_134_100.jpg b/examples/data/Fruit360/mango/r_134_100.jpg new file mode 100644 index 00000000..558054ca Binary files /dev/null and b/examples/data/Fruit360/mango/r_134_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_135_100.jpg b/examples/data/Fruit360/mango/r_135_100.jpg new file mode 100644 index 00000000..10ab198f Binary files /dev/null and b/examples/data/Fruit360/mango/r_135_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_136_100.jpg b/examples/data/Fruit360/mango/r_136_100.jpg new file mode 100644 index 00000000..2b5ce368 Binary files /dev/null and b/examples/data/Fruit360/mango/r_136_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_137_100.jpg b/examples/data/Fruit360/mango/r_137_100.jpg new file mode 100644 index 00000000..676e0637 Binary files /dev/null and b/examples/data/Fruit360/mango/r_137_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_138_100.jpg b/examples/data/Fruit360/mango/r_138_100.jpg new file mode 100644 index 00000000..aab68eac Binary files /dev/null and b/examples/data/Fruit360/mango/r_138_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_139_100.jpg b/examples/data/Fruit360/mango/r_139_100.jpg new file mode 100644 index 00000000..6c293d12 Binary files /dev/null and b/examples/data/Fruit360/mango/r_139_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_140_100.jpg b/examples/data/Fruit360/mango/r_140_100.jpg new file mode 100644 index 00000000..0e9101c0 Binary files /dev/null and b/examples/data/Fruit360/mango/r_140_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_141_100.jpg b/examples/data/Fruit360/mango/r_141_100.jpg new file mode 100644 index 00000000..37c139d2 Binary files /dev/null and b/examples/data/Fruit360/mango/r_141_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_142_100.jpg b/examples/data/Fruit360/mango/r_142_100.jpg new file mode 100644 index 00000000..9f8f20b1 Binary files /dev/null and b/examples/data/Fruit360/mango/r_142_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_143_100.jpg b/examples/data/Fruit360/mango/r_143_100.jpg new file mode 100644 index 00000000..13211da1 Binary files /dev/null and b/examples/data/Fruit360/mango/r_143_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_144_100.jpg b/examples/data/Fruit360/mango/r_144_100.jpg new file mode 100644 index 00000000..13a550a2 Binary files /dev/null and b/examples/data/Fruit360/mango/r_144_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_145_100.jpg b/examples/data/Fruit360/mango/r_145_100.jpg new file mode 100644 index 00000000..cff7b1ba Binary files /dev/null and b/examples/data/Fruit360/mango/r_145_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_146_100.jpg b/examples/data/Fruit360/mango/r_146_100.jpg new file mode 100644 index 00000000..8ce461d1 Binary files /dev/null and b/examples/data/Fruit360/mango/r_146_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_147_100.jpg b/examples/data/Fruit360/mango/r_147_100.jpg new file mode 100644 index 00000000..7a0ce6b6 Binary files /dev/null and b/examples/data/Fruit360/mango/r_147_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_148_100.jpg b/examples/data/Fruit360/mango/r_148_100.jpg new file mode 100644 index 00000000..20ba8ca6 Binary files /dev/null and b/examples/data/Fruit360/mango/r_148_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_149_100.jpg b/examples/data/Fruit360/mango/r_149_100.jpg new file mode 100644 index 00000000..d1208f56 Binary files /dev/null and b/examples/data/Fruit360/mango/r_149_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_150_100.jpg b/examples/data/Fruit360/mango/r_150_100.jpg new file mode 100644 index 00000000..2867609b Binary files /dev/null and b/examples/data/Fruit360/mango/r_150_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_151_100.jpg b/examples/data/Fruit360/mango/r_151_100.jpg new file mode 100644 index 00000000..8221a3ba Binary files /dev/null and b/examples/data/Fruit360/mango/r_151_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_152_100.jpg b/examples/data/Fruit360/mango/r_152_100.jpg new file mode 100644 index 00000000..d9316222 Binary files /dev/null and b/examples/data/Fruit360/mango/r_152_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_153_100.jpg b/examples/data/Fruit360/mango/r_153_100.jpg new file mode 100644 index 00000000..2633e7b4 Binary files /dev/null and b/examples/data/Fruit360/mango/r_153_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_154_100.jpg b/examples/data/Fruit360/mango/r_154_100.jpg new file mode 100644 index 00000000..b616363c Binary files /dev/null and b/examples/data/Fruit360/mango/r_154_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_155_100.jpg b/examples/data/Fruit360/mango/r_155_100.jpg new file mode 100644 index 00000000..d57af146 Binary files /dev/null and b/examples/data/Fruit360/mango/r_155_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_156_100.jpg b/examples/data/Fruit360/mango/r_156_100.jpg new file mode 100644 index 00000000..425561e7 Binary files /dev/null and b/examples/data/Fruit360/mango/r_156_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_157_100.jpg b/examples/data/Fruit360/mango/r_157_100.jpg new file mode 100644 index 00000000..1dccd41c Binary files /dev/null and b/examples/data/Fruit360/mango/r_157_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_158_100.jpg b/examples/data/Fruit360/mango/r_158_100.jpg new file mode 100644 index 00000000..76a7e4de Binary files /dev/null and b/examples/data/Fruit360/mango/r_158_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_159_100.jpg b/examples/data/Fruit360/mango/r_159_100.jpg new file mode 100644 index 00000000..0aff8043 Binary files /dev/null and b/examples/data/Fruit360/mango/r_159_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_160_100.jpg b/examples/data/Fruit360/mango/r_160_100.jpg new file mode 100644 index 00000000..3a10f12f Binary files /dev/null and b/examples/data/Fruit360/mango/r_160_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_161_100.jpg b/examples/data/Fruit360/mango/r_161_100.jpg new file mode 100644 index 00000000..757c287d Binary files /dev/null and b/examples/data/Fruit360/mango/r_161_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_162_100.jpg b/examples/data/Fruit360/mango/r_162_100.jpg new file mode 100644 index 00000000..8c869915 Binary files /dev/null and b/examples/data/Fruit360/mango/r_162_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_163_100.jpg b/examples/data/Fruit360/mango/r_163_100.jpg new file mode 100644 index 00000000..169df135 Binary files /dev/null and b/examples/data/Fruit360/mango/r_163_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_164_100.jpg b/examples/data/Fruit360/mango/r_164_100.jpg new file mode 100644 index 00000000..9bbeadad Binary files /dev/null and b/examples/data/Fruit360/mango/r_164_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_165_100.jpg b/examples/data/Fruit360/mango/r_165_100.jpg new file mode 100644 index 00000000..4380c74a Binary files /dev/null and b/examples/data/Fruit360/mango/r_165_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_166_100.jpg b/examples/data/Fruit360/mango/r_166_100.jpg new file mode 100644 index 00000000..7f3dd579 Binary files /dev/null and b/examples/data/Fruit360/mango/r_166_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_167_100.jpg b/examples/data/Fruit360/mango/r_167_100.jpg new file mode 100644 index 00000000..7021fea8 Binary files /dev/null and b/examples/data/Fruit360/mango/r_167_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_168_100.jpg b/examples/data/Fruit360/mango/r_168_100.jpg new file mode 100644 index 00000000..c7782e66 Binary files /dev/null and b/examples/data/Fruit360/mango/r_168_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_169_100.jpg b/examples/data/Fruit360/mango/r_169_100.jpg new file mode 100644 index 00000000..0b5e84d8 Binary files /dev/null and b/examples/data/Fruit360/mango/r_169_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_16_100.jpg b/examples/data/Fruit360/mango/r_16_100.jpg new file mode 100644 index 00000000..59af5416 Binary files /dev/null and b/examples/data/Fruit360/mango/r_16_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_170_100.jpg b/examples/data/Fruit360/mango/r_170_100.jpg new file mode 100644 index 00000000..5624e7cc Binary files /dev/null and b/examples/data/Fruit360/mango/r_170_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_171_100.jpg b/examples/data/Fruit360/mango/r_171_100.jpg new file mode 100644 index 00000000..c5b7fc92 Binary files /dev/null and b/examples/data/Fruit360/mango/r_171_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_172_100.jpg b/examples/data/Fruit360/mango/r_172_100.jpg new file mode 100644 index 00000000..2a5ead53 Binary files /dev/null and b/examples/data/Fruit360/mango/r_172_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_173_100.jpg b/examples/data/Fruit360/mango/r_173_100.jpg new file mode 100644 index 00000000..7563e325 Binary files /dev/null and b/examples/data/Fruit360/mango/r_173_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_174_100.jpg b/examples/data/Fruit360/mango/r_174_100.jpg new file mode 100644 index 00000000..78c6ff7f Binary files /dev/null and b/examples/data/Fruit360/mango/r_174_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_175_100.jpg b/examples/data/Fruit360/mango/r_175_100.jpg new file mode 100644 index 00000000..10ad113b Binary files /dev/null and b/examples/data/Fruit360/mango/r_175_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_176_100.jpg b/examples/data/Fruit360/mango/r_176_100.jpg new file mode 100644 index 00000000..80e7a73b Binary files /dev/null and b/examples/data/Fruit360/mango/r_176_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_177_100.jpg b/examples/data/Fruit360/mango/r_177_100.jpg new file mode 100644 index 00000000..0f94f0ca Binary files /dev/null and b/examples/data/Fruit360/mango/r_177_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_178_100.jpg b/examples/data/Fruit360/mango/r_178_100.jpg new file mode 100644 index 00000000..a7df56f6 Binary files /dev/null and b/examples/data/Fruit360/mango/r_178_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_179_100.jpg b/examples/data/Fruit360/mango/r_179_100.jpg new file mode 100644 index 00000000..43c621f6 Binary files /dev/null and b/examples/data/Fruit360/mango/r_179_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_17_100.jpg b/examples/data/Fruit360/mango/r_17_100.jpg new file mode 100644 index 00000000..828054bc Binary files /dev/null and b/examples/data/Fruit360/mango/r_17_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_180_100.jpg b/examples/data/Fruit360/mango/r_180_100.jpg new file mode 100644 index 00000000..9238237f Binary files /dev/null and b/examples/data/Fruit360/mango/r_180_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_181_100.jpg b/examples/data/Fruit360/mango/r_181_100.jpg new file mode 100644 index 00000000..201306dd Binary files /dev/null and b/examples/data/Fruit360/mango/r_181_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_182_100.jpg b/examples/data/Fruit360/mango/r_182_100.jpg new file mode 100644 index 00000000..f864f43a Binary files /dev/null and b/examples/data/Fruit360/mango/r_182_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_183_100.jpg b/examples/data/Fruit360/mango/r_183_100.jpg new file mode 100644 index 00000000..fecced05 Binary files /dev/null and b/examples/data/Fruit360/mango/r_183_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_184_100.jpg b/examples/data/Fruit360/mango/r_184_100.jpg new file mode 100644 index 00000000..4687cff6 Binary files /dev/null and b/examples/data/Fruit360/mango/r_184_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_185_100.jpg b/examples/data/Fruit360/mango/r_185_100.jpg new file mode 100644 index 00000000..26068f85 Binary files /dev/null and b/examples/data/Fruit360/mango/r_185_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_186_100.jpg b/examples/data/Fruit360/mango/r_186_100.jpg new file mode 100644 index 00000000..aafc81e2 Binary files /dev/null and b/examples/data/Fruit360/mango/r_186_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_187_100.jpg b/examples/data/Fruit360/mango/r_187_100.jpg new file mode 100644 index 00000000..8a53bcc6 Binary files /dev/null and b/examples/data/Fruit360/mango/r_187_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_188_100.jpg b/examples/data/Fruit360/mango/r_188_100.jpg new file mode 100644 index 00000000..9b561019 Binary files /dev/null and b/examples/data/Fruit360/mango/r_188_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_189_100.jpg b/examples/data/Fruit360/mango/r_189_100.jpg new file mode 100644 index 00000000..5653cb0c Binary files /dev/null and b/examples/data/Fruit360/mango/r_189_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_18_100.jpg b/examples/data/Fruit360/mango/r_18_100.jpg new file mode 100644 index 00000000..e8322bdf Binary files /dev/null and b/examples/data/Fruit360/mango/r_18_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_190_100.jpg b/examples/data/Fruit360/mango/r_190_100.jpg new file mode 100644 index 00000000..62d69251 Binary files /dev/null and b/examples/data/Fruit360/mango/r_190_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_191_100.jpg b/examples/data/Fruit360/mango/r_191_100.jpg new file mode 100644 index 00000000..b8efb298 Binary files /dev/null and b/examples/data/Fruit360/mango/r_191_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_192_100.jpg b/examples/data/Fruit360/mango/r_192_100.jpg new file mode 100644 index 00000000..8f952f48 Binary files /dev/null and b/examples/data/Fruit360/mango/r_192_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_193_100.jpg b/examples/data/Fruit360/mango/r_193_100.jpg new file mode 100644 index 00000000..d1e16138 Binary files /dev/null and b/examples/data/Fruit360/mango/r_193_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_194_100.jpg b/examples/data/Fruit360/mango/r_194_100.jpg new file mode 100644 index 00000000..7bf9310b Binary files /dev/null and b/examples/data/Fruit360/mango/r_194_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_195_100.jpg b/examples/data/Fruit360/mango/r_195_100.jpg new file mode 100644 index 00000000..3b1a4eaf Binary files /dev/null and b/examples/data/Fruit360/mango/r_195_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_196_100.jpg b/examples/data/Fruit360/mango/r_196_100.jpg new file mode 100644 index 00000000..04025c70 Binary files /dev/null and b/examples/data/Fruit360/mango/r_196_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_197_100.jpg b/examples/data/Fruit360/mango/r_197_100.jpg new file mode 100644 index 00000000..e67f0403 Binary files /dev/null and b/examples/data/Fruit360/mango/r_197_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_198_100.jpg b/examples/data/Fruit360/mango/r_198_100.jpg new file mode 100644 index 00000000..dd25ad36 Binary files /dev/null and b/examples/data/Fruit360/mango/r_198_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_199_100.jpg b/examples/data/Fruit360/mango/r_199_100.jpg new file mode 100644 index 00000000..35810e38 Binary files /dev/null and b/examples/data/Fruit360/mango/r_199_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_19_100.jpg b/examples/data/Fruit360/mango/r_19_100.jpg new file mode 100644 index 00000000..9ec56cf5 Binary files /dev/null and b/examples/data/Fruit360/mango/r_19_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_1_100.jpg b/examples/data/Fruit360/mango/r_1_100.jpg new file mode 100644 index 00000000..413e1cf2 Binary files /dev/null and b/examples/data/Fruit360/mango/r_1_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_200_100.jpg b/examples/data/Fruit360/mango/r_200_100.jpg new file mode 100644 index 00000000..e967a8c5 Binary files /dev/null and b/examples/data/Fruit360/mango/r_200_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_201_100.jpg b/examples/data/Fruit360/mango/r_201_100.jpg new file mode 100644 index 00000000..86b0b0e7 Binary files /dev/null and b/examples/data/Fruit360/mango/r_201_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_202_100.jpg b/examples/data/Fruit360/mango/r_202_100.jpg new file mode 100644 index 00000000..de0d6af2 Binary files /dev/null and b/examples/data/Fruit360/mango/r_202_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_203_100.jpg b/examples/data/Fruit360/mango/r_203_100.jpg new file mode 100644 index 00000000..213169c7 Binary files /dev/null and b/examples/data/Fruit360/mango/r_203_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_204_100.jpg b/examples/data/Fruit360/mango/r_204_100.jpg new file mode 100644 index 00000000..26ec6ad9 Binary files /dev/null and b/examples/data/Fruit360/mango/r_204_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_205_100.jpg b/examples/data/Fruit360/mango/r_205_100.jpg new file mode 100644 index 00000000..4842a045 Binary files /dev/null and b/examples/data/Fruit360/mango/r_205_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_206_100.jpg b/examples/data/Fruit360/mango/r_206_100.jpg new file mode 100644 index 00000000..67272698 Binary files /dev/null and b/examples/data/Fruit360/mango/r_206_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_207_100.jpg b/examples/data/Fruit360/mango/r_207_100.jpg new file mode 100644 index 00000000..5dbb1b20 Binary files /dev/null and b/examples/data/Fruit360/mango/r_207_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_208_100.jpg b/examples/data/Fruit360/mango/r_208_100.jpg new file mode 100644 index 00000000..68dcd816 Binary files /dev/null and b/examples/data/Fruit360/mango/r_208_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_209_100.jpg b/examples/data/Fruit360/mango/r_209_100.jpg new file mode 100644 index 00000000..225b3508 Binary files /dev/null and b/examples/data/Fruit360/mango/r_209_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_20_100.jpg b/examples/data/Fruit360/mango/r_20_100.jpg new file mode 100644 index 00000000..8479934d Binary files /dev/null and b/examples/data/Fruit360/mango/r_20_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_21_100.jpg b/examples/data/Fruit360/mango/r_21_100.jpg new file mode 100644 index 00000000..15e32489 Binary files /dev/null and b/examples/data/Fruit360/mango/r_21_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_22_100.jpg b/examples/data/Fruit360/mango/r_22_100.jpg new file mode 100644 index 00000000..0d926dfd Binary files /dev/null and b/examples/data/Fruit360/mango/r_22_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_23_100.jpg b/examples/data/Fruit360/mango/r_23_100.jpg new file mode 100644 index 00000000..20a1e664 Binary files /dev/null and b/examples/data/Fruit360/mango/r_23_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_24_100.jpg b/examples/data/Fruit360/mango/r_24_100.jpg new file mode 100644 index 00000000..0543a5c0 Binary files /dev/null and b/examples/data/Fruit360/mango/r_24_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_267_100.jpg b/examples/data/Fruit360/mango/r_267_100.jpg new file mode 100644 index 00000000..50b72931 Binary files /dev/null and b/examples/data/Fruit360/mango/r_267_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_268_100.jpg b/examples/data/Fruit360/mango/r_268_100.jpg new file mode 100644 index 00000000..58201893 Binary files /dev/null and b/examples/data/Fruit360/mango/r_268_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_269_100.jpg b/examples/data/Fruit360/mango/r_269_100.jpg new file mode 100644 index 00000000..be3276b1 Binary files /dev/null and b/examples/data/Fruit360/mango/r_269_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_26_100.jpg b/examples/data/Fruit360/mango/r_26_100.jpg new file mode 100644 index 00000000..360f56d1 Binary files /dev/null and b/examples/data/Fruit360/mango/r_26_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_272_100.jpg b/examples/data/Fruit360/mango/r_272_100.jpg new file mode 100644 index 00000000..b616d0f0 Binary files /dev/null and b/examples/data/Fruit360/mango/r_272_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_276_100.jpg b/examples/data/Fruit360/mango/r_276_100.jpg new file mode 100644 index 00000000..a6c668ed Binary files /dev/null and b/examples/data/Fruit360/mango/r_276_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_278_100.jpg b/examples/data/Fruit360/mango/r_278_100.jpg new file mode 100644 index 00000000..1e0cd08f Binary files /dev/null and b/examples/data/Fruit360/mango/r_278_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_279_100.jpg b/examples/data/Fruit360/mango/r_279_100.jpg new file mode 100644 index 00000000..ecd3bf39 Binary files /dev/null and b/examples/data/Fruit360/mango/r_279_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_27_100.jpg b/examples/data/Fruit360/mango/r_27_100.jpg new file mode 100644 index 00000000..55a3f17c Binary files /dev/null and b/examples/data/Fruit360/mango/r_27_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_280_100.jpg b/examples/data/Fruit360/mango/r_280_100.jpg new file mode 100644 index 00000000..8b93e7ee Binary files /dev/null and b/examples/data/Fruit360/mango/r_280_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_281_100.jpg b/examples/data/Fruit360/mango/r_281_100.jpg new file mode 100644 index 00000000..dd49dd6b Binary files /dev/null and b/examples/data/Fruit360/mango/r_281_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_282_100.jpg b/examples/data/Fruit360/mango/r_282_100.jpg new file mode 100644 index 00000000..164bae90 Binary files /dev/null and b/examples/data/Fruit360/mango/r_282_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_283_100.jpg b/examples/data/Fruit360/mango/r_283_100.jpg new file mode 100644 index 00000000..27d7b765 Binary files /dev/null and b/examples/data/Fruit360/mango/r_283_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_284_100.jpg b/examples/data/Fruit360/mango/r_284_100.jpg new file mode 100644 index 00000000..04755939 Binary files /dev/null and b/examples/data/Fruit360/mango/r_284_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_285_100.jpg b/examples/data/Fruit360/mango/r_285_100.jpg new file mode 100644 index 00000000..1292d31d Binary files /dev/null and b/examples/data/Fruit360/mango/r_285_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_286_100.jpg b/examples/data/Fruit360/mango/r_286_100.jpg new file mode 100644 index 00000000..1fd58089 Binary files /dev/null and b/examples/data/Fruit360/mango/r_286_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_287_100.jpg b/examples/data/Fruit360/mango/r_287_100.jpg new file mode 100644 index 00000000..02637a71 Binary files /dev/null and b/examples/data/Fruit360/mango/r_287_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_288_100.jpg b/examples/data/Fruit360/mango/r_288_100.jpg new file mode 100644 index 00000000..13d9debb Binary files /dev/null and b/examples/data/Fruit360/mango/r_288_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_289_100.jpg b/examples/data/Fruit360/mango/r_289_100.jpg new file mode 100644 index 00000000..e55332a8 Binary files /dev/null and b/examples/data/Fruit360/mango/r_289_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_28_100.jpg b/examples/data/Fruit360/mango/r_28_100.jpg new file mode 100644 index 00000000..afc3c933 Binary files /dev/null and b/examples/data/Fruit360/mango/r_28_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_290_100.jpg b/examples/data/Fruit360/mango/r_290_100.jpg new file mode 100644 index 00000000..73599a42 Binary files /dev/null and b/examples/data/Fruit360/mango/r_290_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_291_100.jpg b/examples/data/Fruit360/mango/r_291_100.jpg new file mode 100644 index 00000000..3998d9ce Binary files /dev/null and b/examples/data/Fruit360/mango/r_291_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_292_100.jpg b/examples/data/Fruit360/mango/r_292_100.jpg new file mode 100644 index 00000000..3e062b9b Binary files /dev/null and b/examples/data/Fruit360/mango/r_292_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_293_100.jpg b/examples/data/Fruit360/mango/r_293_100.jpg new file mode 100644 index 00000000..390e0596 Binary files /dev/null and b/examples/data/Fruit360/mango/r_293_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_294_100.jpg b/examples/data/Fruit360/mango/r_294_100.jpg new file mode 100644 index 00000000..95d189f0 Binary files /dev/null and b/examples/data/Fruit360/mango/r_294_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_295_100.jpg b/examples/data/Fruit360/mango/r_295_100.jpg new file mode 100644 index 00000000..e2e903c3 Binary files /dev/null and b/examples/data/Fruit360/mango/r_295_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_296_100.jpg b/examples/data/Fruit360/mango/r_296_100.jpg new file mode 100644 index 00000000..2f691366 Binary files /dev/null and b/examples/data/Fruit360/mango/r_296_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_297_100.jpg b/examples/data/Fruit360/mango/r_297_100.jpg new file mode 100644 index 00000000..a4701241 Binary files /dev/null and b/examples/data/Fruit360/mango/r_297_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_298_100.jpg b/examples/data/Fruit360/mango/r_298_100.jpg new file mode 100644 index 00000000..ae0d8745 Binary files /dev/null and b/examples/data/Fruit360/mango/r_298_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_299_100.jpg b/examples/data/Fruit360/mango/r_299_100.jpg new file mode 100644 index 00000000..08547b6c Binary files /dev/null and b/examples/data/Fruit360/mango/r_299_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_29_100.jpg b/examples/data/Fruit360/mango/r_29_100.jpg new file mode 100644 index 00000000..7cd9b4ea Binary files /dev/null and b/examples/data/Fruit360/mango/r_29_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_2_100.jpg b/examples/data/Fruit360/mango/r_2_100.jpg new file mode 100644 index 00000000..7874d130 Binary files /dev/null and b/examples/data/Fruit360/mango/r_2_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_300_100.jpg b/examples/data/Fruit360/mango/r_300_100.jpg new file mode 100644 index 00000000..4ade6773 Binary files /dev/null and b/examples/data/Fruit360/mango/r_300_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_301_100.jpg b/examples/data/Fruit360/mango/r_301_100.jpg new file mode 100644 index 00000000..a00bfa14 Binary files /dev/null and b/examples/data/Fruit360/mango/r_301_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_302_100.jpg b/examples/data/Fruit360/mango/r_302_100.jpg new file mode 100644 index 00000000..f62d6f6e Binary files /dev/null and b/examples/data/Fruit360/mango/r_302_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_303_100.jpg b/examples/data/Fruit360/mango/r_303_100.jpg new file mode 100644 index 00000000..a279ae54 Binary files /dev/null and b/examples/data/Fruit360/mango/r_303_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_304_100.jpg b/examples/data/Fruit360/mango/r_304_100.jpg new file mode 100644 index 00000000..6bc1d1f2 Binary files /dev/null and b/examples/data/Fruit360/mango/r_304_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_305_100.jpg b/examples/data/Fruit360/mango/r_305_100.jpg new file mode 100644 index 00000000..fca1d3f1 Binary files /dev/null and b/examples/data/Fruit360/mango/r_305_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_306_100.jpg b/examples/data/Fruit360/mango/r_306_100.jpg new file mode 100644 index 00000000..f5cf8fc5 Binary files /dev/null and b/examples/data/Fruit360/mango/r_306_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_307_100.jpg b/examples/data/Fruit360/mango/r_307_100.jpg new file mode 100644 index 00000000..6da0622d Binary files /dev/null and b/examples/data/Fruit360/mango/r_307_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_308_100.jpg b/examples/data/Fruit360/mango/r_308_100.jpg new file mode 100644 index 00000000..9d76bd0b Binary files /dev/null and b/examples/data/Fruit360/mango/r_308_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_309_100.jpg b/examples/data/Fruit360/mango/r_309_100.jpg new file mode 100644 index 00000000..1cb6974a Binary files /dev/null and b/examples/data/Fruit360/mango/r_309_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_30_100.jpg b/examples/data/Fruit360/mango/r_30_100.jpg new file mode 100644 index 00000000..6959061e Binary files /dev/null and b/examples/data/Fruit360/mango/r_30_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_310_100.jpg b/examples/data/Fruit360/mango/r_310_100.jpg new file mode 100644 index 00000000..41509e5d Binary files /dev/null and b/examples/data/Fruit360/mango/r_310_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_311_100.jpg b/examples/data/Fruit360/mango/r_311_100.jpg new file mode 100644 index 00000000..6646f419 Binary files /dev/null and b/examples/data/Fruit360/mango/r_311_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_312_100.jpg b/examples/data/Fruit360/mango/r_312_100.jpg new file mode 100644 index 00000000..e6626e29 Binary files /dev/null and b/examples/data/Fruit360/mango/r_312_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_313_100.jpg b/examples/data/Fruit360/mango/r_313_100.jpg new file mode 100644 index 00000000..9447516b Binary files /dev/null and b/examples/data/Fruit360/mango/r_313_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_314_100.jpg b/examples/data/Fruit360/mango/r_314_100.jpg new file mode 100644 index 00000000..03800511 Binary files /dev/null and b/examples/data/Fruit360/mango/r_314_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_315_100.jpg b/examples/data/Fruit360/mango/r_315_100.jpg new file mode 100644 index 00000000..250407d0 Binary files /dev/null and b/examples/data/Fruit360/mango/r_315_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_316_100.jpg b/examples/data/Fruit360/mango/r_316_100.jpg new file mode 100644 index 00000000..55113a08 Binary files /dev/null and b/examples/data/Fruit360/mango/r_316_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_317_100.jpg b/examples/data/Fruit360/mango/r_317_100.jpg new file mode 100644 index 00000000..b9a6c422 Binary files /dev/null and b/examples/data/Fruit360/mango/r_317_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_318_100.jpg b/examples/data/Fruit360/mango/r_318_100.jpg new file mode 100644 index 00000000..71f97f5c Binary files /dev/null and b/examples/data/Fruit360/mango/r_318_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_319_100.jpg b/examples/data/Fruit360/mango/r_319_100.jpg new file mode 100644 index 00000000..e4c8fd71 Binary files /dev/null and b/examples/data/Fruit360/mango/r_319_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_31_100.jpg b/examples/data/Fruit360/mango/r_31_100.jpg new file mode 100644 index 00000000..ef550a51 Binary files /dev/null and b/examples/data/Fruit360/mango/r_31_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_320_100.jpg b/examples/data/Fruit360/mango/r_320_100.jpg new file mode 100644 index 00000000..e85e132f Binary files /dev/null and b/examples/data/Fruit360/mango/r_320_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_324_100.jpg b/examples/data/Fruit360/mango/r_324_100.jpg new file mode 100644 index 00000000..7b6cdaee Binary files /dev/null and b/examples/data/Fruit360/mango/r_324_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_325_100.jpg b/examples/data/Fruit360/mango/r_325_100.jpg new file mode 100644 index 00000000..2fa71ff2 Binary files /dev/null and b/examples/data/Fruit360/mango/r_325_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_326_100.jpg b/examples/data/Fruit360/mango/r_326_100.jpg new file mode 100644 index 00000000..cd7a0dc2 Binary files /dev/null and b/examples/data/Fruit360/mango/r_326_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_327_100.jpg b/examples/data/Fruit360/mango/r_327_100.jpg new file mode 100644 index 00000000..b383a04e Binary files /dev/null and b/examples/data/Fruit360/mango/r_327_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_32_100.jpg b/examples/data/Fruit360/mango/r_32_100.jpg new file mode 100644 index 00000000..8dd6360c Binary files /dev/null and b/examples/data/Fruit360/mango/r_32_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_33_100.jpg b/examples/data/Fruit360/mango/r_33_100.jpg new file mode 100644 index 00000000..dade8d72 Binary files /dev/null and b/examples/data/Fruit360/mango/r_33_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_34_100.jpg b/examples/data/Fruit360/mango/r_34_100.jpg new file mode 100644 index 00000000..9bfbb7e6 Binary files /dev/null and b/examples/data/Fruit360/mango/r_34_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_35_100.jpg b/examples/data/Fruit360/mango/r_35_100.jpg new file mode 100644 index 00000000..67f880b3 Binary files /dev/null and b/examples/data/Fruit360/mango/r_35_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_36_100.jpg b/examples/data/Fruit360/mango/r_36_100.jpg new file mode 100644 index 00000000..4a970e16 Binary files /dev/null and b/examples/data/Fruit360/mango/r_36_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_37_100.jpg b/examples/data/Fruit360/mango/r_37_100.jpg new file mode 100644 index 00000000..f12e3f2f Binary files /dev/null and b/examples/data/Fruit360/mango/r_37_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_38_100.jpg b/examples/data/Fruit360/mango/r_38_100.jpg new file mode 100644 index 00000000..acbded20 Binary files /dev/null and b/examples/data/Fruit360/mango/r_38_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_39_100.jpg b/examples/data/Fruit360/mango/r_39_100.jpg new file mode 100644 index 00000000..ce528225 Binary files /dev/null and b/examples/data/Fruit360/mango/r_39_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_3_100.jpg b/examples/data/Fruit360/mango/r_3_100.jpg new file mode 100644 index 00000000..5fe57d22 Binary files /dev/null and b/examples/data/Fruit360/mango/r_3_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_40_100.jpg b/examples/data/Fruit360/mango/r_40_100.jpg new file mode 100644 index 00000000..9488c1ff Binary files /dev/null and b/examples/data/Fruit360/mango/r_40_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_41_100.jpg b/examples/data/Fruit360/mango/r_41_100.jpg new file mode 100644 index 00000000..b632ba1a Binary files /dev/null and b/examples/data/Fruit360/mango/r_41_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_42_100.jpg b/examples/data/Fruit360/mango/r_42_100.jpg new file mode 100644 index 00000000..350499aa Binary files /dev/null and b/examples/data/Fruit360/mango/r_42_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_43_100.jpg b/examples/data/Fruit360/mango/r_43_100.jpg new file mode 100644 index 00000000..a703d335 Binary files /dev/null and b/examples/data/Fruit360/mango/r_43_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_44_100.jpg b/examples/data/Fruit360/mango/r_44_100.jpg new file mode 100644 index 00000000..45177b49 Binary files /dev/null and b/examples/data/Fruit360/mango/r_44_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_45_100.jpg b/examples/data/Fruit360/mango/r_45_100.jpg new file mode 100644 index 00000000..4c15f2c6 Binary files /dev/null and b/examples/data/Fruit360/mango/r_45_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_46_100.jpg b/examples/data/Fruit360/mango/r_46_100.jpg new file mode 100644 index 00000000..4429d53b Binary files /dev/null and b/examples/data/Fruit360/mango/r_46_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_47_100.jpg b/examples/data/Fruit360/mango/r_47_100.jpg new file mode 100644 index 00000000..a039603f Binary files /dev/null and b/examples/data/Fruit360/mango/r_47_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_48_100.jpg b/examples/data/Fruit360/mango/r_48_100.jpg new file mode 100644 index 00000000..c68008d5 Binary files /dev/null and b/examples/data/Fruit360/mango/r_48_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_49_100.jpg b/examples/data/Fruit360/mango/r_49_100.jpg new file mode 100644 index 00000000..cab2bf21 Binary files /dev/null and b/examples/data/Fruit360/mango/r_49_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_4_100.jpg b/examples/data/Fruit360/mango/r_4_100.jpg new file mode 100644 index 00000000..508cb0ad Binary files /dev/null and b/examples/data/Fruit360/mango/r_4_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_50_100.jpg b/examples/data/Fruit360/mango/r_50_100.jpg new file mode 100644 index 00000000..df24d483 Binary files /dev/null and b/examples/data/Fruit360/mango/r_50_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_51_100.jpg b/examples/data/Fruit360/mango/r_51_100.jpg new file mode 100644 index 00000000..2487b8f2 Binary files /dev/null and b/examples/data/Fruit360/mango/r_51_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_52_100.jpg b/examples/data/Fruit360/mango/r_52_100.jpg new file mode 100644 index 00000000..423e37f8 Binary files /dev/null and b/examples/data/Fruit360/mango/r_52_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_53_100.jpg b/examples/data/Fruit360/mango/r_53_100.jpg new file mode 100644 index 00000000..3f95268c Binary files /dev/null and b/examples/data/Fruit360/mango/r_53_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_54_100.jpg b/examples/data/Fruit360/mango/r_54_100.jpg new file mode 100644 index 00000000..a967852b Binary files /dev/null and b/examples/data/Fruit360/mango/r_54_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_55_100.jpg b/examples/data/Fruit360/mango/r_55_100.jpg new file mode 100644 index 00000000..869d3093 Binary files /dev/null and b/examples/data/Fruit360/mango/r_55_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_56_100.jpg b/examples/data/Fruit360/mango/r_56_100.jpg new file mode 100644 index 00000000..4a4e3630 Binary files /dev/null and b/examples/data/Fruit360/mango/r_56_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_57_100.jpg b/examples/data/Fruit360/mango/r_57_100.jpg new file mode 100644 index 00000000..5044018c Binary files /dev/null and b/examples/data/Fruit360/mango/r_57_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_58_100.jpg b/examples/data/Fruit360/mango/r_58_100.jpg new file mode 100644 index 00000000..e6f07ebb Binary files /dev/null and b/examples/data/Fruit360/mango/r_58_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_59_100.jpg b/examples/data/Fruit360/mango/r_59_100.jpg new file mode 100644 index 00000000..4141761d Binary files /dev/null and b/examples/data/Fruit360/mango/r_59_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_5_100.jpg b/examples/data/Fruit360/mango/r_5_100.jpg new file mode 100644 index 00000000..f57c75db Binary files /dev/null and b/examples/data/Fruit360/mango/r_5_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_60_100.jpg b/examples/data/Fruit360/mango/r_60_100.jpg new file mode 100644 index 00000000..3c736dd2 Binary files /dev/null and b/examples/data/Fruit360/mango/r_60_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_61_100.jpg b/examples/data/Fruit360/mango/r_61_100.jpg new file mode 100644 index 00000000..6b93037f Binary files /dev/null and b/examples/data/Fruit360/mango/r_61_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_62_100.jpg b/examples/data/Fruit360/mango/r_62_100.jpg new file mode 100644 index 00000000..b38b0910 Binary files /dev/null and b/examples/data/Fruit360/mango/r_62_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_63_100.jpg b/examples/data/Fruit360/mango/r_63_100.jpg new file mode 100644 index 00000000..54cce8f5 Binary files /dev/null and b/examples/data/Fruit360/mango/r_63_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_64_100.jpg b/examples/data/Fruit360/mango/r_64_100.jpg new file mode 100644 index 00000000..1287f643 Binary files /dev/null and b/examples/data/Fruit360/mango/r_64_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_65_100.jpg b/examples/data/Fruit360/mango/r_65_100.jpg new file mode 100644 index 00000000..6a4d2112 Binary files /dev/null and b/examples/data/Fruit360/mango/r_65_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_66_100.jpg b/examples/data/Fruit360/mango/r_66_100.jpg new file mode 100644 index 00000000..5cd61139 Binary files /dev/null and b/examples/data/Fruit360/mango/r_66_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_67_100.jpg b/examples/data/Fruit360/mango/r_67_100.jpg new file mode 100644 index 00000000..7e780e7e Binary files /dev/null and b/examples/data/Fruit360/mango/r_67_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_68_100.jpg b/examples/data/Fruit360/mango/r_68_100.jpg new file mode 100644 index 00000000..33268a61 Binary files /dev/null and b/examples/data/Fruit360/mango/r_68_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_69_100.jpg b/examples/data/Fruit360/mango/r_69_100.jpg new file mode 100644 index 00000000..e8531899 Binary files /dev/null and b/examples/data/Fruit360/mango/r_69_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_6_100.jpg b/examples/data/Fruit360/mango/r_6_100.jpg new file mode 100644 index 00000000..dce98ac9 Binary files /dev/null and b/examples/data/Fruit360/mango/r_6_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_70_100.jpg b/examples/data/Fruit360/mango/r_70_100.jpg new file mode 100644 index 00000000..261939f6 Binary files /dev/null and b/examples/data/Fruit360/mango/r_70_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_71_100.jpg b/examples/data/Fruit360/mango/r_71_100.jpg new file mode 100644 index 00000000..97689dbb Binary files /dev/null and b/examples/data/Fruit360/mango/r_71_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_72_100.jpg b/examples/data/Fruit360/mango/r_72_100.jpg new file mode 100644 index 00000000..bd53d580 Binary files /dev/null and b/examples/data/Fruit360/mango/r_72_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_73_100.jpg b/examples/data/Fruit360/mango/r_73_100.jpg new file mode 100644 index 00000000..3b377327 Binary files /dev/null and b/examples/data/Fruit360/mango/r_73_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_74_100.jpg b/examples/data/Fruit360/mango/r_74_100.jpg new file mode 100644 index 00000000..a44878fc Binary files /dev/null and b/examples/data/Fruit360/mango/r_74_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_75_100.jpg b/examples/data/Fruit360/mango/r_75_100.jpg new file mode 100644 index 00000000..11530f01 Binary files /dev/null and b/examples/data/Fruit360/mango/r_75_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_76_100.jpg b/examples/data/Fruit360/mango/r_76_100.jpg new file mode 100644 index 00000000..3d8bf195 Binary files /dev/null and b/examples/data/Fruit360/mango/r_76_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_77_100.jpg b/examples/data/Fruit360/mango/r_77_100.jpg new file mode 100644 index 00000000..c9b29f83 Binary files /dev/null and b/examples/data/Fruit360/mango/r_77_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_7_100.jpg b/examples/data/Fruit360/mango/r_7_100.jpg new file mode 100644 index 00000000..646b5dad Binary files /dev/null and b/examples/data/Fruit360/mango/r_7_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_80_100.jpg b/examples/data/Fruit360/mango/r_80_100.jpg new file mode 100644 index 00000000..ea71a9f5 Binary files /dev/null and b/examples/data/Fruit360/mango/r_80_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_8_100.jpg b/examples/data/Fruit360/mango/r_8_100.jpg new file mode 100644 index 00000000..fd37b61d Binary files /dev/null and b/examples/data/Fruit360/mango/r_8_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_92_100.jpg b/examples/data/Fruit360/mango/r_92_100.jpg new file mode 100644 index 00000000..b229a6bb Binary files /dev/null and b/examples/data/Fruit360/mango/r_92_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_93_100.jpg b/examples/data/Fruit360/mango/r_93_100.jpg new file mode 100644 index 00000000..ee895cfd Binary files /dev/null and b/examples/data/Fruit360/mango/r_93_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_94_100.jpg b/examples/data/Fruit360/mango/r_94_100.jpg new file mode 100644 index 00000000..95b29e16 Binary files /dev/null and b/examples/data/Fruit360/mango/r_94_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_95_100.jpg b/examples/data/Fruit360/mango/r_95_100.jpg new file mode 100644 index 00000000..ddc65535 Binary files /dev/null and b/examples/data/Fruit360/mango/r_95_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_96_100.jpg b/examples/data/Fruit360/mango/r_96_100.jpg new file mode 100644 index 00000000..82f66c5b Binary files /dev/null and b/examples/data/Fruit360/mango/r_96_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_97_100.jpg b/examples/data/Fruit360/mango/r_97_100.jpg new file mode 100644 index 00000000..6b679de3 Binary files /dev/null and b/examples/data/Fruit360/mango/r_97_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_98_100.jpg b/examples/data/Fruit360/mango/r_98_100.jpg new file mode 100644 index 00000000..c00ec0bb Binary files /dev/null and b/examples/data/Fruit360/mango/r_98_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_99_100.jpg b/examples/data/Fruit360/mango/r_99_100.jpg new file mode 100644 index 00000000..049f24b7 Binary files /dev/null and b/examples/data/Fruit360/mango/r_99_100.jpg differ diff --git a/examples/data/Fruit360/mango/r_9_100.jpg b/examples/data/Fruit360/mango/r_9_100.jpg new file mode 100644 index 00000000..6019a5a4 Binary files /dev/null and b/examples/data/Fruit360/mango/r_9_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/0_100.jpg b/examples/data/Fruit360/raspberry/0_100.jpg new file mode 100644 index 00000000..e968a0df Binary files /dev/null and b/examples/data/Fruit360/raspberry/0_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/10_100.jpg b/examples/data/Fruit360/raspberry/10_100.jpg new file mode 100644 index 00000000..0c3716f0 Binary files /dev/null and b/examples/data/Fruit360/raspberry/10_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/113_100.jpg b/examples/data/Fruit360/raspberry/113_100.jpg new file mode 100644 index 00000000..a108cd62 Binary files /dev/null and b/examples/data/Fruit360/raspberry/113_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/114_100.jpg b/examples/data/Fruit360/raspberry/114_100.jpg new file mode 100644 index 00000000..6fae2ea1 Binary files /dev/null and b/examples/data/Fruit360/raspberry/114_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/115_100.jpg b/examples/data/Fruit360/raspberry/115_100.jpg new file mode 100644 index 00000000..2a08c89e Binary files /dev/null and b/examples/data/Fruit360/raspberry/115_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/116_100.jpg b/examples/data/Fruit360/raspberry/116_100.jpg new file mode 100644 index 00000000..028ca1be Binary files /dev/null and b/examples/data/Fruit360/raspberry/116_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/117_100.jpg b/examples/data/Fruit360/raspberry/117_100.jpg new file mode 100644 index 00000000..a2b0af17 Binary files /dev/null and b/examples/data/Fruit360/raspberry/117_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/118_100.jpg b/examples/data/Fruit360/raspberry/118_100.jpg new file mode 100644 index 00000000..e23fc7f7 Binary files /dev/null and b/examples/data/Fruit360/raspberry/118_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/119_100.jpg b/examples/data/Fruit360/raspberry/119_100.jpg new file mode 100644 index 00000000..e2256829 Binary files /dev/null and b/examples/data/Fruit360/raspberry/119_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/11_100.jpg b/examples/data/Fruit360/raspberry/11_100.jpg new file mode 100644 index 00000000..3ab8587a Binary files /dev/null and b/examples/data/Fruit360/raspberry/11_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/120_100.jpg b/examples/data/Fruit360/raspberry/120_100.jpg new file mode 100644 index 00000000..d4f15496 Binary files /dev/null and b/examples/data/Fruit360/raspberry/120_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/121_100.jpg b/examples/data/Fruit360/raspberry/121_100.jpg new file mode 100644 index 00000000..4fc8190e Binary files /dev/null and b/examples/data/Fruit360/raspberry/121_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/122_100.jpg b/examples/data/Fruit360/raspberry/122_100.jpg new file mode 100644 index 00000000..711a7f01 Binary files /dev/null and b/examples/data/Fruit360/raspberry/122_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/123_100.jpg b/examples/data/Fruit360/raspberry/123_100.jpg new file mode 100644 index 00000000..c71fd7dc Binary files /dev/null and b/examples/data/Fruit360/raspberry/123_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/124_100.jpg b/examples/data/Fruit360/raspberry/124_100.jpg new file mode 100644 index 00000000..6eba7332 Binary files /dev/null and b/examples/data/Fruit360/raspberry/124_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/125_100.jpg b/examples/data/Fruit360/raspberry/125_100.jpg new file mode 100644 index 00000000..4b9dd9a5 Binary files /dev/null and b/examples/data/Fruit360/raspberry/125_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/126_100.jpg b/examples/data/Fruit360/raspberry/126_100.jpg new file mode 100644 index 00000000..39b67649 Binary files /dev/null and b/examples/data/Fruit360/raspberry/126_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/127_100.jpg b/examples/data/Fruit360/raspberry/127_100.jpg new file mode 100644 index 00000000..bf921f72 Binary files /dev/null and b/examples/data/Fruit360/raspberry/127_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/128_100.jpg b/examples/data/Fruit360/raspberry/128_100.jpg new file mode 100644 index 00000000..e410e758 Binary files /dev/null and b/examples/data/Fruit360/raspberry/128_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/129_100.jpg b/examples/data/Fruit360/raspberry/129_100.jpg new file mode 100644 index 00000000..1224e8f5 Binary files /dev/null and b/examples/data/Fruit360/raspberry/129_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/12_100.jpg b/examples/data/Fruit360/raspberry/12_100.jpg new file mode 100644 index 00000000..5949993f Binary files /dev/null and b/examples/data/Fruit360/raspberry/12_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/130_100.jpg b/examples/data/Fruit360/raspberry/130_100.jpg new file mode 100644 index 00000000..ee868805 Binary files /dev/null and b/examples/data/Fruit360/raspberry/130_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/131_100.jpg b/examples/data/Fruit360/raspberry/131_100.jpg new file mode 100644 index 00000000..eda63ef5 Binary files /dev/null and b/examples/data/Fruit360/raspberry/131_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/132_100.jpg b/examples/data/Fruit360/raspberry/132_100.jpg new file mode 100644 index 00000000..d333fb4b Binary files /dev/null and b/examples/data/Fruit360/raspberry/132_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/133_100.jpg b/examples/data/Fruit360/raspberry/133_100.jpg new file mode 100644 index 00000000..f5f611e2 Binary files /dev/null and b/examples/data/Fruit360/raspberry/133_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/134_100.jpg b/examples/data/Fruit360/raspberry/134_100.jpg new file mode 100644 index 00000000..08654d6c Binary files /dev/null and b/examples/data/Fruit360/raspberry/134_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/135_100.jpg b/examples/data/Fruit360/raspberry/135_100.jpg new file mode 100644 index 00000000..f2d4c20e Binary files /dev/null and b/examples/data/Fruit360/raspberry/135_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/136_100.jpg b/examples/data/Fruit360/raspberry/136_100.jpg new file mode 100644 index 00000000..72b76588 Binary files /dev/null and b/examples/data/Fruit360/raspberry/136_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/137_100.jpg b/examples/data/Fruit360/raspberry/137_100.jpg new file mode 100644 index 00000000..65c8e601 Binary files /dev/null and b/examples/data/Fruit360/raspberry/137_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/138_100.jpg b/examples/data/Fruit360/raspberry/138_100.jpg new file mode 100644 index 00000000..a51bfe39 Binary files /dev/null and b/examples/data/Fruit360/raspberry/138_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/139_100.jpg b/examples/data/Fruit360/raspberry/139_100.jpg new file mode 100644 index 00000000..bc22ceee Binary files /dev/null and b/examples/data/Fruit360/raspberry/139_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/13_100.jpg b/examples/data/Fruit360/raspberry/13_100.jpg new file mode 100644 index 00000000..cdab1b53 Binary files /dev/null and b/examples/data/Fruit360/raspberry/13_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/140_100.jpg b/examples/data/Fruit360/raspberry/140_100.jpg new file mode 100644 index 00000000..0dad6193 Binary files /dev/null and b/examples/data/Fruit360/raspberry/140_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/141_100.jpg b/examples/data/Fruit360/raspberry/141_100.jpg new file mode 100644 index 00000000..abde19b1 Binary files /dev/null and b/examples/data/Fruit360/raspberry/141_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/142_100.jpg b/examples/data/Fruit360/raspberry/142_100.jpg new file mode 100644 index 00000000..d76a2a05 Binary files /dev/null and b/examples/data/Fruit360/raspberry/142_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/143_100.jpg b/examples/data/Fruit360/raspberry/143_100.jpg new file mode 100644 index 00000000..aa89e8b6 Binary files /dev/null and b/examples/data/Fruit360/raspberry/143_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/144_100.jpg b/examples/data/Fruit360/raspberry/144_100.jpg new file mode 100644 index 00000000..6a1f4474 Binary files /dev/null and b/examples/data/Fruit360/raspberry/144_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/145_100.jpg b/examples/data/Fruit360/raspberry/145_100.jpg new file mode 100644 index 00000000..b3c53946 Binary files /dev/null and b/examples/data/Fruit360/raspberry/145_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/146_100.jpg b/examples/data/Fruit360/raspberry/146_100.jpg new file mode 100644 index 00000000..f24511a1 Binary files /dev/null and b/examples/data/Fruit360/raspberry/146_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/147_100.jpg b/examples/data/Fruit360/raspberry/147_100.jpg new file mode 100644 index 00000000..83d89aac Binary files /dev/null and b/examples/data/Fruit360/raspberry/147_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/148_100.jpg b/examples/data/Fruit360/raspberry/148_100.jpg new file mode 100644 index 00000000..96a9668a Binary files /dev/null and b/examples/data/Fruit360/raspberry/148_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/149_100.jpg b/examples/data/Fruit360/raspberry/149_100.jpg new file mode 100644 index 00000000..228c4155 Binary files /dev/null and b/examples/data/Fruit360/raspberry/149_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/14_100.jpg b/examples/data/Fruit360/raspberry/14_100.jpg new file mode 100644 index 00000000..48662fa9 Binary files /dev/null and b/examples/data/Fruit360/raspberry/14_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/150_100.jpg b/examples/data/Fruit360/raspberry/150_100.jpg new file mode 100644 index 00000000..ead82c55 Binary files /dev/null and b/examples/data/Fruit360/raspberry/150_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/151_100.jpg b/examples/data/Fruit360/raspberry/151_100.jpg new file mode 100644 index 00000000..da24e075 Binary files /dev/null and b/examples/data/Fruit360/raspberry/151_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/152_100.jpg b/examples/data/Fruit360/raspberry/152_100.jpg new file mode 100644 index 00000000..2527a8db Binary files /dev/null and b/examples/data/Fruit360/raspberry/152_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/153_100.jpg b/examples/data/Fruit360/raspberry/153_100.jpg new file mode 100644 index 00000000..6722ff2e Binary files /dev/null and b/examples/data/Fruit360/raspberry/153_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/154_100.jpg b/examples/data/Fruit360/raspberry/154_100.jpg new file mode 100644 index 00000000..9f548503 Binary files /dev/null and b/examples/data/Fruit360/raspberry/154_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/155_100.jpg b/examples/data/Fruit360/raspberry/155_100.jpg new file mode 100644 index 00000000..466b5ff0 Binary files /dev/null and b/examples/data/Fruit360/raspberry/155_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/156_100.jpg b/examples/data/Fruit360/raspberry/156_100.jpg new file mode 100644 index 00000000..9f1a6520 Binary files /dev/null and b/examples/data/Fruit360/raspberry/156_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/157_100.jpg b/examples/data/Fruit360/raspberry/157_100.jpg new file mode 100644 index 00000000..7b73df94 Binary files /dev/null and b/examples/data/Fruit360/raspberry/157_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/158_100.jpg b/examples/data/Fruit360/raspberry/158_100.jpg new file mode 100644 index 00000000..1e2d80d7 Binary files /dev/null and b/examples/data/Fruit360/raspberry/158_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/159_100.jpg b/examples/data/Fruit360/raspberry/159_100.jpg new file mode 100644 index 00000000..cf27e347 Binary files /dev/null and b/examples/data/Fruit360/raspberry/159_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/15_100.jpg b/examples/data/Fruit360/raspberry/15_100.jpg new file mode 100644 index 00000000..4093e59e Binary files /dev/null and b/examples/data/Fruit360/raspberry/15_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/160_100.jpg b/examples/data/Fruit360/raspberry/160_100.jpg new file mode 100644 index 00000000..d97f2cf2 Binary files /dev/null and b/examples/data/Fruit360/raspberry/160_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/161_100.jpg b/examples/data/Fruit360/raspberry/161_100.jpg new file mode 100644 index 00000000..ade761b7 Binary files /dev/null and b/examples/data/Fruit360/raspberry/161_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/162_100.jpg b/examples/data/Fruit360/raspberry/162_100.jpg new file mode 100644 index 00000000..51ab281d Binary files /dev/null and b/examples/data/Fruit360/raspberry/162_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/163_100.jpg b/examples/data/Fruit360/raspberry/163_100.jpg new file mode 100644 index 00000000..17e88ed2 Binary files /dev/null and b/examples/data/Fruit360/raspberry/163_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/164_100.jpg b/examples/data/Fruit360/raspberry/164_100.jpg new file mode 100644 index 00000000..94dfa6ba Binary files /dev/null and b/examples/data/Fruit360/raspberry/164_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/165_100.jpg b/examples/data/Fruit360/raspberry/165_100.jpg new file mode 100644 index 00000000..6c02e0fb Binary files /dev/null and b/examples/data/Fruit360/raspberry/165_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/166_100.jpg b/examples/data/Fruit360/raspberry/166_100.jpg new file mode 100644 index 00000000..a93b19ae Binary files /dev/null and b/examples/data/Fruit360/raspberry/166_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/167_100.jpg b/examples/data/Fruit360/raspberry/167_100.jpg new file mode 100644 index 00000000..d1b7b36e Binary files /dev/null and b/examples/data/Fruit360/raspberry/167_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/168_100.jpg b/examples/data/Fruit360/raspberry/168_100.jpg new file mode 100644 index 00000000..390dd1e1 Binary files /dev/null and b/examples/data/Fruit360/raspberry/168_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/169_100.jpg b/examples/data/Fruit360/raspberry/169_100.jpg new file mode 100644 index 00000000..5a8fcda2 Binary files /dev/null and b/examples/data/Fruit360/raspberry/169_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/16_100.jpg b/examples/data/Fruit360/raspberry/16_100.jpg new file mode 100644 index 00000000..7aecafaf Binary files /dev/null and b/examples/data/Fruit360/raspberry/16_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/170_100.jpg b/examples/data/Fruit360/raspberry/170_100.jpg new file mode 100644 index 00000000..f84a52c0 Binary files /dev/null and b/examples/data/Fruit360/raspberry/170_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/171_100.jpg b/examples/data/Fruit360/raspberry/171_100.jpg new file mode 100644 index 00000000..9d008a62 Binary files /dev/null and b/examples/data/Fruit360/raspberry/171_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/172_100.jpg b/examples/data/Fruit360/raspberry/172_100.jpg new file mode 100644 index 00000000..138b6d1d Binary files /dev/null and b/examples/data/Fruit360/raspberry/172_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/173_100.jpg b/examples/data/Fruit360/raspberry/173_100.jpg new file mode 100644 index 00000000..dd0b43ef Binary files /dev/null and b/examples/data/Fruit360/raspberry/173_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/174_100.jpg b/examples/data/Fruit360/raspberry/174_100.jpg new file mode 100644 index 00000000..f4ddcd67 Binary files /dev/null and b/examples/data/Fruit360/raspberry/174_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/175_100.jpg b/examples/data/Fruit360/raspberry/175_100.jpg new file mode 100644 index 00000000..a8395944 Binary files /dev/null and b/examples/data/Fruit360/raspberry/175_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/176_100.jpg b/examples/data/Fruit360/raspberry/176_100.jpg new file mode 100644 index 00000000..e26074f6 Binary files /dev/null and b/examples/data/Fruit360/raspberry/176_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/177_100.jpg b/examples/data/Fruit360/raspberry/177_100.jpg new file mode 100644 index 00000000..3b7a78cd Binary files /dev/null and b/examples/data/Fruit360/raspberry/177_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/178_100.jpg b/examples/data/Fruit360/raspberry/178_100.jpg new file mode 100644 index 00000000..930c7918 Binary files /dev/null and b/examples/data/Fruit360/raspberry/178_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/179_100.jpg b/examples/data/Fruit360/raspberry/179_100.jpg new file mode 100644 index 00000000..efb4a10f Binary files /dev/null and b/examples/data/Fruit360/raspberry/179_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/17_100.jpg b/examples/data/Fruit360/raspberry/17_100.jpg new file mode 100644 index 00000000..c10db47e Binary files /dev/null and b/examples/data/Fruit360/raspberry/17_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/180_100.jpg b/examples/data/Fruit360/raspberry/180_100.jpg new file mode 100644 index 00000000..738e5734 Binary files /dev/null and b/examples/data/Fruit360/raspberry/180_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/181_100.jpg b/examples/data/Fruit360/raspberry/181_100.jpg new file mode 100644 index 00000000..8901ebb1 Binary files /dev/null and b/examples/data/Fruit360/raspberry/181_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/182_100.jpg b/examples/data/Fruit360/raspberry/182_100.jpg new file mode 100644 index 00000000..04b551ef Binary files /dev/null and b/examples/data/Fruit360/raspberry/182_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/183_100.jpg b/examples/data/Fruit360/raspberry/183_100.jpg new file mode 100644 index 00000000..ec06ee96 Binary files /dev/null and b/examples/data/Fruit360/raspberry/183_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/184_100.jpg b/examples/data/Fruit360/raspberry/184_100.jpg new file mode 100644 index 00000000..e9ad1318 Binary files /dev/null and b/examples/data/Fruit360/raspberry/184_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/185_100.jpg b/examples/data/Fruit360/raspberry/185_100.jpg new file mode 100644 index 00000000..e0c4de28 Binary files /dev/null and b/examples/data/Fruit360/raspberry/185_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/186_100.jpg b/examples/data/Fruit360/raspberry/186_100.jpg new file mode 100644 index 00000000..97f534f8 Binary files /dev/null and b/examples/data/Fruit360/raspberry/186_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/187_100.jpg b/examples/data/Fruit360/raspberry/187_100.jpg new file mode 100644 index 00000000..e7a59f7d Binary files /dev/null and b/examples/data/Fruit360/raspberry/187_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/188_100.jpg b/examples/data/Fruit360/raspberry/188_100.jpg new file mode 100644 index 00000000..23dcbe5f Binary files /dev/null and b/examples/data/Fruit360/raspberry/188_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/189_100.jpg b/examples/data/Fruit360/raspberry/189_100.jpg new file mode 100644 index 00000000..e71ff3be Binary files /dev/null and b/examples/data/Fruit360/raspberry/189_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/18_100.jpg b/examples/data/Fruit360/raspberry/18_100.jpg new file mode 100644 index 00000000..213f9cdc Binary files /dev/null and b/examples/data/Fruit360/raspberry/18_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/190_100.jpg b/examples/data/Fruit360/raspberry/190_100.jpg new file mode 100644 index 00000000..b8a7a971 Binary files /dev/null and b/examples/data/Fruit360/raspberry/190_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/191_100.jpg b/examples/data/Fruit360/raspberry/191_100.jpg new file mode 100644 index 00000000..c21a65ed Binary files /dev/null and b/examples/data/Fruit360/raspberry/191_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/192_100.jpg b/examples/data/Fruit360/raspberry/192_100.jpg new file mode 100644 index 00000000..42f72dfc Binary files /dev/null and b/examples/data/Fruit360/raspberry/192_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/193_100.jpg b/examples/data/Fruit360/raspberry/193_100.jpg new file mode 100644 index 00000000..49b3aa47 Binary files /dev/null and b/examples/data/Fruit360/raspberry/193_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/194_100.jpg b/examples/data/Fruit360/raspberry/194_100.jpg new file mode 100644 index 00000000..bbbb66f4 Binary files /dev/null and b/examples/data/Fruit360/raspberry/194_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/195_100.jpg b/examples/data/Fruit360/raspberry/195_100.jpg new file mode 100644 index 00000000..4dcfa5f3 Binary files /dev/null and b/examples/data/Fruit360/raspberry/195_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/196_100.jpg b/examples/data/Fruit360/raspberry/196_100.jpg new file mode 100644 index 00000000..1e7211e4 Binary files /dev/null and b/examples/data/Fruit360/raspberry/196_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/197_100.jpg b/examples/data/Fruit360/raspberry/197_100.jpg new file mode 100644 index 00000000..c5c56eee Binary files /dev/null and b/examples/data/Fruit360/raspberry/197_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/198_100.jpg b/examples/data/Fruit360/raspberry/198_100.jpg new file mode 100644 index 00000000..efb5a014 Binary files /dev/null and b/examples/data/Fruit360/raspberry/198_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/19_100.jpg b/examples/data/Fruit360/raspberry/19_100.jpg new file mode 100644 index 00000000..e2f3b42f Binary files /dev/null and b/examples/data/Fruit360/raspberry/19_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/1_100.jpg b/examples/data/Fruit360/raspberry/1_100.jpg new file mode 100644 index 00000000..c04caef4 Binary files /dev/null and b/examples/data/Fruit360/raspberry/1_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/201_100.jpg b/examples/data/Fruit360/raspberry/201_100.jpg new file mode 100644 index 00000000..b148a792 Binary files /dev/null and b/examples/data/Fruit360/raspberry/201_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/20_100.jpg b/examples/data/Fruit360/raspberry/20_100.jpg new file mode 100644 index 00000000..ecebb14f Binary files /dev/null and b/examples/data/Fruit360/raspberry/20_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/21_100.jpg b/examples/data/Fruit360/raspberry/21_100.jpg new file mode 100644 index 00000000..8f9fd7d4 Binary files /dev/null and b/examples/data/Fruit360/raspberry/21_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/22_100.jpg b/examples/data/Fruit360/raspberry/22_100.jpg new file mode 100644 index 00000000..00720ec5 Binary files /dev/null and b/examples/data/Fruit360/raspberry/22_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/23_100.jpg b/examples/data/Fruit360/raspberry/23_100.jpg new file mode 100644 index 00000000..d2b4c01c Binary files /dev/null and b/examples/data/Fruit360/raspberry/23_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/248_100.jpg b/examples/data/Fruit360/raspberry/248_100.jpg new file mode 100644 index 00000000..27d321f6 Binary files /dev/null and b/examples/data/Fruit360/raspberry/248_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/249_100.jpg b/examples/data/Fruit360/raspberry/249_100.jpg new file mode 100644 index 00000000..b55072a5 Binary files /dev/null and b/examples/data/Fruit360/raspberry/249_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/24_100.jpg b/examples/data/Fruit360/raspberry/24_100.jpg new file mode 100644 index 00000000..9dd792b3 Binary files /dev/null and b/examples/data/Fruit360/raspberry/24_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/250_100.jpg b/examples/data/Fruit360/raspberry/250_100.jpg new file mode 100644 index 00000000..b6449398 Binary files /dev/null and b/examples/data/Fruit360/raspberry/250_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/251_100.jpg b/examples/data/Fruit360/raspberry/251_100.jpg new file mode 100644 index 00000000..91ca5838 Binary files /dev/null and b/examples/data/Fruit360/raspberry/251_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/252_100.jpg b/examples/data/Fruit360/raspberry/252_100.jpg new file mode 100644 index 00000000..ada29ae5 Binary files /dev/null and b/examples/data/Fruit360/raspberry/252_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/253_100.jpg b/examples/data/Fruit360/raspberry/253_100.jpg new file mode 100644 index 00000000..676a3758 Binary files /dev/null and b/examples/data/Fruit360/raspberry/253_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/254_100.jpg b/examples/data/Fruit360/raspberry/254_100.jpg new file mode 100644 index 00000000..9cb1dc71 Binary files /dev/null and b/examples/data/Fruit360/raspberry/254_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/255_100.jpg b/examples/data/Fruit360/raspberry/255_100.jpg new file mode 100644 index 00000000..ff37e216 Binary files /dev/null and b/examples/data/Fruit360/raspberry/255_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/256_100.jpg b/examples/data/Fruit360/raspberry/256_100.jpg new file mode 100644 index 00000000..0ed9a409 Binary files /dev/null and b/examples/data/Fruit360/raspberry/256_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/257_100.jpg b/examples/data/Fruit360/raspberry/257_100.jpg new file mode 100644 index 00000000..cea91374 Binary files /dev/null and b/examples/data/Fruit360/raspberry/257_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/258_100.jpg b/examples/data/Fruit360/raspberry/258_100.jpg new file mode 100644 index 00000000..b45829a8 Binary files /dev/null and b/examples/data/Fruit360/raspberry/258_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/259_100.jpg b/examples/data/Fruit360/raspberry/259_100.jpg new file mode 100644 index 00000000..1cff8ff0 Binary files /dev/null and b/examples/data/Fruit360/raspberry/259_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/25_100.jpg b/examples/data/Fruit360/raspberry/25_100.jpg new file mode 100644 index 00000000..0656b6a4 Binary files /dev/null and b/examples/data/Fruit360/raspberry/25_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/260_100.jpg b/examples/data/Fruit360/raspberry/260_100.jpg new file mode 100644 index 00000000..4a00a093 Binary files /dev/null and b/examples/data/Fruit360/raspberry/260_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/261_100.jpg b/examples/data/Fruit360/raspberry/261_100.jpg new file mode 100644 index 00000000..000f9b88 Binary files /dev/null and b/examples/data/Fruit360/raspberry/261_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/262_100.jpg b/examples/data/Fruit360/raspberry/262_100.jpg new file mode 100644 index 00000000..91f0a8f3 Binary files /dev/null and b/examples/data/Fruit360/raspberry/262_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/263_100.jpg b/examples/data/Fruit360/raspberry/263_100.jpg new file mode 100644 index 00000000..e912fead Binary files /dev/null and b/examples/data/Fruit360/raspberry/263_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/264_100.jpg b/examples/data/Fruit360/raspberry/264_100.jpg new file mode 100644 index 00000000..9eea565c Binary files /dev/null and b/examples/data/Fruit360/raspberry/264_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/265_100.jpg b/examples/data/Fruit360/raspberry/265_100.jpg new file mode 100644 index 00000000..26c453f8 Binary files /dev/null and b/examples/data/Fruit360/raspberry/265_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/266_100.jpg b/examples/data/Fruit360/raspberry/266_100.jpg new file mode 100644 index 00000000..71a06762 Binary files /dev/null and b/examples/data/Fruit360/raspberry/266_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/267_100.jpg b/examples/data/Fruit360/raspberry/267_100.jpg new file mode 100644 index 00000000..c3803d14 Binary files /dev/null and b/examples/data/Fruit360/raspberry/267_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/268_100.jpg b/examples/data/Fruit360/raspberry/268_100.jpg new file mode 100644 index 00000000..d090e62a Binary files /dev/null and b/examples/data/Fruit360/raspberry/268_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/269_100.jpg b/examples/data/Fruit360/raspberry/269_100.jpg new file mode 100644 index 00000000..5be7275a Binary files /dev/null and b/examples/data/Fruit360/raspberry/269_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/26_100.jpg b/examples/data/Fruit360/raspberry/26_100.jpg new file mode 100644 index 00000000..65a3c7c8 Binary files /dev/null and b/examples/data/Fruit360/raspberry/26_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/270_100.jpg b/examples/data/Fruit360/raspberry/270_100.jpg new file mode 100644 index 00000000..72ecf98e Binary files /dev/null and b/examples/data/Fruit360/raspberry/270_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/271_100.jpg b/examples/data/Fruit360/raspberry/271_100.jpg new file mode 100644 index 00000000..24a1c479 Binary files /dev/null and b/examples/data/Fruit360/raspberry/271_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/272_100.jpg b/examples/data/Fruit360/raspberry/272_100.jpg new file mode 100644 index 00000000..e901f105 Binary files /dev/null and b/examples/data/Fruit360/raspberry/272_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/273_100.jpg b/examples/data/Fruit360/raspberry/273_100.jpg new file mode 100644 index 00000000..7a8c017f Binary files /dev/null and b/examples/data/Fruit360/raspberry/273_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/274_100.jpg b/examples/data/Fruit360/raspberry/274_100.jpg new file mode 100644 index 00000000..f137aea3 Binary files /dev/null and b/examples/data/Fruit360/raspberry/274_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/275_100.jpg b/examples/data/Fruit360/raspberry/275_100.jpg new file mode 100644 index 00000000..1f7149df Binary files /dev/null and b/examples/data/Fruit360/raspberry/275_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/276_100.jpg b/examples/data/Fruit360/raspberry/276_100.jpg new file mode 100644 index 00000000..c07f70a1 Binary files /dev/null and b/examples/data/Fruit360/raspberry/276_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/277_100.jpg b/examples/data/Fruit360/raspberry/277_100.jpg new file mode 100644 index 00000000..43227d3c Binary files /dev/null and b/examples/data/Fruit360/raspberry/277_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/278_100.jpg b/examples/data/Fruit360/raspberry/278_100.jpg new file mode 100644 index 00000000..cf73b41f Binary files /dev/null and b/examples/data/Fruit360/raspberry/278_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/279_100.jpg b/examples/data/Fruit360/raspberry/279_100.jpg new file mode 100644 index 00000000..c992178a Binary files /dev/null and b/examples/data/Fruit360/raspberry/279_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/27_100.jpg b/examples/data/Fruit360/raspberry/27_100.jpg new file mode 100644 index 00000000..813dc3a1 Binary files /dev/null and b/examples/data/Fruit360/raspberry/27_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/280_100.jpg b/examples/data/Fruit360/raspberry/280_100.jpg new file mode 100644 index 00000000..b0980ee3 Binary files /dev/null and b/examples/data/Fruit360/raspberry/280_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/281_100.jpg b/examples/data/Fruit360/raspberry/281_100.jpg new file mode 100644 index 00000000..def66167 Binary files /dev/null and b/examples/data/Fruit360/raspberry/281_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/282_100.jpg b/examples/data/Fruit360/raspberry/282_100.jpg new file mode 100644 index 00000000..4cb4d31c Binary files /dev/null and b/examples/data/Fruit360/raspberry/282_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/283_100.jpg b/examples/data/Fruit360/raspberry/283_100.jpg new file mode 100644 index 00000000..81e81628 Binary files /dev/null and b/examples/data/Fruit360/raspberry/283_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/284_100.jpg b/examples/data/Fruit360/raspberry/284_100.jpg new file mode 100644 index 00000000..d31db0b1 Binary files /dev/null and b/examples/data/Fruit360/raspberry/284_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/285_100.jpg b/examples/data/Fruit360/raspberry/285_100.jpg new file mode 100644 index 00000000..bdeb2626 Binary files /dev/null and b/examples/data/Fruit360/raspberry/285_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/286_100.jpg b/examples/data/Fruit360/raspberry/286_100.jpg new file mode 100644 index 00000000..d9bab21f Binary files /dev/null and b/examples/data/Fruit360/raspberry/286_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/287_100.jpg b/examples/data/Fruit360/raspberry/287_100.jpg new file mode 100644 index 00000000..d7345b07 Binary files /dev/null and b/examples/data/Fruit360/raspberry/287_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/288_100.jpg b/examples/data/Fruit360/raspberry/288_100.jpg new file mode 100644 index 00000000..4cd1ae2c Binary files /dev/null and b/examples/data/Fruit360/raspberry/288_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/289_100.jpg b/examples/data/Fruit360/raspberry/289_100.jpg new file mode 100644 index 00000000..b8b9583a Binary files /dev/null and b/examples/data/Fruit360/raspberry/289_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/28_100.jpg b/examples/data/Fruit360/raspberry/28_100.jpg new file mode 100644 index 00000000..767b3047 Binary files /dev/null and b/examples/data/Fruit360/raspberry/28_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/290_100.jpg b/examples/data/Fruit360/raspberry/290_100.jpg new file mode 100644 index 00000000..338cad1d Binary files /dev/null and b/examples/data/Fruit360/raspberry/290_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/291_100.jpg b/examples/data/Fruit360/raspberry/291_100.jpg new file mode 100644 index 00000000..4987f824 Binary files /dev/null and b/examples/data/Fruit360/raspberry/291_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/292_100.jpg b/examples/data/Fruit360/raspberry/292_100.jpg new file mode 100644 index 00000000..3f808412 Binary files /dev/null and b/examples/data/Fruit360/raspberry/292_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/293_100.jpg b/examples/data/Fruit360/raspberry/293_100.jpg new file mode 100644 index 00000000..87aaebbf Binary files /dev/null and b/examples/data/Fruit360/raspberry/293_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/294_100.jpg b/examples/data/Fruit360/raspberry/294_100.jpg new file mode 100644 index 00000000..abb75921 Binary files /dev/null and b/examples/data/Fruit360/raspberry/294_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/295_100.jpg b/examples/data/Fruit360/raspberry/295_100.jpg new file mode 100644 index 00000000..d0eb293f Binary files /dev/null and b/examples/data/Fruit360/raspberry/295_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/296_100.jpg b/examples/data/Fruit360/raspberry/296_100.jpg new file mode 100644 index 00000000..9daa4479 Binary files /dev/null and b/examples/data/Fruit360/raspberry/296_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/297_100.jpg b/examples/data/Fruit360/raspberry/297_100.jpg new file mode 100644 index 00000000..5f99bd58 Binary files /dev/null and b/examples/data/Fruit360/raspberry/297_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/298_100.jpg b/examples/data/Fruit360/raspberry/298_100.jpg new file mode 100644 index 00000000..0d05be17 Binary files /dev/null and b/examples/data/Fruit360/raspberry/298_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/299_100.jpg b/examples/data/Fruit360/raspberry/299_100.jpg new file mode 100644 index 00000000..abfb7b0a Binary files /dev/null and b/examples/data/Fruit360/raspberry/299_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/29_100.jpg b/examples/data/Fruit360/raspberry/29_100.jpg new file mode 100644 index 00000000..da848157 Binary files /dev/null and b/examples/data/Fruit360/raspberry/29_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/2_100.jpg b/examples/data/Fruit360/raspberry/2_100.jpg new file mode 100644 index 00000000..e4173534 Binary files /dev/null and b/examples/data/Fruit360/raspberry/2_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/300_100.jpg b/examples/data/Fruit360/raspberry/300_100.jpg new file mode 100644 index 00000000..6181012b Binary files /dev/null and b/examples/data/Fruit360/raspberry/300_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/301_100.jpg b/examples/data/Fruit360/raspberry/301_100.jpg new file mode 100644 index 00000000..fcea0be5 Binary files /dev/null and b/examples/data/Fruit360/raspberry/301_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/302_100.jpg b/examples/data/Fruit360/raspberry/302_100.jpg new file mode 100644 index 00000000..3ce2eb45 Binary files /dev/null and b/examples/data/Fruit360/raspberry/302_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/303_100.jpg b/examples/data/Fruit360/raspberry/303_100.jpg new file mode 100644 index 00000000..04faf8f1 Binary files /dev/null and b/examples/data/Fruit360/raspberry/303_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/304_100.jpg b/examples/data/Fruit360/raspberry/304_100.jpg new file mode 100644 index 00000000..a63c7b2e Binary files /dev/null and b/examples/data/Fruit360/raspberry/304_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/305_100.jpg b/examples/data/Fruit360/raspberry/305_100.jpg new file mode 100644 index 00000000..656ec173 Binary files /dev/null and b/examples/data/Fruit360/raspberry/305_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/306_100.jpg b/examples/data/Fruit360/raspberry/306_100.jpg new file mode 100644 index 00000000..22a36846 Binary files /dev/null and b/examples/data/Fruit360/raspberry/306_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/307_100.jpg b/examples/data/Fruit360/raspberry/307_100.jpg new file mode 100644 index 00000000..b23e4517 Binary files /dev/null and b/examples/data/Fruit360/raspberry/307_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/308_100.jpg b/examples/data/Fruit360/raspberry/308_100.jpg new file mode 100644 index 00000000..defcbe86 Binary files /dev/null and b/examples/data/Fruit360/raspberry/308_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/309_100.jpg b/examples/data/Fruit360/raspberry/309_100.jpg new file mode 100644 index 00000000..6ad237d8 Binary files /dev/null and b/examples/data/Fruit360/raspberry/309_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/30_100.jpg b/examples/data/Fruit360/raspberry/30_100.jpg new file mode 100644 index 00000000..27d00fec Binary files /dev/null and b/examples/data/Fruit360/raspberry/30_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/310_100.jpg b/examples/data/Fruit360/raspberry/310_100.jpg new file mode 100644 index 00000000..a48716d9 Binary files /dev/null and b/examples/data/Fruit360/raspberry/310_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/311_100.jpg b/examples/data/Fruit360/raspberry/311_100.jpg new file mode 100644 index 00000000..4471a98e Binary files /dev/null and b/examples/data/Fruit360/raspberry/311_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/312_100.jpg b/examples/data/Fruit360/raspberry/312_100.jpg new file mode 100644 index 00000000..80916158 Binary files /dev/null and b/examples/data/Fruit360/raspberry/312_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/313_100.jpg b/examples/data/Fruit360/raspberry/313_100.jpg new file mode 100644 index 00000000..a152597e Binary files /dev/null and b/examples/data/Fruit360/raspberry/313_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/314_100.jpg b/examples/data/Fruit360/raspberry/314_100.jpg new file mode 100644 index 00000000..6becbfbe Binary files /dev/null and b/examples/data/Fruit360/raspberry/314_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/315_100.jpg b/examples/data/Fruit360/raspberry/315_100.jpg new file mode 100644 index 00000000..8938b46c Binary files /dev/null and b/examples/data/Fruit360/raspberry/315_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/316_100.jpg b/examples/data/Fruit360/raspberry/316_100.jpg new file mode 100644 index 00000000..79d29db4 Binary files /dev/null and b/examples/data/Fruit360/raspberry/316_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/317_100.jpg b/examples/data/Fruit360/raspberry/317_100.jpg new file mode 100644 index 00000000..3fa89152 Binary files /dev/null and b/examples/data/Fruit360/raspberry/317_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/318_100.jpg b/examples/data/Fruit360/raspberry/318_100.jpg new file mode 100644 index 00000000..88b1e18d Binary files /dev/null and b/examples/data/Fruit360/raspberry/318_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/319_100.jpg b/examples/data/Fruit360/raspberry/319_100.jpg new file mode 100644 index 00000000..fcf4df1e Binary files /dev/null and b/examples/data/Fruit360/raspberry/319_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/31_100.jpg b/examples/data/Fruit360/raspberry/31_100.jpg new file mode 100644 index 00000000..b6ec38c3 Binary files /dev/null and b/examples/data/Fruit360/raspberry/31_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/320_100.jpg b/examples/data/Fruit360/raspberry/320_100.jpg new file mode 100644 index 00000000..0424a7e6 Binary files /dev/null and b/examples/data/Fruit360/raspberry/320_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/321_100.jpg b/examples/data/Fruit360/raspberry/321_100.jpg new file mode 100644 index 00000000..796fe2e6 Binary files /dev/null and b/examples/data/Fruit360/raspberry/321_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/322_100.jpg b/examples/data/Fruit360/raspberry/322_100.jpg new file mode 100644 index 00000000..b1c8f759 Binary files /dev/null and b/examples/data/Fruit360/raspberry/322_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/323_100.jpg b/examples/data/Fruit360/raspberry/323_100.jpg new file mode 100644 index 00000000..ab1f30fe Binary files /dev/null and b/examples/data/Fruit360/raspberry/323_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/324_100.jpg b/examples/data/Fruit360/raspberry/324_100.jpg new file mode 100644 index 00000000..4d47fffa Binary files /dev/null and b/examples/data/Fruit360/raspberry/324_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/325_100.jpg b/examples/data/Fruit360/raspberry/325_100.jpg new file mode 100644 index 00000000..f507b02f Binary files /dev/null and b/examples/data/Fruit360/raspberry/325_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/326_100.jpg b/examples/data/Fruit360/raspberry/326_100.jpg new file mode 100644 index 00000000..b5368614 Binary files /dev/null and b/examples/data/Fruit360/raspberry/326_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/327_100.jpg b/examples/data/Fruit360/raspberry/327_100.jpg new file mode 100644 index 00000000..73ed78c5 Binary files /dev/null and b/examples/data/Fruit360/raspberry/327_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/32_100.jpg b/examples/data/Fruit360/raspberry/32_100.jpg new file mode 100644 index 00000000..2286d996 Binary files /dev/null and b/examples/data/Fruit360/raspberry/32_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/33_100.jpg b/examples/data/Fruit360/raspberry/33_100.jpg new file mode 100644 index 00000000..d5e2d3bb Binary files /dev/null and b/examples/data/Fruit360/raspberry/33_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/34_100.jpg b/examples/data/Fruit360/raspberry/34_100.jpg new file mode 100644 index 00000000..6c9930a7 Binary files /dev/null and b/examples/data/Fruit360/raspberry/34_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/35_100.jpg b/examples/data/Fruit360/raspberry/35_100.jpg new file mode 100644 index 00000000..7e5985d7 Binary files /dev/null and b/examples/data/Fruit360/raspberry/35_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/36_100.jpg b/examples/data/Fruit360/raspberry/36_100.jpg new file mode 100644 index 00000000..10c34c45 Binary files /dev/null and b/examples/data/Fruit360/raspberry/36_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/37_100.jpg b/examples/data/Fruit360/raspberry/37_100.jpg new file mode 100644 index 00000000..014bfc45 Binary files /dev/null and b/examples/data/Fruit360/raspberry/37_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/38_100.jpg b/examples/data/Fruit360/raspberry/38_100.jpg new file mode 100644 index 00000000..8fdcde79 Binary files /dev/null and b/examples/data/Fruit360/raspberry/38_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/39_100.jpg b/examples/data/Fruit360/raspberry/39_100.jpg new file mode 100644 index 00000000..eee6bda8 Binary files /dev/null and b/examples/data/Fruit360/raspberry/39_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/3_100.jpg b/examples/data/Fruit360/raspberry/3_100.jpg new file mode 100644 index 00000000..4c193258 Binary files /dev/null and b/examples/data/Fruit360/raspberry/3_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/40_100.jpg b/examples/data/Fruit360/raspberry/40_100.jpg new file mode 100644 index 00000000..dd06432f Binary files /dev/null and b/examples/data/Fruit360/raspberry/40_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/41_100.jpg b/examples/data/Fruit360/raspberry/41_100.jpg new file mode 100644 index 00000000..ee76f85a Binary files /dev/null and b/examples/data/Fruit360/raspberry/41_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/42_100.jpg b/examples/data/Fruit360/raspberry/42_100.jpg new file mode 100644 index 00000000..2490b719 Binary files /dev/null and b/examples/data/Fruit360/raspberry/42_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/43_100.jpg b/examples/data/Fruit360/raspberry/43_100.jpg new file mode 100644 index 00000000..6b5557fd Binary files /dev/null and b/examples/data/Fruit360/raspberry/43_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/44_100.jpg b/examples/data/Fruit360/raspberry/44_100.jpg new file mode 100644 index 00000000..e15aed4b Binary files /dev/null and b/examples/data/Fruit360/raspberry/44_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/45_100.jpg b/examples/data/Fruit360/raspberry/45_100.jpg new file mode 100644 index 00000000..50d0ec1d Binary files /dev/null and b/examples/data/Fruit360/raspberry/45_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/46_100.jpg b/examples/data/Fruit360/raspberry/46_100.jpg new file mode 100644 index 00000000..5346da09 Binary files /dev/null and b/examples/data/Fruit360/raspberry/46_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/47_100.jpg b/examples/data/Fruit360/raspberry/47_100.jpg new file mode 100644 index 00000000..fe26a54f Binary files /dev/null and b/examples/data/Fruit360/raspberry/47_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/48_100.jpg b/examples/data/Fruit360/raspberry/48_100.jpg new file mode 100644 index 00000000..d651aec2 Binary files /dev/null and b/examples/data/Fruit360/raspberry/48_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/49_100.jpg b/examples/data/Fruit360/raspberry/49_100.jpg new file mode 100644 index 00000000..dcaf7930 Binary files /dev/null and b/examples/data/Fruit360/raspberry/49_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/4_100.jpg b/examples/data/Fruit360/raspberry/4_100.jpg new file mode 100644 index 00000000..b5bbf418 Binary files /dev/null and b/examples/data/Fruit360/raspberry/4_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/50_100.jpg b/examples/data/Fruit360/raspberry/50_100.jpg new file mode 100644 index 00000000..cd3ad671 Binary files /dev/null and b/examples/data/Fruit360/raspberry/50_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/51_100.jpg b/examples/data/Fruit360/raspberry/51_100.jpg new file mode 100644 index 00000000..d75eb6a2 Binary files /dev/null and b/examples/data/Fruit360/raspberry/51_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/52_100.jpg b/examples/data/Fruit360/raspberry/52_100.jpg new file mode 100644 index 00000000..33c7fa89 Binary files /dev/null and b/examples/data/Fruit360/raspberry/52_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/53_100.jpg b/examples/data/Fruit360/raspberry/53_100.jpg new file mode 100644 index 00000000..61494809 Binary files /dev/null and b/examples/data/Fruit360/raspberry/53_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/54_100.jpg b/examples/data/Fruit360/raspberry/54_100.jpg new file mode 100644 index 00000000..571f67b0 Binary files /dev/null and b/examples/data/Fruit360/raspberry/54_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/55_100.jpg b/examples/data/Fruit360/raspberry/55_100.jpg new file mode 100644 index 00000000..34c60366 Binary files /dev/null and b/examples/data/Fruit360/raspberry/55_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/56_100.jpg b/examples/data/Fruit360/raspberry/56_100.jpg new file mode 100644 index 00000000..6e96b065 Binary files /dev/null and b/examples/data/Fruit360/raspberry/56_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/57_100.jpg b/examples/data/Fruit360/raspberry/57_100.jpg new file mode 100644 index 00000000..fd7438ed Binary files /dev/null and b/examples/data/Fruit360/raspberry/57_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/58_100.jpg b/examples/data/Fruit360/raspberry/58_100.jpg new file mode 100644 index 00000000..b18a31b7 Binary files /dev/null and b/examples/data/Fruit360/raspberry/58_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/59_100.jpg b/examples/data/Fruit360/raspberry/59_100.jpg new file mode 100644 index 00000000..1aca169a Binary files /dev/null and b/examples/data/Fruit360/raspberry/59_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/5_100.jpg b/examples/data/Fruit360/raspberry/5_100.jpg new file mode 100644 index 00000000..0f133f87 Binary files /dev/null and b/examples/data/Fruit360/raspberry/5_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/60_100.jpg b/examples/data/Fruit360/raspberry/60_100.jpg new file mode 100644 index 00000000..7da61f1d Binary files /dev/null and b/examples/data/Fruit360/raspberry/60_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/61_100.jpg b/examples/data/Fruit360/raspberry/61_100.jpg new file mode 100644 index 00000000..fe497eae Binary files /dev/null and b/examples/data/Fruit360/raspberry/61_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/62_100.jpg b/examples/data/Fruit360/raspberry/62_100.jpg new file mode 100644 index 00000000..1d2201bd Binary files /dev/null and b/examples/data/Fruit360/raspberry/62_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/63_100.jpg b/examples/data/Fruit360/raspberry/63_100.jpg new file mode 100644 index 00000000..339f376c Binary files /dev/null and b/examples/data/Fruit360/raspberry/63_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/64_100.jpg b/examples/data/Fruit360/raspberry/64_100.jpg new file mode 100644 index 00000000..d4ac8c8f Binary files /dev/null and b/examples/data/Fruit360/raspberry/64_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/65_100.jpg b/examples/data/Fruit360/raspberry/65_100.jpg new file mode 100644 index 00000000..0dbbbda0 Binary files /dev/null and b/examples/data/Fruit360/raspberry/65_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/66_100.jpg b/examples/data/Fruit360/raspberry/66_100.jpg new file mode 100644 index 00000000..aada0ce9 Binary files /dev/null and b/examples/data/Fruit360/raspberry/66_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/67_100.jpg b/examples/data/Fruit360/raspberry/67_100.jpg new file mode 100644 index 00000000..5e7e705a Binary files /dev/null and b/examples/data/Fruit360/raspberry/67_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/68_100.jpg b/examples/data/Fruit360/raspberry/68_100.jpg new file mode 100644 index 00000000..0c6b3157 Binary files /dev/null and b/examples/data/Fruit360/raspberry/68_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/69_100.jpg b/examples/data/Fruit360/raspberry/69_100.jpg new file mode 100644 index 00000000..008e9f20 Binary files /dev/null and b/examples/data/Fruit360/raspberry/69_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/6_100.jpg b/examples/data/Fruit360/raspberry/6_100.jpg new file mode 100644 index 00000000..687f639d Binary files /dev/null and b/examples/data/Fruit360/raspberry/6_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/70_100.jpg b/examples/data/Fruit360/raspberry/70_100.jpg new file mode 100644 index 00000000..6820050b Binary files /dev/null and b/examples/data/Fruit360/raspberry/70_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/71_100.jpg b/examples/data/Fruit360/raspberry/71_100.jpg new file mode 100644 index 00000000..0bda1fff Binary files /dev/null and b/examples/data/Fruit360/raspberry/71_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/72_100.jpg b/examples/data/Fruit360/raspberry/72_100.jpg new file mode 100644 index 00000000..01f68ba2 Binary files /dev/null and b/examples/data/Fruit360/raspberry/72_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/73_100.jpg b/examples/data/Fruit360/raspberry/73_100.jpg new file mode 100644 index 00000000..58abad52 Binary files /dev/null and b/examples/data/Fruit360/raspberry/73_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/74_100.jpg b/examples/data/Fruit360/raspberry/74_100.jpg new file mode 100644 index 00000000..b6e687c3 Binary files /dev/null and b/examples/data/Fruit360/raspberry/74_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/75_100.jpg b/examples/data/Fruit360/raspberry/75_100.jpg new file mode 100644 index 00000000..d6667b6f Binary files /dev/null and b/examples/data/Fruit360/raspberry/75_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/76_100.jpg b/examples/data/Fruit360/raspberry/76_100.jpg new file mode 100644 index 00000000..0bfea24d Binary files /dev/null and b/examples/data/Fruit360/raspberry/76_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/78_100.jpg b/examples/data/Fruit360/raspberry/78_100.jpg new file mode 100644 index 00000000..1a5fefad Binary files /dev/null and b/examples/data/Fruit360/raspberry/78_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/7_100.jpg b/examples/data/Fruit360/raspberry/7_100.jpg new file mode 100644 index 00000000..35be697c Binary files /dev/null and b/examples/data/Fruit360/raspberry/7_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/8_100.jpg b/examples/data/Fruit360/raspberry/8_100.jpg new file mode 100644 index 00000000..03852926 Binary files /dev/null and b/examples/data/Fruit360/raspberry/8_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/9_100.jpg b/examples/data/Fruit360/raspberry/9_100.jpg new file mode 100644 index 00000000..6b547ab1 Binary files /dev/null and b/examples/data/Fruit360/raspberry/9_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_0_100.jpg b/examples/data/Fruit360/raspberry/r_0_100.jpg new file mode 100644 index 00000000..99a81ce3 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_0_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_113_100.jpg b/examples/data/Fruit360/raspberry/r_113_100.jpg new file mode 100644 index 00000000..0704b161 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_113_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_11_100.jpg b/examples/data/Fruit360/raspberry/r_11_100.jpg new file mode 100644 index 00000000..1cef7605 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_11_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_123_100.jpg b/examples/data/Fruit360/raspberry/r_123_100.jpg new file mode 100644 index 00000000..2003681c Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_123_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_124_100.jpg b/examples/data/Fruit360/raspberry/r_124_100.jpg new file mode 100644 index 00000000..5e474c0b Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_124_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_125_100.jpg b/examples/data/Fruit360/raspberry/r_125_100.jpg new file mode 100644 index 00000000..4a0b2b6f Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_125_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_126_100.jpg b/examples/data/Fruit360/raspberry/r_126_100.jpg new file mode 100644 index 00000000..dc0569c2 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_126_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_127_100.jpg b/examples/data/Fruit360/raspberry/r_127_100.jpg new file mode 100644 index 00000000..2963d047 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_127_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_128_100.jpg b/examples/data/Fruit360/raspberry/r_128_100.jpg new file mode 100644 index 00000000..ef5fae8f Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_128_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_129_100.jpg b/examples/data/Fruit360/raspberry/r_129_100.jpg new file mode 100644 index 00000000..24706417 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_129_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_12_100.jpg b/examples/data/Fruit360/raspberry/r_12_100.jpg new file mode 100644 index 00000000..f8a16c9f Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_12_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_130_100.jpg b/examples/data/Fruit360/raspberry/r_130_100.jpg new file mode 100644 index 00000000..87e786ff Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_130_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_131_100.jpg b/examples/data/Fruit360/raspberry/r_131_100.jpg new file mode 100644 index 00000000..8dfbced1 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_131_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_132_100.jpg b/examples/data/Fruit360/raspberry/r_132_100.jpg new file mode 100644 index 00000000..db7dd088 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_132_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_133_100.jpg b/examples/data/Fruit360/raspberry/r_133_100.jpg new file mode 100644 index 00000000..1a088510 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_133_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_134_100.jpg b/examples/data/Fruit360/raspberry/r_134_100.jpg new file mode 100644 index 00000000..541b92fb Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_134_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_135_100.jpg b/examples/data/Fruit360/raspberry/r_135_100.jpg new file mode 100644 index 00000000..b4302f78 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_135_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_136_100.jpg b/examples/data/Fruit360/raspberry/r_136_100.jpg new file mode 100644 index 00000000..0e74f1d6 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_136_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_137_100.jpg b/examples/data/Fruit360/raspberry/r_137_100.jpg new file mode 100644 index 00000000..c123ff59 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_137_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_138_100.jpg b/examples/data/Fruit360/raspberry/r_138_100.jpg new file mode 100644 index 00000000..1478075c Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_138_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_139_100.jpg b/examples/data/Fruit360/raspberry/r_139_100.jpg new file mode 100644 index 00000000..f3b32503 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_139_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_13_100.jpg b/examples/data/Fruit360/raspberry/r_13_100.jpg new file mode 100644 index 00000000..cf9a0085 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_13_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_140_100.jpg b/examples/data/Fruit360/raspberry/r_140_100.jpg new file mode 100644 index 00000000..c7895ec4 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_140_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_141_100.jpg b/examples/data/Fruit360/raspberry/r_141_100.jpg new file mode 100644 index 00000000..98d41df9 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_141_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_142_100.jpg b/examples/data/Fruit360/raspberry/r_142_100.jpg new file mode 100644 index 00000000..237921aa Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_142_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_143_100.jpg b/examples/data/Fruit360/raspberry/r_143_100.jpg new file mode 100644 index 00000000..3ebac326 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_143_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_144_100.jpg b/examples/data/Fruit360/raspberry/r_144_100.jpg new file mode 100644 index 00000000..a6b6d521 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_144_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_145_100.jpg b/examples/data/Fruit360/raspberry/r_145_100.jpg new file mode 100644 index 00000000..99c554ed Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_145_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_146_100.jpg b/examples/data/Fruit360/raspberry/r_146_100.jpg new file mode 100644 index 00000000..6b27b2f7 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_146_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_147_100.jpg b/examples/data/Fruit360/raspberry/r_147_100.jpg new file mode 100644 index 00000000..a95bd189 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_147_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_148_100.jpg b/examples/data/Fruit360/raspberry/r_148_100.jpg new file mode 100644 index 00000000..1e34aaf3 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_148_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_149_100.jpg b/examples/data/Fruit360/raspberry/r_149_100.jpg new file mode 100644 index 00000000..e5137f55 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_149_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_14_100.jpg b/examples/data/Fruit360/raspberry/r_14_100.jpg new file mode 100644 index 00000000..123899bb Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_14_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_150_100.jpg b/examples/data/Fruit360/raspberry/r_150_100.jpg new file mode 100644 index 00000000..0b53d0a2 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_150_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_151_100.jpg b/examples/data/Fruit360/raspberry/r_151_100.jpg new file mode 100644 index 00000000..ef74aa09 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_151_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_152_100.jpg b/examples/data/Fruit360/raspberry/r_152_100.jpg new file mode 100644 index 00000000..572544ea Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_152_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_153_100.jpg b/examples/data/Fruit360/raspberry/r_153_100.jpg new file mode 100644 index 00000000..5ddeb646 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_153_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_154_100.jpg b/examples/data/Fruit360/raspberry/r_154_100.jpg new file mode 100644 index 00000000..6701cc66 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_154_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_155_100.jpg b/examples/data/Fruit360/raspberry/r_155_100.jpg new file mode 100644 index 00000000..d27145f7 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_155_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_156_100.jpg b/examples/data/Fruit360/raspberry/r_156_100.jpg new file mode 100644 index 00000000..10bfa5a2 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_156_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_157_100.jpg b/examples/data/Fruit360/raspberry/r_157_100.jpg new file mode 100644 index 00000000..e6ab7366 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_157_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_158_100.jpg b/examples/data/Fruit360/raspberry/r_158_100.jpg new file mode 100644 index 00000000..f38e6b24 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_158_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_159_100.jpg b/examples/data/Fruit360/raspberry/r_159_100.jpg new file mode 100644 index 00000000..f9c560a1 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_159_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_15_100.jpg b/examples/data/Fruit360/raspberry/r_15_100.jpg new file mode 100644 index 00000000..8ef6ec88 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_15_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_160_100.jpg b/examples/data/Fruit360/raspberry/r_160_100.jpg new file mode 100644 index 00000000..468da6bd Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_160_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_161_100.jpg b/examples/data/Fruit360/raspberry/r_161_100.jpg new file mode 100644 index 00000000..fb944df0 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_161_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_162_100.jpg b/examples/data/Fruit360/raspberry/r_162_100.jpg new file mode 100644 index 00000000..127cc440 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_162_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_163_100.jpg b/examples/data/Fruit360/raspberry/r_163_100.jpg new file mode 100644 index 00000000..5320111b Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_163_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_164_100.jpg b/examples/data/Fruit360/raspberry/r_164_100.jpg new file mode 100644 index 00000000..2ac92ffd Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_164_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_165_100.jpg b/examples/data/Fruit360/raspberry/r_165_100.jpg new file mode 100644 index 00000000..387cc23a Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_165_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_166_100.jpg b/examples/data/Fruit360/raspberry/r_166_100.jpg new file mode 100644 index 00000000..7f3564d9 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_166_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_167_100.jpg b/examples/data/Fruit360/raspberry/r_167_100.jpg new file mode 100644 index 00000000..8dc855ae Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_167_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_168_100.jpg b/examples/data/Fruit360/raspberry/r_168_100.jpg new file mode 100644 index 00000000..27e4fa6f Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_168_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_169_100.jpg b/examples/data/Fruit360/raspberry/r_169_100.jpg new file mode 100644 index 00000000..5e35a891 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_169_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_16_100.jpg b/examples/data/Fruit360/raspberry/r_16_100.jpg new file mode 100644 index 00000000..544ca70d Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_16_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_170_100.jpg b/examples/data/Fruit360/raspberry/r_170_100.jpg new file mode 100644 index 00000000..71dde814 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_170_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_171_100.jpg b/examples/data/Fruit360/raspberry/r_171_100.jpg new file mode 100644 index 00000000..54c3f82c Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_171_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_172_100.jpg b/examples/data/Fruit360/raspberry/r_172_100.jpg new file mode 100644 index 00000000..7f5c0223 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_172_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_173_100.jpg b/examples/data/Fruit360/raspberry/r_173_100.jpg new file mode 100644 index 00000000..ffa0551d Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_173_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_174_100.jpg b/examples/data/Fruit360/raspberry/r_174_100.jpg new file mode 100644 index 00000000..5e9d200e Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_174_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_175_100.jpg b/examples/data/Fruit360/raspberry/r_175_100.jpg new file mode 100644 index 00000000..48d01035 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_175_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_176_100.jpg b/examples/data/Fruit360/raspberry/r_176_100.jpg new file mode 100644 index 00000000..7f203725 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_176_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_177_100.jpg b/examples/data/Fruit360/raspberry/r_177_100.jpg new file mode 100644 index 00000000..87a71227 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_177_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_178_100.jpg b/examples/data/Fruit360/raspberry/r_178_100.jpg new file mode 100644 index 00000000..21cc390a Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_178_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_179_100.jpg b/examples/data/Fruit360/raspberry/r_179_100.jpg new file mode 100644 index 00000000..e1fd7f17 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_179_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_17_100.jpg b/examples/data/Fruit360/raspberry/r_17_100.jpg new file mode 100644 index 00000000..ecb0703d Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_17_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_180_100.jpg b/examples/data/Fruit360/raspberry/r_180_100.jpg new file mode 100644 index 00000000..4e17af36 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_180_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_181_100.jpg b/examples/data/Fruit360/raspberry/r_181_100.jpg new file mode 100644 index 00000000..3d2b4718 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_181_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_182_100.jpg b/examples/data/Fruit360/raspberry/r_182_100.jpg new file mode 100644 index 00000000..eed06f9f Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_182_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_183_100.jpg b/examples/data/Fruit360/raspberry/r_183_100.jpg new file mode 100644 index 00000000..44448573 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_183_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_184_100.jpg b/examples/data/Fruit360/raspberry/r_184_100.jpg new file mode 100644 index 00000000..6c676a24 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_184_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_185_100.jpg b/examples/data/Fruit360/raspberry/r_185_100.jpg new file mode 100644 index 00000000..187ccddb Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_185_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_186_100.jpg b/examples/data/Fruit360/raspberry/r_186_100.jpg new file mode 100644 index 00000000..2d52bab4 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_186_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_187_100.jpg b/examples/data/Fruit360/raspberry/r_187_100.jpg new file mode 100644 index 00000000..1787a40e Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_187_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_188_100.jpg b/examples/data/Fruit360/raspberry/r_188_100.jpg new file mode 100644 index 00000000..f8c737ce Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_188_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_189_100.jpg b/examples/data/Fruit360/raspberry/r_189_100.jpg new file mode 100644 index 00000000..22885fc3 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_189_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_18_100.jpg b/examples/data/Fruit360/raspberry/r_18_100.jpg new file mode 100644 index 00000000..de4116da Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_18_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_190_100.jpg b/examples/data/Fruit360/raspberry/r_190_100.jpg new file mode 100644 index 00000000..5887bcb5 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_190_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_191_100.jpg b/examples/data/Fruit360/raspberry/r_191_100.jpg new file mode 100644 index 00000000..98f5742b Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_191_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_192_100.jpg b/examples/data/Fruit360/raspberry/r_192_100.jpg new file mode 100644 index 00000000..2b78c4ec Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_192_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_193_100.jpg b/examples/data/Fruit360/raspberry/r_193_100.jpg new file mode 100644 index 00000000..baab70c1 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_193_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_194_100.jpg b/examples/data/Fruit360/raspberry/r_194_100.jpg new file mode 100644 index 00000000..d7061002 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_194_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_195_100.jpg b/examples/data/Fruit360/raspberry/r_195_100.jpg new file mode 100644 index 00000000..ac52d0cc Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_195_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_196_100.jpg b/examples/data/Fruit360/raspberry/r_196_100.jpg new file mode 100644 index 00000000..d7fbbb6d Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_196_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_197_100.jpg b/examples/data/Fruit360/raspberry/r_197_100.jpg new file mode 100644 index 00000000..dd72975f Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_197_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_198_100.jpg b/examples/data/Fruit360/raspberry/r_198_100.jpg new file mode 100644 index 00000000..5ea98121 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_198_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_199_100.jpg b/examples/data/Fruit360/raspberry/r_199_100.jpg new file mode 100644 index 00000000..ef435cb0 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_199_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_1_100.jpg b/examples/data/Fruit360/raspberry/r_1_100.jpg new file mode 100644 index 00000000..be883c43 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_1_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_200_100.jpg b/examples/data/Fruit360/raspberry/r_200_100.jpg new file mode 100644 index 00000000..d8c4f4a4 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_200_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_201_100.jpg b/examples/data/Fruit360/raspberry/r_201_100.jpg new file mode 100644 index 00000000..968b8696 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_201_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_202_100.jpg b/examples/data/Fruit360/raspberry/r_202_100.jpg new file mode 100644 index 00000000..749de404 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_202_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_203_100.jpg b/examples/data/Fruit360/raspberry/r_203_100.jpg new file mode 100644 index 00000000..ae98cb00 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_203_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_204_100.jpg b/examples/data/Fruit360/raspberry/r_204_100.jpg new file mode 100644 index 00000000..50c97a12 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_204_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_205_100.jpg b/examples/data/Fruit360/raspberry/r_205_100.jpg new file mode 100644 index 00000000..c9968660 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_205_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_206_100.jpg b/examples/data/Fruit360/raspberry/r_206_100.jpg new file mode 100644 index 00000000..81d2f66a Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_206_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_207_100.jpg b/examples/data/Fruit360/raspberry/r_207_100.jpg new file mode 100644 index 00000000..039b07a9 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_207_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_208_100.jpg b/examples/data/Fruit360/raspberry/r_208_100.jpg new file mode 100644 index 00000000..7f19dd67 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_208_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_209_100.jpg b/examples/data/Fruit360/raspberry/r_209_100.jpg new file mode 100644 index 00000000..0c1230f5 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_209_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_20_100.jpg b/examples/data/Fruit360/raspberry/r_20_100.jpg new file mode 100644 index 00000000..e112ccab Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_20_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_210_100.jpg b/examples/data/Fruit360/raspberry/r_210_100.jpg new file mode 100644 index 00000000..69bfa246 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_210_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_211_100.jpg b/examples/data/Fruit360/raspberry/r_211_100.jpg new file mode 100644 index 00000000..bf8ae9fe Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_211_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_212_100.jpg b/examples/data/Fruit360/raspberry/r_212_100.jpg new file mode 100644 index 00000000..8584625e Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_212_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_213_100.jpg b/examples/data/Fruit360/raspberry/r_213_100.jpg new file mode 100644 index 00000000..e08f03eb Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_213_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_214_100.jpg b/examples/data/Fruit360/raspberry/r_214_100.jpg new file mode 100644 index 00000000..b0eea893 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_214_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_215_100.jpg b/examples/data/Fruit360/raspberry/r_215_100.jpg new file mode 100644 index 00000000..18a512fd Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_215_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_221_100.jpg b/examples/data/Fruit360/raspberry/r_221_100.jpg new file mode 100644 index 00000000..9315d6d2 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_221_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_222_100.jpg b/examples/data/Fruit360/raspberry/r_222_100.jpg new file mode 100644 index 00000000..b8ccbb7f Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_222_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_224_100.jpg b/examples/data/Fruit360/raspberry/r_224_100.jpg new file mode 100644 index 00000000..f2a7d230 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_224_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_225_100.jpg b/examples/data/Fruit360/raspberry/r_225_100.jpg new file mode 100644 index 00000000..e3503627 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_225_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_226_100.jpg b/examples/data/Fruit360/raspberry/r_226_100.jpg new file mode 100644 index 00000000..32b2175c Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_226_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_229_100.jpg b/examples/data/Fruit360/raspberry/r_229_100.jpg new file mode 100644 index 00000000..a8e16bd4 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_229_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_23_100.jpg b/examples/data/Fruit360/raspberry/r_23_100.jpg new file mode 100644 index 00000000..eccc3b04 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_23_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_241_100.jpg b/examples/data/Fruit360/raspberry/r_241_100.jpg new file mode 100644 index 00000000..6b22d6e2 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_241_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_242_100.jpg b/examples/data/Fruit360/raspberry/r_242_100.jpg new file mode 100644 index 00000000..9729a274 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_242_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_243_100.jpg b/examples/data/Fruit360/raspberry/r_243_100.jpg new file mode 100644 index 00000000..05770092 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_243_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_244_100.jpg b/examples/data/Fruit360/raspberry/r_244_100.jpg new file mode 100644 index 00000000..2b551f22 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_244_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_245_100.jpg b/examples/data/Fruit360/raspberry/r_245_100.jpg new file mode 100644 index 00000000..9f7082e3 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_245_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_246_100.jpg b/examples/data/Fruit360/raspberry/r_246_100.jpg new file mode 100644 index 00000000..9c109466 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_246_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_247_100.jpg b/examples/data/Fruit360/raspberry/r_247_100.jpg new file mode 100644 index 00000000..96d769ab Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_247_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_249_100.jpg b/examples/data/Fruit360/raspberry/r_249_100.jpg new file mode 100644 index 00000000..29bd485d Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_249_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_24_100.jpg b/examples/data/Fruit360/raspberry/r_24_100.jpg new file mode 100644 index 00000000..cdb12084 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_24_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_250_100.jpg b/examples/data/Fruit360/raspberry/r_250_100.jpg new file mode 100644 index 00000000..124e2365 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_250_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_251_100.jpg b/examples/data/Fruit360/raspberry/r_251_100.jpg new file mode 100644 index 00000000..a80bc98a Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_251_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_253_100.jpg b/examples/data/Fruit360/raspberry/r_253_100.jpg new file mode 100644 index 00000000..6f47e690 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_253_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_254_100.jpg b/examples/data/Fruit360/raspberry/r_254_100.jpg new file mode 100644 index 00000000..3ca84bce Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_254_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_255_100.jpg b/examples/data/Fruit360/raspberry/r_255_100.jpg new file mode 100644 index 00000000..e1047bd4 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_255_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_256_100.jpg b/examples/data/Fruit360/raspberry/r_256_100.jpg new file mode 100644 index 00000000..04cfa928 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_256_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_257_100.jpg b/examples/data/Fruit360/raspberry/r_257_100.jpg new file mode 100644 index 00000000..4a38c7c6 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_257_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_258_100.jpg b/examples/data/Fruit360/raspberry/r_258_100.jpg new file mode 100644 index 00000000..e193a5fd Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_258_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_259_100.jpg b/examples/data/Fruit360/raspberry/r_259_100.jpg new file mode 100644 index 00000000..e9d415a8 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_259_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_260_100.jpg b/examples/data/Fruit360/raspberry/r_260_100.jpg new file mode 100644 index 00000000..68a8bf79 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_260_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_261_100.jpg b/examples/data/Fruit360/raspberry/r_261_100.jpg new file mode 100644 index 00000000..a67745ae Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_261_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_262_100.jpg b/examples/data/Fruit360/raspberry/r_262_100.jpg new file mode 100644 index 00000000..9ab48fd5 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_262_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_263_100.jpg b/examples/data/Fruit360/raspberry/r_263_100.jpg new file mode 100644 index 00000000..28a9e3ca Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_263_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_264_100.jpg b/examples/data/Fruit360/raspberry/r_264_100.jpg new file mode 100644 index 00000000..06e56af9 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_264_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_265_100.jpg b/examples/data/Fruit360/raspberry/r_265_100.jpg new file mode 100644 index 00000000..817f7940 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_265_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_266_100.jpg b/examples/data/Fruit360/raspberry/r_266_100.jpg new file mode 100644 index 00000000..f4db8888 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_266_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_267_100.jpg b/examples/data/Fruit360/raspberry/r_267_100.jpg new file mode 100644 index 00000000..017e5b87 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_267_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_268_100.jpg b/examples/data/Fruit360/raspberry/r_268_100.jpg new file mode 100644 index 00000000..11bd5570 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_268_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_269_100.jpg b/examples/data/Fruit360/raspberry/r_269_100.jpg new file mode 100644 index 00000000..777c1aad Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_269_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_270_100.jpg b/examples/data/Fruit360/raspberry/r_270_100.jpg new file mode 100644 index 00000000..a4cd42b5 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_270_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_271_100.jpg b/examples/data/Fruit360/raspberry/r_271_100.jpg new file mode 100644 index 00000000..0e8275a4 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_271_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_272_100.jpg b/examples/data/Fruit360/raspberry/r_272_100.jpg new file mode 100644 index 00000000..992a2572 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_272_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_273_100.jpg b/examples/data/Fruit360/raspberry/r_273_100.jpg new file mode 100644 index 00000000..0d33d256 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_273_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_274_100.jpg b/examples/data/Fruit360/raspberry/r_274_100.jpg new file mode 100644 index 00000000..6bc72bbd Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_274_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_275_100.jpg b/examples/data/Fruit360/raspberry/r_275_100.jpg new file mode 100644 index 00000000..49db9eda Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_275_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_276_100.jpg b/examples/data/Fruit360/raspberry/r_276_100.jpg new file mode 100644 index 00000000..32037db4 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_276_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_277_100.jpg b/examples/data/Fruit360/raspberry/r_277_100.jpg new file mode 100644 index 00000000..ca82511e Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_277_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_278_100.jpg b/examples/data/Fruit360/raspberry/r_278_100.jpg new file mode 100644 index 00000000..f372578d Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_278_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_279_100.jpg b/examples/data/Fruit360/raspberry/r_279_100.jpg new file mode 100644 index 00000000..62c2cb50 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_279_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_27_100.jpg b/examples/data/Fruit360/raspberry/r_27_100.jpg new file mode 100644 index 00000000..5c3678b3 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_27_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_280_100.jpg b/examples/data/Fruit360/raspberry/r_280_100.jpg new file mode 100644 index 00000000..735c4cfa Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_280_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_281_100.jpg b/examples/data/Fruit360/raspberry/r_281_100.jpg new file mode 100644 index 00000000..9ac1e4b3 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_281_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_282_100.jpg b/examples/data/Fruit360/raspberry/r_282_100.jpg new file mode 100644 index 00000000..3ee80379 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_282_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_283_100.jpg b/examples/data/Fruit360/raspberry/r_283_100.jpg new file mode 100644 index 00000000..c50a6f43 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_283_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_284_100.jpg b/examples/data/Fruit360/raspberry/r_284_100.jpg new file mode 100644 index 00000000..d62c90e2 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_284_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_285_100.jpg b/examples/data/Fruit360/raspberry/r_285_100.jpg new file mode 100644 index 00000000..07cd666b Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_285_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_286_100.jpg b/examples/data/Fruit360/raspberry/r_286_100.jpg new file mode 100644 index 00000000..e388df0a Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_286_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_287_100.jpg b/examples/data/Fruit360/raspberry/r_287_100.jpg new file mode 100644 index 00000000..bec54c84 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_287_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_288_100.jpg b/examples/data/Fruit360/raspberry/r_288_100.jpg new file mode 100644 index 00000000..6cbb9553 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_288_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_289_100.jpg b/examples/data/Fruit360/raspberry/r_289_100.jpg new file mode 100644 index 00000000..2d119ccc Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_289_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_290_100.jpg b/examples/data/Fruit360/raspberry/r_290_100.jpg new file mode 100644 index 00000000..49d2ddb3 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_290_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_291_100.jpg b/examples/data/Fruit360/raspberry/r_291_100.jpg new file mode 100644 index 00000000..5431bf1b Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_291_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_292_100.jpg b/examples/data/Fruit360/raspberry/r_292_100.jpg new file mode 100644 index 00000000..33d1a87a Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_292_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_293_100.jpg b/examples/data/Fruit360/raspberry/r_293_100.jpg new file mode 100644 index 00000000..493e22e0 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_293_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_294_100.jpg b/examples/data/Fruit360/raspberry/r_294_100.jpg new file mode 100644 index 00000000..a25e280a Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_294_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_296_100.jpg b/examples/data/Fruit360/raspberry/r_296_100.jpg new file mode 100644 index 00000000..b28461c9 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_296_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_297_100.jpg b/examples/data/Fruit360/raspberry/r_297_100.jpg new file mode 100644 index 00000000..fd89f09b Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_297_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_298_100.jpg b/examples/data/Fruit360/raspberry/r_298_100.jpg new file mode 100644 index 00000000..316d1161 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_298_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_299_100.jpg b/examples/data/Fruit360/raspberry/r_299_100.jpg new file mode 100644 index 00000000..059f24b9 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_299_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_2_100.jpg b/examples/data/Fruit360/raspberry/r_2_100.jpg new file mode 100644 index 00000000..94fa92af Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_2_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_300_100.jpg b/examples/data/Fruit360/raspberry/r_300_100.jpg new file mode 100644 index 00000000..b43e3de1 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_300_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_301_100.jpg b/examples/data/Fruit360/raspberry/r_301_100.jpg new file mode 100644 index 00000000..bad6eba2 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_301_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_307_100.jpg b/examples/data/Fruit360/raspberry/r_307_100.jpg new file mode 100644 index 00000000..785e6d28 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_307_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_318_100.jpg b/examples/data/Fruit360/raspberry/r_318_100.jpg new file mode 100644 index 00000000..2f8475ee Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_318_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_319_100.jpg b/examples/data/Fruit360/raspberry/r_319_100.jpg new file mode 100644 index 00000000..c0f78f1b Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_319_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_322_100.jpg b/examples/data/Fruit360/raspberry/r_322_100.jpg new file mode 100644 index 00000000..92c735b9 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_322_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_323_100.jpg b/examples/data/Fruit360/raspberry/r_323_100.jpg new file mode 100644 index 00000000..87a90b0f Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_323_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_324_100.jpg b/examples/data/Fruit360/raspberry/r_324_100.jpg new file mode 100644 index 00000000..3b28b518 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_324_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_326_100.jpg b/examples/data/Fruit360/raspberry/r_326_100.jpg new file mode 100644 index 00000000..1287da30 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_326_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_327_100.jpg b/examples/data/Fruit360/raspberry/r_327_100.jpg new file mode 100644 index 00000000..03fbb241 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_327_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_39_100.jpg b/examples/data/Fruit360/raspberry/r_39_100.jpg new file mode 100644 index 00000000..62425640 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_39_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_3_100.jpg b/examples/data/Fruit360/raspberry/r_3_100.jpg new file mode 100644 index 00000000..855ad664 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_3_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_40_100.jpg b/examples/data/Fruit360/raspberry/r_40_100.jpg new file mode 100644 index 00000000..5e40bbbc Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_40_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_41_100.jpg b/examples/data/Fruit360/raspberry/r_41_100.jpg new file mode 100644 index 00000000..93fc3a8e Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_41_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_43_100.jpg b/examples/data/Fruit360/raspberry/r_43_100.jpg new file mode 100644 index 00000000..614583cc Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_43_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_44_100.jpg b/examples/data/Fruit360/raspberry/r_44_100.jpg new file mode 100644 index 00000000..228d042a Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_44_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_45_100.jpg b/examples/data/Fruit360/raspberry/r_45_100.jpg new file mode 100644 index 00000000..4f7a629e Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_45_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_46_100.jpg b/examples/data/Fruit360/raspberry/r_46_100.jpg new file mode 100644 index 00000000..a93a6f25 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_46_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_47_100.jpg b/examples/data/Fruit360/raspberry/r_47_100.jpg new file mode 100644 index 00000000..e4d5dc41 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_47_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_48_100.jpg b/examples/data/Fruit360/raspberry/r_48_100.jpg new file mode 100644 index 00000000..5c02c630 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_48_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_49_100.jpg b/examples/data/Fruit360/raspberry/r_49_100.jpg new file mode 100644 index 00000000..99b9dd49 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_49_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_4_100.jpg b/examples/data/Fruit360/raspberry/r_4_100.jpg new file mode 100644 index 00000000..4a5acd0e Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_4_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_50_100.jpg b/examples/data/Fruit360/raspberry/r_50_100.jpg new file mode 100644 index 00000000..2eda65ce Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_50_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_51_100.jpg b/examples/data/Fruit360/raspberry/r_51_100.jpg new file mode 100644 index 00000000..52aeb5e5 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_51_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_52_100.jpg b/examples/data/Fruit360/raspberry/r_52_100.jpg new file mode 100644 index 00000000..3db58e84 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_52_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_53_100.jpg b/examples/data/Fruit360/raspberry/r_53_100.jpg new file mode 100644 index 00000000..47a23ad3 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_53_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_54_100.jpg b/examples/data/Fruit360/raspberry/r_54_100.jpg new file mode 100644 index 00000000..94bfe8e4 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_54_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_55_100.jpg b/examples/data/Fruit360/raspberry/r_55_100.jpg new file mode 100644 index 00000000..9389fa1f Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_55_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_56_100.jpg b/examples/data/Fruit360/raspberry/r_56_100.jpg new file mode 100644 index 00000000..051ca23e Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_56_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_57_100.jpg b/examples/data/Fruit360/raspberry/r_57_100.jpg new file mode 100644 index 00000000..33216cd1 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_57_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_58_100.jpg b/examples/data/Fruit360/raspberry/r_58_100.jpg new file mode 100644 index 00000000..99343c2e Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_58_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_59_100.jpg b/examples/data/Fruit360/raspberry/r_59_100.jpg new file mode 100644 index 00000000..b76f8348 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_59_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_5_100.jpg b/examples/data/Fruit360/raspberry/r_5_100.jpg new file mode 100644 index 00000000..58d9a111 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_5_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_60_100.jpg b/examples/data/Fruit360/raspberry/r_60_100.jpg new file mode 100644 index 00000000..342edcbf Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_60_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_61_100.jpg b/examples/data/Fruit360/raspberry/r_61_100.jpg new file mode 100644 index 00000000..699aa00a Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_61_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_62_100.jpg b/examples/data/Fruit360/raspberry/r_62_100.jpg new file mode 100644 index 00000000..d94baaca Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_62_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_63_100.jpg b/examples/data/Fruit360/raspberry/r_63_100.jpg new file mode 100644 index 00000000..7796d4ef Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_63_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_64_100.jpg b/examples/data/Fruit360/raspberry/r_64_100.jpg new file mode 100644 index 00000000..eb3cc5da Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_64_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_65_100.jpg b/examples/data/Fruit360/raspberry/r_65_100.jpg new file mode 100644 index 00000000..654080e8 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_65_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_66_100.jpg b/examples/data/Fruit360/raspberry/r_66_100.jpg new file mode 100644 index 00000000..e654b9ce Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_66_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_67_100.jpg b/examples/data/Fruit360/raspberry/r_67_100.jpg new file mode 100644 index 00000000..156044c1 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_67_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_68_100.jpg b/examples/data/Fruit360/raspberry/r_68_100.jpg new file mode 100644 index 00000000..532ef453 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_68_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_69_100.jpg b/examples/data/Fruit360/raspberry/r_69_100.jpg new file mode 100644 index 00000000..dda1279f Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_69_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_6_100.jpg b/examples/data/Fruit360/raspberry/r_6_100.jpg new file mode 100644 index 00000000..9e695dad Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_6_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_70_100.jpg b/examples/data/Fruit360/raspberry/r_70_100.jpg new file mode 100644 index 00000000..ed111bcb Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_70_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_71_100.jpg b/examples/data/Fruit360/raspberry/r_71_100.jpg new file mode 100644 index 00000000..ec261710 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_71_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_72_100.jpg b/examples/data/Fruit360/raspberry/r_72_100.jpg new file mode 100644 index 00000000..3d315550 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_72_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_73_100.jpg b/examples/data/Fruit360/raspberry/r_73_100.jpg new file mode 100644 index 00000000..45c9e31d Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_73_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_74_100.jpg b/examples/data/Fruit360/raspberry/r_74_100.jpg new file mode 100644 index 00000000..5b759cc7 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_74_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_75_100.jpg b/examples/data/Fruit360/raspberry/r_75_100.jpg new file mode 100644 index 00000000..50095f57 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_75_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_76_100.jpg b/examples/data/Fruit360/raspberry/r_76_100.jpg new file mode 100644 index 00000000..ed212f56 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_76_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_77_100.jpg b/examples/data/Fruit360/raspberry/r_77_100.jpg new file mode 100644 index 00000000..28e5c9ba Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_77_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_78_100.jpg b/examples/data/Fruit360/raspberry/r_78_100.jpg new file mode 100644 index 00000000..26daba57 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_78_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_79_100.jpg b/examples/data/Fruit360/raspberry/r_79_100.jpg new file mode 100644 index 00000000..4408326a Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_79_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_7_100.jpg b/examples/data/Fruit360/raspberry/r_7_100.jpg new file mode 100644 index 00000000..60ee81e0 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_7_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_80_100.jpg b/examples/data/Fruit360/raspberry/r_80_100.jpg new file mode 100644 index 00000000..a669da66 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_80_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_81_100.jpg b/examples/data/Fruit360/raspberry/r_81_100.jpg new file mode 100644 index 00000000..8fd251fa Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_81_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_82_100.jpg b/examples/data/Fruit360/raspberry/r_82_100.jpg new file mode 100644 index 00000000..f4ce960c Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_82_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_83_100.jpg b/examples/data/Fruit360/raspberry/r_83_100.jpg new file mode 100644 index 00000000..779d4046 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_83_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_84_100.jpg b/examples/data/Fruit360/raspberry/r_84_100.jpg new file mode 100644 index 00000000..3daa7c14 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_84_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_85_100.jpg b/examples/data/Fruit360/raspberry/r_85_100.jpg new file mode 100644 index 00000000..ed63fa44 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_85_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_86_100.jpg b/examples/data/Fruit360/raspberry/r_86_100.jpg new file mode 100644 index 00000000..e3123246 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_86_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_87_100.jpg b/examples/data/Fruit360/raspberry/r_87_100.jpg new file mode 100644 index 00000000..60648330 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_87_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_88_100.jpg b/examples/data/Fruit360/raspberry/r_88_100.jpg new file mode 100644 index 00000000..66c0341f Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_88_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_8_100.jpg b/examples/data/Fruit360/raspberry/r_8_100.jpg new file mode 100644 index 00000000..e831c36d Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_8_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_90_100.jpg b/examples/data/Fruit360/raspberry/r_90_100.jpg new file mode 100644 index 00000000..69d3ccdd Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_90_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_91_100.jpg b/examples/data/Fruit360/raspberry/r_91_100.jpg new file mode 100644 index 00000000..fa6be1b6 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_91_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_92_100.jpg b/examples/data/Fruit360/raspberry/r_92_100.jpg new file mode 100644 index 00000000..4bd66459 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_92_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_93_100.jpg b/examples/data/Fruit360/raspberry/r_93_100.jpg new file mode 100644 index 00000000..db9a7c0a Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_93_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_94_100.jpg b/examples/data/Fruit360/raspberry/r_94_100.jpg new file mode 100644 index 00000000..64b10646 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_94_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_97_100.jpg b/examples/data/Fruit360/raspberry/r_97_100.jpg new file mode 100644 index 00000000..826ab529 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_97_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_98_100.jpg b/examples/data/Fruit360/raspberry/r_98_100.jpg new file mode 100644 index 00000000..69bf9fd3 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_98_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_99_100.jpg b/examples/data/Fruit360/raspberry/r_99_100.jpg new file mode 100644 index 00000000..e22be672 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_99_100.jpg differ diff --git a/examples/data/Fruit360/raspberry/r_9_100.jpg b/examples/data/Fruit360/raspberry/r_9_100.jpg new file mode 100644 index 00000000..cdf74387 Binary files /dev/null and b/examples/data/Fruit360/raspberry/r_9_100.jpg differ diff --git a/examples/gacnn/example_image_classification.py b/examples/gacnn/example_image_classification.py new file mode 100644 index 00000000..32fa77ce --- /dev/null +++ b/examples/gacnn/example_image_classification.py @@ -0,0 +1,128 @@ +import numpy +import pygad.cnn +import pygad.gacnn +import pygad + +""" +Convolutional neural network implementation using NumPy +A tutorial that helps to get started (Building Convolutional Neural Network using NumPy from Scratch) available in these links: + https://www.linkedin.com/pulse/building-convolutional-neural-network-using-numpy-from-ahmed-gad + https://towardsdatascience.com/building-convolutional-neural-network-using-numpy-from-scratch-b30aac50e50a + https://www.kdnuggets.com/2018/04/building-convolutional-neural-network-numpy-scratch.html +It is also translated into Chinese: http://m.aliyun.com/yunqi/articles/585741 +""" + +def fitness_func(ga_instance, solution, sol_idx): + global GACNN_instance, data_inputs, data_outputs + + predictions = GACNN_instance.population_networks[sol_idx].predict(data_inputs=data_inputs) + correct_predictions = numpy.where(predictions == data_outputs)[0].size + solution_fitness = (correct_predictions/data_outputs.size)*100 + + return solution_fitness + +def callback_generation(ga_instance): + global GACNN_instance, last_fitness + + population_matrices = pygad.gacnn.population_as_matrices(population_networks=GACNN_instance.population_networks, + population_vectors=ga_instance.population) + + GACNN_instance.update_population_trained_weights(population_trained_weights=population_matrices) + + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solutions_fitness)) + +data_inputs = numpy.load("../data/dataset_inputs.npy") +data_outputs = numpy.load("../data/dataset_outputs.npy") + +sample_shape = data_inputs.shape[1:] +num_classes = 4 + +data_inputs = data_inputs +data_outputs = data_outputs + +input_layer = pygad.cnn.Input2D(input_shape=sample_shape) +conv_layer1 = pygad.cnn.Conv2D(num_filters=2, + kernel_size=3, + previous_layer=input_layer, + activation_function="relu") +average_pooling_layer = pygad.cnn.AveragePooling2D(pool_size=5, + previous_layer=conv_layer1, + stride=3) + +flatten_layer = pygad.cnn.Flatten(previous_layer=average_pooling_layer) +dense_layer2 = pygad.cnn.Dense(num_neurons=num_classes, + previous_layer=flatten_layer, + activation_function="softmax") + +model = pygad.cnn.Model(last_layer=dense_layer2, + epochs=1, + learning_rate=0.01) + +model.summary() + + +GACNN_instance = pygad.gacnn.GACNN(model=model, + num_solutions=4) + +# GACNN_instance.update_population_trained_weights(population_trained_weights=population_matrices) + +# population does not hold the numerical weights of the network instead it holds a list of references to each last layer of each network (i.e. solution) in the population. A solution or a network can be used interchangeably. +# If there is a population with 3 solutions (i.e. networks), then the population is a list with 3 elements. Each element is a reference to the last layer of each network. Using such a reference, all details of the network can be accessed. +population_vectors = pygad.gacnn.population_as_vectors(population_networks=GACNN_instance.population_networks) + +# To prepare the initial population, there are 2 ways: +# 1) Prepare it yourself and pass it to the initial_population parameter. This way is useful when the user wants to start the genetic algorithm with a custom initial population. +# 2) Assign valid integer values to the sol_per_pop and num_genes parameters. If the initial_population parameter exists, then the sol_per_pop and num_genes parameters are useless. +initial_population = population_vectors.copy() + +num_parents_mating = 2 # Number of solutions to be selected as parents in the mating pool. + +num_generations = 10 # Number of generations. + +mutation_percent_genes = 0.1 # Percentage of genes to mutate. This parameter has no action if the parameter mutation_num_genes exists. + +parent_selection_type = "sss" # Type of parent selection. + +crossover_type = "single_point" # Type of the crossover operator. + +mutation_type = "random" # Type of the mutation operator. + +keep_parents = -1 # Number of parents to keep in the next population. -1 means keep all parents and 0 means keep nothing. + +ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + mutation_percent_genes=mutation_percent_genes, + parent_selection_type=parent_selection_type, + crossover_type=crossover_type, + mutation_type=mutation_type, + keep_parents=keep_parents, + on_generation=callback_generation) + +ga_instance.run() + +# After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. +ga_instance.plot_fitness() + +# Returning the details of the best solution. +solution, solution_fitness, solution_idx = ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness) +print("Parameters of the best solution : {solution}".format(solution=solution)) +print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) +print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + +if ga_instance.best_solution_generation != -1: + print("Best fitness value reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) + +# Predicting the outputs of the data using the best solution. +predictions = GACNN_instance.population_networks[solution_idx].predict(data_inputs=data_inputs) +print("Predictions of the trained network : {predictions}".format(predictions=predictions)) + +# Calculating some statistics +num_wrong = numpy.where(predictions != data_outputs)[0] +num_correct = data_outputs.size - num_wrong.size +accuracy = 100 * (num_correct/data_outputs.size) +print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) +print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) +print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) diff --git a/examples/gann/example_XOR_classification.py b/examples/gann/example_XOR_classification.py new file mode 100644 index 00000000..ebb9a63a --- /dev/null +++ b/examples/gann/example_XOR_classification.py @@ -0,0 +1,123 @@ +import numpy +import pygad +import pygad.nn +import pygad.gann + +def fitness_func(ga_instance, solution, sol_idx): + global GANN_instance, data_inputs, data_outputs + + predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[sol_idx], + data_inputs=data_inputs) + correct_predictions = numpy.where(predictions == data_outputs)[0].size + solution_fitness = (correct_predictions/data_outputs.size)*100 + + return solution_fitness + +def callback_generation(ga_instance): + global GANN_instance, last_fitness + + population_matrices = pygad.gann.population_as_matrices(population_networks=GANN_instance.population_networks, + population_vectors=ga_instance.population) + + GANN_instance.update_population_trained_weights(population_trained_weights=population_matrices) + + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness)[1])) + print("Change = {change}".format(change=ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness)[1] - last_fitness)) + + last_fitness = ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness)[1].copy() + +# Holds the fitness value of the previous generation. +last_fitness = 0 + +# Preparing the NumPy array of the inputs. +data_inputs = numpy.array([[1, 1], + [1, 0], + [0, 1], + [0, 0]]) + +# Preparing the NumPy array of the outputs. +data_outputs = numpy.array([0, + 1, + 1, + 0]) + +# The length of the input vector for each sample (i.e. number of neurons in the input layer). +num_inputs = data_inputs.shape[1] +# The number of neurons in the output layer (i.e. number of classes). +num_classes = 2 + +# Creating an initial population of neural networks. The return of the initial_population() function holds references to the networks, not their weights. Using such references, the weights of all networks can be fetched. +num_solutions = 6 # A solution or a network can be used interchangeably. +GANN_instance = pygad.gann.GANN(num_solutions=num_solutions, + num_neurons_input=num_inputs, + num_neurons_hidden_layers=[2], + num_neurons_output=num_classes, + hidden_activations=["relu"], + output_activation="softmax") + +# population does not hold the numerical weights of the network instead it holds a list of references to each last layer of each network (i.e. solution) in the population. A solution or a network can be used interchangeably. +# If there is a population with 3 solutions (i.e. networks), then the population is a list with 3 elements. Each element is a reference to the last layer of each network. Using such a reference, all details of the network can be accessed. +population_vectors = pygad.gann.population_as_vectors(population_networks=GANN_instance.population_networks) + +# To prepare the initial population, there are 2 ways: +# 1) Prepare it yourself and pass it to the initial_population parameter. This way is useful when the user wants to start the genetic algorithm with a custom initial population. +# 2) Assign valid integer values to the sol_per_pop and num_genes parameters. If the initial_population parameter exists, then the sol_per_pop and num_genes parameters are useless. +initial_population = population_vectors.copy() + +num_parents_mating = 4 # Number of solutions to be selected as parents in the mating pool. + +num_generations = 500 # Number of generations. + +mutation_percent_genes = 5 # Percentage of genes to mutate. This parameter has no action if the parameter mutation_num_genes exists. + +parent_selection_type = "sss" # Type of parent selection. + +crossover_type = "single_point" # Type of the crossover operator. + +mutation_type = "random" # Type of the mutation operator. + +keep_parents = 1 # Number of parents to keep in the next population. -1 means keep all parents and 0 means keep nothing. + +init_range_low = -2 +init_range_high = 5 + +ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + mutation_percent_genes=mutation_percent_genes, + init_range_low=init_range_low, + init_range_high=init_range_high, + parent_selection_type=parent_selection_type, + crossover_type=crossover_type, + mutation_type=mutation_type, + keep_parents=keep_parents, + on_generation=callback_generation) + +ga_instance.run() + +# After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. +ga_instance.plot_fitness() + +# Returning the details of the best solution. +solution, solution_fitness, solution_idx = ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness) +print("Parameters of the best solution : {solution}".format(solution=solution)) +print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) +print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + +if ga_instance.best_solution_generation != -1: + print("Best fitness value reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) + +# Predicting the outputs of the data using the best solution. +predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[solution_idx], + data_inputs=data_inputs) +print("Predictions of the trained network : {predictions}".format(predictions=predictions)) + +# Calculating some statistics +num_wrong = numpy.where(predictions != data_outputs)[0] +num_correct = data_outputs.size - num_wrong.size +accuracy = 100 * (num_correct/data_outputs.size) +print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) +print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) +print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) \ No newline at end of file diff --git a/examples/gann/example_classification.py b/examples/gann/example_classification.py new file mode 100644 index 00000000..b25a6763 --- /dev/null +++ b/examples/gann/example_classification.py @@ -0,0 +1,116 @@ +import numpy +import pygad +import pygad.nn +import pygad.gann + +def fitness_func(ga_instance, solution, sol_idx): + global GANN_instance, data_inputs, data_outputs + + predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[sol_idx], + data_inputs=data_inputs) + correct_predictions = numpy.where(predictions == data_outputs)[0].size + solution_fitness = (correct_predictions/data_outputs.size)*100 + + return solution_fitness + +def callback_generation(ga_instance): + global GANN_instance, last_fitness + + population_matrices = pygad.gann.population_as_matrices(population_networks=GANN_instance.population_networks, + population_vectors=ga_instance.population) + + GANN_instance.update_population_trained_weights(population_trained_weights=population_matrices) + + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness)[1])) + print("Change = {change}".format(change=ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness)[1] - last_fitness)) + + last_fitness = ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness)[1].copy() + +# Holds the fitness value of the previous generation. +last_fitness = 0 + +# Reading the input data. +data_inputs = numpy.load("../data/dataset_features.npy") # Download from https://github.com/ahmedfgad/NumPyANN/blob/master/dataset_features.npy + +# Optional step of filtering the input data using the standard deviation. +features_STDs = numpy.std(a=data_inputs, axis=0) +data_inputs = data_inputs[:, features_STDs>50] + +# Reading the output data. +data_outputs = numpy.load("../data/outputs.npy") # Download from https://github.com/ahmedfgad/NumPyANN/blob/master/outputs.npy + +# The length of the input vector for each sample (i.e. number of neurons in the input layer). +num_inputs = data_inputs.shape[1] +# The number of neurons in the output layer (i.e. number of classes). +num_classes = 4 + +# Creating an initial population of neural networks. The return of the initial_population() function holds references to the networks, not their weights. Using such references, the weights of all networks can be fetched. +num_solutions = 8 # A solution or a network can be used interchangeably. +GANN_instance = pygad.gann.GANN(num_solutions=num_solutions, + num_neurons_input=num_inputs, + num_neurons_hidden_layers=[150, 50], + num_neurons_output=num_classes, + hidden_activations=["relu", "relu"], + output_activation="softmax") + +# population does not hold the numerical weights of the network instead it holds a list of references to each last layer of each network (i.e. solution) in the population. A solution or a network can be used interchangeably. +# If there is a population with 3 solutions (i.e. networks), then the population is a list with 3 elements. Each element is a reference to the last layer of each network. Using such a reference, all details of the network can be accessed. +population_vectors = pygad.gann.population_as_vectors(population_networks=GANN_instance.population_networks) + +# To prepare the initial population, there are 2 ways: +# 1) Prepare it yourself and pass it to the initial_population parameter. This way is useful when the user wants to start the genetic algorithm with a custom initial population. +# 2) Assign valid integer values to the sol_per_pop and num_genes parameters. If the initial_population parameter exists, then the sol_per_pop and num_genes parameters are useless. +initial_population = population_vectors.copy() + +num_parents_mating = 4 # Number of solutions to be selected as parents in the mating pool. + +num_generations = 100 # Number of generations. + +mutation_percent_genes = 10 # Percentage of genes to mutate. This parameter has no action if the parameter mutation_num_genes exists. + +parent_selection_type = "sss" # Type of parent selection. + +crossover_type = "single_point" # Type of the crossover operator. + +mutation_type = "random" # Type of the mutation operator. + +keep_parents = -1 # Number of parents to keep in the next population. -1 means keep all parents and 0 means keep nothing. + +ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + mutation_percent_genes=mutation_percent_genes, + parent_selection_type=parent_selection_type, + crossover_type=crossover_type, + mutation_type=mutation_type, + keep_parents=keep_parents, + on_generation=callback_generation) + +ga_instance.run() + +# After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. +ga_instance.plot_fitness() + +# Returning the details of the best solution. +solution, solution_fitness, solution_idx = ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness) +print("Parameters of the best solution : {solution}".format(solution=solution)) +print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) +print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + +if ga_instance.best_solution_generation != -1: + print("Best fitness value reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) + +# Predicting the outputs of the data using the best solution. +predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[solution_idx], + data_inputs=data_inputs) +print("Predictions of the trained network : {predictions}".format(predictions=predictions)) + +# Calculating some statistics +num_wrong = numpy.where(predictions != data_outputs)[0] +num_correct = data_outputs.size - num_wrong.size +accuracy = 100 * (num_correct/data_outputs.size) +print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) +print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) +print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) \ No newline at end of file diff --git a/examples/gann/example_regression.py b/examples/gann/example_regression.py new file mode 100644 index 00000000..f120bbf9 --- /dev/null +++ b/examples/gann/example_regression.py @@ -0,0 +1,113 @@ +import numpy +import pygad +import pygad.nn +import pygad.gann + +def fitness_func(ga_instance, solution, sol_idx): + global GANN_instance, data_inputs, data_outputs + + predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[sol_idx], + data_inputs=data_inputs, problem_type="regression") + solution_fitness = 1.0/numpy.mean(numpy.abs(predictions - data_outputs)) + + return solution_fitness + +def callback_generation(ga_instance): + global GANN_instance, last_fitness + + population_matrices = pygad.gann.population_as_matrices(population_networks=GANN_instance.population_networks, + population_vectors=ga_instance.population) + + GANN_instance.update_population_trained_weights(population_trained_weights=population_matrices) + + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness)[1])) + print("Change = {change}".format(change=ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness)[1] - last_fitness)) + + last_fitness = ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness)[1].copy() + +# Holds the fitness value of the previous generation. +last_fitness = 0 + +# Preparing the NumPy array of the inputs. +data_inputs = numpy.array([[2, 5, -3, 0.1], + [8, 15, 20, 13]]) + +# Preparing the NumPy array of the outputs. +data_outputs = numpy.array([[0.1, 0.2], + [1.8, 1.5]]) + +# The length of the input vector for each sample (i.e. number of neurons in the input layer). +num_inputs = data_inputs.shape[1] + +# Creating an initial population of neural networks. The return of the initial_population() function holds references to the networks, not their weights. Using such references, the weights of all networks can be fetched. +num_solutions = 6 # A solution or a network can be used interchangeably. +GANN_instance = pygad.gann.GANN(num_solutions=num_solutions, + num_neurons_input=num_inputs, + num_neurons_hidden_layers=[2], + num_neurons_output=2, + hidden_activations=["relu"], + output_activation="None") + +# population does not hold the numerical weights of the network instead it holds a list of references to each last layer of each network (i.e. solution) in the population. A solution or a network can be used interchangeably. +# If there is a population with 3 solutions (i.e. networks), then the population is a list with 3 elements. Each element is a reference to the last layer of each network. Using such a reference, all details of the network can be accessed. +population_vectors = pygad.gann.population_as_vectors(population_networks=GANN_instance.population_networks) + +# To prepare the initial population, there are 2 ways: +# 1) Prepare it yourself and pass it to the initial_population parameter. This way is useful when the user wants to start the genetic algorithm with a custom initial population. +# 2) Assign valid integer values to the sol_per_pop and num_genes parameters. If the initial_population parameter exists, then the sol_per_pop and num_genes parameters are useless. +initial_population = population_vectors.copy() + +num_parents_mating = 4 # Number of solutions to be selected as parents in the mating pool. + +num_generations = 500 # Number of generations. + +mutation_percent_genes = 5 # Percentage of genes to mutate. This parameter has no action if the parameter mutation_num_genes exists. + +parent_selection_type = "sss" # Type of parent selection. + +crossover_type = "single_point" # Type of the crossover operator. + +mutation_type = "random" # Type of the mutation operator. + +keep_parents = 1 # Number of parents to keep in the next population. -1 means keep all parents and 0 means keep nothing. + +init_range_low = -1 +init_range_high = 1 + +ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + mutation_percent_genes=mutation_percent_genes, + init_range_low=init_range_low, + init_range_high=init_range_high, + parent_selection_type=parent_selection_type, + crossover_type=crossover_type, + mutation_type=mutation_type, + keep_parents=keep_parents, + on_generation=callback_generation) + +ga_instance.run() + +# After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. +ga_instance.plot_fitness() + +# Returning the details of the best solution. +solution, solution_fitness, solution_idx = ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness) +print("Parameters of the best solution : {solution}".format(solution=solution)) +print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) +print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + +if ga_instance.best_solution_generation != -1: + print("Best fitness value reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) + +# Predicting the outputs of the data using the best solution. +predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[solution_idx], + data_inputs=data_inputs, + problem_type="regression") +print("Predictions of the trained network : {predictions}".format(predictions=predictions)) + +# Calculating some statistics +abs_error = numpy.mean(numpy.abs(predictions - data_outputs)) +print("Absolute error : {abs_error}.".format(abs_error=abs_error)) diff --git a/examples/gann/example_regression_fish.py b/examples/gann/example_regression_fish.py new file mode 100644 index 00000000..4eb3c0b8 --- /dev/null +++ b/examples/gann/example_regression_fish.py @@ -0,0 +1,114 @@ +import numpy +import pygad +import pygad.nn +import pygad.gann +import pandas + +def fitness_func(ga_instance, solution, sol_idx): + global GANN_instance, data_inputs, data_outputs + + predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[sol_idx], + data_inputs=data_inputs, problem_type="regression") + solution_fitness = 1.0/numpy.mean(numpy.abs(predictions - data_outputs)) + + return solution_fitness + +def callback_generation(ga_instance): + global GANN_instance, last_fitness + + population_matrices = pygad.gann.population_as_matrices(population_networks=GANN_instance.population_networks, + population_vectors=ga_instance.population) + + GANN_instance.update_population_trained_weights(population_trained_weights=population_matrices) + + print("Generation = {generation}".format(generation=ga_instance.generations_completed)) + print("Fitness = {fitness}".format(fitness=ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness)[1])) + print("Change = {change}".format(change=ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness)[1] - last_fitness)) + + last_fitness = ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness)[1].copy() + +# Holds the fitness value of the previous generation. +last_fitness = 0 + +data = numpy.array(pandas.read_csv("../data/Fish.csv")) + +# Preparing the NumPy array of the inputs. +data_inputs = numpy.asarray(data[:, 2:], dtype=numpy.float32) + +# Preparing the NumPy array of the outputs. +data_outputs = numpy.asarray(data[:, 1], dtype=numpy.float32) + +# The length of the input vector for each sample (i.e. number of neurons in the input layer). +num_inputs = data_inputs.shape[1] + +# Creating an initial population of neural networks. The return of the initial_population() function holds references to the networks, not their weights. Using such references, the weights of all networks can be fetched. +num_solutions = 6 # A solution or a network can be used interchangeably. +GANN_instance = pygad.gann.GANN(num_solutions=num_solutions, + num_neurons_input=num_inputs, + num_neurons_hidden_layers=[2], + num_neurons_output=1, + hidden_activations=["relu"], + output_activation="None") + +# population does not hold the numerical weights of the network instead it holds a list of references to each last layer of each network (i.e. solution) in the population. A solution or a network can be used interchangeably. +# If there is a population with 3 solutions (i.e. networks), then the population is a list with 3 elements. Each element is a reference to the last layer of each network. Using such a reference, all details of the network can be accessed. +population_vectors = pygad.gann.population_as_vectors(population_networks=GANN_instance.population_networks) + +# To prepare the initial population, there are 2 ways: +# 1) Prepare it yourself and pass it to the initial_population parameter. This way is useful when the user wants to start the genetic algorithm with a custom initial population. +# 2) Assign valid integer values to the sol_per_pop and num_genes parameters. If the initial_population parameter exists, then the sol_per_pop and num_genes parameters are useless. +initial_population = population_vectors.copy() + +num_parents_mating = 4 # Number of solutions to be selected as parents in the mating pool. + +num_generations = 500 # Number of generations. + +mutation_percent_genes = 5 # Percentage of genes to mutate. This parameter has no action if the parameter mutation_num_genes exists. + +parent_selection_type = "sss" # Type of parent selection. + +crossover_type = "single_point" # Type of the crossover operator. + +mutation_type = "random" # Type of the mutation operator. + +keep_parents = 1 # Number of parents to keep in the next population. -1 means keep all parents and 0 means keep nothing. + +init_range_low = -1 +init_range_high = 1 + +ga_instance = pygad.GA(num_generations=num_generations, + num_parents_mating=num_parents_mating, + initial_population=initial_population, + fitness_func=fitness_func, + mutation_percent_genes=mutation_percent_genes, + init_range_low=init_range_low, + init_range_high=init_range_high, + parent_selection_type=parent_selection_type, + crossover_type=crossover_type, + mutation_type=mutation_type, + keep_parents=keep_parents, + on_generation=callback_generation) + +ga_instance.run() + +# After the generations complete, some plots are showed that summarize how the outputs/fitness values evolve over generations. +ga_instance.plot_fitness() + +# Returning the details of the best solution. +solution, solution_fitness, solution_idx = ga_instance.best_solution(pop_fitness=ga_instance.last_generation_fitness) +print("Parameters of the best solution : {solution}".format(solution=solution)) +print("Fitness value of the best solution = {solution_fitness}".format(solution_fitness=solution_fitness)) +print("Index of the best solution : {solution_idx}".format(solution_idx=solution_idx)) + +if ga_instance.best_solution_generation != -1: + print("Best fitness value reached after {best_solution_generation} generations.".format(best_solution_generation=ga_instance.best_solution_generation)) + +# Predicting the outputs of the data using the best solution. +predictions = pygad.nn.predict(last_layer=GANN_instance.population_networks[solution_idx], + data_inputs=data_inputs, + problem_type="regression") +print("Predictions of the trained network : {predictions}".format(predictions=predictions)) + +# Calculating some statistics +abs_error = numpy.mean(numpy.abs(predictions - data_outputs)) +print("Absolute error : {abs_error}.".format(abs_error=abs_error)) diff --git a/examples/nn/example_XOR_classification.py b/examples/nn/example_XOR_classification.py new file mode 100644 index 00000000..52086790 --- /dev/null +++ b/examples/nn/example_XOR_classification.py @@ -0,0 +1,51 @@ +import numpy +import pygad.nn + +""" +This project creates a neural network where the architecture has input and dense layers only. More layers will be added in the future. +The project only implements the forward pass of a neural network and no training algorithm is used. +For training a neural network using the genetic algorithm, check this project (https://github.com/ahmedfgad/NeuralGenetic) in which the genetic algorithm is used for training the network. +Feel free to leave an issue in this project (https://github.com/ahmedfgad/NumPyANN) in case something is not working properly or to ask for questions. I am also available for e-mails at ahmed.f.gad@gmail.com +""" + +# Preparing the NumPy array of the inputs. +data_inputs = numpy.array([[1, 1], + [1, 0], + [0, 1], + [0, 0]]) + +# Preparing the NumPy array of the outputs. +data_outputs = numpy.array([0, + 1, + 1, + 0]) + +# The number of inputs (i.e. feature vector length) per sample +num_inputs = data_inputs.shape[1] +# Number of outputs per sample +num_outputs = 2 + +HL1_neurons = 2 + +# Building the network architecture. +input_layer = pygad.nn.InputLayer(num_inputs) +hidden_layer1 = pygad.nn.DenseLayer(num_neurons=HL1_neurons, previous_layer=input_layer, activation_function="relu") +output_layer = pygad.nn.DenseLayer(num_neurons=num_outputs, previous_layer=hidden_layer1, activation_function="softmax") + +# Training the network. +pygad.nn.train(num_epochs=100, + last_layer=output_layer, + data_inputs=data_inputs, + data_outputs=data_outputs, + learning_rate=0.01) + +# Using the trained network for predictions. +predictions = pygad.nn.predict(last_layer=output_layer, data_inputs=data_inputs) + +# Calculating some statistics +num_wrong = numpy.where(predictions != data_outputs)[0] +num_correct = data_outputs.size - num_wrong.size +accuracy = 100 * (num_correct/data_outputs.size) +print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) +print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) +print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) diff --git a/examples/nn/example_classification.py b/examples/nn/example_classification.py new file mode 100644 index 00000000..732b92d0 --- /dev/null +++ b/examples/nn/example_classification.py @@ -0,0 +1,51 @@ +import numpy +import pygad.nn + +""" +This project creates a neural network where the architecture has input and dense layers only. More layers will be added in the future. +The project only implements the forward pass of a neural network and no training algorithm is used. +For training a neural network using the genetic algorithm, check this project (https://github.com/ahmedfgad/NeuralGenetic) in which the genetic algorithm is used for training the network. +Feel free to leave an issue in this project (https://github.com/ahmedfgad/NumPyANN) in case something is not working properly or to ask for questions. I am also available for e-mails at ahmed.f.gad@gmail.com +""" + +# Reading the data features. Check the 'extract_features.py' script for extracting the features & preparing the outputs of the dataset. +data_inputs = numpy.load("../data/dataset_features.npy") # Download from https://github.com/ahmedfgad/NumPyANN/blob/master/dataset_features.npy + +# Optional step for filtering the features using the standard deviation. +features_STDs = numpy.std(a=data_inputs, axis=0) +data_inputs = data_inputs[:, features_STDs > 50] + +# Reading the data outputs. Check the 'extract_features.py' script for extracting the features & preparing the outputs of the dataset. +data_outputs = numpy.load("../data/outputs.npy") # Download from https://github.com/ahmedfgad/NumPyANN/blob/master/outputs.npy + +# The number of inputs (i.e. feature vector length) per sample +num_inputs = data_inputs.shape[1] +# Number of outputs per sample +num_outputs = 4 + +HL1_neurons = 150 +HL2_neurons = 60 + +# Building the network architecture. +input_layer = pygad.nn.InputLayer(num_inputs) +hidden_layer1 = pygad.nn.DenseLayer(num_neurons=HL1_neurons, previous_layer=input_layer, activation_function="relu") +hidden_layer2 = pygad.nn.DenseLayer(num_neurons=HL2_neurons, previous_layer=hidden_layer1, activation_function="relu") +output_layer = pygad.nn.DenseLayer(num_neurons=num_outputs, previous_layer=hidden_layer2, activation_function="softmax") + +# Training the network. +pygad.nn.train(num_epochs=10, + last_layer=output_layer, + data_inputs=data_inputs, + data_outputs=data_outputs, + learning_rate=0.01) + +# Using the trained network for predictions. +predictions = pygad.nn.predict(last_layer=output_layer, data_inputs=data_inputs) + +# Calculating some statistics +num_wrong = numpy.where(predictions != data_outputs)[0] +num_correct = data_outputs.size - num_wrong.size +accuracy = 100 * (num_correct/data_outputs.size) +print("Number of correct classifications : {num_correct}.".format(num_correct=num_correct)) +print("Number of wrong classifications : {num_wrong}.".format(num_wrong=num_wrong.size)) +print("Classification accuracy : {accuracy}.".format(accuracy=accuracy)) diff --git a/examples/nn/example_regression.py b/examples/nn/example_regression.py new file mode 100644 index 00000000..5b9d990c --- /dev/null +++ b/examples/nn/example_regression.py @@ -0,0 +1,46 @@ +import numpy +import pygad.nn + +""" +This example creates a neural network for regression where the architecture has input and dense layers only. More layers will be added in the future. +The project only implements the forward pass of a neural network and no training algorithm is used. +For training a neural network using the genetic algorithm, check this project (https://github.com/ahmedfgad/NeuralGenetic) in which the genetic algorithm is used for training the network. +Feel free to leave an issue in this project (https://github.com/ahmedfgad/NumPyANN) in case something is not working properly or to ask for questions. I am also available for e-mails at ahmed.f.gad@gmail.com +""" + +# Preparing the NumPy array of the inputs. +data_inputs = numpy.array([[2, 5, -3, 0.1], + [8, 15, 20, 13]]) + +# Preparing the NumPy array of the outputs. +data_outputs = numpy.array([[0.1, 0.2], + [1.8, 1.5]]) + +# The number of inputs (i.e. feature vector length) per sample +num_inputs = data_inputs.shape[1] +# Number of outputs per sample +num_outputs = 1 + +HL1_neurons = 2 + +# Building the network architecture. +input_layer = pygad.nn.InputLayer(num_inputs) +hidden_layer1 = pygad.nn.DenseLayer(num_neurons=HL1_neurons, previous_layer=input_layer, activation_function="relu") +output_layer = pygad.nn.DenseLayer(num_neurons=num_outputs, previous_layer=hidden_layer1, activation_function="None") + +# Training the network. +pygad.nn.train(num_epochs=100, + last_layer=output_layer, + data_inputs=data_inputs, + data_outputs=data_outputs, + learning_rate=0.01, + problem_type="regression") + +# Using the trained network for predictions. +predictions = pygad.nn.predict(last_layer=output_layer, + data_inputs=data_inputs, + problem_type="regression") + +# Calculating some statistics +abs_error = numpy.mean(numpy.abs(predictions - data_outputs)) +print("Absolute error : {abs_error}.".format(abs_error=abs_error)) diff --git a/examples/nn/example_regression_fish.py b/examples/nn/example_regression_fish.py new file mode 100644 index 00000000..a6aa550e --- /dev/null +++ b/examples/nn/example_regression_fish.py @@ -0,0 +1,47 @@ +import numpy +import pygad.nn +import pandas + +""" +This example creates a neural network for regression where the architecture has input and dense layers only. More layers will be added in the future. +The project only implements the forward pass of a neural network and no training algorithm is used. +For training a neural network using the genetic algorithm, check this project (https://github.com/ahmedfgad/NeuralGenetic) in which the genetic algorithm is used for training the network. +Feel free to leave an issue in this project (https://github.com/ahmedfgad/NumPyANN) in case something is not working properly or to ask for questions. I am also available for e-mails at ahmed.f.gad@gmail.com +""" + +data = numpy.array(pandas.read_csv("../data/Fish.csv")) + +# Preparing the NumPy array of the inputs. +data_inputs = numpy.asarray(data[:, 2:], dtype=numpy.float32) + +# Preparing the NumPy array of the outputs. +data_outputs = numpy.asarray(data[:, 1], dtype=numpy.float32) # Fish Weight + +# The number of inputs (i.e. feature vector length) per sample +num_inputs = data_inputs.shape[1] +# Number of outputs per sample +num_outputs = 1 + +HL1_neurons = 2 + +# Building the network architecture. +input_layer = pygad.nn.InputLayer(num_inputs) +hidden_layer1 = pygad.nn.DenseLayer(num_neurons=HL1_neurons, previous_layer=input_layer, activation_function="relu") +output_layer = pygad.nn.DenseLayer(num_neurons=num_outputs, previous_layer=hidden_layer1, activation_function="None") + +# Training the network. +pygad.nn.train(num_epochs=100, + last_layer=output_layer, + data_inputs=data_inputs, + data_outputs=data_outputs, + learning_rate=0.01, + problem_type="regression") + +# Using the trained network for predictions. +predictions = pygad.nn.predict(last_layer=output_layer, + data_inputs=data_inputs, + problem_type="regression") + +# Calculating some statistics +abs_error = numpy.mean(numpy.abs(predictions - data_outputs)) +print("Absolute error : {abs_error}.".format(abs_error=abs_error)) \ No newline at end of file diff --git a/examples/nn/extract_features.py b/examples/nn/extract_features.py new file mode 100644 index 00000000..e1373056 --- /dev/null +++ b/examples/nn/extract_features.py @@ -0,0 +1,29 @@ +import numpy +import skimage.io, skimage.color, skimage.feature +import os + +dataset_dir = "../data/Fruit360" +fruits = ["apple", "raspberry", "mango", "lemon"] +# Number of samples in the datset used = 492+490+490+490=1,962 +# 360 is the length of the feature vector. +dataset_features = numpy.zeros(shape=(1962, 360)) +outputs = numpy.zeros(shape=(1962)) + +idx = 0 +class_label = 0 +for fruit_dir in fruits: + curr_dir = os.path.join(os.path.sep, fruit_dir) + all_imgs = os.listdir(os.path.join(dataset_dir+curr_dir)) + for img_file in all_imgs: + if img_file.endswith(".jpg"): # Ensures reading only JPG files. + fruit_data = skimage.io.imread(fname=os.path.sep.join([dataset_dir, curr_dir, img_file]), as_gray=False) + fruit_data_hsv = skimage.color.rgb2hsv(rgb=fruit_data) + hist = numpy.histogram(a=fruit_data_hsv[:, :, 0], bins=360) + dataset_features[idx, :] = hist[0] + outputs[idx] = class_label + idx = idx + 1 + class_label = class_label + 1 + +# Saving the extracted features and the outputs as NumPy files. +numpy.save("../data/dataset_features.npy", dataset_features) +numpy.save("../data/outputs.npy", outputs) diff --git a/examples/lifecycle.py b/examples/pygad_lifecycle.py similarity index 96% rename from examples/lifecycle.py rename to examples/pygad_lifecycle.py index 67ba128f..8eeae5b6 100644 --- a/examples/lifecycle.py +++ b/examples/pygad_lifecycle.py @@ -1,48 +1,48 @@ -import pygad -import numpy - -function_inputs = [4,-2,3.5,5,-11,-4.7] -desired_output = 44 - -def fitness_func(ga_instanse, solution, solution_idx): - output = numpy.sum(solution*function_inputs) - fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) - return fitness - -fitness_function = fitness_func - -def on_start(ga_instance): - print("on_start()") - -def on_fitness(ga_instance, population_fitness): - print("on_fitness()") - -def on_parents(ga_instance, selected_parents): - print("on_parents()") - -def on_crossover(ga_instance, offspring_crossover): - print("on_crossover()") - -def on_mutation(ga_instance, offspring_mutation): - print("on_mutation()") - -def on_generation(ga_instance): - print("on_generation()") - -def on_stop(ga_instance, last_population_fitness): - print("on_stop") - -ga_instance = pygad.GA(num_generations=3, - num_parents_mating=5, - fitness_func=fitness_function, - sol_per_pop=10, - num_genes=len(function_inputs), - on_start=on_start, - on_fitness=on_fitness, - on_parents=on_parents, - on_crossover=on_crossover, - on_mutation=on_mutation, - on_generation=on_generation, - on_stop=on_stop) - -ga_instance.run() +import pygad +import numpy + +function_inputs = [4,-2,3.5,5,-11,-4.7] +desired_output = 44 + +def fitness_func(ga_instanse, solution, solution_idx): + output = numpy.sum(solution*function_inputs) + fitness = 1.0 / (numpy.abs(output - desired_output) + 0.000001) + return fitness + +fitness_function = fitness_func + +def on_start(ga_instance): + print("on_start()") + +def on_fitness(ga_instance, population_fitness): + print("on_fitness()") + +def on_parents(ga_instance, selected_parents): + print("on_parents()") + +def on_crossover(ga_instance, offspring_crossover): + print("on_crossover()") + +def on_mutation(ga_instance, offspring_mutation): + print("on_mutation()") + +def on_generation(ga_instance): + print("on_generation()") + +def on_stop(ga_instance, last_population_fitness): + print("on_stop") + +ga_instance = pygad.GA(num_generations=3, + num_parents_mating=5, + fitness_func=fitness_function, + sol_per_pop=10, + num_genes=len(function_inputs), + on_start=on_start, + on_fitness=on_fitness, + on_parents=on_parents, + on_crossover=on_crossover, + on_mutation=on_mutation, + on_generation=on_generation, + on_stop=on_stop) + +ga_instance.run() diff --git a/pygad/__init__.py b/pygad/__init__.py index 316b67c5..23292431 100644 --- a/pygad/__init__.py +++ b/pygad/__init__.py @@ -1,3 +1,3 @@ from .pygad import * # Relative import. -__version__ = "3.0.1" +__version__ = "3.1.0" diff --git a/pygad/cnn/__init__.py b/pygad/cnn/__init__.py index 57e6d6f7..da317b5b 100644 --- a/pygad/cnn/__init__.py +++ b/pygad/cnn/__init__.py @@ -1,4 +1,4 @@ from .cnn import * -__version__ = "1.0.0" +__version__ = "1.1.0" diff --git a/pygad/helper/__init__.py b/pygad/helper/__init__.py index 89accfea..e781d27f 100644 --- a/pygad/helper/__init__.py +++ b/pygad/helper/__init__.py @@ -1,3 +1,3 @@ from pygad.helper import unique -__version__ = "1.0.0" \ No newline at end of file +__version__ = "1.1.0" \ No newline at end of file diff --git a/pygad/kerasga/__init__.py b/pygad/kerasga/__init__.py index 7e6b139c..735d549c 100644 --- a/pygad/kerasga/__init__.py +++ b/pygad/kerasga/__init__.py @@ -1,3 +1,3 @@ from .kerasga import * -__version__ = "1.2.0" +__version__ = "1.3.0" diff --git a/pygad/utils/__init__.py b/pygad/utils/__init__.py index dde56334..3b8450be 100644 --- a/pygad/utils/__init__.py +++ b/pygad/utils/__init__.py @@ -2,4 +2,4 @@ from pygad.utils import crossover from pygad.utils import mutation -__version__ = "1.0.0" \ No newline at end of file +__version__ = "1.0.1" \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 413e3917..aa8a6618 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,10 +1,15 @@ [build-system] -requires = ["setuptools>=61.0"] +# Consider migrating to hatching later: https://hatch.pypa.io/latest/intro/#existing-project +# requires = ["setuptools>=61.0"] +# requires = ["setuptools==59.2"] +requires = ["setuptools"] build-backend = "setuptools.build_meta" +# requires = ["hatchling"] +# build-backend = "hatchling.build" [project] name = "pygad" -version = "3.0.1" +version = "3.1.0" description = "PyGAD: A Python Library for Building the Genetic Algorithm and Training Machine Learning Algoithms (Keras & PyTorch)." readme = {file = "README.md", content-type = "text/markdown"} requires-python = ">=3" diff --git a/setup.py b/setup.py index 4978a72d..40a8b787 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setuptools.setup( name="pygad", - version="3.0.1", + version="3.1.0", author="Ahmed Fawzy Gad", install_requires=["numpy", "matplotlib", "cloudpickle",], author_email="ahmed.f.gad@gmail.com",