element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Personal Blogs
  • Community Hub
  • More
Personal Blogs
Legacy Personal Blogs Applying AI to climbing … Deep Learning meets the "odd human" dataset
  • Blog
  • Documents
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: albertabeef
  • Date Created: 16 Apr 2021 4:46 PM Date Created
  • Views 5510 views
  • Likes 5 likes
  • Comments 1 comment
  • odd objects
  • ssd
  • pose estimation
  • imagenet
  • rock climbing
  • objectnet
  • spnet
  • dataset
  • deep learning
  • openpose
  • climbing
Related
Recommended

Applying AI to climbing … Deep Learning meets the "odd human" dataset

albertabeef
albertabeef
16 Apr 2021

In this blog series, I attempt to bring two of my passions together … AI and rock climbing.

image

 

 

In my last blog, I talked about the 2020 Tokyo Olympics that are expected to take place in 2021, and which will feature rock climbing as a discipline.  The discipline presents humans performing spectacular movements that defy gravity.

Applying AI to climbing … The Long Road to the 2020 Tokyo Olympics

 

Having been learning about machine learning for a while now, I decided to verify what the AI algorithms were able to do with these unique images.

 

I used some images of the olympic athletes for my initial investigation, and was surprised by the very strange classifications that were being generated : airplane, boat, chair, dog, …

 

To illustrate, using mobilenet, these two images of Olympic climbers were incorrectly classified.

In this first example, Great Britain's Shauna Coxsey is mis-classified as a boat … probably because she appears to be floating up the wall image

image

In this next example, Canada's Sean McColl is mis-classified as an airplane … although I do agree that he is literally flying up this wall image

image

Jokes aside, and to be fair, there are a lot of images where the climbers are being correctly classified as "person", but the algorithm is clearly having a really hard time with these images.

 

What is going on ?  Why are these climbers images being incorrectly classified ? 

 

Clearly the background have something to do this these mis-classifications … the bright colored triangular structures on the wall, are giving false clues about other objects it has been trained for.

 

My initial investigation with pose estimation was further disappointing, since the first step in pose estimation is the detection of a "person".  No "person", no pose estimation.

 

Here is a video of a side-by-side comparison of two climbers that I prepared for this exercise:

https://youtu.be/HKD7PgqvX6w

 

I experimented with a two-stage detector (SSD + SPNet), as well as a single-stage detector (OpenPose) on the above video.  In both cases, the pose estimation models rarely detected the climber.  On the rare occasions where the climber was detected, the pose estimation was often incorrect, as shown in the following images.

image

image

image

image

 

 

When the climbers touched the ground, however, things change …

image

image

 

 

Why are these pose estimation algorithms having such a hard time ?

 

If we take a step back, this is understandable, and even to be expected.  The images used to train these models have images of humans standing, sitting, perhaps laying down, but never hanging from the walls.

This is a common phenomenon in AI, known as "bias".  We often hear about training data having color or gender bias.  There are many different "biases" in public data sets, and we should be aware of these before re-using or training a model that makes use of them. 

As a simple example, the very famous ImageNet dataset ( http://image-net.org/ ) has a bias towards dogs, with a few hundred classes out of the total being dogs.

Researchers at MIT created an unusual dataset called ObjectNet ( http://objectnet.dev/ ), which contains various "odd objects".  The goal of this dataset is to show that trained models can easily be challenged by  providing images with unexpected viewpoints and/or backgrounds.

image

 

 

The "bias" I want to highlight is the assumption of how a human is expected to be seen … usually in the direction that gravity is pulling … not hanging from the ceiling or walls.  For the purpose of this on-going discussion, let's call this the "odd human" data set.

I do not know if there exists a public data set that includes climbers, but this is clearly the first place to look.

 

Please share your feedback:

  • What approach would you take to support these "odd" human poses ?
  • Are you aware of models that have been specifically trained for climbing images ? 
  • Are you aware of public datasets that include climbers ?

 

References:

  • ImageNet dataset :  http://image-net.org/
  • ObjectNet dataset : http://objectnet.dev/
  • Odd Objects : https://news.mit.edu/2019/object-recognition-dataset-stumped-worlds-best-computer-vision-models-1210
  • Sign in to reply

Top Comments

  • ralphjy
    ralphjy over 4 years ago +1
    Just some random thoughts... I've mentioned it before, but it seems like too hard a problem (too many variables) to solve without a huge amount of data. What if you could augment the data with a few sensors…
  • ralphjy
    ralphjy over 4 years ago

    Just some random thoughts... 

     

    I've mentioned it before, but it seems like too hard a problem (too many variables) to solve without a huge amount of data.  What if you could augment the data with a few sensors that would attach to equipment that is requisite to all climbers - left shoe, right shoe, rosin bag.  Haven't thought of how to implement it, but then detecting orientation would be easier.  Not sure how to locate hands (maybe wristbands?)... and obviously this would only work with future climbs.

     

    For video only, what if for a specific climb you could train the model to identify each climber.  I've seen cases where data is augmented by taking a specific image and rotating it.  Then your training data set would have each person with varying orientations.  And if you had different profiles that would be even better.  Not a generalized case, but seems like it might work.

     

    Hope that you can find an existing dataset.  Maybe you can start one image.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube