LogoLogo
  • Getting started with Keylabs
  • Application overview
    • Application navigation
    • Application toolbar
      • Informative panel
      • Panel
      • View
      • Edit
      • File
      • Tools
      • Frame location buttons
      • 🔧Tool buttons in the Merge Editor
    • Model Assisted Labeling
      • Segment Anything 2 model
    • Setting up your custom workflow
  • Release Notes
    • Release notes 2.0 - 2.3-1
      • Release notes 2.0
      • Release notes 2.1
      • Release notes 2.2
      • Release notes 2.3
      • Release notes 2.3-1
    • Release notes 1.90 - 1.92
      • Release notes 1.90
      • Release notes 1.91
      • Release notes 1.92
    • Release notes 1.80-1.89
      • Release notes 1.89
        • Release notes 1.89-2
      • Release notes 1.88
        • Release notes 1.88-1
      • Release notes 1.87
      • Release notes 1.86
      • Release notes 1.85
      • Release notes 1.84
      • Кelease notes 1.83
      • Release notes 1.82
      • Release notes 1.81
      • Release notes 1.80
  • HOW TO START
    • Project creation
    • Files uploading
    • Classes
      • Setting up classes
        • Bounding box
        • Oriented Bounding Box
        • Cuboid
        • Polygon
        • Multiline
        • Skeleton
        • Mesh
        • Bitmap
      • Setting up attributes
        • Select
        • Mugshot
        • String
        • Boolean
        • Separator
  • HOW TO ANNOTATE
    • ⚙️Annotation shapes
      • 🦲Bounding Box object annotation
      • 〰️Multiline and Polygon objects annotation
      • 💀Annotation of Skeleton object
      • 👾Annotation of Bitmap object
      • 🔘Mesh object annotation
    • Stacking order
    • Video annotation
      • Interpolation function
        • Attribute interpolation
  • HOW TO MANAGE
    • 🛠️Setting up a Project
      • Project types
      • Stages
      • Merge project creation
      • Configuration
    • ⚡Project Management
      • Project Status
      • Clone project creation
      • Files filtering
    • 👷User Management
      • User roles
        • Worker
        • Project Manager
        • Super User
        • Admin
        • Customer
      • Locations
    • 👨‍💻Arranging the workflow
      • Adding a user
      • Files management
    • 📣Audit
      • Changelog
      • Reports usage for audit
    • 📊Reports
      • Whole platform reports
        • Velocity reports
        • Timetable reports
          • TimeTable Aggregated
          • TimeTable raw data
          • Timetable current state
      • Per project reports
        • Velocity reports - by date
        • Velocity reports - by user
        • Worklog Aggregated
        • Worklog - Raw data
        • Worklog Time by File
  • TIPS AND TRICKS
    • ▶️Shortcuts
  • HOW TO INTEGRATE
    • Export
    • Files Storage
      • Platform storage
      • External storage
    • 🗒️Keylabs Export Format
      • ZIP archive structure
      • JSON File Structure
    • CLI/SDK
      • CLI
      • SDK
Powered by GitBook
On this page
  • Key frame
  • Object visibility
  • Merge and split

Was this helpful?

  1. HOW TO ANNOTATE

Video annotation

PreviousStacking orderNextInterpolation function

Last updated 4 months ago

Was this helpful?

The process of video annotation does not differ significantly. However, there are a few crucial features available when working with video materials only.

Key frame

Video is a sequence of images annotated in a row. The interpolation function allows users to annotate every 5/10/... frame instead of annotating every single frame. To find out more about interpolation go .

Frames, where any action was performed (creating/editing/moving), are called keyframes. You can move between keyframes with the help of buttons or shortcuts Up and Down . Non-key frames are images where no actions were performed. You can also delete the keyframe by clicking on the keyframe icon (X).

In the object toolbox and next to each attribute in the attributes form, on (prev keyframe) and (next keyframe) buttons, tool-tips include the frame number of the prev/next keyframe

On frames where there is no keyframe, clicking the button will preserve the current interpolated value as a keyframe.

When multiple objects are selected, the keyframe indicator will show an empty diamond to indicate that none of the selected objects has a keyframe on the current frame, a full diamond to indicate that all the selected objects have a keyframe on the current frame, or a half-full diamond to indicate that only some of the selected objects have a keyframe on the current frame.

Clicking the keyframe indication will create keyframes for all the objects that are missing a keyframe on the current frame, or if all the selected objects have a keyframe on the current frame, will delete the current keyframe for all of the selected objects.

Object visibility

The platform allows to manage object's visibility. When an annotated object disappears from the video you can turn it off by clicking or O. If you turn the object off in one frame but it is annotated on the subsequent frames, the platform will offer you to make the object not visible from now on or only to the next keyframe.

You can make an object visible onwards at any moment by clicking or O.

Merge and split

If one object was annotated with two masks you can merge them into one without the need of redrawing and deleting instances. The function merges two objects by taking all instances of one up to the current frame and all instances of the other from the current frame onwards and joining them into one.

For example, you have a 100-frame video. A car was annotated as Car_1 from Frame 9 to Frame 23, and the same car was annotated as Car_2 from Frame 25 to Frame 89. You can merge Car_1 and Car_2 into one object. To do so:

If you merge object 1 with object 2 on Frame 20, all the instances of object 2 will be discarded in the subsequent frames.

Select the object from an object list (i) or right-click it.

Click and then click the other object in the list.

You can also split an object in the current frame, making the selected object invisible from the current frame onwards, while creating a new object that takes up all instances that have been removed from the selected object if, for example, two objects have been annotated with one mask.

here