Skip to content

Synthetic dataset of images of hand-drawn plane shapes.

License

Notifications You must be signed in to change notification settings

reevald/FlatShapeNet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 

Repository files navigation

FlatShapeNet

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

Dataset

Banner Dataset
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)

Generate your own

1. Install requirements

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/

2. Clone repository

$ git clone https://github.com/reevald/FlatShapeNet.git
$ cd FlatShapeNet/hand_drawn_shape

3. Generate Dataset

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 (default current working directory) option to specify the dataset path to be generated (destination path).
  • NUM_TRAIN (default 1500 images) option to number of train dataset
  • NUM_VAL (default 500 images) option to number of validation dataset
  • NUM_TEST (default 500 images) option to number of test dataset

[Result] Directory structure

📂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

TODOs

  • Add more custom variable
  • Add more shapes
  • Optimization of dataset generation speed
  • Rewrite in native code (python or java)

Releases

No releases published

Packages

No packages published

Languages