Git Product home page Git Product logo

semi_automatic_keypoint_labeling's Introduction

Description

Labelme is a popular open source labling tool, in our case we added some funtionalities in order to allow auto labeling for Keypoint Detection.

Installation

Make sure you have anaconda installed, then create a new environment with the following commands, activate it and install labelme :

conda env create --file req.yaml 
conda activate labelme
pip install labelme 

Then make sure to be in the base labelme/director and execute :

pip install -e . 

You can then open the tool, with the following : (make sure you are in the labelme/labelme folder where all the .py files are)

conda activate labelme
python __main__.py

In order to use auto labeling :
download the .pt weights of the neural net by running the .sh file in the RektNet/ folder.

We use the MIT dataset as provided in their repo.

You might need to rename the folder to unlabeled dependig on the download.

Then you should be good to go !

Usage

The usage is relatively straightforward, make sure the point pattern matches the one below if you need to correct something :

The label names can also be seen on the right side, so you should easily be able to see where each point belongs. In the middle section, of the cone bot always stands for the lower point and top for the higher one.

Prediction :

to automatically predict an image, just click the "predict image" button, the labels will be stored automatically and can be corrected. A prediction only happens if a .json label file does not exist yet for this file.

Cuda Enable :

if you have a cuda capable GPU (Nivida), you can speed up the prediction a little bit by clicking this button. Once you click it again it will switch back to GPU mode. Take a look at the terminal for information on which mode it switches to.

Update Label Database

Make sure to git branch when you label as a team :

git branch <your_name>labeling
git checkout  <your_name>labeling

you can then label and just push it to your branch when you have made progress. Thank you for your support !

Requirements

semi_automatic_keypoint_labeling's People

Contributors

cedric-perauer avatar

Stargazers

 avatar  avatar

Watchers

 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.