Git Product home page Git Product logo

fewshot_image_labelling's Introduction

fewShot_image_labelling

We are making our own labelling platform based on few shot learning. We aim to help everyone speed up their labelling process for image classification task.

With few shot learning, we can use small batch of labelled images (support set) to compute the classes probability of your unlabelled images (query set).

Take a look at our preview here to see if this platform can fill your need. We hope this can help!.

Contents

  1. Features
  2. Model
  3. Installation
  4. Citation
  5. License

Features

We provided both pre-trained model and platform to help you speed up the image labelling process. We will guide you through the application demo.

  1. Move your dataset into the /dataroot in project folder (see more in Installation). You should structure your folder as shown below.

     dataset_folder/
     ├── class_name_1
     │   ├── 1.png
     │   └── 2.png
     ├── class_name_2
     │   ├── 3.png
     │   └── 4.png
     └── query
         ├── 5.png
         └── 6.png
    

inst2 plat_upload

  1. The support set is the set of labelled images of any number which you can prepare before uploading or manually label and add to the set later.

plat_support

  1. The query set is the set of your unlabelled images.

plat_query

  1. Click on the image to manually label it. If you are labelling the query set, the platform load new image for you to label after each labelling to help you speed up. You can label any image again anytime if you want to edit it. Labelled images will move to the labelled tab.

plat_manual

  1. The recompute function help compute the probability of image classes from the support set and suggest the image class to you.

plat_recompute plat_manual_with_score

  1. You can also use autolabel function to automatically label every image with suggested score higher than your own threshold

plat_autolabel

  1. The labelled set are images you label, separated between manually label by you or using the autolabel function. Pressing the add to support button will move images of that set to the support set. You can use recompute function again to improve the accuracy after the support set grew bigger. The add to support button also move your files from /query folder to the labelled class folder.

plat_labelled

Model

visit this repository to see code and model details

Installation

Requirement

  1. Linux
  2. CUDA 11.0
  3. Docker
  4. Docker-compose
  5. Pytorch 1.8.1

We're using AWS EC2 Deep Learning AMI (Ubuntu 18.04) Version 43.0 Image

model weight is in this URL

Demo dataset "LHIAnimalFace_Endangered" is in this URL

Install docker-compose from this documentation

  1. Clone this repository

     git clone https://github.com/nessessence/fewShot_image_labelling.git
    
  2. move model weight file to fewShot_image_labelling/back-end/

  3. move demo dataset directory to fewshot_image_labelling/back-end/dataroot/

  4. in case you're not running this application on localhost, edit fewshot_image_labelling/front-end/src/services/index.tsx to the IP of your instance

inst

  1. run the following command

     docker-compose build
     docker-compose -d
    

Citation

@article{chen2019selfsupervised,
  title={Self-Supervised Learning For Few-Shot Image Classification},
  author={Da Chen and Yuefeng Chen and Yuhong Li and Feng Mao and Yuan He and Hui Xue}
  Journal={arXiv preprint arXiv:1911.06045},
  year={2019}
}

License

MIT

fewshot_image_labelling's People

Contributors

chavincc avatar darkxenoz avatar nessessence avatar

Stargazers

 avatar

Watchers

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