
                          The PurdueShapes5 Dataset
                          =========================

This dataset was designed for giving classroom demonstrations of convolutional
networks that can carry out classification and regression at the same time.  The
classification is for the shape category of the object in an image and the regression
for the bounding box that encloses the object.

For any questions related to this dataset, contact the author at

     kak@purdue.edu

with the string "PurdueShapes5" in your subject line.

The PurdueShapes5 that contains 32x32 images of binary shapes belonging to the
following five classes:

                       1.  rectangle
                       2.  triangle
                       3.  disk
                       4.  oval
                       5.  star

The dataset was generated by randomizing the sizes and the orientations of these five
patterns in 32x32 images.  Since the patterns are rotated with a very simple
non-interpolating transform, just the act of random rotations can introduce boundary
and even interior noise in the patterns.

Each 32x32 image is stored in the dataset as the following list:

                           [R, G, B, Bbox, Label]
where

      R     :   is a 1024 element list of the values for the red component
                of the color at all the pixels

      B     :   the same as above but for the green component of the color

      G     :   the same as above but for the blue component of the color

      Bbox  :   a list like [x1,y1,x2,y2] that defines the bounding box
                for the object in the image

      Label :   the shape of the object

I serialize the dataset with Python's pickle module and then compress it with the
gzip module.

The dataset files you will find in this directory are:

               PurdueShapes5-10000-train.gz
               PurdueShapes5-1000-test.gz
               PurdueShapes5-20-train.gz
               PurdueShapes5-20-test.gz

The number that follows the main name string "PurdueShapes5-" is for the number of
images in the dataset.

You will find the last two datasets, with 20 images each, useful for debugging your
logic for object detection and bounding-box regression.


