So I’ve been working on building a machine learning program to identify morphs just for fun, and to my surprise it’s actually not half bad. It’s been trained on ~350 images so far using only a handful of basic morphs (Normal, Spider, Mojave, Leopard, Butter/lesser and Clown) and is currently running at a combined accuracy of 96%.
Current guessing accuracy:
Clown - 98%
Leopard - 95%
Normal - 100%
Mojave - 91%
Lesser/Butter - 91%
Spider - 98%
Made into an app, this would actually be pretty useful for all the “I bought this at partsmart as a fancy ball python, what morph is it?” situations, or for picking out morphs from complex combos.
Some major observations:
- It will never be able to predict new combos and can only be trained on morphs that already exist.
- It’s excessively time consuming and takes some computing power
- There’s an incredible amount of variation even within single gene morphs or normal/WT
- We do’t realize just how good the human eye is at picking out patterns, I don’t know that a program is capable of doing better than an experienced/well trained human
tl;dr: machine learning can identify some morphs but it’s usefulness is very limited