Fun and enjoyable applications are great since they make our lives better and more pleasant. And since everyone loves dogs, I have decided to build an application to combine these two ideas: enjoyability and human best friend(dogs). In this project, I have created a web application that is capable of determining the breed of a dog in a given image. The application uses a classifier(CNN) trained on the dog dataset.
Please make sure to have the following packages installed on youre system:
PyTorch using pip install pytorch
torchvision using pip install torchvision
Flask using pip install flask
I have used Convolutional Neural Network as my classifier which is the most powerful algorithm for most image processing tasks, including classification. It needs a huge amount of data compared to other machine learning approaches and techniques. And for human detection, I have used HaarCascades (frontal) in order to detect human faces. This feature detection algorithm has been proving its great capability of detecting objects (faces in our case). Our dataset is not considered to be huge since we only have about 63 images per class. The algorithm (CNN) outputs an assigned probability/score for each class, so we can examine how much is our model confident with a particular decision it has made.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.