/OpenLabeling

Label images and video for computer vision applications

Primary LanguagePythonApache License 2.0Apache-2.0

OpenLabeling: open-source image and video labeler

GitHub stars

Image labeling in multiple annotation formats:

  • PASCAL VOC (= darkflow)
  • YOLO darknet
  • Text files compatible with the evaluation code here
  • ask for more (create a new issue)...

Latest Features

  • Jan 2019: easy and quick bounding-boxe's resizing!
  • Jan 2019: video object tracking with OpenCV trackers!
  • TODO: Label photos via Google drive to allow "team online labeling". New Features Discussion

Table of contents

Quick start

To start using the YOLO Bounding Box Tool you need to download the latest release or clone the repo:

git clone https://github.com/Cartucho/OpenLabeling

Prerequisites

You need to install:

  • Python
  • OpenCV version >= 3.0
    1. python -mpip install -U pip
    2. python -mpip install -U opencv-python
    3. python -mpip install -U opencv-contrib-python
  • numpy, tqdm and lxml:
    1. python -mpip install -U numpy
    2. python -mpip install -U tqdm
    3. python -mpip install -U lxml

Alternatively, you can install everything at once by simply running:

python -mpip install -U pip
python -mpip install -U -r requirements.txt

Run project

Step by step:

  1. Open the main/ directory

  2. Insert the input images and videos in the folder input/

  3. Insert the classes in the file class_list.txt (one class name per line)

  4. Run the code:

    python main.py [-h] [-i] [-o] [-t]
    
    optional arguments:
     -h, --help                Show this help message and exit
     -i, --input               Path to images and videos input folder | Default: input/
     -o, --output              Path to output folder (if using the PASCAL VOC format it's important to set this path correctly) | Default: output/
     -t, --thickness           Bounding box and cross line thickness (int) | Default: -t 1
    
  5. You can find the annotations in the folder output/

GUI usage

Keyboard, press:

Key Description
a/d previous/next image
s/w previous/next class
e edges
h help
q quit

Video:

Key Description
p predict the next frames' labels

Mouse:

  • Use two separate left clicks to do each bounding box
  • Right-click -> quick delete!
  • Use the middle mouse to zoom in and out
  • Use double click to select a bounding box

Authors