This repository contains two artifacts:
labeler.cpp
: A script that assists with manually labeling large amounts of video data with the temporal boundaries of interesting events.labels
directory: The label data files generated by the above script for the various datasets that theviscloud
organization uses.
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.
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
git clone [email protected]:viscloud/labeler
make
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>]