dog-breeds-classification icon indicating copy to clipboard operation
dog-breeds-classification copied to clipboard

Usage in dog ID application

Open YoungP036 opened this issue 6 years ago • 2 comments

Hey, I am hoping you can offer me some advice. I am involved in a large group project at university. We are building an application for our graduation project class. One of the components of the project is your model here. We were told we must train a model ourselves, but that we may reuse any resources we find so long as credit is given appropriately.

I've been able to reproduce your experiment successfully. I was wondering if you have any advice on how we can get the best results for users who want to take a picture of a dog they encounter, and get a breed label for that dog. It seems some types of pictures do better then others, and I am having a hard time creating a list of suggestions for the user when taking their pictures.

At first I thought, 1. No long distance photos, 2. Include the whole dog in the frame without anything obscuring, 3. Dog in standing position

But when I look closer at the dataset you used, it seems to include pictures of all types. Entire dog showing, partial dog showing, standing, laying, sitting, etc. So now I am not so sure about my suggestions.

Do you have any thoughts? Sorry for the wall of text, I very much appreciate the work you put in to this project. It has been of tremendous help to us. Good luck in your future endeavors!

Best, Patrick Young

YoungP036 avatar Mar 01 '18 21:03 YoungP036

Hi Patrick,

I am glad you have found the model useful. Just out of curiosity, at what university/faculty are you using the model?

I think the issue with the model is that it was pre-trained on the big image dataset, but fine-tuned on relatively small image set of dogs (i.e. Stanford Dogs dataset), so I suspect the model itself overfits Stanford Dogs dataset. To improve the quality of the model I would definitely recommend increasing dogs dataset size the model is being trained on. All your suggestions for users make sense to me. I am not sure I can suggest anything beyond that. I would also try to build an ensemble of models: inception, resnet etc., and make the prediction based on the averaged output.

stormy-ua avatar Mar 01 '18 22:03 stormy-ua

Thanks for the quick response! We are a 7 person group of undergraduates at Temple University in Philadelphia, Pennsylvania. We are making a 'dog lovers' application in android, iphone, and web app form. One of the main user stories is someone see's a dog they like, takes a picture to identify the breed, and from there can obtain more information on that breed(wikipedia API), as well as where one may be for sale(petfinder API). I am responsible for the image model, and the backend. It's not the most interesting app, but it is a great learning experience as far as putting together a full frontend to backend stack.

As far as overfitting, I had similar thoughts. I don't consider myself especially knowledgeable about data science, or machine learning. How would a person normally gather more data in a way that scales? We do not have enough time to do it manually. I have tried searching for other dog breed labeled image data sets but it seems like the Stanford set is all that is out there. Is there another set out there that I am missing?

I had not considered averaging the results of multiple models. I will definitely keep that in mind!

So far I have only just begun manual testing using about two dozen images taken by group members of dogs they have access to. Of the ones that were incorrectly identified, the highest ranking label was always under 0.8 as I recall, and all correct labels were well over 0.9. We are considering rejecting any label that is below 0.85-0.9 and suggesting the user try another photo. Our Professor understands that our final product will not be perfect, so this may be a workable solution for us. I need to continue testing before deciding, though.

On Thu, Mar 1, 2018 at 5:36 PM, Kirill Panarin [email protected] wrote:

Hi Patrick,

I am glad you have found the model useful. Just out of curiosity, at what university/faculty are you using the model?

I think the issue with the model is that it was pre-trained on the big image dataset, but fine-tuned on relatively small image set of dogs (i.e. Stanford Dogs dataset), so I suspect the model itself overfits Stanford Dogs dataset. To improve the quality of the model I would definitely recommend increasing dogs dataset size the model is being trained on. All your suggestions for users make sense to me. I am not sure I can suggest anything beyond that. I would also try to build an ensemble of models: inception, resnet etc., and make the prediction based on the averaged output.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/stormy-ua/dog-breeds-classification/issues/5#issuecomment-369755337, or mute the thread https://github.com/notifications/unsubscribe-auth/AbYoxRxnc8U1Dh-iuICYGFqimzjiIZESks5taHfngaJpZM4SZDbf .

YoungP036 avatar Mar 02 '18 04:03 YoungP036