ultimatelabeling

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


Keywords
computer-vision, labeling, labeling-tool, object-detection, object-tracking, python, pytorch, video
License
MIT
Install
pip install ultimatelabeling==0.1.1

Documentation

UltimateLabeling

Build Status License: MIT PyPI PyPI

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

[Under development]

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

For remote server processing, follow the guide below in order to configure the server files.

Demo

screenshot

uptown_funk

roundabout

Features

  • SSH connection to the remote server (see below to configure the server)
  • YOLO and OpenPifPaf integrated object & pose detectors (single frame and entire video mode)
  • Hungarian instance ID assignment
  • SiamMask Visual object tracking for missing or mislabeled objects
  • Zoom on the video, resizable bounding boxes and skeletons
  • Dark mode!

Installation

Install the requirements using pip as follows:

pip install -r requirements

Put the videos (folder of images or video file, the frames will be extracted automatically) inside the data folder. Then, open the GUI using

python -m ultimatelabeling.main

After closing the window, the annotations are available in the output folder.

Remote server configuration

To configure the remote GPU server, 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

Licence

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