Skip to content

ilmari99/DigitRecognition3D

Repository files navigation

Classifying 3D coordinate sequences of hand drawn digits

This was a school project, where we received 1000 different length 3D coordinate sequences of hand drawn digits. The goal was to classify the digits into 10 different classes (0-9). Our team received the highest score (98.3% accuracy) in the class, since it's beginning in 2016.

drawn_digits

Figure 1: Examples of the 3D coordinate sequences of hand drawn digits.

Since characters are inherently 2D, we projected the 3D coordinates using PCA to 2D. NOTE: We did not use these 2D coordinates for classification, but only for visualization purposes.

drawn_digits_2D

To make the dimensions match, we padded the sequences with zeros to the length of the longest sequence in the training data (222).

As our model, we used a convolutional neural network, and did a large hyperparameter optimization with the Hyperband algorithm from the Kerastuner library.

corr-of-hp-tuning

Figure 2: Correlation between the hyperparameters and the accuracy of the model.

Results

Our best model reached an accuracy of 99.5% on our own test set, and 98.3% on the test set provided by the course staff.

accuracy

Figure 3: Accuracy of the model on the training and validation set during training.

kernel_weights_train

Figure 4: The evolution of the distribution of the weights of the first convolutional layer kernel during training.

Our results were very good, ranking 1st in the classification task since it's launch in 2016. The accuracy of our model on the test set was 99.5% with a log loss of 0.06. Each model was additionally evaluated on a secret test set, where our model had an accuracy of 98.4%.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published