Coder Social home page Coder Social logo

dog-identification-cnn's Introduction

dog-identification-CNN

Motivation of the project

This project aims to identify dog breeds from images using Convolutional Neural Networks so that I will gain experience in handling CNN algorithms and better grasp the concept. Throughout the project I employed 3 different CNN algorithms that are either fully or partially trained across the dataset provided by Udacity. If the image fed to the algorithm is recognized as a human or dog face, most resembling dog breed type is presented as the trained algorithm’s prediction on what is shown in the image. If the algorithm does not recognize a human or a dog, it states so.

Summary of the project

The project contains the following steps:

  • A sub-algorithm for detecting human faces are created.
  • A sub-algorithm for detecting dog faces are created.
  • Own CNN algorithm is created for dog breed identification, trained using the dataset provided by Udacity.
  • VGG16 CNN model is trained using transfer learning method for dog breed identification, trained using the dataset provided by Udacity.
  • ResNET-50 CNN model is trained using transfer learning method for dog breed identification, trained using the dataset provided by Udacity.

Summary of the results

The sub-algorithm called face detector used for detection of human faces was tested across 100 dog images and 100 human images with accuracy results listed below:

  • Human faces detected in 100 human face images provided in ratio: 100%, therefore it has 100% accuracy.
  • Human faces detected in 100 dog face images provided in ratio: 11%, therefore it has 89% accuracy.

The sub-algorithm called dog detector used for detection of dog faces was tested across 100 dog images and 100 human images with accuracy results listed below:

  • Dog faces detected in 100 human face images provided in ratio: 0%, therefore it has 100% accuracy.
  • Dog faces detected in 100 dog face images provided in ratio: 100%, therefore it has 100% accuracy.

Own model architecture has reached around 2.8% accuracy in correctly identifying the breed type of the test set of the dog images provided.

VGG16 model architecture has reached around 41.3% accuracy in correctly identifying the breed type of the test set of the dog images provided.

ResNET-50 model architecture has reached around 83.3% accuracy in correctly identifying the breed type of the test set of the dog images provided.

Files in repository

  • README.md : (this file) to explain the basics of the project
  • dog_app.ipynb : Jupyter Notebook where all the calculations and results could be attained.
  • dog_app.html : Html version of the finalized Jupyter Notebook for ease of access through a web browser application.

Python libraries used in project are as follows:

  • cv2
  • keras
  • re
  • tqdm
  • sklearn
  • numpy
  • matplotlib
  • random
  • PIL (implicitly)

Acknowledgments

  • License : MIT
  • Data source : Udacity

References

For more information please refer to blog post through this link.

dog-identification-cnn's People

Contributors

qtepinkclou 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.