Code Monkey home page Code Monkey logo

aerial-cactus-identification's Introduction

This is the source code for predicting whether a image contains a cactus or not. This project is inspired from the kaggle competition which aims to build a system for autonomous surveillance of protected areas. It tasked us with creation of an algorithm that can identify a specific type of cactus in aerial imagery.

This dataset contains a large number of 32 x 32 thumbnail images containing aerial photos of a columnar cactus (Neobuxbaumia tetetzo). Kaggle has resized the images from the original dataset to make them uniform in size. The file name of an image corresponds to its id.

Methodology

In this project we want to recognise whether the image contains cactus or not. For this we are going to construct a neural network with layers and train its weights. Further we are going to use Transfer Learning which speeds up training by using pre-trained classification models. We are going to train only the top layer form the pretrained layers. We are using pre-trained MoblieNetV2 model feature detector which is released Google. For training the untrained layers we use TensorFlow 2.0 optimisers.

Performance

After 30 epochs the model's validation accuracy increases form around 0.8 to 0.97. Based on the accuracy and loss graphs, more epochs may result in even greater improvements.

References

  1. This project is inspired from Transfer Learning using Pretrained ConvNets on TensorFlow.org
  2. M. Sandler, A. Howard, M. Zhu, A. Zhmonginov, L. C. Chen, MobileNetV2: Inverted Residuals and Linear Bottlenecks (2019), Google Inc.

API using heroku: URL

  1. Created a api which takes image as input and returns whether the image is a cacuts image or not
  2. Used Flask for creating the api and heroku for server
  3. The server uses pickle file of the model we created using transfer Learing.

Takeaway

The accuracy of the model can be further improved by finetuning the trained layers.

aerial-cactus-identification's People

Contributors

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