Trained on 56 images
Made for bounty. I don't think this model fulfills all the requirements directly, but it performs the basic functions.