Skip to content

viscloud/labeler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

viscloud/labeler

1. Overview

This repository contains two artifacts:

  1. labeler.cpp: A script that assists with manually labeling large amounts of video data with the temporal boundaries of interesting events.
  2. labels directory: The label data files generated by the above script for the various datasets that the viscloud organization uses.

2. Compile

In addition to basic toolchain components, labeler.cpp requires boost program_options and OpenCV with Qt support. Most likely, you will need to compile Qt and OpenCV from source. If your environment is already set up, then skip to section 2.4.

2.1. Install boost program_options

Ubuntu:

sudo apt install libboost-program-options-dev

macOS:

brew install boost

2.2. Clone and compile Qt. More info: qt5 repo

git clone https://github.com/qt/qt5.git
cd qt5
git checkout 5.11
git submodule update --init
./configure -prefix $PWD/qtbase -opensource -confirm-license -nomake tests \
  -nomake examples -skip qtconnectivity -skip qtwebengine
make

Note: This takes a long time.

2.3. Clone and compile OpenCV with Qt support. More info: OpenCV documentation

git clone https://github.com/opencv/opencv.git
cd opencv
git checkout 3.3.0
mkdir build
cd build
export QT_DIR=<path to Qt5 repo>
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local \
  -DQT_QMAKE_EXECUTABLE=$QT_DIR/qtbase/bin/qmake \
  -DQt5Concurrent_DIR=$QT_DIR/qtbase/lib/cmake/Qt5Concurrent \
  -DQt5Core_DIR=$QT_DIR/qtbase/lib/cmake/Qt5Core \
  -DQt5Gui_DIR=$QT_DIR/qtbase/lib/cmake/Qt5Gui \
  -DQt5OpenGL_DIR=$QT_DIR/qtbase/lib/cmake/Qt5OpenGL \
  -DQt5Test_DIR=$QT_DIR/qtbase/lib/cmake/Qt5Test \
  -DQt5Widgets_DIR=$QT_DIR/qtbase/lib/cmake/Qt5Widgets \
  -DWITH_QT=yes -DBUILD_TESTS=no -DWITH_FFMPEG=no ..
make
sudo make install

2.4. Clone and compile the labeler.

git clone [email protected]:viscloud/labeler
make

3. Run

The labeler accepts an input video file, an output file that will be generated, and, optionally, a frame number to start at.

./labeler --video <path to video file> --out <path to output file> [--start-frame <frame number>]

About

Script for quickly labeling events in video

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published