Skip to content

Latest commit

 

History

History
32 lines (21 loc) · 2.56 KB

README.md

File metadata and controls

32 lines (21 loc) · 2.56 KB

Climbing route grading classifier

The moonboard is a climbing training tool. Each moonboard is a short identical climbing wall with the same holds, at the same orinentation in the same place. There is a database of approximately 12,000 climbs held on the moonboard website to be used with a mobile app. Each entry in the database describes which holds to use for the climb, gives it a difficult rating (grade) by given by the route setter and a crowd sourced grade given by the community, who have climbed the route.

Our aim is to predict the climbing grade only given the holds used for a climb. This is a hard task - one which experienced climbers would find hard to do without climbing the route. Even after climbing a route the route setter grade and the crowd source grade only agreed 95% of the time.

I train a convolution neural network to classify routes by their grades and achieve 71% accuracy on the test dataset (using a one out accuracy, the true grade can be +- 1 of our guess). We experiment with three different loss functions to try and take advantage of the ordering of our labels (the grades can be arranged on a number line). For our loss functions I use:

Our one out accuracy results are:

Loss function Accuracy (one out)
CJS 69.4%
squared earth mover's distance 70.8%
cross-entropy 64.2%

Convolutional neural network model: this model is based upon a 14 layer ResNetv2 but with a few key differences: I add dropout layers and add the scaling of the residuals as in Inception-ResNet (https://arxiv.org/pdf/1602.07261.pdf).

Tasks and layout of the code

Result: I achieved 71% accuracy on the test dataset.

A picture of a moonboard:

a moonboard