Home

Awesome

UltimateLabeling

License: MIT PyPI PyPI

GitHub stars

Sponsored by <img src="https://www.lingosub.com/icon.svg" height=20 width=20 style="vertical-align: middle;"/> LingoSub: Learn languages by watching videos with AI-powered translations

A multi-purpose Video Labeling GUI in Python with integrated SOTA detector and tracker. Developed using PyQt5.

Features

Demo

<img src="docs/ultimatelabeling.jpg" width="90%" />

<img src="docs/uptown_funk.jpg" width="45%" /> <img src="docs/roundabout.jpg" width="45%" />

The integrated object detectors and trackers are based on the following codes:

Installation

Start by cloning the repository on your computer:

git clone https://github.com/alexandre01/UltimateLabeling.git
cd UltimateLabeling

We recommend installing the required packages in a virtual environment to avoid any library versions conflicts. The following will do this for you:

virtualenv --no-site-packages venv
source venv/bin/activate
pip install -r requirements.txt

Otherwise, just install the requirements on your main Python environment using pip as follows:

pip install -r requirements

Finally, open the GUI using:

python -m ultimatelabeling.main

Remote server configuration

To configure the remote GPU server (using the code in server files.), follow the steps below:

git clone https://github.com/alexandre01/UltimateLabeling_server.git
cd UltimateLabeling_server
pip install -r requirements.txt
bash siamMask/setup.sh
bash detection/setup.sh

The data images and videos should be placed in the folder data, similarly to the client code.

To extract video files, use the following script:

bash extract.sh data/video_file.mp4

Input / output

To start labeling your videos, put these (folder of images or video file, the frames will be extracted automatically) inside the data folder.

If you need other file formats for your projects, please write a GitHub issue or submit a Pull request.

Shortcuts / mouse controls

<img src="docs/keyboard_shortcuts.jpg" width="50%" />

Keyboard:

Mouse:

Improvements / issues

Please write a GitHub issue if you experience any issue or wish an improvement. Or even better, submit a pull request!

Licence

Copyright (c) 2019 Alexandre Carlier, released under the MIT licence.