Code Monkey home page Code Monkey logo

dogbreedapp's Introduction

DogBreedApp

A simple web app for identifying dog breeds in colour images. Convolutional neural networks (CNNs) are capable of classifying images using learned feature representations for each class to be identified. State-of-the-art models were trained to determine if images contained a human or dog (MobileNetV3-Small) and then to predict which dog breed the image most resembles. The dog breeds were learned by training on a dataset containing 133 different breeds.

Running this app

  • Clone this repo
  • Change directory to the app directory
  • Install tensorflow and streamlit using pip
  • Enter streamlit run main.py in a terminal. A browser tab containing the web app should open
  • Upload a sample image and have fun!

Libraries

  • streamlit was used to build the web app
  • tensorflow (version 2.5.0) was used to define model architectures and train models
  • scikit-image and scikit-learn were used to implement a local interpretable model-agnostic explanation (LIME) algorithm to better understand how the model makes predictions. This algorithm was implemented according to a tutorial provided by Cristian Arteaga (arteagac), which can be found here

Datasets

  • The dog breed dataset containing over 8000 images of 133 different breeds here
  • The human faces dataset (over 13000 images) can be found here

Model training

  • Transfer learning was used to train models to predict whether an image contains a human or a dog and what dog breed is in the image
  • An Xception model was trained to predict dog breeds. It scored 99% and 85% accuracy on the training and validation data, respectively
  • MobileNetV3 was trained on equal numbers of dog and human images and achieved 100% accuracy on unseen test images
  • MobileNetV3 is currently being trained to distinguish the dog breeds so as to reduce latency compared to the Xception model

dogbreedapp's People

Contributors

kynnemall avatar kynnem62 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.