Dataset for the educational game Ariga. The latest version supports hand-drawn plane shapes and data augmentation: rotation, horizontal-flip, vertical-flip and random erase (dash-line). Older versions can be accessed via the link: github.com/reevald/MathEdu
Download (122 MB): https://www.kaggle.com/datasets/reevald/geometric-shapes-mathematics
The dataset spans eight classes: circle, kite, parallelogram, rectangle, rhombus, square, trapezoid, triangle. The dataset consists of 20,000 images.
- Circle: Train(1,500); Val(500); Test(500)
- Kite: Train(1,500); Val(500); Test(500)
- Parallelogram: Train(1,500); Val(500); Test(500)
- Rectangle: Train(1,500); Val(500); Test(500)
- Rhombus: Train(1,500); Val(500); Test(500)
- Square: Train(1,500); Val(500); Test(500)
- Trapezoid: Train(1,500); Val(500); Test(500)
- Triangle: Train(1,500); Val(500); Test(500)
In order to run Processing.py from the command line. For maximum compatability with processing, you'll need to install Java 8 -- specifically, we recommend JRE 8u202 from Oracle.
After installing, ensure that you can run Java by typing the following on the command line:
$ java -version
You should see some output that looks like this:
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
More info about installation Processing: https://py.processing.org/tutorials/command-line/
$ git clone https://github.com/reevald/FlatShapeNet.git
$ cd FlatShapeNet/hand_drawn_shape
Run with default settings
$ java -jar lib/processing-py.jar hand_drawn_shape.pyde
[Optional] Run with custom variable
$ PATH_DEST=D:/ProcessingProject/Resource NUM_TRAIN=100 NUM_VAL=20 NUM_TEST=20 java -jar lib/processing-py.jar hand_drawn_shape.pyde
PATH_DEST
(defaultcurrent working directory
) option to specify the dataset path to be generated (destination path).NUM_TRAIN
(default1500
images) option to number of train datasetNUM_VAL
(default500
images) option to number of validation datasetNUM_TEST
(default500
images) option to number of test dataset
📂dataset
└───📂train
│ └───📂circle
│ └───📂kite
│ └───📂parallelogram
│ └───📂rectangle
│ └───📂rhombus
│ └───📂square
│ └───📂trapezoid
│ └───📂triangle
└───📂val
│ └───📂circle
│ └───📂kite
│ └───📂parallelogram
│ └───📂rectangle
│ └───📂rhombus
│ └───📂square
│ └───📂trapezoid
│ └───📂triangle
└───📂test
└───📂circle
└───📂kite
└───📂parallelogram
└───📂rectangle
└───📂rhombus
└───📂square
└───📂trapezoid
└───📂triangle
- Add more custom variable
- Add more shapes
- Optimization of dataset generation speed
- Rewrite in native code (python or java)