The aim of this project is to develop a high-quality video annotation tool for computer vision and machine learning applications with the following desiradata:
- Simple and efficient to use for a non-expert.
- Supports multiple annotation types including temporal segments, object bounding boxes, semantic and instance regions, tracklets, and human pose (skeleton).
- Runs in a browser without external libraries or need for server-side processing. But easy to plug-in a back-end for heavy "in-the-loop" processing (e.g., segments from bounding boxes or frame completion from partial labels).
- Integrates easily with crowd-sourced annotation services (e.g., Amazon Mechanical Turk).
- Compatible with all (most) modern browsers and operating systems including tablets.
- Open-source.
Video tutorials will be posted on YouTube.
Note that this is only necessary if you want to do development or host your own version of the tool. If you just want to label videos then you can use one of the host servers linked to above.
- Copy all files from
src
into a single directory. - Put all files behind a web server (Nginx, Apache, etc.).
- Open in your favourite browser.
key | value | description |
---|---|---|
defaultFPS |
1 <= Integer <= 60 |
set default fps |
defaultFPK |
Integer >= 1 |
set default frames per keyframe |
video |
example.mp4 |
set video src (under path /video ) |
config |
config.json |
set config src (under path /config ) |
annotation |
annotation.json |
set annotation src (under path /annotation ) |
mode |
objects , region , skeleton |
set current mode |
zoom |
true /false |
zoom or not |
showObjects |
true /false |
show objects or not |
showRegions |
true /false |
show regions or not |
showSkeletons |
true /false |
show skeletons or not |
showActions |
true /false |
show actions or not |
grayscale |
true /false |
grayscale or not |
showPopup |
true /false |
show popup or not |
debug |
true /false |
auto load a video and no cache |
submitURL |
http%3A%2F%2Flocalhost%3FsubmitToken%3D123456 |
URL for submit |
notes:
annotation
will overwriteconfig
.video
ordebug
is the precondition ofannotation
.- No
annotation
is the precondition ofdefaultFPS
anddefaultFPK
. submitURL
willPOST
the annotation file to the given URL in json format.
http://localhost/index.html?mode=skeleton&showPopup=false
This will set the current mode to skeleton and disable popup window.
http://localhost/index.html?submitURL=http%3A%2F%2Flocalhost%3FsubmitToken%3D123456
There will be a button shown in the side menu which will POST
the annotation file to
http://localhost?submitToken=123456
.
Note that the submission url needs to be URL encoded.
See /doc/design/main.md