Labeling Tool - User Manual
Ricardo Ribeiro (ribeiro@isr.ist.utl.pt)
October 28, 2014
Contents
1 Software version
2
2 Introduction
2
3 Instalation and compilation of the tool
3.1 Obtaining the tool (SVN) . . . . . . . . . . . . . . . . . . . . . .
3.2 Dependencies and supported OS’s . . . . . . . . . . . . . . . . .
3.3 Build the tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
3
3
3
4 Tool execution
4.1 Command line . .
4.2 Video file . . . . .
4.3 Labeling file . . . .
4.4 Autosave e backup
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
4
4
4
5 Using the tool
5.1 General use . . . . . . . . .
5.1.1 Help (“h” key) . . .
5.1.2 Keyboard . . . . . .
5.1.3 Mouse . . . . . . . .
5.1.4 Save . . . . . . . . .
5.1.5 Exit . . . . . . . . .
5.1.6 Navigate the video .
5.1.7 Zoom . . . . . . . .
5.1.8 Window size . . . .
5.1.9 Object ID’s . . . . .
5.2 Labels . . . . . . . . . . . .
5.2.1 Label anatomy . . .
5.2.2 Label types . . . . .
5.2.3 Label creation . . .
5.2.4 Label deletion . . . .
5.2.5 Label modification .
5.2.6 Finalizing the labels
5.3 Automations . . . . . . . .
5.3.1 Copy . . . . . . . . .
5.3.2 Copy with search . .
5.3.3 Linear interpolation
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
4
4
5
5
5
6
6
7
7
9
9
9
10
10
11
11
12
13
13
13
13
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
5.4
5.5
5.3.4 Search in a sequence . . . . .
Label confirmation and verification .
Visual Help . . . . . . . . . . . . . .
5.5.1 Dynamic range maximization
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
14
16
16
16
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
6
7
8
9
10
11
14
15
List of Figures
1
2
3
4
5
6
7
8
9
1
Help . . . . . . . . . . .
Keyboard Map . . . . .
Information . . . . . . .
Zoom . . . . . . . . . .
Object ID’s . . . . . . .
Label types. . . . . . . .
Ways to use the mouse.
Linear interpolation . .
Search in a sequence . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Software version
This manual documents the version 0.1.1 of the labeling tool (labelingtool v0.1.1).
2
Introduction
For the training and testing of vision algorithms it is necessary to use image
sequences that where manually labeled.
The labeling task consists in tagging all objects in the image with a rectangle.
Such operation needs to be done manually since the labeling is to be considered
as the ground truth against which the results of the algorithms are compared.
Any kind of error in the labeling process will have a negative impact in the
performance of the algorithms and will compromise the reliability of the test
results.
This manual process is quite heavy and long, specially if the number of
images is large, as normally is the case for video sequences. For that reason,
this tools was developed aiming to alleviate the weight of this task. This was
achieved in several ways.
One way was to create an very light and fast interface that minimizes the
number of operations necessary for each label. This was achieved by developing
this tool in C++ (the OpenCV libraries where used). There was care into
making the execution of all operations the fastest possible so that the user of
the tool can immediately see the result of the commands executed, even if the
commands are given in fast sequence. The manual tools that existed previously,
developed in Matlab, where too slow.
Another way to alleviate the users work was to provide automatic mechanisms to create the labels without dispensing the user of the task of adjusting,
at least, of verifying them. These automations try to place new label the closest
possible of the intended final position for them. The user only needs to do small
adjustments or to confirm the labels correctness.
2
This tool is generic and can be applied to label any kind of object in any
kind of images. Its limitation is that only rectangular labels are supported.
3
Instalation and compilation of the tool
3.1 Obtaining the tool (SVN)
The tool is in the folder
devel/tools/labeling_tool
in the Seagull SVN repository located at the ISR servers. To download the tool
use the command:
svn checkout svn://svn.isr.ist.utl.pt/seagull/devel/tools/labeling_tool
3.2 Dependencies and supported OS's
This tool depends on the OpenCV libraries which need to be installed before
build time.
To build the tool is also necessary to have cmake installed.
The tool was developed in linux, so it compiles and works well in this operating system.
It was also compiled and tested in Mac OS X. This version is usable but has
some problems in the window resizing features described in subsection 5.1.8.
3.3 Build the tool
To build the tool use the following commands:
cd labeling_tool
mkdir build
cd build
cmake ..
make
4
Tool execution
4.1 Command line
The tool is executed inside the build folder (see section 3.3) using the command
./labeling_tool [options]
To obtain help use
./labeling_tool -h
3
4.2 Video le
The video file can be in any format supported by OpenCV (examples: .mpg,
.avi, .mkv, etc.). Name the file in the command line. For example:
./labeling_tool lanchaArgos_clip1.avi
If the file is in a different folder, then also include the path.
./labeling_tool videos/lanchaArgos_clip1.avi
4.3 Labeling le
By default, the filename where the labels are saved is the same as the video file
with its extension replace by .gt.txt. For example, the command
./labeling_tool videos/lanchaArgos_clip1.avi
creates the labeling file
videos/lanchaArgos_clip1.gt.txt
Alternatively, a different filename can be specified using the -d option.
./labeling_tool -d labels.gt.txt lanchaArgos_clip1.avi
The labeling file format (labelingtool v0.1) is a simple text file with one line per
label. Each line has the following format:
Source Exif Data:
File Type : PDF
File Type Extension : pdf
MIME Type : application/pdf
PDF Version : 1.4
Linearized : No
Page Count : 16
Page Mode : UseOutlines
Author : Ricardo Ribeiro (ribeiro@isr.ist.utl.pt)
Title : Labeling Tool - User Manual
Subject :
Creator : LaTeX with hyperref package
Producer : pdfTeX-1.40.10
Create Date : 2014:10:28 17:35:19Z
Modify Date : 2014:10:28 17:35:19Z
Trapped : False
PTEX Fullbanner : This is pdfTeX, Version 3.1415926-1.40.10-2.2 (TeX Live 2009/Debian) kpathsea version 5.0.0