Image prediction model when data-set classes have visual similarity
You could use transfer learning. Find some state of the art neural net (something newer than VGG) already trained for image classification. Then remove the last layer and add a new one, training it while keeping the remaining old weights fixed. A simple softmax at the end would work.This is the simplest approach.

Because you're mostly only training the last layer, you won't need as much data.

I think FaceNet will perform poorly because it uses different features and you would need to retrain all its layers.

If you have too little data for some classes, maybe you should use an autoencoder as a features extractor. Then you could classify an image by comparing its feature vector to those for each breed, for example with cosine similarity.