A multi-purpose Video Labeling GUI in Python with integrated SOTA detector and tracker.
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.
- 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!
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
Remote server configuration
To configure the remote GPU server, follow the steps below:
git clone https://github.com/alexandre01/UltimateLabeling_server.git
pip install -r requirements.txt
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
Copyright (c) 2019 Alexandre Carlier, released under the MIT licence.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.