Git Product home page Git Product logo

manab-kb / object-recognition-and-classification-system Goto Github PK

View Code? Open in Web Editor NEW
10.0 2.0 0.0 94.23 MB

Object Recognition And Classification System - Recognition of objects in the images fed to the program via the GUI along with Live Object Detection.

Home Page: https://github.com/Manab784/Object-Recognition-and-Classification-System

License: GNU Affero General Public License v3.0

Python 100.00%
python image-classification image-recognition cnn tensorflow cv2 keras neural-network convolutional-neural-networks camera recognition deep-learning opencv-python sift ghdesktop github gitlens learn student-vscode

object-recognition-and-classification-system's Introduction

Object Recognition System

An Object Recognition and classification system has been built here. The code is mainly divided into two parts:

  1. Object Recognition in still/non-movable images
  2. Object Detection in live images

Start screen / Home Page of the application :

Start_Page

1. Object Recognition

The user is given a choice to select local files from the file dialogue of their own device and upload it into the GUI, which passes it on to the Convolutional Neural Network (CNN) for processing and returns the Class Name of the image with a specific level of accuracy.

NOTE: Only '.png' files are recognizable by the CNN created. Providing any other file type will trigger an error and not allow the application to proceed further.

File Dialogue : Selection of Files

Page_1

Publication of Results from the CNN :

Page_2

As seen in the image above, the result displayed by the CNN on the GUI consists of the *Image class name* and the *Accuracy percentage* associated with the image.

2. Image Detection

The user turns on their deivce's inbuilt camera via the GUI using the Live Feed button, which detects if an object is present in front of the camera by comparing it with a referrence image, provided previously to the backend of the code.

NOTE: The camera has not been displayed for security purposes. The black window open on the screen is the camera module.

Page_3

Contributing to Object Recognition and Classification System

Hello and welcome! We are so glad that you are interested in contributing to the Object Recognition and Classification System! We only have a couple of rules and we hope you enjoy the process :)

Contributing Rules

  1. Don't move or delete any files. Only modify them.
  2. Put all CNN Model related codes in the CNN.py file, found under the 'Code (Modules)' folder. This also requires you to follow Rule 6 below in the list.
  3. Put all GUI related codes in the GUI.py file, found under the 'Code (Modules)' folder.
  4. Put all Live Object Detection related codes in the 'Image Detection.py' file, found under the 'Code (Modules)' folder.
  5. Put all New model related codes in the 'Code (Modules)' folder.
  6. Upload the entire model file ('.h5' extension) in the 'CNN_Model' folder.

Contributing Process

  1. Fork the repository
  2. Clone your forked repository to your computer
  3. Head to the issues tab and look for an issue that you like.
  4. Once you have decided what issue to work on, give it a shot!
  5. Once done, push the code to your forked repository.
  6. Head to the Pull Requests tab and click on "Create New Pull Request"
  7. On the left of the arrow should be this repo and on the right should be yours.
  8. Add a small description to the Pull Request describing what you've done.
  9. Mention what Issue you have worked on. If the issue number is #3, you can mention "Closes #3" in the Pull Request description.
  10. Submit Pull Request

It's that easy! We hope you enjoy contributing to our repository. Don't hesitate to contact any of the maintainers about any problems!

object-recognition-and-classification-system's People

Contributors

dependabot[bot] avatar manab-kb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

object-recognition-and-classification-system's Issues

Complete CNN Model

Description

The Convolutional Neural Network (CNN) in the CNN.py file, present under the Code (Modules) folder is not complete. Certain layers seem to be missing, thereby preventing the model from being created successfully.

Suggested Fix

Add the missing layers back to the CNN.

Tasks

We suggest you to read through the CONTRIBUTING.md file before you continue.

  1. Add the missing layers to the CNN.
  2. Run the code on your local computer, to test for Model-Efficiency and Functionality.
  3. Once you think you're ready, upload the code back to the folder mentioned in the description above - follow all the steps mentioned in the CONTRIBUTING.md file.
  4. Upload the entire model in the CNN_Model folder.

Bounty Rules

The score are split into three types, in order of increasing rarity.

  • Bounty Points (common to all issues) - 35 Points
  • Brownie Points (for some of the PRs into which more effort went) - 10 Points
  • Enthusiasm Points (for the PRs that went above and beyond) - 10 Points

Limit For Acceptance of PR's

  • The first 5 successfully accepted PR's will be awarded with Brownie Points.
  • Bounty Points will be awarded to all successfully accepted PR's, only after the Acceptance Limit has been crossed.
  • Enthusiasm Points will be awarded before the event closes. (All successfully accepted PR's are eligible for Enthusiasm Points)

Screenshots

Errors Encountered:

image

image

Resources

Make sure to check out the link below if you feel lost at any point in time.

Increase Number of Classes being recognized

Description

The Convolutional Neural Network (CNN) in the CNN.py file, present under the Code (Modules) folder can only recognize objects belonging to 10 different classes - Aeroplanes, Automobiles, Birds, Cats, Deer, Dogs, Frogs, Horses, Ships and Trucks.

Tip

Look through the README.md file to gain further information on the functionalities of the project.

Suggested Fix

Add recognition capabilities into the CNN Model for additional classes of objects.

Tasks

We suggest you to read through the CONTRIBUTING.md file before you continue.

  1. Add recognition capabilities into the CNN Model for additional classes of objects.
  2. Run the code on your local computer, to test for Model-Efficiency and Functionality.
  3. Once you think you're ready, upload the code back to the folder mentioned in the description above - follow all the steps mentioned in the CONTRIBUTING.md file.
  4. Upload the entire model in the CNN_Model folder.

Bounty Rules

The score are split into three types, in order of increasing rarity.

  • Bounty Points (common to all issues) - 30 Points
  • Brownie Points (for some of the PRs into which more effort went) - 5 Points
  • Enthusiasm Points (for the PRs that went above and beyond) - 10 Points

Limit For Acceptance of PR's

  • The first 3 successfully accepted PR's will be awarded with Brownie Points.
  • Bounty Points will be awarded to all successfully accepted PR's, only after the Acceptance Limit has been crossed.
  • Enthusiasm Points will be awarded before the event closes. (All successfully accepted PR's are eligible for Enthusiasm Points)

Resources

Make sure to check out the link below if you feel lost at any point in time.

Add Live Object Recognition and Classification

Description

The Convolutional Neural Network (CNN) in the CNN.py file, present under the Code (Modules) folder implements Object Recognition and Classification in Fixed/Non-movable images. On the other hand, the Live Object Detector (SIFT Detector) in the Image Detection.py file, present under the Code (Modules) folder implements Object Detection in Live Images (Live Feed from camera). An important feature missing in this project, is a Live Object Recognition and Classification System, which combines capabilities of the already existing features.

Tip

Look through the README.md file to gain further information on the functionalities of the project.

Suggested Fix

Create a Live Object Recognition and Classification System.

Tasks

We suggest you to read through the CONTRIBUTING.md file before you continue.

  1. Create a Live Object Recognition and Classification System.
  2. Run the code on your local computer, to test for Model-Efficiency and Functionality.
  3. Once you think you're ready, upload the code back to the folder mentioned in the description above - follow all the steps mentioned in the CONTRIBUTING.md file.
  4. Upload the entire model in the CNN_Model folder.

Bounty Rules

The score are split into three types, in order of increasing rarity.

  • Bounty Points (common to all issues) - 40 Points
  • Brownie Points (for some of the PRs into which more effort went) - 10 Points
  • Enthusiasm Points (for the PRs that went above and beyond) - 20 Points

Limit For Acceptance of PR's

  • The first 5 successfully accepted PR's will be awarded with Brownie Points.
  • Bounty Points will be awarded to all successfully accepted PR's, only after the Acceptance Limit has been crossed.
  • Enthusiasm Points will be awarded before the event closes. (All successfully accepted PR's are eligible for Enthusiasm Points)

Resources

Make sure to check out the links below if you feel lost at any point in time.

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.