Giter Club home page Giter Club logo

video_labeler's Introduction

Data Labeler for Video

Providing a tool for conveniently label the objects in video, using the powerful object tracking.

The video_labeler is released under the MIT License (refer to the LICENSE file for details).

features

  1. There is a GUI make what you see is what you get.
  2. The powerful object tracking method can track the objects automatically, which can avoid label a object repeatedly.
  3. The output can be converted to many format (such as VOC like) using the scripts video_labeler provided.(developing)

demo1.jpg

requirements

  • Python 2.7
  • Linux or Mac OS, I'm going to develop the Windows version.
  • Opencv-python, you can install it using pip
  • Dlib, you can install it using pip

Track labeler

track_labeler.py uses the powerful object tracking method, which can avoid label a object repeatedly.

Command: python track_labeler.py [-h] [--write_im] [--border BORDER] video_file labels_file save_dir

  • video_file is the video file path to label
  • labels_file is the labels file path(split by \n)
  • save_dir is the label result save path
  • --write_im open the function write every cropped image to each label director
  • --border BORDER sets the border of the center clip filed (white line around the video in GUI)

For example python track_labeler.py data/1.MOV data/labels_name.txt output

The labels_file should contain the name the classes name, split by line break (\n). So you can select them in the label GUI windows.

Manipulation

  • Select a label from the label GUI windows.
  • Press-Hold the left bottom of your mouse until the label name appear then drug a rectangle.
  • Right Click your mouse in the box rectangle will remove that box.
  • Press Space will stop the video play, so you can clearly view your label.
  • Press Esc will exit the labeler.

Output

The labeler will write the file labels.txt in your save_dir. The output format as "frame_id label x0 y0 x1 y1":

  • frame_id: the number of frame in the video.
  • label: the object label name.
  • x0, y0: the left upper position of the object rectangle.
  • x1, y1: the left upper position of the object rectangle.

Notice: If there exists a file named labels.txt, the new information will append in it.

If the --write_im was selected, the objects will be saved in each label director. The file format as "savedir/labelname/frame_idx.jpg"

  • frame: the number of frame in the video.
  • idx: the idx the object at that frame.

Simple labeler

doc coming soon

video_labeler's People

Contributors

hahnyuan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

video_labeler's Issues

Display speed of the videos

Hello, I'm wondering whether this labeler allows me to ajust the speed at which the video is displayed, since sometimes it is too fast for me to stop at the right time.

I'll be really happy if you can reply to me. Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.