Users can label video segments of interest, or activities, directly within the annotator. This tutorial will cover how to annotate activities in the annotation view. To begin, you will need a project configured for activity labeling.
Annotating activities within a single video
The image below shows a project that is set up for users to annotate car activity within a video. The annotator on the right will select the appropriate Boolean conditions (
Car Present and
Yellow Car Present). The selected activity states will be reflected in the timeline below the video controls, giving the annotator a visual indicator depicting the duration of the activity. This image depicts both activities are present.
In this image, only
Car Present is
true. Notice how the timeline only has one bar highlighted, indicating the
Car Present activity is
true while the
Yellow Car Present is
The timeline can also be expanded by clicking the three dots on the left of the video timeline. From there, annotators can click and drag to select a zoomed-in window. This will allow annotators to hover and inspect each activity values more closely. Clicking in this zoomed-in window will jump the annotator to that frame.
Numerical values can also be displayed within the timeline. The example below adds an
Activity Recognition floating point attribute to the existing
Car Activity state using the project settings page.
Like the Boolean activity states discussed earlier, annotators can set numerical values associated with a frame (in this example,
Activity Recognition) via the annotator.
Annotating activities spanning multiple videos
In the previous section, we discussed creating frame-associated states to annotate activities within a single video. There are times where annotators want to correlate states between different video clips (i.e. different media). The current recommended method is to utilize the
interpolation: attr_style_range value (instead of
latest that we showed above). This method only applies to annotating Boolean activity states. This enables annotators to denote activities that either don’t start or end in a particular video. Project developers can then take these states and programmatically piece the activities together.
With this setup, the following images will depict how users will annotate the activity across multiple videos using the example state type above. To create this state, the user will right click on the video, and select the appropriate state (
Multi-Video Car Activity for this example). Note: Unlike the previous state type we covered that uses
interpolation: latest, this type of activity can only be interacted with the entity browser and not a separate frame panel.
Next, the user will input the appropriate start and end frame activity information. In this example, the activity starts in this video but will end in the next video. The activity can be updated using the entity browser and the activity status will be reflected in the timeline.
In the next video, the user will create a new state again but input the activity as starting in a previous video but ends in this video on frame 150.
If the activity is present in the video but the start and end occurs in other videos, the start and end frames can be set to
-1 along with the
in_video_check set to
true. The timeline will reflect the presence of the activity.