A multi-purpose Video Labeling GUI in Python with integrated SOTA detector and tracker.
Project description
UltimateLabeling
A multi-purpose Video Labeling GUI in Python with integrated SOTA detector and tracker. Developed using PyQt5.
The integrated object detectors and trackers are based on the following codes:
- OpenPifPaf: for human pose estimation
- YOLO darknet: for object detection
- SiamMask: for visual object tracking
- Hungarian algorithm (scipy.optimize): for optimal instance ID assignment
For remote server processing, follow the guide below in order to configure the server files.
Demo
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for ultimatelabeling-0.1.0-py3.7.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | e825baf5a1b25be083a7133d13f82607dd76ee82aa898303c9e294ef3307d2da |
|
MD5 | 152de6ea077ad64f7865c9fc42a8e639 |
|
BLAKE2b-256 | 735ac955583e1d76124364fa5e2e0f06ab0ddc766da435b9dcaaa13bf7152993 |